8b8f66a421842f3ce011d6be11bc9c5858528dda
[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 # 1841 "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 # 1843 "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 # 1851 "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 # 1895 "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 # 1896 "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 # 1897 "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 # 1898 "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 # 1256 "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 # 1258 "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 # 1260 "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 # 1262 "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 # 1264 "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 # 1266 "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 # 1268 "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 # 1270 "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 # 1272 "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 # 1274 "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 # 1276 "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 # 1278 "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 # 1280 "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 # 1282 "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 # 1256 "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 # 1258 "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 # 1260 "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 # 1262 "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 # 1264 "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 # 1266 "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 # 1268 "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 # 1270 "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 # 1272 "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 # 1274 "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 # 1276 "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 # 1278 "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 # 1280 "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 # 1282 "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 # 1256 "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 # 1258 "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 # 1260 "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 # 1262 "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 # 1264 "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 # 1266 "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 # 1268 "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 # 1270 "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 # 1272 "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 # 1274 "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 # 1276 "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 # 1278 "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 # 1280 "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 # 1282 "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 # 1256 "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 # 1258 "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 # 1260 "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 # 1262 "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 # 1264 "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 # 1266 "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 # 1268 "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 # 1270 "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 # 1272 "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 # 1274 "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 # 1276 "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 # 1278 "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 # 1280 "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 # 1282 "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 # 466 "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 # 467 "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 # 468 "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 # 469 "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 # 1063 "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 # 1228 "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 # 1230 "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 # 1234 "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 # 1228 "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 # 1230 "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 # 1234 "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 # 1228 "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 # 1230 "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 # 1234 "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 # 1239 "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 # 1241 "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 # 1245 "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 # 1225 "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 # 1225 "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 # 1225 "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 # 927 "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 # 930 "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 # 1285 "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 # 1287 "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 # 1285 "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 # 1287 "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 # 1285 "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 # 1287 "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 # 1285 "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 # 1287 "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 # 1636 "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 # 1640 "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 # 1636 "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 # 1640 "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 # 1116 "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 # 1118 "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 # 1120 "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 # 1124 "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 # 1126 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1873 "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 # 1250 "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 # 1252 "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 # 1250 "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 # 1252 "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 # 1250 "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 # 1252 "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 # 836 "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 # 837 "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 # 590 "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 # 591 "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 # 592 "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 # 476 "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 # 528 "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 # 536 "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 # 478 "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 # 528 "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 # 536 "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 # 480 "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 # 528 "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 # 536 "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 # 482 "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 # 528 "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 # 536 "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 # 485 "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 # 528 "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 # 536 "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 # 492 "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 # 528 "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 # 536 "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 # 494 "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 # 528 "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 # 536 "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 # 476 "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 # 530 "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 # 536 "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 # 478 "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 # 530 "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 # 536 "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 # 480 "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 # 530 "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 # 536 "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 # 482 "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 # 530 "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 # 536 "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 # 485 "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 # 530 "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 # 536 "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 # 492 "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 # 530 "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 # 536 "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 # 494 "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 # 530 "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 # 536 "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 # 476 "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 # 531 "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 # 536 "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 # 478 "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 # 531 "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 # 536 "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 # 480 "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 # 531 "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 # 536 "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 # 482 "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 # 531 "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 # 536 "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 # 485 "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 # 531 "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 # 536 "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 # 492 "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 # 531 "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 # 536 "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 # 494 "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 # 531 "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 # 536 "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 # 502 "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 # 532 "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 # 536 "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 # 504 "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 # 532 "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 # 536 "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 # 506 "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 # 532 "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 # 536 "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 # 508 "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 # 532 "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 # 536 "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 # 510 "parser_cocci_menhir.mly"
7650 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
7651 # 7652 "parser_cocci_menhir.ml"
7652
7653 in
7654
7655 # 532 "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 # 536 "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 # 513 "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 # 532 "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 # 536 "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 # 513 "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 # 532 "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 # 536 "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 # 519 "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 # 532 "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 # 536 "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 # 523 "parser_cocci_menhir.mly"
7999 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
8000 # 8001 "parser_cocci_menhir.ml"
8001
8002 in
8003
8004 # 532 "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 # 536 "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 # 476 "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 # 528 "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 # 536 "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 # 478 "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 # 528 "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 # 536 "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 # 480 "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 # 528 "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 # 536 "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 # 482 "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 # 528 "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 # 536 "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 # 485 "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 # 528 "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 # 536 "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 # 492 "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 # 528 "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 # 536 "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 # 494 "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 # 528 "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 # 536 "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 # 476 "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 # 530 "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 # 536 "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 # 478 "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 # 530 "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 # 536 "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 # 480 "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 # 530 "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 # 536 "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 # 482 "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 # 530 "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 # 536 "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 # 485 "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 # 530 "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 # 536 "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 # 492 "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 # 530 "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 # 536 "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 # 494 "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 # 530 "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 # 536 "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 # 476 "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 # 531 "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 # 536 "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 # 478 "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 # 531 "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 # 536 "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 # 480 "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 # 531 "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 # 536 "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 # 482 "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 # 531 "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 # 536 "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 # 485 "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 # 531 "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 # 536 "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 # 492 "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 # 531 "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 # 536 "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 # 494 "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 # 531 "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 # 536 "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 # 502 "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 # 532 "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 # 536 "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 # 504 "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 # 532 "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 # 536 "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 # 506 "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 # 532 "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 # 536 "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 # 508 "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 # 532 "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 # 536 "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 # 510 "parser_cocci_menhir.mly"
9939 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
9940 # 9941 "parser_cocci_menhir.ml"
9941
9942 in
9943
9944 # 532 "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 # 536 "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 # 513 "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 # 532 "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 # 536 "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 # 513 "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 # 532 "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 # 536 "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 # 519 "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 # 532 "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 # 536 "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 # 523 "parser_cocci_menhir.mly"
10316 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
10317 # 10318 "parser_cocci_menhir.ml"
10318
10319 in
10320
10321 # 532 "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 # 536 "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 # 538 "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 # 540 "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 # 542 "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 # 1054 "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 # 810 "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 # 811 "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 # 814 "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 # 821 "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 # 1585 "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 # 1587 "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 # 1607 "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 # 1609 "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 # 1607 "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 # 1609 "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 # 1616 "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 # 1618 "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 # 1620 "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 # 1616 "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 # 1618 "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 # 1620 "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 # 1132 "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 # 1135 "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 # 1140 "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 # 1149 "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 # 1162 "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 # 1165 "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 # 1170 "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 # 1179 "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 # 942 "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 # 944 "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 # 944 "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 # 948 "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 # 950 "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 # 950 "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 # 955 "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 # 955 "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 # 955 "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 # 955 "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 # 963 "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 # 963 "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 # 963 "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 # 963 "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 # 973 "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 # 973 "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 # 981 "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 # 987 "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 # 987 "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 # 995 "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 # 712 "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 # 736 "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 # 737 "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 # 719 "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 # 721 "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 # 724 "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 # 671 "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 # 688 "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 # 1096 "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 # 1098 "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 # 1100 "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 # 1199 "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 # 1208 "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 # 1209 "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 # 729 "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 # 732 "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 # 1883 "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 # 1884 "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 # 1883 "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 # 1884 "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 # 1883 "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 # 1884 "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 # 1197 "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 # 1827 "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 # 1866 "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 # 1867 "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 # 1854 "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 # 1856 "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 # 1195 "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 # 1377 "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 # 630 "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 # 765 "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 # 767 "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 # 772 "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 # 774 "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 # 779 "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 # 785 "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 # 787 "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 # 793 "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 # 798 "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 # 1775 "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 # 1776 "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 # 1777 "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 # 1778 "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 # 1785 "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 # 1786 "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 # 1787 "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 # 1788 "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 # 1781 "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 # 1791 "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 # 1792 "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 # 1770 "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 # 1771 "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 # 1772 "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 # 1767 "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 # 1565 "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 # 1567 "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 # 1570 "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 # 1573 "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 # 756 "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 # 744 "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 # 744 "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 # 1578 "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 # 1580 "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 # 1532 "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 # 1534 "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 # 636 "parser_cocci_menhir.mly"
15420 ( Ast0.wrap
15421 (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)),
15422 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15423 P.id2clt _1 in
15424 let clt =
15425 (arity,ln,lln,offset,0,strbef,straft,pos) in
15426 P.clt2mcode
15427 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
15428 (P.drop_bef clt))) )
15429 # 15430 "parser_cocci_menhir.ml"
15430 in
15431 _menhir_env.MenhirLib.EngineTypes.stack <- {
15432 MenhirLib.EngineTypes.state = _menhir_s;
15433 MenhirLib.EngineTypes.semv = Obj.repr _v;
15434 MenhirLib.EngineTypes.startp = _startpos;
15435 MenhirLib.EngineTypes.endp = _endpos;
15436 MenhirLib.EngineTypes.next = _menhir_stack;
15437 });
15438 (fun _menhir_env ->
15439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15440 let {
15441 MenhirLib.EngineTypes.state = _menhir_s;
15442 MenhirLib.EngineTypes.semv = _1;
15443 MenhirLib.EngineTypes.startp = _startpos__1_;
15444 MenhirLib.EngineTypes.endp = _endpos__1_;
15445 MenhirLib.EngineTypes.next = _menhir_stack;
15446 } = _menhir_stack in
15447 let _1 : (
15448 # 80 "parser_cocci_menhir.mly"
15449 (string * Data.clt)
15450 # 15451 "parser_cocci_menhir.ml"
15451 ) = Obj.magic _1 in
15452 let _startpos = _startpos__1_ in
15453 let _endpos = _endpos__1_ in
15454 let _v : 'tv_includes =
15455 # 646 "parser_cocci_menhir.mly"
15456 ( Ast0.wrap
15457 (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)),
15458 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15459 P.id2clt _1 in
15460 let clt =
15461 (arity,ln,lln,offset,0,strbef,straft,pos) in
15462 P.clt2mcode
15463 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
15464 (P.drop_bef clt))) )
15465 # 15466 "parser_cocci_menhir.ml"
15466 in
15467 _menhir_env.MenhirLib.EngineTypes.stack <- {
15468 MenhirLib.EngineTypes.state = _menhir_s;
15469 MenhirLib.EngineTypes.semv = Obj.repr _v;
15470 MenhirLib.EngineTypes.startp = _startpos;
15471 MenhirLib.EngineTypes.endp = _endpos;
15472 MenhirLib.EngineTypes.next = _menhir_stack;
15473 });
15474 (fun _menhir_env ->
15475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15476 let {
15477 MenhirLib.EngineTypes.startp = _startpos__3_;
15478 MenhirLib.EngineTypes.endp = _endpos__3_;
15479 MenhirLib.EngineTypes.next = {
15480 MenhirLib.EngineTypes.semv = t;
15481 MenhirLib.EngineTypes.startp = _startpos_t_;
15482 MenhirLib.EngineTypes.endp = _endpos_t_;
15483 MenhirLib.EngineTypes.next = {
15484 MenhirLib.EngineTypes.state = _menhir_s;
15485 MenhirLib.EngineTypes.semv = d;
15486 MenhirLib.EngineTypes.startp = _startpos_d_;
15487 MenhirLib.EngineTypes.endp = _endpos_d_;
15488 MenhirLib.EngineTypes.next = _menhir_stack;
15489 };
15490 };
15491 } = _menhir_stack in
15492 let t : 'tv_ctype = Obj.magic t in
15493 let d : 'tv_defineop = Obj.magic d in
15494 let _startpos = _startpos_d_ in
15495 let _endpos = _endpos__3_ in
15496 let _v : 'tv_includes =
15497 # 656 "parser_cocci_menhir.mly"
15498 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
15499 d (Ast0.wrap(Ast0.DOTS([ty]))) )
15500 # 15501 "parser_cocci_menhir.ml"
15501 in
15502 _menhir_env.MenhirLib.EngineTypes.stack <- {
15503 MenhirLib.EngineTypes.state = _menhir_s;
15504 MenhirLib.EngineTypes.semv = Obj.repr _v;
15505 MenhirLib.EngineTypes.startp = _startpos;
15506 MenhirLib.EngineTypes.endp = _endpos;
15507 MenhirLib.EngineTypes.next = _menhir_stack;
15508 });
15509 (fun _menhir_env ->
15510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15511 let {
15512 MenhirLib.EngineTypes.startp = _startpos__3_;
15513 MenhirLib.EngineTypes.endp = _endpos__3_;
15514 MenhirLib.EngineTypes.next = {
15515 MenhirLib.EngineTypes.semv = b;
15516 MenhirLib.EngineTypes.startp = _startpos_b_;
15517 MenhirLib.EngineTypes.endp = _endpos_b_;
15518 MenhirLib.EngineTypes.next = {
15519 MenhirLib.EngineTypes.state = _menhir_s;
15520 MenhirLib.EngineTypes.semv = _1;
15521 MenhirLib.EngineTypes.startp = _startpos__1_;
15522 MenhirLib.EngineTypes.endp = _endpos__1_;
15523 MenhirLib.EngineTypes.next = _menhir_stack;
15524 };
15525 };
15526 } = _menhir_stack in
15527 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
15528 let _1 : 'tv_defineop = Obj.magic _1 in
15529 let _startpos = _startpos__1_ in
15530 let _endpos = _endpos__3_ in
15531 let _v : 'tv_includes =
15532 # 659 "parser_cocci_menhir.mly"
15533 ( let body =
15534 match b with
15535 [e] ->
15536 (match Ast0.unwrap e with
15537 Ast0.Exp(e1) ->
15538 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
15539 | _ -> b)
15540 | _ -> b in
15541 _1 (Ast0.wrap(Ast0.DOTS(body))) )
15542 # 15543 "parser_cocci_menhir.ml"
15543 in
15544 _menhir_env.MenhirLib.EngineTypes.stack <- {
15545 MenhirLib.EngineTypes.state = _menhir_s;
15546 MenhirLib.EngineTypes.semv = Obj.repr _v;
15547 MenhirLib.EngineTypes.startp = _startpos;
15548 MenhirLib.EngineTypes.endp = _endpos;
15549 MenhirLib.EngineTypes.next = _menhir_stack;
15550 });
15551 (fun _menhir_env ->
15552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15553 let {
15554 MenhirLib.EngineTypes.state = _menhir_s;
15555 MenhirLib.EngineTypes.semv = _1;
15556 MenhirLib.EngineTypes.startp = _startpos__1_;
15557 MenhirLib.EngineTypes.endp = _endpos__1_;
15558 MenhirLib.EngineTypes.next = _menhir_stack;
15559 } = _menhir_stack in
15560 let _1 : 'tv_eexpr = Obj.magic _1 in
15561 let _startpos = _startpos__1_ in
15562 let _endpos = _endpos__1_ in
15563 let _v : 'tv_initialize =
15564 # 1067 "parser_cocci_menhir.mly"
15565 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15566 # 15567 "parser_cocci_menhir.ml"
15567 in
15568 _menhir_env.MenhirLib.EngineTypes.stack <- {
15569 MenhirLib.EngineTypes.state = _menhir_s;
15570 MenhirLib.EngineTypes.semv = Obj.repr _v;
15571 MenhirLib.EngineTypes.startp = _startpos;
15572 MenhirLib.EngineTypes.endp = _endpos;
15573 MenhirLib.EngineTypes.next = _menhir_stack;
15574 });
15575 (fun _menhir_env ->
15576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15577 let {
15578 MenhirLib.EngineTypes.semv = _3;
15579 MenhirLib.EngineTypes.startp = _startpos__3_;
15580 MenhirLib.EngineTypes.endp = _endpos__3_;
15581 MenhirLib.EngineTypes.next = {
15582 MenhirLib.EngineTypes.semv = _2;
15583 MenhirLib.EngineTypes.startp = _startpos__2_;
15584 MenhirLib.EngineTypes.endp = _endpos__2_;
15585 MenhirLib.EngineTypes.next = {
15586 MenhirLib.EngineTypes.state = _menhir_s;
15587 MenhirLib.EngineTypes.semv = _1;
15588 MenhirLib.EngineTypes.startp = _startpos__1_;
15589 MenhirLib.EngineTypes.endp = _endpos__1_;
15590 MenhirLib.EngineTypes.next = _menhir_stack;
15591 };
15592 };
15593 } = _menhir_stack in
15594 let _3 : (
15595 # 101 "parser_cocci_menhir.mly"
15596 (Data.clt)
15597 # 15598 "parser_cocci_menhir.ml"
15598 ) = Obj.magic _3 in
15599 let _2 : 'tv_initialize_list = Obj.magic _2 in
15600 let _1 : (
15601 # 101 "parser_cocci_menhir.mly"
15602 (Data.clt)
15603 # 15604 "parser_cocci_menhir.ml"
15604 ) = Obj.magic _1 in
15605 let _startpos = _startpos__1_ in
15606 let _endpos = _endpos__3_ in
15607 let _v : 'tv_initialize =
15608 # 1069 "parser_cocci_menhir.mly"
15609 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15610 # 15611 "parser_cocci_menhir.ml"
15611 in
15612 _menhir_env.MenhirLib.EngineTypes.stack <- {
15613 MenhirLib.EngineTypes.state = _menhir_s;
15614 MenhirLib.EngineTypes.semv = Obj.repr _v;
15615 MenhirLib.EngineTypes.startp = _startpos;
15616 MenhirLib.EngineTypes.endp = _endpos;
15617 MenhirLib.EngineTypes.next = _menhir_stack;
15618 });
15619 (fun _menhir_env ->
15620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15621 let {
15622 MenhirLib.EngineTypes.semv = _2;
15623 MenhirLib.EngineTypes.startp = _startpos__2_;
15624 MenhirLib.EngineTypes.endp = _endpos__2_;
15625 MenhirLib.EngineTypes.next = {
15626 MenhirLib.EngineTypes.state = _menhir_s;
15627 MenhirLib.EngineTypes.semv = _1;
15628 MenhirLib.EngineTypes.startp = _startpos__1_;
15629 MenhirLib.EngineTypes.endp = _endpos__1_;
15630 MenhirLib.EngineTypes.next = _menhir_stack;
15631 };
15632 } = _menhir_stack in
15633 let _2 : (
15634 # 101 "parser_cocci_menhir.mly"
15635 (Data.clt)
15636 # 15637 "parser_cocci_menhir.ml"
15637 ) = Obj.magic _2 in
15638 let _1 : (
15639 # 101 "parser_cocci_menhir.mly"
15640 (Data.clt)
15641 # 15642 "parser_cocci_menhir.ml"
15642 ) = Obj.magic _1 in
15643 let _startpos = _startpos__1_ in
15644 let _endpos = _endpos__2_ in
15645 let _v : 'tv_initialize =
15646 # 1071 "parser_cocci_menhir.mly"
15647 ( Ast0.wrap
15648 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15649 P.clt2mcode "}" _2)) )
15650 # 15651 "parser_cocci_menhir.ml"
15651 in
15652 _menhir_env.MenhirLib.EngineTypes.stack <- {
15653 MenhirLib.EngineTypes.state = _menhir_s;
15654 MenhirLib.EngineTypes.semv = Obj.repr _v;
15655 MenhirLib.EngineTypes.startp = _startpos;
15656 MenhirLib.EngineTypes.endp = _endpos;
15657 MenhirLib.EngineTypes.next = _menhir_stack;
15658 });
15659 (fun _menhir_env ->
15660 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15661 let {
15662 MenhirLib.EngineTypes.state = _menhir_s;
15663 MenhirLib.EngineTypes.semv = _1;
15664 MenhirLib.EngineTypes.startp = _startpos__1_;
15665 MenhirLib.EngineTypes.endp = _endpos__1_;
15666 MenhirLib.EngineTypes.next = _menhir_stack;
15667 } = _menhir_stack in
15668 let _1 : (
15669 # 65 "parser_cocci_menhir.mly"
15670 (Parse_aux.info)
15671 # 15672 "parser_cocci_menhir.ml"
15672 ) = Obj.magic _1 in
15673 let _startpos = _startpos__1_ in
15674 let _endpos = _endpos__1_ in
15675 let _v : 'tv_initialize =
15676 # 1075 "parser_cocci_menhir.mly"
15677 (let (nm,pure,clt) = _1 in
15678 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
15679 # 15680 "parser_cocci_menhir.ml"
15680 in
15681 _menhir_env.MenhirLib.EngineTypes.stack <- {
15682 MenhirLib.EngineTypes.state = _menhir_s;
15683 MenhirLib.EngineTypes.semv = Obj.repr _v;
15684 MenhirLib.EngineTypes.startp = _startpos;
15685 MenhirLib.EngineTypes.endp = _endpos;
15686 MenhirLib.EngineTypes.next = _menhir_stack;
15687 });
15688 (fun _menhir_env ->
15689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15690 let {
15691 MenhirLib.EngineTypes.state = _menhir_s;
15692 MenhirLib.EngineTypes.semv = _1;
15693 MenhirLib.EngineTypes.startp = _startpos__1_;
15694 MenhirLib.EngineTypes.endp = _endpos__1_;
15695 MenhirLib.EngineTypes.next = _menhir_stack;
15696 } = _menhir_stack in
15697 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
15698 let _startpos = _startpos__1_ in
15699 let _endpos = _endpos__1_ in
15700 let _v : 'tv_initialize2 =
15701 # 1081 "parser_cocci_menhir.mly"
15702 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15703 # 15704 "parser_cocci_menhir.ml"
15704 in
15705 _menhir_env.MenhirLib.EngineTypes.stack <- {
15706 MenhirLib.EngineTypes.state = _menhir_s;
15707 MenhirLib.EngineTypes.semv = Obj.repr _v;
15708 MenhirLib.EngineTypes.startp = _startpos;
15709 MenhirLib.EngineTypes.endp = _endpos;
15710 MenhirLib.EngineTypes.next = _menhir_stack;
15711 });
15712 (fun _menhir_env ->
15713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15714 let {
15715 MenhirLib.EngineTypes.semv = _3;
15716 MenhirLib.EngineTypes.startp = _startpos__3_;
15717 MenhirLib.EngineTypes.endp = _endpos__3_;
15718 MenhirLib.EngineTypes.next = {
15719 MenhirLib.EngineTypes.semv = _2;
15720 MenhirLib.EngineTypes.startp = _startpos__2_;
15721 MenhirLib.EngineTypes.endp = _endpos__2_;
15722 MenhirLib.EngineTypes.next = {
15723 MenhirLib.EngineTypes.state = _menhir_s;
15724 MenhirLib.EngineTypes.semv = _1;
15725 MenhirLib.EngineTypes.startp = _startpos__1_;
15726 MenhirLib.EngineTypes.endp = _endpos__1_;
15727 MenhirLib.EngineTypes.next = _menhir_stack;
15728 };
15729 };
15730 } = _menhir_stack in
15731 let _3 : (
15732 # 101 "parser_cocci_menhir.mly"
15733 (Data.clt)
15734 # 15735 "parser_cocci_menhir.ml"
15735 ) = Obj.magic _3 in
15736 let _2 : 'tv_initialize_list = Obj.magic _2 in
15737 let _1 : (
15738 # 101 "parser_cocci_menhir.mly"
15739 (Data.clt)
15740 # 15741 "parser_cocci_menhir.ml"
15741 ) = Obj.magic _1 in
15742 let _startpos = _startpos__1_ in
15743 let _endpos = _endpos__3_ in
15744 let _v : 'tv_initialize2 =
15745 # 1083 "parser_cocci_menhir.mly"
15746 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15747 # 15748 "parser_cocci_menhir.ml"
15748 in
15749 _menhir_env.MenhirLib.EngineTypes.stack <- {
15750 MenhirLib.EngineTypes.state = _menhir_s;
15751 MenhirLib.EngineTypes.semv = Obj.repr _v;
15752 MenhirLib.EngineTypes.startp = _startpos;
15753 MenhirLib.EngineTypes.endp = _endpos;
15754 MenhirLib.EngineTypes.next = _menhir_stack;
15755 });
15756 (fun _menhir_env ->
15757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15758 let {
15759 MenhirLib.EngineTypes.semv = _2;
15760 MenhirLib.EngineTypes.startp = _startpos__2_;
15761 MenhirLib.EngineTypes.endp = _endpos__2_;
15762 MenhirLib.EngineTypes.next = {
15763 MenhirLib.EngineTypes.state = _menhir_s;
15764 MenhirLib.EngineTypes.semv = _1;
15765 MenhirLib.EngineTypes.startp = _startpos__1_;
15766 MenhirLib.EngineTypes.endp = _endpos__1_;
15767 MenhirLib.EngineTypes.next = _menhir_stack;
15768 };
15769 } = _menhir_stack in
15770 let _2 : (
15771 # 101 "parser_cocci_menhir.mly"
15772 (Data.clt)
15773 # 15774 "parser_cocci_menhir.ml"
15774 ) = Obj.magic _2 in
15775 let _1 : (
15776 # 101 "parser_cocci_menhir.mly"
15777 (Data.clt)
15778 # 15779 "parser_cocci_menhir.ml"
15779 ) = Obj.magic _1 in
15780 let _startpos = _startpos__1_ in
15781 let _endpos = _endpos__2_ in
15782 let _v : 'tv_initialize2 =
15783 # 1085 "parser_cocci_menhir.mly"
15784 ( Ast0.wrap
15785 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15786 P.clt2mcode "}" _2)) )
15787 # 15788 "parser_cocci_menhir.ml"
15788 in
15789 _menhir_env.MenhirLib.EngineTypes.stack <- {
15790 MenhirLib.EngineTypes.state = _menhir_s;
15791 MenhirLib.EngineTypes.semv = Obj.repr _v;
15792 MenhirLib.EngineTypes.startp = _startpos;
15793 MenhirLib.EngineTypes.endp = _endpos;
15794 MenhirLib.EngineTypes.next = _menhir_stack;
15795 });
15796 (fun _menhir_env ->
15797 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15798 let {
15799 MenhirLib.EngineTypes.semv = _3;
15800 MenhirLib.EngineTypes.startp = _startpos__3_;
15801 MenhirLib.EngineTypes.endp = _endpos__3_;
15802 MenhirLib.EngineTypes.next = {
15803 MenhirLib.EngineTypes.semv = _2;
15804 MenhirLib.EngineTypes.startp = _startpos__2_;
15805 MenhirLib.EngineTypes.endp = _endpos__2_;
15806 MenhirLib.EngineTypes.next = {
15807 MenhirLib.EngineTypes.state = _menhir_s;
15808 MenhirLib.EngineTypes.semv = _1;
15809 MenhirLib.EngineTypes.startp = _startpos__1_;
15810 MenhirLib.EngineTypes.endp = _endpos__1_;
15811 MenhirLib.EngineTypes.next = _menhir_stack;
15812 };
15813 };
15814 } = _menhir_stack in
15815 let _3 : 'tv_initialize2 = Obj.magic _3 in
15816 let _2 : (
15817 # 107 "parser_cocci_menhir.mly"
15818 (Data.clt)
15819 # 15820 "parser_cocci_menhir.ml"
15820 ) = Obj.magic _2 in
15821 let _1 : 'tv_list_designator_ = Obj.magic _1 in
15822 let _startpos = _startpos__1_ in
15823 let _endpos = _endpos__3_ in
15824 let _v : 'tv_initialize2 =
15825 # 1090 "parser_cocci_menhir.mly"
15826 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
15827 # 15828 "parser_cocci_menhir.ml"
15828 in
15829 _menhir_env.MenhirLib.EngineTypes.stack <- {
15830 MenhirLib.EngineTypes.state = _menhir_s;
15831 MenhirLib.EngineTypes.semv = Obj.repr _v;
15832 MenhirLib.EngineTypes.startp = _startpos;
15833 MenhirLib.EngineTypes.endp = _endpos;
15834 MenhirLib.EngineTypes.next = _menhir_stack;
15835 });
15836 (fun _menhir_env ->
15837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15838 let {
15839 MenhirLib.EngineTypes.semv = _3;
15840 MenhirLib.EngineTypes.startp = _startpos__3_;
15841 MenhirLib.EngineTypes.endp = _endpos__3_;
15842 MenhirLib.EngineTypes.next = {
15843 MenhirLib.EngineTypes.semv = _2;
15844 MenhirLib.EngineTypes.startp = _startpos__2_;
15845 MenhirLib.EngineTypes.endp = _endpos__2_;
15846 MenhirLib.EngineTypes.next = {
15847 MenhirLib.EngineTypes.state = _menhir_s;
15848 MenhirLib.EngineTypes.semv = _1;
15849 MenhirLib.EngineTypes.startp = _startpos__1_;
15850 MenhirLib.EngineTypes.endp = _endpos__1_;
15851 MenhirLib.EngineTypes.next = _menhir_stack;
15852 };
15853 };
15854 } = _menhir_stack in
15855 let _3 : 'tv_initialize2 = Obj.magic _3 in
15856 let _2 : (
15857 # 76 "parser_cocci_menhir.mly"
15858 (Data.clt)
15859 # 15860 "parser_cocci_menhir.ml"
15860 ) = Obj.magic _2 in
15861 let _1 : 'tv_ident = Obj.magic _1 in
15862 let _startpos = _startpos__1_ in
15863 let _endpos = _endpos__3_ in
15864 let _v : 'tv_initialize2 =
15865 # 1092 "parser_cocci_menhir.mly"
15866 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
15867 # 15868 "parser_cocci_menhir.ml"
15868 in
15869 _menhir_env.MenhirLib.EngineTypes.stack <- {
15870 MenhirLib.EngineTypes.state = _menhir_s;
15871 MenhirLib.EngineTypes.semv = Obj.repr _v;
15872 MenhirLib.EngineTypes.startp = _startpos;
15873 MenhirLib.EngineTypes.endp = _endpos;
15874 MenhirLib.EngineTypes.next = _menhir_stack;
15875 });
15876 (fun _menhir_env ->
15877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15878 let {
15879 MenhirLib.EngineTypes.state = _menhir_s;
15880 MenhirLib.EngineTypes.semv = _1;
15881 MenhirLib.EngineTypes.startp = _startpos__1_;
15882 MenhirLib.EngineTypes.endp = _endpos__1_;
15883 MenhirLib.EngineTypes.next = _menhir_stack;
15884 } = _menhir_stack in
15885 let _1 : 'tv_initialize_list_start = Obj.magic _1 in
15886 let _startpos = _startpos__1_ in
15887 let _endpos = _endpos__1_ in
15888 let _v : 'tv_initialize_list =
15889 # 1104 "parser_cocci_menhir.mly"
15890 ( Ast0.wrap(Ast0.DOTS(_1)) )
15891 # 15892 "parser_cocci_menhir.ml"
15892 in
15893 _menhir_env.MenhirLib.EngineTypes.stack <- {
15894 MenhirLib.EngineTypes.state = _menhir_s;
15895 MenhirLib.EngineTypes.semv = Obj.repr _v;
15896 MenhirLib.EngineTypes.startp = _startpos;
15897 MenhirLib.EngineTypes.endp = _endpos;
15898 MenhirLib.EngineTypes.next = _menhir_stack;
15899 });
15900 (fun _menhir_env ->
15901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15902 let {
15903 MenhirLib.EngineTypes.semv = _2;
15904 MenhirLib.EngineTypes.startp = _startpos__2_;
15905 MenhirLib.EngineTypes.endp = _endpos__2_;
15906 MenhirLib.EngineTypes.next = {
15907 MenhirLib.EngineTypes.state = _menhir_s;
15908 MenhirLib.EngineTypes.semv = _1;
15909 MenhirLib.EngineTypes.startp = _startpos__1_;
15910 MenhirLib.EngineTypes.endp = _endpos__1_;
15911 MenhirLib.EngineTypes.next = _menhir_stack;
15912 };
15913 } = _menhir_stack in
15914 let _2 : (
15915 # 107 "parser_cocci_menhir.mly"
15916 (Data.clt)
15917 # 15918 "parser_cocci_menhir.ml"
15918 ) = Obj.magic _2 in
15919 let _1 : 'tv_initialize2 = Obj.magic _1 in
15920 let _startpos = _startpos__1_ in
15921 let _endpos = _endpos__2_ in
15922 let _v : 'tv_initialize_list_start =
15923 # 1107 "parser_cocci_menhir.mly"
15924 ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
15925 # 15926 "parser_cocci_menhir.ml"
15926 in
15927 _menhir_env.MenhirLib.EngineTypes.stack <- {
15928 MenhirLib.EngineTypes.state = _menhir_s;
15929 MenhirLib.EngineTypes.semv = Obj.repr _v;
15930 MenhirLib.EngineTypes.startp = _startpos;
15931 MenhirLib.EngineTypes.endp = _endpos;
15932 MenhirLib.EngineTypes.next = _menhir_stack;
15933 });
15934 (fun _menhir_env ->
15935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15936 let {
15937 MenhirLib.EngineTypes.semv = _3;
15938 MenhirLib.EngineTypes.startp = _startpos__3_;
15939 MenhirLib.EngineTypes.endp = _endpos__3_;
15940 MenhirLib.EngineTypes.next = {
15941 MenhirLib.EngineTypes.semv = _2;
15942 MenhirLib.EngineTypes.startp = _startpos__2_;
15943 MenhirLib.EngineTypes.endp = _endpos__2_;
15944 MenhirLib.EngineTypes.next = {
15945 MenhirLib.EngineTypes.state = _menhir_s;
15946 MenhirLib.EngineTypes.semv = _1;
15947 MenhirLib.EngineTypes.startp = _startpos__1_;
15948 MenhirLib.EngineTypes.endp = _endpos__1_;
15949 MenhirLib.EngineTypes.next = _menhir_stack;
15950 };
15951 };
15952 } = _menhir_stack in
15953 let _3 : 'tv_initialize_list_start = Obj.magic _3 in
15954 let _2 : (
15955 # 107 "parser_cocci_menhir.mly"
15956 (Data.clt)
15957 # 15958 "parser_cocci_menhir.ml"
15958 ) = Obj.magic _2 in
15959 let _1 : 'tv_initialize2 = Obj.magic _1 in
15960 let _startpos = _startpos__1_ in
15961 let _endpos = _endpos__3_ in
15962 let _v : 'tv_initialize_list_start =
15963 # 1109 "parser_cocci_menhir.mly"
15964 ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
15965 # 15966 "parser_cocci_menhir.ml"
15966 in
15967 _menhir_env.MenhirLib.EngineTypes.stack <- {
15968 MenhirLib.EngineTypes.state = _menhir_s;
15969 MenhirLib.EngineTypes.semv = Obj.repr _v;
15970 MenhirLib.EngineTypes.startp = _startpos;
15971 MenhirLib.EngineTypes.endp = _endpos;
15972 MenhirLib.EngineTypes.next = _menhir_stack;
15973 });
15974 (fun _menhir_env ->
15975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15976 let {
15977 MenhirLib.EngineTypes.semv = r;
15978 MenhirLib.EngineTypes.startp = _startpos_r_;
15979 MenhirLib.EngineTypes.endp = _endpos_r_;
15980 MenhirLib.EngineTypes.next = {
15981 MenhirLib.EngineTypes.state = _menhir_s;
15982 MenhirLib.EngineTypes.semv = d;
15983 MenhirLib.EngineTypes.startp = _startpos_d_;
15984 MenhirLib.EngineTypes.endp = _endpos_d_;
15985 MenhirLib.EngineTypes.next = _menhir_stack;
15986 };
15987 } = _menhir_stack in
15988 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
15989 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
15990 let _startpos = _startpos_d_ in
15991 let _endpos = _endpos_r_ in
15992 let _v : 'tv_initialize_list_start =
15993 # 1112 "parser_cocci_menhir.mly"
15994 ( (P.mkidots "..." d)::
15995 (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
15996 # 15997 "parser_cocci_menhir.ml"
15997 in
15998 _menhir_env.MenhirLib.EngineTypes.stack <- {
15999 MenhirLib.EngineTypes.state = _menhir_s;
16000 MenhirLib.EngineTypes.semv = Obj.repr _v;
16001 MenhirLib.EngineTypes.startp = _startpos;
16002 MenhirLib.EngineTypes.endp = _endpos;
16003 MenhirLib.EngineTypes.next = _menhir_stack;
16004 });
16005 (fun _menhir_env ->
16006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16007 let {
16008 MenhirLib.EngineTypes.state = _menhir_s;
16009 MenhirLib.EngineTypes.startp = _startpos__1_;
16010 MenhirLib.EngineTypes.endp = _endpos__1_;
16011 MenhirLib.EngineTypes.next = _menhir_stack;
16012 } = _menhir_stack in
16013 let _startpos = _startpos__1_ in
16014 let _endpos = _endpos__1_ in
16015 let _v : 'tv_invalid =
16016 # 1205 "parser_cocci_menhir.mly"
16017 ( raise (Semantic_cocci.Semantic "not matchable") )
16018 # 16019 "parser_cocci_menhir.ml"
16019 in
16020 _menhir_env.MenhirLib.EngineTypes.stack <- {
16021 MenhirLib.EngineTypes.state = _menhir_s;
16022 MenhirLib.EngineTypes.semv = Obj.repr _v;
16023 MenhirLib.EngineTypes.startp = _startpos;
16024 MenhirLib.EngineTypes.endp = _endpos;
16025 MenhirLib.EngineTypes.next = _menhir_stack;
16026 });
16027 (fun _menhir_env ->
16028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16029 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16030 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16031 let _endpos = _startpos in
16032 let _v : 'tv_is_expression =
16033 # 248 "parser_cocci_menhir.mly"
16034 ( false )
16035 # 16036 "parser_cocci_menhir.ml"
16036 in
16037 _menhir_env.MenhirLib.EngineTypes.stack <- {
16038 MenhirLib.EngineTypes.state = _menhir_s;
16039 MenhirLib.EngineTypes.semv = Obj.repr _v;
16040 MenhirLib.EngineTypes.startp = _startpos;
16041 MenhirLib.EngineTypes.endp = _endpos;
16042 MenhirLib.EngineTypes.next = _menhir_stack;
16043 });
16044 (fun _menhir_env ->
16045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16046 let {
16047 MenhirLib.EngineTypes.state = _menhir_s;
16048 MenhirLib.EngineTypes.startp = _startpos__1_;
16049 MenhirLib.EngineTypes.endp = _endpos__1_;
16050 MenhirLib.EngineTypes.next = _menhir_stack;
16051 } = _menhir_stack in
16052 let _startpos = _startpos__1_ in
16053 let _endpos = _endpos__1_ in
16054 let _v : 'tv_is_expression =
16055 # 249 "parser_cocci_menhir.mly"
16056 ( true )
16057 # 16058 "parser_cocci_menhir.ml"
16058 in
16059 _menhir_env.MenhirLib.EngineTypes.stack <- {
16060 MenhirLib.EngineTypes.state = _menhir_s;
16061 MenhirLib.EngineTypes.semv = Obj.repr _v;
16062 MenhirLib.EngineTypes.startp = _startpos;
16063 MenhirLib.EngineTypes.endp = _endpos;
16064 MenhirLib.EngineTypes.next = _menhir_stack;
16065 });
16066 (fun _menhir_env ->
16067 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16068 let {
16069 MenhirLib.EngineTypes.semv = t;
16070 MenhirLib.EngineTypes.startp = _startpos_t_;
16071 MenhirLib.EngineTypes.endp = _endpos_t_;
16072 MenhirLib.EngineTypes.next = {
16073 MenhirLib.EngineTypes.state = _menhir_s;
16074 MenhirLib.EngineTypes.startp = _startpos__1_;
16075 MenhirLib.EngineTypes.endp = _endpos__1_;
16076 MenhirLib.EngineTypes.next = _menhir_stack;
16077 };
16078 } = _menhir_stack in
16079 let t : 'tv_ctype = Obj.magic t in
16080 let _startpos = _startpos__1_ in
16081 let _endpos = _endpos_t_ in
16082 let _v : 'tv_iso_ctype_ =
16083 # 1935 "parser_cocci_menhir.mly"
16084 ( Common.Left t )
16085 # 16086 "parser_cocci_menhir.ml"
16086 in
16087 _menhir_env.MenhirLib.EngineTypes.stack <- {
16088 MenhirLib.EngineTypes.state = _menhir_s;
16089 MenhirLib.EngineTypes.semv = Obj.repr _v;
16090 MenhirLib.EngineTypes.startp = _startpos;
16091 MenhirLib.EngineTypes.endp = _endpos;
16092 MenhirLib.EngineTypes.next = _menhir_stack;
16093 });
16094 (fun _menhir_env ->
16095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16096 let {
16097 MenhirLib.EngineTypes.semv = t;
16098 MenhirLib.EngineTypes.startp = _startpos_t_;
16099 MenhirLib.EngineTypes.endp = _endpos_t_;
16100 MenhirLib.EngineTypes.next = {
16101 MenhirLib.EngineTypes.state = _menhir_s;
16102 MenhirLib.EngineTypes.startp = _startpos__1_;
16103 MenhirLib.EngineTypes.endp = _endpos__1_;
16104 MenhirLib.EngineTypes.next = _menhir_stack;
16105 };
16106 } = _menhir_stack in
16107 let t : 'tv_ctype = Obj.magic t in
16108 let _startpos = _startpos__1_ in
16109 let _endpos = _endpos_t_ in
16110 let _v : 'tv_iso_ctype_ =
16111 # 1936 "parser_cocci_menhir.mly"
16112 ( Common.Right t )
16113 # 16114 "parser_cocci_menhir.ml"
16114 in
16115 _menhir_env.MenhirLib.EngineTypes.stack <- {
16116 MenhirLib.EngineTypes.state = _menhir_s;
16117 MenhirLib.EngineTypes.semv = Obj.repr _v;
16118 MenhirLib.EngineTypes.startp = _startpos;
16119 MenhirLib.EngineTypes.endp = _endpos;
16120 MenhirLib.EngineTypes.next = _menhir_stack;
16121 });
16122 (fun _menhir_env ->
16123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16124 let {
16125 MenhirLib.EngineTypes.semv = t;
16126 MenhirLib.EngineTypes.startp = _startpos_t_;
16127 MenhirLib.EngineTypes.endp = _endpos_t_;
16128 MenhirLib.EngineTypes.next = {
16129 MenhirLib.EngineTypes.state = _menhir_s;
16130 MenhirLib.EngineTypes.startp = _startpos__1_;
16131 MenhirLib.EngineTypes.endp = _endpos__1_;
16132 MenhirLib.EngineTypes.next = _menhir_stack;
16133 };
16134 } = _menhir_stack in
16135 let t : 'tv_decl_var = Obj.magic t in
16136 let _startpos = _startpos__1_ in
16137 let _endpos = _endpos_t_ in
16138 let _v : 'tv_iso_decl_var_ =
16139 # 1935 "parser_cocci_menhir.mly"
16140 ( Common.Left t )
16141 # 16142 "parser_cocci_menhir.ml"
16142 in
16143 _menhir_env.MenhirLib.EngineTypes.stack <- {
16144 MenhirLib.EngineTypes.state = _menhir_s;
16145 MenhirLib.EngineTypes.semv = Obj.repr _v;
16146 MenhirLib.EngineTypes.startp = _startpos;
16147 MenhirLib.EngineTypes.endp = _endpos;
16148 MenhirLib.EngineTypes.next = _menhir_stack;
16149 });
16150 (fun _menhir_env ->
16151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16152 let {
16153 MenhirLib.EngineTypes.semv = t;
16154 MenhirLib.EngineTypes.startp = _startpos_t_;
16155 MenhirLib.EngineTypes.endp = _endpos_t_;
16156 MenhirLib.EngineTypes.next = {
16157 MenhirLib.EngineTypes.state = _menhir_s;
16158 MenhirLib.EngineTypes.startp = _startpos__1_;
16159 MenhirLib.EngineTypes.endp = _endpos__1_;
16160 MenhirLib.EngineTypes.next = _menhir_stack;
16161 };
16162 } = _menhir_stack in
16163 let t : 'tv_decl_var = Obj.magic t in
16164 let _startpos = _startpos__1_ in
16165 let _endpos = _endpos_t_ in
16166 let _v : 'tv_iso_decl_var_ =
16167 # 1936 "parser_cocci_menhir.mly"
16168 ( Common.Right t )
16169 # 16170 "parser_cocci_menhir.ml"
16170 in
16171 _menhir_env.MenhirLib.EngineTypes.stack <- {
16172 MenhirLib.EngineTypes.state = _menhir_s;
16173 MenhirLib.EngineTypes.semv = Obj.repr _v;
16174 MenhirLib.EngineTypes.startp = _startpos;
16175 MenhirLib.EngineTypes.endp = _endpos;
16176 MenhirLib.EngineTypes.next = _menhir_stack;
16177 });
16178 (fun _menhir_env ->
16179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16180 let {
16181 MenhirLib.EngineTypes.semv = t;
16182 MenhirLib.EngineTypes.startp = _startpos_t_;
16183 MenhirLib.EngineTypes.endp = _endpos_t_;
16184 MenhirLib.EngineTypes.next = {
16185 MenhirLib.EngineTypes.state = _menhir_s;
16186 MenhirLib.EngineTypes.startp = _startpos__1_;
16187 MenhirLib.EngineTypes.endp = _endpos__1_;
16188 MenhirLib.EngineTypes.next = _menhir_stack;
16189 };
16190 } = _menhir_stack in
16191 let t : 'tv_dexpr = Obj.magic t in
16192 let _startpos = _startpos__1_ in
16193 let _endpos = _endpos_t_ in
16194 let _v : 'tv_iso_dexpr_ =
16195 # 1935 "parser_cocci_menhir.mly"
16196 ( Common.Left t )
16197 # 16198 "parser_cocci_menhir.ml"
16198 in
16199 _menhir_env.MenhirLib.EngineTypes.stack <- {
16200 MenhirLib.EngineTypes.state = _menhir_s;
16201 MenhirLib.EngineTypes.semv = Obj.repr _v;
16202 MenhirLib.EngineTypes.startp = _startpos;
16203 MenhirLib.EngineTypes.endp = _endpos;
16204 MenhirLib.EngineTypes.next = _menhir_stack;
16205 });
16206 (fun _menhir_env ->
16207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16208 let {
16209 MenhirLib.EngineTypes.semv = t;
16210 MenhirLib.EngineTypes.startp = _startpos_t_;
16211 MenhirLib.EngineTypes.endp = _endpos_t_;
16212 MenhirLib.EngineTypes.next = {
16213 MenhirLib.EngineTypes.state = _menhir_s;
16214 MenhirLib.EngineTypes.startp = _startpos__1_;
16215 MenhirLib.EngineTypes.endp = _endpos__1_;
16216 MenhirLib.EngineTypes.next = _menhir_stack;
16217 };
16218 } = _menhir_stack in
16219 let t : 'tv_dexpr = Obj.magic t in
16220 let _startpos = _startpos__1_ in
16221 let _endpos = _endpos_t_ in
16222 let _v : 'tv_iso_dexpr_ =
16223 # 1936 "parser_cocci_menhir.mly"
16224 ( Common.Right t )
16225 # 16226 "parser_cocci_menhir.ml"
16226 in
16227 _menhir_env.MenhirLib.EngineTypes.stack <- {
16228 MenhirLib.EngineTypes.state = _menhir_s;
16229 MenhirLib.EngineTypes.semv = Obj.repr _v;
16230 MenhirLib.EngineTypes.startp = _startpos;
16231 MenhirLib.EngineTypes.endp = _endpos;
16232 MenhirLib.EngineTypes.next = _menhir_stack;
16233 });
16234 (fun _menhir_env ->
16235 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16236 let {
16237 MenhirLib.EngineTypes.semv = t;
16238 MenhirLib.EngineTypes.startp = _startpos_t_;
16239 MenhirLib.EngineTypes.endp = _endpos_t_;
16240 MenhirLib.EngineTypes.next = {
16241 MenhirLib.EngineTypes.state = _menhir_s;
16242 MenhirLib.EngineTypes.startp = _startpos__1_;
16243 MenhirLib.EngineTypes.endp = _endpos__1_;
16244 MenhirLib.EngineTypes.next = _menhir_stack;
16245 };
16246 } = _menhir_stack in
16247 let t : 'tv_nest_start = Obj.magic t in
16248 let _startpos = _startpos__1_ in
16249 let _endpos = _endpos_t_ in
16250 let _v : 'tv_iso_nest_start_ =
16251 # 1935 "parser_cocci_menhir.mly"
16252 ( Common.Left t )
16253 # 16254 "parser_cocci_menhir.ml"
16254 in
16255 _menhir_env.MenhirLib.EngineTypes.stack <- {
16256 MenhirLib.EngineTypes.state = _menhir_s;
16257 MenhirLib.EngineTypes.semv = Obj.repr _v;
16258 MenhirLib.EngineTypes.startp = _startpos;
16259 MenhirLib.EngineTypes.endp = _endpos;
16260 MenhirLib.EngineTypes.next = _menhir_stack;
16261 });
16262 (fun _menhir_env ->
16263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16264 let {
16265 MenhirLib.EngineTypes.semv = t;
16266 MenhirLib.EngineTypes.startp = _startpos_t_;
16267 MenhirLib.EngineTypes.endp = _endpos_t_;
16268 MenhirLib.EngineTypes.next = {
16269 MenhirLib.EngineTypes.state = _menhir_s;
16270 MenhirLib.EngineTypes.startp = _startpos__1_;
16271 MenhirLib.EngineTypes.endp = _endpos__1_;
16272 MenhirLib.EngineTypes.next = _menhir_stack;
16273 };
16274 } = _menhir_stack in
16275 let t : 'tv_nest_start = Obj.magic t in
16276 let _startpos = _startpos__1_ in
16277 let _endpos = _endpos_t_ in
16278 let _v : 'tv_iso_nest_start_ =
16279 # 1936 "parser_cocci_menhir.mly"
16280 ( Common.Right t )
16281 # 16282 "parser_cocci_menhir.ml"
16282 in
16283 _menhir_env.MenhirLib.EngineTypes.stack <- {
16284 MenhirLib.EngineTypes.state = _menhir_s;
16285 MenhirLib.EngineTypes.semv = Obj.repr _v;
16286 MenhirLib.EngineTypes.startp = _startpos;
16287 MenhirLib.EngineTypes.endp = _endpos;
16288 MenhirLib.EngineTypes.next = _menhir_stack;
16289 });
16290 (fun _menhir_env ->
16291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16292 let {
16293 MenhirLib.EngineTypes.semv = t;
16294 MenhirLib.EngineTypes.startp = _startpos_t_;
16295 MenhirLib.EngineTypes.endp = _endpos_t_;
16296 MenhirLib.EngineTypes.next = {
16297 MenhirLib.EngineTypes.state = _menhir_s;
16298 MenhirLib.EngineTypes.startp = _startpos__1_;
16299 MenhirLib.EngineTypes.endp = _endpos__1_;
16300 MenhirLib.EngineTypes.next = _menhir_stack;
16301 };
16302 } = _menhir_stack in
16303 let t : 'tv_single_statement = Obj.magic t in
16304 let _startpos = _startpos__1_ in
16305 let _endpos = _endpos_t_ in
16306 let _v : 'tv_iso_single_statement_ =
16307 # 1935 "parser_cocci_menhir.mly"
16308 ( Common.Left t )
16309 # 16310 "parser_cocci_menhir.ml"
16310 in
16311 _menhir_env.MenhirLib.EngineTypes.stack <- {
16312 MenhirLib.EngineTypes.state = _menhir_s;
16313 MenhirLib.EngineTypes.semv = Obj.repr _v;
16314 MenhirLib.EngineTypes.startp = _startpos;
16315 MenhirLib.EngineTypes.endp = _endpos;
16316 MenhirLib.EngineTypes.next = _menhir_stack;
16317 });
16318 (fun _menhir_env ->
16319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16320 let {
16321 MenhirLib.EngineTypes.semv = t;
16322 MenhirLib.EngineTypes.startp = _startpos_t_;
16323 MenhirLib.EngineTypes.endp = _endpos_t_;
16324 MenhirLib.EngineTypes.next = {
16325 MenhirLib.EngineTypes.state = _menhir_s;
16326 MenhirLib.EngineTypes.startp = _startpos__1_;
16327 MenhirLib.EngineTypes.endp = _endpos__1_;
16328 MenhirLib.EngineTypes.next = _menhir_stack;
16329 };
16330 } = _menhir_stack in
16331 let t : 'tv_single_statement = Obj.magic t in
16332 let _startpos = _startpos__1_ in
16333 let _endpos = _endpos_t_ in
16334 let _v : 'tv_iso_single_statement_ =
16335 # 1936 "parser_cocci_menhir.mly"
16336 ( Common.Right t )
16337 # 16338 "parser_cocci_menhir.ml"
16338 in
16339 _menhir_env.MenhirLib.EngineTypes.stack <- {
16340 MenhirLib.EngineTypes.state = _menhir_s;
16341 MenhirLib.EngineTypes.semv = Obj.repr _v;
16342 MenhirLib.EngineTypes.startp = _startpos;
16343 MenhirLib.EngineTypes.endp = _endpos;
16344 MenhirLib.EngineTypes.next = _menhir_stack;
16345 });
16346 (fun _menhir_env ->
16347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16348 let {
16349 MenhirLib.EngineTypes.startp = _startpos__4_;
16350 MenhirLib.EngineTypes.endp = _endpos__4_;
16351 MenhirLib.EngineTypes.next = {
16352 MenhirLib.EngineTypes.semv = el;
16353 MenhirLib.EngineTypes.startp = _startpos_el_;
16354 MenhirLib.EngineTypes.endp = _endpos_el_;
16355 MenhirLib.EngineTypes.next = {
16356 MenhirLib.EngineTypes.semv = e1;
16357 MenhirLib.EngineTypes.startp = _startpos_e1_;
16358 MenhirLib.EngineTypes.endp = _endpos_e1_;
16359 MenhirLib.EngineTypes.next = {
16360 MenhirLib.EngineTypes.state = _menhir_s;
16361 MenhirLib.EngineTypes.startp = _startpos__1_;
16362 MenhirLib.EngineTypes.endp = _endpos__1_;
16363 MenhirLib.EngineTypes.next = _menhir_stack;
16364 };
16365 };
16366 };
16367 } = _menhir_stack in
16368 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
16369 let e1 : 'tv_dexpr = Obj.magic e1 in
16370 let _startpos = _startpos__1_ in
16371 let _endpos = _endpos__4_ in
16372 let _v : (
16373 # 162 "parser_cocci_menhir.mly"
16374 (Ast0_cocci.anything list list)
16375 # 16376 "parser_cocci_menhir.ml"
16376 ) =
16377 # 1907 "parser_cocci_menhir.mly"
16378 ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
16379 # 16380 "parser_cocci_menhir.ml"
16380 in
16381 _menhir_env.MenhirLib.EngineTypes.stack <- {
16382 MenhirLib.EngineTypes.state = _menhir_s;
16383 MenhirLib.EngineTypes.semv = Obj.repr _v;
16384 MenhirLib.EngineTypes.startp = _startpos;
16385 MenhirLib.EngineTypes.endp = _endpos;
16386 MenhirLib.EngineTypes.next = _menhir_stack;
16387 });
16388 (fun _menhir_env ->
16389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16390 let {
16391 MenhirLib.EngineTypes.startp = _startpos__4_;
16392 MenhirLib.EngineTypes.endp = _endpos__4_;
16393 MenhirLib.EngineTypes.next = {
16394 MenhirLib.EngineTypes.semv = el;
16395 MenhirLib.EngineTypes.startp = _startpos_el_;
16396 MenhirLib.EngineTypes.endp = _endpos_el_;
16397 MenhirLib.EngineTypes.next = {
16398 MenhirLib.EngineTypes.semv = e1;
16399 MenhirLib.EngineTypes.startp = _startpos_e1_;
16400 MenhirLib.EngineTypes.endp = _endpos_e1_;
16401 MenhirLib.EngineTypes.next = {
16402 MenhirLib.EngineTypes.state = _menhir_s;
16403 MenhirLib.EngineTypes.startp = _startpos__1_;
16404 MenhirLib.EngineTypes.endp = _endpos__1_;
16405 MenhirLib.EngineTypes.next = _menhir_stack;
16406 };
16407 };
16408 };
16409 } = _menhir_stack in
16410 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
16411 let e1 : 'tv_dexpr = Obj.magic e1 in
16412 let _startpos = _startpos__1_ in
16413 let _endpos = _endpos__4_ in
16414 let _v : (
16415 # 162 "parser_cocci_menhir.mly"
16416 (Ast0_cocci.anything list list)
16417 # 16418 "parser_cocci_menhir.ml"
16418 ) =
16419 # 1909 "parser_cocci_menhir.mly"
16420 ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
16421 # 16422 "parser_cocci_menhir.ml"
16422 in
16423 _menhir_env.MenhirLib.EngineTypes.stack <- {
16424 MenhirLib.EngineTypes.state = _menhir_s;
16425 MenhirLib.EngineTypes.semv = Obj.repr _v;
16426 MenhirLib.EngineTypes.startp = _startpos;
16427 MenhirLib.EngineTypes.endp = _endpos;
16428 MenhirLib.EngineTypes.next = _menhir_stack;
16429 });
16430 (fun _menhir_env ->
16431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16432 let {
16433 MenhirLib.EngineTypes.startp = _startpos__4_;
16434 MenhirLib.EngineTypes.endp = _endpos__4_;
16435 MenhirLib.EngineTypes.next = {
16436 MenhirLib.EngineTypes.semv = el;
16437 MenhirLib.EngineTypes.startp = _startpos_el_;
16438 MenhirLib.EngineTypes.endp = _endpos_el_;
16439 MenhirLib.EngineTypes.next = {
16440 MenhirLib.EngineTypes.semv = e1;
16441 MenhirLib.EngineTypes.startp = _startpos_e1_;
16442 MenhirLib.EngineTypes.endp = _endpos_e1_;
16443 MenhirLib.EngineTypes.next = {
16444 MenhirLib.EngineTypes.state = _menhir_s;
16445 MenhirLib.EngineTypes.startp = _startpos__1_;
16446 MenhirLib.EngineTypes.endp = _endpos__1_;
16447 MenhirLib.EngineTypes.next = _menhir_stack;
16448 };
16449 };
16450 };
16451 } = _menhir_stack in
16452 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
16453 let e1 : 'tv_dexpr = Obj.magic e1 in
16454 let _startpos = _startpos__1_ in
16455 let _endpos = _endpos__4_ in
16456 let _v : (
16457 # 162 "parser_cocci_menhir.mly"
16458 (Ast0_cocci.anything list list)
16459 # 16460 "parser_cocci_menhir.ml"
16460 ) =
16461 # 1911 "parser_cocci_menhir.mly"
16462 ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
16463 # 16464 "parser_cocci_menhir.ml"
16464 in
16465 _menhir_env.MenhirLib.EngineTypes.stack <- {
16466 MenhirLib.EngineTypes.state = _menhir_s;
16467 MenhirLib.EngineTypes.semv = Obj.repr _v;
16468 MenhirLib.EngineTypes.startp = _startpos;
16469 MenhirLib.EngineTypes.endp = _endpos;
16470 MenhirLib.EngineTypes.next = _menhir_stack;
16471 });
16472 (fun _menhir_env ->
16473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16474 let {
16475 MenhirLib.EngineTypes.startp = _startpos__4_;
16476 MenhirLib.EngineTypes.endp = _endpos__4_;
16477 MenhirLib.EngineTypes.next = {
16478 MenhirLib.EngineTypes.semv = sl;
16479 MenhirLib.EngineTypes.startp = _startpos_sl_;
16480 MenhirLib.EngineTypes.endp = _endpos_sl_;
16481 MenhirLib.EngineTypes.next = {
16482 MenhirLib.EngineTypes.semv = s1;
16483 MenhirLib.EngineTypes.startp = _startpos_s1_;
16484 MenhirLib.EngineTypes.endp = _endpos_s1_;
16485 MenhirLib.EngineTypes.next = {
16486 MenhirLib.EngineTypes.state = _menhir_s;
16487 MenhirLib.EngineTypes.startp = _startpos__1_;
16488 MenhirLib.EngineTypes.endp = _endpos__1_;
16489 MenhirLib.EngineTypes.next = _menhir_stack;
16490 };
16491 };
16492 };
16493 } = _menhir_stack in
16494 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
16495 let s1 : 'tv_single_statement = Obj.magic s1 in
16496 let _startpos = _startpos__1_ in
16497 let _endpos = _endpos__4_ in
16498 let _v : (
16499 # 162 "parser_cocci_menhir.mly"
16500 (Ast0_cocci.anything list list)
16501 # 16502 "parser_cocci_menhir.ml"
16502 ) =
16503 # 1913 "parser_cocci_menhir.mly"
16504 ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
16505 # 16506 "parser_cocci_menhir.ml"
16506 in
16507 _menhir_env.MenhirLib.EngineTypes.stack <- {
16508 MenhirLib.EngineTypes.state = _menhir_s;
16509 MenhirLib.EngineTypes.semv = Obj.repr _v;
16510 MenhirLib.EngineTypes.startp = _startpos;
16511 MenhirLib.EngineTypes.endp = _endpos;
16512 MenhirLib.EngineTypes.next = _menhir_stack;
16513 });
16514 (fun _menhir_env ->
16515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16516 let {
16517 MenhirLib.EngineTypes.startp = _startpos__4_;
16518 MenhirLib.EngineTypes.endp = _endpos__4_;
16519 MenhirLib.EngineTypes.next = {
16520 MenhirLib.EngineTypes.semv = tl;
16521 MenhirLib.EngineTypes.startp = _startpos_tl_;
16522 MenhirLib.EngineTypes.endp = _endpos_tl_;
16523 MenhirLib.EngineTypes.next = {
16524 MenhirLib.EngineTypes.semv = t1;
16525 MenhirLib.EngineTypes.startp = _startpos_t1_;
16526 MenhirLib.EngineTypes.endp = _endpos_t1_;
16527 MenhirLib.EngineTypes.next = {
16528 MenhirLib.EngineTypes.state = _menhir_s;
16529 MenhirLib.EngineTypes.startp = _startpos__1_;
16530 MenhirLib.EngineTypes.endp = _endpos__1_;
16531 MenhirLib.EngineTypes.next = _menhir_stack;
16532 };
16533 };
16534 };
16535 } = _menhir_stack in
16536 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
16537 let t1 : 'tv_ctype = Obj.magic t1 in
16538 let _startpos = _startpos__1_ in
16539 let _endpos = _endpos__4_ in
16540 let _v : (
16541 # 162 "parser_cocci_menhir.mly"
16542 (Ast0_cocci.anything list list)
16543 # 16544 "parser_cocci_menhir.ml"
16544 ) =
16545 # 1915 "parser_cocci_menhir.mly"
16546 ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
16547 # 16548 "parser_cocci_menhir.ml"
16548 in
16549 _menhir_env.MenhirLib.EngineTypes.stack <- {
16550 MenhirLib.EngineTypes.state = _menhir_s;
16551 MenhirLib.EngineTypes.semv = Obj.repr _v;
16552 MenhirLib.EngineTypes.startp = _startpos;
16553 MenhirLib.EngineTypes.endp = _endpos;
16554 MenhirLib.EngineTypes.next = _menhir_stack;
16555 });
16556 (fun _menhir_env ->
16557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16558 let {
16559 MenhirLib.EngineTypes.startp = _startpos__4_;
16560 MenhirLib.EngineTypes.endp = _endpos__4_;
16561 MenhirLib.EngineTypes.next = {
16562 MenhirLib.EngineTypes.semv = el;
16563 MenhirLib.EngineTypes.startp = _startpos_el_;
16564 MenhirLib.EngineTypes.endp = _endpos_el_;
16565 MenhirLib.EngineTypes.next = {
16566 MenhirLib.EngineTypes.semv = e1;
16567 MenhirLib.EngineTypes.startp = _startpos_e1_;
16568 MenhirLib.EngineTypes.endp = _endpos_e1_;
16569 MenhirLib.EngineTypes.next = {
16570 MenhirLib.EngineTypes.state = _menhir_s;
16571 MenhirLib.EngineTypes.startp = _startpos__1_;
16572 MenhirLib.EngineTypes.endp = _endpos__1_;
16573 MenhirLib.EngineTypes.next = _menhir_stack;
16574 };
16575 };
16576 };
16577 } = _menhir_stack in
16578 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
16579 let e1 : 'tv_nest_start = Obj.magic e1 in
16580 let _startpos = _startpos__1_ in
16581 let _endpos = _endpos__4_ in
16582 let _v : (
16583 # 162 "parser_cocci_menhir.mly"
16584 (Ast0_cocci.anything list list)
16585 # 16586 "parser_cocci_menhir.ml"
16586 ) =
16587 # 1917 "parser_cocci_menhir.mly"
16588 ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
16589 # 16590 "parser_cocci_menhir.ml"
16590 in
16591 _menhir_env.MenhirLib.EngineTypes.stack <- {
16592 MenhirLib.EngineTypes.state = _menhir_s;
16593 MenhirLib.EngineTypes.semv = Obj.repr _v;
16594 MenhirLib.EngineTypes.startp = _startpos;
16595 MenhirLib.EngineTypes.endp = _endpos;
16596 MenhirLib.EngineTypes.next = _menhir_stack;
16597 });
16598 (fun _menhir_env ->
16599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16600 let {
16601 MenhirLib.EngineTypes.startp = _startpos__4_;
16602 MenhirLib.EngineTypes.endp = _endpos__4_;
16603 MenhirLib.EngineTypes.next = {
16604 MenhirLib.EngineTypes.semv = dl;
16605 MenhirLib.EngineTypes.startp = _startpos_dl_;
16606 MenhirLib.EngineTypes.endp = _endpos_dl_;
16607 MenhirLib.EngineTypes.next = {
16608 MenhirLib.EngineTypes.semv = d1;
16609 MenhirLib.EngineTypes.startp = _startpos_d1_;
16610 MenhirLib.EngineTypes.endp = _endpos_d1_;
16611 MenhirLib.EngineTypes.next = {
16612 MenhirLib.EngineTypes.state = _menhir_s;
16613 MenhirLib.EngineTypes.startp = _startpos__1_;
16614 MenhirLib.EngineTypes.endp = _endpos__1_;
16615 MenhirLib.EngineTypes.next = _menhir_stack;
16616 };
16617 };
16618 };
16619 } = _menhir_stack in
16620 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
16621 let d1 : 'tv_decl_var = Obj.magic d1 in
16622 let _startpos = _startpos__1_ in
16623 let _endpos = _endpos__4_ in
16624 let _v : (
16625 # 162 "parser_cocci_menhir.mly"
16626 (Ast0_cocci.anything list list)
16627 # 16628 "parser_cocci_menhir.ml"
16628 ) =
16629 # 1919 "parser_cocci_menhir.mly"
16630 ( let check_one = function
16631 [x] -> x
16632 | _ ->
16633 raise
16634 (Semantic_cocci.Semantic
16635 "only one variable per declaration in an isomorphism rule") in
16636 let d1 = check_one d1 in
16637 let dl =
16638 List.map
16639 (function
16640 Common.Left x -> Common.Left(check_one x)
16641 | Common.Right x -> Common.Right(check_one x))
16642 dl in
16643 P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl )
16644 # 16645 "parser_cocci_menhir.ml"
16645 in
16646 _menhir_env.MenhirLib.EngineTypes.stack <- {
16647 MenhirLib.EngineTypes.state = _menhir_s;
16648 MenhirLib.EngineTypes.semv = Obj.repr _v;
16649 MenhirLib.EngineTypes.startp = _startpos;
16650 MenhirLib.EngineTypes.endp = _endpos;
16651 MenhirLib.EngineTypes.next = _menhir_stack;
16652 });
16653 (fun _menhir_env ->
16654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16655 let {
16656 MenhirLib.EngineTypes.state = _menhir_s;
16657 MenhirLib.EngineTypes.semv = m;
16658 MenhirLib.EngineTypes.startp = _startpos_m_;
16659 MenhirLib.EngineTypes.endp = _endpos_m_;
16660 MenhirLib.EngineTypes.next = _menhir_stack;
16661 } = _menhir_stack in
16662 let m : 'tv_metadec = Obj.magic m in
16663 let _startpos = _startpos_m_ in
16664 let _endpos = _endpos_m_ in
16665 let _v : (
16666 # 165 "parser_cocci_menhir.mly"
16667 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
16668 # 16669 "parser_cocci_menhir.ml"
16669 ) =
16670 # 182 "parser_cocci_menhir.mly"
16671 ( m "" )
16672 # 16673 "parser_cocci_menhir.ml"
16673 in
16674 _menhir_env.MenhirLib.EngineTypes.stack <- {
16675 MenhirLib.EngineTypes.state = _menhir_s;
16676 MenhirLib.EngineTypes.semv = Obj.repr _v;
16677 MenhirLib.EngineTypes.startp = _startpos;
16678 MenhirLib.EngineTypes.endp = _endpos;
16679 MenhirLib.EngineTypes.next = _menhir_stack;
16680 });
16681 (fun _menhir_env ->
16682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16683 let {
16684 MenhirLib.EngineTypes.startp = _startpos__2_;
16685 MenhirLib.EngineTypes.endp = _endpos__2_;
16686 MenhirLib.EngineTypes.next = {
16687 MenhirLib.EngineTypes.state = _menhir_s;
16688 MenhirLib.EngineTypes.semv = nm;
16689 MenhirLib.EngineTypes.startp = _startpos_nm_;
16690 MenhirLib.EngineTypes.endp = _endpos_nm_;
16691 MenhirLib.EngineTypes.next = _menhir_stack;
16692 };
16693 } = _menhir_stack in
16694 let nm : 'tv_pure_ident = Obj.magic nm in
16695 let _startpos = _startpos_nm_ in
16696 let _endpos = _endpos__2_ in
16697 let _v : (
16698 # 149 "parser_cocci_menhir.mly"
16699 (Ast_cocci.rulename)
16700 # 16701 "parser_cocci_menhir.ml"
16701 ) =
16702 # 197 "parser_cocci_menhir.mly"
16703 ( P.make_iso_rule_name_result (P.id2name nm) )
16704 # 16705 "parser_cocci_menhir.ml"
16705 in
16706 _menhir_env.MenhirLib.EngineTypes.stack <- {
16707 MenhirLib.EngineTypes.state = _menhir_s;
16708 MenhirLib.EngineTypes.semv = Obj.repr _v;
16709 MenhirLib.EngineTypes.startp = _startpos;
16710 MenhirLib.EngineTypes.endp = _endpos;
16711 MenhirLib.EngineTypes.next = _menhir_stack;
16712 });
16713 (fun _menhir_env ->
16714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16715 let {
16716 MenhirLib.EngineTypes.state = _menhir_s;
16717 MenhirLib.EngineTypes.semv = _1;
16718 MenhirLib.EngineTypes.startp = _startpos__1_;
16719 MenhirLib.EngineTypes.endp = _endpos__1_;
16720 MenhirLib.EngineTypes.next = _menhir_stack;
16721 } = _menhir_stack in
16722 let _1 : (
16723 # 59 "parser_cocci_menhir.mly"
16724 (string * Data.clt)
16725 # 16726 "parser_cocci_menhir.ml"
16726 ) = Obj.magic _1 in
16727 let _startpos = _startpos__1_ in
16728 let _endpos = _endpos__1_ in
16729 let _v : 'tv_iter_ident =
16730 # 1592 "parser_cocci_menhir.mly"
16731 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16732 # 16733 "parser_cocci_menhir.ml"
16733 in
16734 _menhir_env.MenhirLib.EngineTypes.stack <- {
16735 MenhirLib.EngineTypes.state = _menhir_s;
16736 MenhirLib.EngineTypes.semv = Obj.repr _v;
16737 MenhirLib.EngineTypes.startp = _startpos;
16738 MenhirLib.EngineTypes.endp = _endpos;
16739 MenhirLib.EngineTypes.next = _menhir_stack;
16740 });
16741 (fun _menhir_env ->
16742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16743 let {
16744 MenhirLib.EngineTypes.state = _menhir_s;
16745 MenhirLib.EngineTypes.semv = _1;
16746 MenhirLib.EngineTypes.startp = _startpos__1_;
16747 MenhirLib.EngineTypes.endp = _endpos__1_;
16748 MenhirLib.EngineTypes.next = _menhir_stack;
16749 } = _menhir_stack in
16750 let _1 : (
16751 # 62 "parser_cocci_menhir.mly"
16752 (Parse_aux.idinfo)
16753 # 16754 "parser_cocci_menhir.ml"
16754 ) = Obj.magic _1 in
16755 let _startpos = _startpos__1_ in
16756 let _endpos = _endpos__1_ in
16757 let _v : 'tv_iter_ident =
16758 # 1594 "parser_cocci_menhir.mly"
16759 ( let (nm,constraints,pure,clt) = _1 in
16760 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16761 # 16762 "parser_cocci_menhir.ml"
16762 in
16763 _menhir_env.MenhirLib.EngineTypes.stack <- {
16764 MenhirLib.EngineTypes.state = _menhir_s;
16765 MenhirLib.EngineTypes.semv = Obj.repr _v;
16766 MenhirLib.EngineTypes.startp = _startpos;
16767 MenhirLib.EngineTypes.endp = _endpos;
16768 MenhirLib.EngineTypes.next = _menhir_stack;
16769 });
16770 (fun _menhir_env ->
16771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16772 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16773 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16774 let _endpos = _startpos in
16775 let _v : 'tv_list_TMul_ =
16776 # 114 "standard.mly"
16777 ( [] )
16778 # 16779 "parser_cocci_menhir.ml"
16779 in
16780 _menhir_env.MenhirLib.EngineTypes.stack <- {
16781 MenhirLib.EngineTypes.state = _menhir_s;
16782 MenhirLib.EngineTypes.semv = Obj.repr _v;
16783 MenhirLib.EngineTypes.startp = _startpos;
16784 MenhirLib.EngineTypes.endp = _endpos;
16785 MenhirLib.EngineTypes.next = _menhir_stack;
16786 });
16787 (fun _menhir_env ->
16788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16789 let {
16790 MenhirLib.EngineTypes.semv = xs;
16791 MenhirLib.EngineTypes.startp = _startpos_xs_;
16792 MenhirLib.EngineTypes.endp = _endpos_xs_;
16793 MenhirLib.EngineTypes.next = {
16794 MenhirLib.EngineTypes.state = _menhir_s;
16795 MenhirLib.EngineTypes.semv = x;
16796 MenhirLib.EngineTypes.startp = _startpos_x_;
16797 MenhirLib.EngineTypes.endp = _endpos_x_;
16798 MenhirLib.EngineTypes.next = _menhir_stack;
16799 };
16800 } = _menhir_stack in
16801 let xs : 'tv_list_TMul_ = Obj.magic xs in
16802 let x : (
16803 # 99 "parser_cocci_menhir.mly"
16804 (Data.clt)
16805 # 16806 "parser_cocci_menhir.ml"
16806 ) = Obj.magic x in
16807 let _startpos = _startpos_x_ in
16808 let _endpos = _endpos_xs_ in
16809 let _v : 'tv_list_TMul_ =
16810 # 116 "standard.mly"
16811 ( x :: xs )
16812 # 16813 "parser_cocci_menhir.ml"
16813 in
16814 _menhir_env.MenhirLib.EngineTypes.stack <- {
16815 MenhirLib.EngineTypes.state = _menhir_s;
16816 MenhirLib.EngineTypes.semv = Obj.repr _v;
16817 MenhirLib.EngineTypes.startp = _startpos;
16818 MenhirLib.EngineTypes.endp = _endpos;
16819 MenhirLib.EngineTypes.next = _menhir_stack;
16820 });
16821 (fun _menhir_env ->
16822 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16823 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16824 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16825 let _endpos = _startpos in
16826 let _v : 'tv_list_array_dec_ =
16827 # 114 "standard.mly"
16828 ( [] )
16829 # 16830 "parser_cocci_menhir.ml"
16830 in
16831 _menhir_env.MenhirLib.EngineTypes.stack <- {
16832 MenhirLib.EngineTypes.state = _menhir_s;
16833 MenhirLib.EngineTypes.semv = Obj.repr _v;
16834 MenhirLib.EngineTypes.startp = _startpos;
16835 MenhirLib.EngineTypes.endp = _endpos;
16836 MenhirLib.EngineTypes.next = _menhir_stack;
16837 });
16838 (fun _menhir_env ->
16839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16840 let {
16841 MenhirLib.EngineTypes.semv = xs;
16842 MenhirLib.EngineTypes.startp = _startpos_xs_;
16843 MenhirLib.EngineTypes.endp = _endpos_xs_;
16844 MenhirLib.EngineTypes.next = {
16845 MenhirLib.EngineTypes.state = _menhir_s;
16846 MenhirLib.EngineTypes.semv = x;
16847 MenhirLib.EngineTypes.startp = _startpos_x_;
16848 MenhirLib.EngineTypes.endp = _endpos_x_;
16849 MenhirLib.EngineTypes.next = _menhir_stack;
16850 };
16851 } = _menhir_stack in
16852 let xs : 'tv_list_array_dec_ = Obj.magic xs in
16853 let x : 'tv_array_dec = Obj.magic x in
16854 let _startpos = _startpos_x_ in
16855 let _endpos = _endpos_xs_ in
16856 let _v : 'tv_list_array_dec_ =
16857 # 116 "standard.mly"
16858 ( x :: xs )
16859 # 16860 "parser_cocci_menhir.ml"
16860 in
16861 _menhir_env.MenhirLib.EngineTypes.stack <- {
16862 MenhirLib.EngineTypes.state = _menhir_s;
16863 MenhirLib.EngineTypes.semv = Obj.repr _v;
16864 MenhirLib.EngineTypes.startp = _startpos;
16865 MenhirLib.EngineTypes.endp = _endpos;
16866 MenhirLib.EngineTypes.next = _menhir_stack;
16867 });
16868 (fun _menhir_env ->
16869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16870 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16871 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16872 let _endpos = _startpos in
16873 let _v : 'tv_list_case_line_ =
16874 # 114 "standard.mly"
16875 ( [] )
16876 # 16877 "parser_cocci_menhir.ml"
16877 in
16878 _menhir_env.MenhirLib.EngineTypes.stack <- {
16879 MenhirLib.EngineTypes.state = _menhir_s;
16880 MenhirLib.EngineTypes.semv = Obj.repr _v;
16881 MenhirLib.EngineTypes.startp = _startpos;
16882 MenhirLib.EngineTypes.endp = _endpos;
16883 MenhirLib.EngineTypes.next = _menhir_stack;
16884 });
16885 (fun _menhir_env ->
16886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16887 let {
16888 MenhirLib.EngineTypes.semv = xs;
16889 MenhirLib.EngineTypes.startp = _startpos_xs_;
16890 MenhirLib.EngineTypes.endp = _endpos_xs_;
16891 MenhirLib.EngineTypes.next = {
16892 MenhirLib.EngineTypes.state = _menhir_s;
16893 MenhirLib.EngineTypes.semv = x;
16894 MenhirLib.EngineTypes.startp = _startpos_x_;
16895 MenhirLib.EngineTypes.endp = _endpos_x_;
16896 MenhirLib.EngineTypes.next = _menhir_stack;
16897 };
16898 } = _menhir_stack in
16899 let xs : 'tv_list_case_line_ = Obj.magic xs in
16900 let x : 'tv_case_line = Obj.magic x in
16901 let _startpos = _startpos_x_ in
16902 let _endpos = _endpos_xs_ in
16903 let _v : 'tv_list_case_line_ =
16904 # 116 "standard.mly"
16905 ( x :: xs )
16906 # 16907 "parser_cocci_menhir.ml"
16907 in
16908 _menhir_env.MenhirLib.EngineTypes.stack <- {
16909 MenhirLib.EngineTypes.state = _menhir_s;
16910 MenhirLib.EngineTypes.semv = Obj.repr _v;
16911 MenhirLib.EngineTypes.startp = _startpos;
16912 MenhirLib.EngineTypes.endp = _endpos;
16913 MenhirLib.EngineTypes.next = _menhir_stack;
16914 });
16915 (fun _menhir_env ->
16916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16917 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16918 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16919 let _endpos = _startpos in
16920 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
16921 # 114 "standard.mly"
16922 ( [] )
16923 # 16924 "parser_cocci_menhir.ml"
16924 in
16925 _menhir_env.MenhirLib.EngineTypes.stack <- {
16926 MenhirLib.EngineTypes.state = _menhir_s;
16927 MenhirLib.EngineTypes.semv = Obj.repr _v;
16928 MenhirLib.EngineTypes.startp = _startpos;
16929 MenhirLib.EngineTypes.endp = _endpos;
16930 MenhirLib.EngineTypes.next = _menhir_stack;
16931 });
16932 (fun _menhir_env ->
16933 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16934 let {
16935 MenhirLib.EngineTypes.semv = xs;
16936 MenhirLib.EngineTypes.startp = _startpos_xs_;
16937 MenhirLib.EngineTypes.endp = _endpos_xs_;
16938 MenhirLib.EngineTypes.next = {
16939 MenhirLib.EngineTypes.state = _menhir_s;
16940 MenhirLib.EngineTypes.semv = x;
16941 MenhirLib.EngineTypes.startp = _startpos_x_;
16942 MenhirLib.EngineTypes.endp = _endpos_x_;
16943 MenhirLib.EngineTypes.next = _menhir_stack;
16944 };
16945 } = _menhir_stack in
16946 let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
16947 let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
16948 let _startpos = _startpos_x_ in
16949 let _endpos = _endpos_xs_ in
16950 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
16951 # 116 "standard.mly"
16952 ( x :: xs )
16953 # 16954 "parser_cocci_menhir.ml"
16954 in
16955 _menhir_env.MenhirLib.EngineTypes.stack <- {
16956 MenhirLib.EngineTypes.state = _menhir_s;
16957 MenhirLib.EngineTypes.semv = Obj.repr _v;
16958 MenhirLib.EngineTypes.startp = _startpos;
16959 MenhirLib.EngineTypes.endp = _endpos;
16960 MenhirLib.EngineTypes.next = _menhir_stack;
16961 });
16962 (fun _menhir_env ->
16963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16964 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16965 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16966 let _endpos = _startpos in
16967 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
16968 # 114 "standard.mly"
16969 ( [] )
16970 # 16971 "parser_cocci_menhir.ml"
16971 in
16972 _menhir_env.MenhirLib.EngineTypes.stack <- {
16973 MenhirLib.EngineTypes.state = _menhir_s;
16974 MenhirLib.EngineTypes.semv = Obj.repr _v;
16975 MenhirLib.EngineTypes.startp = _startpos;
16976 MenhirLib.EngineTypes.endp = _endpos;
16977 MenhirLib.EngineTypes.next = _menhir_stack;
16978 });
16979 (fun _menhir_env ->
16980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16981 let {
16982 MenhirLib.EngineTypes.semv = xs;
16983 MenhirLib.EngineTypes.startp = _startpos_xs_;
16984 MenhirLib.EngineTypes.endp = _endpos_xs_;
16985 MenhirLib.EngineTypes.next = {
16986 MenhirLib.EngineTypes.state = _menhir_s;
16987 MenhirLib.EngineTypes.semv = x;
16988 MenhirLib.EngineTypes.startp = _startpos_x_;
16989 MenhirLib.EngineTypes.endp = _endpos_x_;
16990 MenhirLib.EngineTypes.next = _menhir_stack;
16991 };
16992 } = _menhir_stack in
16993 let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
16994 let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
16995 let _startpos = _startpos_x_ in
16996 let _endpos = _endpos_xs_ in
16997 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
16998 # 116 "standard.mly"
16999 ( x :: xs )
17000 # 17001 "parser_cocci_menhir.ml"
17001 in
17002 _menhir_env.MenhirLib.EngineTypes.stack <- {
17003 MenhirLib.EngineTypes.state = _menhir_s;
17004 MenhirLib.EngineTypes.semv = Obj.repr _v;
17005 MenhirLib.EngineTypes.startp = _startpos;
17006 MenhirLib.EngineTypes.endp = _endpos;
17007 MenhirLib.EngineTypes.next = _menhir_stack;
17008 });
17009 (fun _menhir_env ->
17010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17011 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17012 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17013 let _endpos = _startpos in
17014 let _v : 'tv_list_decl_var_ =
17015 # 114 "standard.mly"
17016 ( [] )
17017 # 17018 "parser_cocci_menhir.ml"
17018 in
17019 _menhir_env.MenhirLib.EngineTypes.stack <- {
17020 MenhirLib.EngineTypes.state = _menhir_s;
17021 MenhirLib.EngineTypes.semv = Obj.repr _v;
17022 MenhirLib.EngineTypes.startp = _startpos;
17023 MenhirLib.EngineTypes.endp = _endpos;
17024 MenhirLib.EngineTypes.next = _menhir_stack;
17025 });
17026 (fun _menhir_env ->
17027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17028 let {
17029 MenhirLib.EngineTypes.semv = xs;
17030 MenhirLib.EngineTypes.startp = _startpos_xs_;
17031 MenhirLib.EngineTypes.endp = _endpos_xs_;
17032 MenhirLib.EngineTypes.next = {
17033 MenhirLib.EngineTypes.state = _menhir_s;
17034 MenhirLib.EngineTypes.semv = x;
17035 MenhirLib.EngineTypes.startp = _startpos_x_;
17036 MenhirLib.EngineTypes.endp = _endpos_x_;
17037 MenhirLib.EngineTypes.next = _menhir_stack;
17038 };
17039 } = _menhir_stack in
17040 let xs : 'tv_list_decl_var_ = Obj.magic xs in
17041 let x : 'tv_decl_var = Obj.magic x in
17042 let _startpos = _startpos_x_ in
17043 let _endpos = _endpos_xs_ in
17044 let _v : 'tv_list_decl_var_ =
17045 # 116 "standard.mly"
17046 ( x :: xs )
17047 # 17048 "parser_cocci_menhir.ml"
17048 in
17049 _menhir_env.MenhirLib.EngineTypes.stack <- {
17050 MenhirLib.EngineTypes.state = _menhir_s;
17051 MenhirLib.EngineTypes.semv = Obj.repr _v;
17052 MenhirLib.EngineTypes.startp = _startpos;
17053 MenhirLib.EngineTypes.endp = _endpos;
17054 MenhirLib.EngineTypes.next = _menhir_stack;
17055 });
17056 (fun _menhir_env ->
17057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17058 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17059 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17060 let _endpos = _startpos in
17061 let _v : 'tv_list_designator_ =
17062 # 114 "standard.mly"
17063 ( [] )
17064 # 17065 "parser_cocci_menhir.ml"
17065 in
17066 _menhir_env.MenhirLib.EngineTypes.stack <- {
17067 MenhirLib.EngineTypes.state = _menhir_s;
17068 MenhirLib.EngineTypes.semv = Obj.repr _v;
17069 MenhirLib.EngineTypes.startp = _startpos;
17070 MenhirLib.EngineTypes.endp = _endpos;
17071 MenhirLib.EngineTypes.next = _menhir_stack;
17072 });
17073 (fun _menhir_env ->
17074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17075 let {
17076 MenhirLib.EngineTypes.semv = xs;
17077 MenhirLib.EngineTypes.startp = _startpos_xs_;
17078 MenhirLib.EngineTypes.endp = _endpos_xs_;
17079 MenhirLib.EngineTypes.next = {
17080 MenhirLib.EngineTypes.state = _menhir_s;
17081 MenhirLib.EngineTypes.semv = x;
17082 MenhirLib.EngineTypes.startp = _startpos_x_;
17083 MenhirLib.EngineTypes.endp = _endpos_x_;
17084 MenhirLib.EngineTypes.next = _menhir_stack;
17085 };
17086 } = _menhir_stack in
17087 let xs : 'tv_list_designator_ = Obj.magic xs in
17088 let x : 'tv_designator = Obj.magic x in
17089 let _startpos = _startpos_x_ in
17090 let _endpos = _endpos_xs_ in
17091 let _v : 'tv_list_designator_ =
17092 # 116 "standard.mly"
17093 ( x :: xs )
17094 # 17095 "parser_cocci_menhir.ml"
17095 in
17096 _menhir_env.MenhirLib.EngineTypes.stack <- {
17097 MenhirLib.EngineTypes.state = _menhir_s;
17098 MenhirLib.EngineTypes.semv = Obj.repr _v;
17099 MenhirLib.EngineTypes.startp = _startpos;
17100 MenhirLib.EngineTypes.endp = _endpos;
17101 MenhirLib.EngineTypes.next = _menhir_stack;
17102 });
17103 (fun _menhir_env ->
17104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17105 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17106 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17107 let _endpos = _startpos in
17108 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17109 # 114 "standard.mly"
17110 ( [] )
17111 # 17112 "parser_cocci_menhir.ml"
17112 in
17113 _menhir_env.MenhirLib.EngineTypes.stack <- {
17114 MenhirLib.EngineTypes.state = _menhir_s;
17115 MenhirLib.EngineTypes.semv = Obj.repr _v;
17116 MenhirLib.EngineTypes.startp = _startpos;
17117 MenhirLib.EngineTypes.endp = _endpos;
17118 MenhirLib.EngineTypes.next = _menhir_stack;
17119 });
17120 (fun _menhir_env ->
17121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17122 let {
17123 MenhirLib.EngineTypes.semv = xs;
17124 MenhirLib.EngineTypes.startp = _startpos_xs_;
17125 MenhirLib.EngineTypes.endp = _endpos_xs_;
17126 MenhirLib.EngineTypes.next = {
17127 MenhirLib.EngineTypes.state = _menhir_s;
17128 MenhirLib.EngineTypes.semv = x;
17129 MenhirLib.EngineTypes.startp = _startpos_x_;
17130 MenhirLib.EngineTypes.endp = _endpos_x_;
17131 MenhirLib.EngineTypes.next = _menhir_stack;
17132 };
17133 } = _menhir_stack in
17134 let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
17135 let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
17136 let _startpos = _startpos_x_ in
17137 let _endpos = _endpos_xs_ in
17138 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17139 # 116 "standard.mly"
17140 ( x :: xs )
17141 # 17142 "parser_cocci_menhir.ml"
17142 in
17143 _menhir_env.MenhirLib.EngineTypes.stack <- {
17144 MenhirLib.EngineTypes.state = _menhir_s;
17145 MenhirLib.EngineTypes.semv = Obj.repr _v;
17146 MenhirLib.EngineTypes.startp = _startpos;
17147 MenhirLib.EngineTypes.endp = _endpos;
17148 MenhirLib.EngineTypes.next = _menhir_stack;
17149 });
17150 (fun _menhir_env ->
17151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17152 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17153 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17154 let _endpos = _startpos in
17155 let _v : 'tv_list_incl_ =
17156 # 114 "standard.mly"
17157 ( [] )
17158 # 17159 "parser_cocci_menhir.ml"
17159 in
17160 _menhir_env.MenhirLib.EngineTypes.stack <- {
17161 MenhirLib.EngineTypes.state = _menhir_s;
17162 MenhirLib.EngineTypes.semv = Obj.repr _v;
17163 MenhirLib.EngineTypes.startp = _startpos;
17164 MenhirLib.EngineTypes.endp = _endpos;
17165 MenhirLib.EngineTypes.next = _menhir_stack;
17166 });
17167 (fun _menhir_env ->
17168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17169 let {
17170 MenhirLib.EngineTypes.semv = xs;
17171 MenhirLib.EngineTypes.startp = _startpos_xs_;
17172 MenhirLib.EngineTypes.endp = _endpos_xs_;
17173 MenhirLib.EngineTypes.next = {
17174 MenhirLib.EngineTypes.state = _menhir_s;
17175 MenhirLib.EngineTypes.semv = x;
17176 MenhirLib.EngineTypes.startp = _startpos_x_;
17177 MenhirLib.EngineTypes.endp = _endpos_x_;
17178 MenhirLib.EngineTypes.next = _menhir_stack;
17179 };
17180 } = _menhir_stack in
17181 let xs : 'tv_list_incl_ = Obj.magic xs in
17182 let x : 'tv_incl = Obj.magic x in
17183 let _startpos = _startpos_x_ in
17184 let _endpos = _endpos_xs_ in
17185 let _v : 'tv_list_incl_ =
17186 # 116 "standard.mly"
17187 ( x :: xs )
17188 # 17189 "parser_cocci_menhir.ml"
17189 in
17190 _menhir_env.MenhirLib.EngineTypes.stack <- {
17191 MenhirLib.EngineTypes.state = _menhir_s;
17192 MenhirLib.EngineTypes.semv = Obj.repr _v;
17193 MenhirLib.EngineTypes.startp = _startpos;
17194 MenhirLib.EngineTypes.endp = _endpos;
17195 MenhirLib.EngineTypes.next = _menhir_stack;
17196 });
17197 (fun _menhir_env ->
17198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17199 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17200 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17201 let _endpos = _startpos in
17202 let _v : 'tv_list_iso_ctype__ =
17203 # 114 "standard.mly"
17204 ( [] )
17205 # 17206 "parser_cocci_menhir.ml"
17206 in
17207 _menhir_env.MenhirLib.EngineTypes.stack <- {
17208 MenhirLib.EngineTypes.state = _menhir_s;
17209 MenhirLib.EngineTypes.semv = Obj.repr _v;
17210 MenhirLib.EngineTypes.startp = _startpos;
17211 MenhirLib.EngineTypes.endp = _endpos;
17212 MenhirLib.EngineTypes.next = _menhir_stack;
17213 });
17214 (fun _menhir_env ->
17215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17216 let {
17217 MenhirLib.EngineTypes.semv = xs;
17218 MenhirLib.EngineTypes.startp = _startpos_xs_;
17219 MenhirLib.EngineTypes.endp = _endpos_xs_;
17220 MenhirLib.EngineTypes.next = {
17221 MenhirLib.EngineTypes.state = _menhir_s;
17222 MenhirLib.EngineTypes.semv = x;
17223 MenhirLib.EngineTypes.startp = _startpos_x_;
17224 MenhirLib.EngineTypes.endp = _endpos_x_;
17225 MenhirLib.EngineTypes.next = _menhir_stack;
17226 };
17227 } = _menhir_stack in
17228 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
17229 let x : 'tv_iso_ctype_ = Obj.magic x in
17230 let _startpos = _startpos_x_ in
17231 let _endpos = _endpos_xs_ in
17232 let _v : 'tv_list_iso_ctype__ =
17233 # 116 "standard.mly"
17234 ( x :: xs )
17235 # 17236 "parser_cocci_menhir.ml"
17236 in
17237 _menhir_env.MenhirLib.EngineTypes.stack <- {
17238 MenhirLib.EngineTypes.state = _menhir_s;
17239 MenhirLib.EngineTypes.semv = Obj.repr _v;
17240 MenhirLib.EngineTypes.startp = _startpos;
17241 MenhirLib.EngineTypes.endp = _endpos;
17242 MenhirLib.EngineTypes.next = _menhir_stack;
17243 });
17244 (fun _menhir_env ->
17245 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17246 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17247 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17248 let _endpos = _startpos in
17249 let _v : 'tv_list_iso_decl_var__ =
17250 # 114 "standard.mly"
17251 ( [] )
17252 # 17253 "parser_cocci_menhir.ml"
17253 in
17254 _menhir_env.MenhirLib.EngineTypes.stack <- {
17255 MenhirLib.EngineTypes.state = _menhir_s;
17256 MenhirLib.EngineTypes.semv = Obj.repr _v;
17257 MenhirLib.EngineTypes.startp = _startpos;
17258 MenhirLib.EngineTypes.endp = _endpos;
17259 MenhirLib.EngineTypes.next = _menhir_stack;
17260 });
17261 (fun _menhir_env ->
17262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17263 let {
17264 MenhirLib.EngineTypes.semv = xs;
17265 MenhirLib.EngineTypes.startp = _startpos_xs_;
17266 MenhirLib.EngineTypes.endp = _endpos_xs_;
17267 MenhirLib.EngineTypes.next = {
17268 MenhirLib.EngineTypes.state = _menhir_s;
17269 MenhirLib.EngineTypes.semv = x;
17270 MenhirLib.EngineTypes.startp = _startpos_x_;
17271 MenhirLib.EngineTypes.endp = _endpos_x_;
17272 MenhirLib.EngineTypes.next = _menhir_stack;
17273 };
17274 } = _menhir_stack in
17275 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
17276 let x : 'tv_iso_decl_var_ = Obj.magic x in
17277 let _startpos = _startpos_x_ in
17278 let _endpos = _endpos_xs_ in
17279 let _v : 'tv_list_iso_decl_var__ =
17280 # 116 "standard.mly"
17281 ( x :: xs )
17282 # 17283 "parser_cocci_menhir.ml"
17283 in
17284 _menhir_env.MenhirLib.EngineTypes.stack <- {
17285 MenhirLib.EngineTypes.state = _menhir_s;
17286 MenhirLib.EngineTypes.semv = Obj.repr _v;
17287 MenhirLib.EngineTypes.startp = _startpos;
17288 MenhirLib.EngineTypes.endp = _endpos;
17289 MenhirLib.EngineTypes.next = _menhir_stack;
17290 });
17291 (fun _menhir_env ->
17292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17293 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17294 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17295 let _endpos = _startpos in
17296 let _v : 'tv_list_iso_dexpr__ =
17297 # 114 "standard.mly"
17298 ( [] )
17299 # 17300 "parser_cocci_menhir.ml"
17300 in
17301 _menhir_env.MenhirLib.EngineTypes.stack <- {
17302 MenhirLib.EngineTypes.state = _menhir_s;
17303 MenhirLib.EngineTypes.semv = Obj.repr _v;
17304 MenhirLib.EngineTypes.startp = _startpos;
17305 MenhirLib.EngineTypes.endp = _endpos;
17306 MenhirLib.EngineTypes.next = _menhir_stack;
17307 });
17308 (fun _menhir_env ->
17309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17310 let {
17311 MenhirLib.EngineTypes.semv = xs;
17312 MenhirLib.EngineTypes.startp = _startpos_xs_;
17313 MenhirLib.EngineTypes.endp = _endpos_xs_;
17314 MenhirLib.EngineTypes.next = {
17315 MenhirLib.EngineTypes.state = _menhir_s;
17316 MenhirLib.EngineTypes.semv = x;
17317 MenhirLib.EngineTypes.startp = _startpos_x_;
17318 MenhirLib.EngineTypes.endp = _endpos_x_;
17319 MenhirLib.EngineTypes.next = _menhir_stack;
17320 };
17321 } = _menhir_stack in
17322 let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in
17323 let x : 'tv_iso_dexpr_ = Obj.magic x in
17324 let _startpos = _startpos_x_ in
17325 let _endpos = _endpos_xs_ in
17326 let _v : 'tv_list_iso_dexpr__ =
17327 # 116 "standard.mly"
17328 ( x :: xs )
17329 # 17330 "parser_cocci_menhir.ml"
17330 in
17331 _menhir_env.MenhirLib.EngineTypes.stack <- {
17332 MenhirLib.EngineTypes.state = _menhir_s;
17333 MenhirLib.EngineTypes.semv = Obj.repr _v;
17334 MenhirLib.EngineTypes.startp = _startpos;
17335 MenhirLib.EngineTypes.endp = _endpos;
17336 MenhirLib.EngineTypes.next = _menhir_stack;
17337 });
17338 (fun _menhir_env ->
17339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17340 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17341 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17342 let _endpos = _startpos in
17343 let _v : 'tv_list_iso_nest_start__ =
17344 # 114 "standard.mly"
17345 ( [] )
17346 # 17347 "parser_cocci_menhir.ml"
17347 in
17348 _menhir_env.MenhirLib.EngineTypes.stack <- {
17349 MenhirLib.EngineTypes.state = _menhir_s;
17350 MenhirLib.EngineTypes.semv = Obj.repr _v;
17351 MenhirLib.EngineTypes.startp = _startpos;
17352 MenhirLib.EngineTypes.endp = _endpos;
17353 MenhirLib.EngineTypes.next = _menhir_stack;
17354 });
17355 (fun _menhir_env ->
17356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17357 let {
17358 MenhirLib.EngineTypes.semv = xs;
17359 MenhirLib.EngineTypes.startp = _startpos_xs_;
17360 MenhirLib.EngineTypes.endp = _endpos_xs_;
17361 MenhirLib.EngineTypes.next = {
17362 MenhirLib.EngineTypes.state = _menhir_s;
17363 MenhirLib.EngineTypes.semv = x;
17364 MenhirLib.EngineTypes.startp = _startpos_x_;
17365 MenhirLib.EngineTypes.endp = _endpos_x_;
17366 MenhirLib.EngineTypes.next = _menhir_stack;
17367 };
17368 } = _menhir_stack in
17369 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
17370 let x : 'tv_iso_nest_start_ = Obj.magic x in
17371 let _startpos = _startpos_x_ in
17372 let _endpos = _endpos_xs_ in
17373 let _v : 'tv_list_iso_nest_start__ =
17374 # 116 "standard.mly"
17375 ( x :: xs )
17376 # 17377 "parser_cocci_menhir.ml"
17377 in
17378 _menhir_env.MenhirLib.EngineTypes.stack <- {
17379 MenhirLib.EngineTypes.state = _menhir_s;
17380 MenhirLib.EngineTypes.semv = Obj.repr _v;
17381 MenhirLib.EngineTypes.startp = _startpos;
17382 MenhirLib.EngineTypes.endp = _endpos;
17383 MenhirLib.EngineTypes.next = _menhir_stack;
17384 });
17385 (fun _menhir_env ->
17386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17387 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17388 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17389 let _endpos = _startpos in
17390 let _v : 'tv_list_iso_single_statement__ =
17391 # 114 "standard.mly"
17392 ( [] )
17393 # 17394 "parser_cocci_menhir.ml"
17394 in
17395 _menhir_env.MenhirLib.EngineTypes.stack <- {
17396 MenhirLib.EngineTypes.state = _menhir_s;
17397 MenhirLib.EngineTypes.semv = Obj.repr _v;
17398 MenhirLib.EngineTypes.startp = _startpos;
17399 MenhirLib.EngineTypes.endp = _endpos;
17400 MenhirLib.EngineTypes.next = _menhir_stack;
17401 });
17402 (fun _menhir_env ->
17403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17404 let {
17405 MenhirLib.EngineTypes.semv = xs;
17406 MenhirLib.EngineTypes.startp = _startpos_xs_;
17407 MenhirLib.EngineTypes.endp = _endpos_xs_;
17408 MenhirLib.EngineTypes.next = {
17409 MenhirLib.EngineTypes.state = _menhir_s;
17410 MenhirLib.EngineTypes.semv = x;
17411 MenhirLib.EngineTypes.startp = _startpos_x_;
17412 MenhirLib.EngineTypes.endp = _endpos_x_;
17413 MenhirLib.EngineTypes.next = _menhir_stack;
17414 };
17415 } = _menhir_stack in
17416 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
17417 let x : 'tv_iso_single_statement_ = Obj.magic x in
17418 let _startpos = _startpos_x_ in
17419 let _endpos = _endpos_xs_ in
17420 let _v : 'tv_list_iso_single_statement__ =
17421 # 116 "standard.mly"
17422 ( x :: xs )
17423 # 17424 "parser_cocci_menhir.ml"
17424 in
17425 _menhir_env.MenhirLib.EngineTypes.stack <- {
17426 MenhirLib.EngineTypes.state = _menhir_s;
17427 MenhirLib.EngineTypes.semv = Obj.repr _v;
17428 MenhirLib.EngineTypes.startp = _startpos;
17429 MenhirLib.EngineTypes.endp = _endpos;
17430 MenhirLib.EngineTypes.next = _menhir_stack;
17431 });
17432 (fun _menhir_env ->
17433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17434 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17435 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17436 let _endpos = _startpos in
17437 let _v : 'tv_list_mzl_ctype__ =
17438 # 114 "standard.mly"
17439 ( [] )
17440 # 17441 "parser_cocci_menhir.ml"
17441 in
17442 _menhir_env.MenhirLib.EngineTypes.stack <- {
17443 MenhirLib.EngineTypes.state = _menhir_s;
17444 MenhirLib.EngineTypes.semv = Obj.repr _v;
17445 MenhirLib.EngineTypes.startp = _startpos;
17446 MenhirLib.EngineTypes.endp = _endpos;
17447 MenhirLib.EngineTypes.next = _menhir_stack;
17448 });
17449 (fun _menhir_env ->
17450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17451 let {
17452 MenhirLib.EngineTypes.semv = xs;
17453 MenhirLib.EngineTypes.startp = _startpos_xs_;
17454 MenhirLib.EngineTypes.endp = _endpos_xs_;
17455 MenhirLib.EngineTypes.next = {
17456 MenhirLib.EngineTypes.state = _menhir_s;
17457 MenhirLib.EngineTypes.semv = x;
17458 MenhirLib.EngineTypes.startp = _startpos_x_;
17459 MenhirLib.EngineTypes.endp = _endpos_x_;
17460 MenhirLib.EngineTypes.next = _menhir_stack;
17461 };
17462 } = _menhir_stack in
17463 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
17464 let x : 'tv_mzl_ctype_ = Obj.magic x in
17465 let _startpos = _startpos_x_ in
17466 let _endpos = _endpos_xs_ in
17467 let _v : 'tv_list_mzl_ctype__ =
17468 # 116 "standard.mly"
17469 ( x :: xs )
17470 # 17471 "parser_cocci_menhir.ml"
17471 in
17472 _menhir_env.MenhirLib.EngineTypes.stack <- {
17473 MenhirLib.EngineTypes.state = _menhir_s;
17474 MenhirLib.EngineTypes.semv = Obj.repr _v;
17475 MenhirLib.EngineTypes.startp = _startpos;
17476 MenhirLib.EngineTypes.endp = _endpos;
17477 MenhirLib.EngineTypes.next = _menhir_stack;
17478 });
17479 (fun _menhir_env ->
17480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17481 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17482 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17483 let _endpos = _startpos in
17484 let _v : 'tv_list_mzl_eexpr__ =
17485 # 114 "standard.mly"
17486 ( [] )
17487 # 17488 "parser_cocci_menhir.ml"
17488 in
17489 _menhir_env.MenhirLib.EngineTypes.stack <- {
17490 MenhirLib.EngineTypes.state = _menhir_s;
17491 MenhirLib.EngineTypes.semv = Obj.repr _v;
17492 MenhirLib.EngineTypes.startp = _startpos;
17493 MenhirLib.EngineTypes.endp = _endpos;
17494 MenhirLib.EngineTypes.next = _menhir_stack;
17495 });
17496 (fun _menhir_env ->
17497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17498 let {
17499 MenhirLib.EngineTypes.semv = xs;
17500 MenhirLib.EngineTypes.startp = _startpos_xs_;
17501 MenhirLib.EngineTypes.endp = _endpos_xs_;
17502 MenhirLib.EngineTypes.next = {
17503 MenhirLib.EngineTypes.state = _menhir_s;
17504 MenhirLib.EngineTypes.semv = x;
17505 MenhirLib.EngineTypes.startp = _startpos_x_;
17506 MenhirLib.EngineTypes.endp = _endpos_x_;
17507 MenhirLib.EngineTypes.next = _menhir_stack;
17508 };
17509 } = _menhir_stack in
17510 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
17511 let x : 'tv_mzl_eexpr_ = Obj.magic x in
17512 let _startpos = _startpos_x_ in
17513 let _endpos = _endpos_xs_ in
17514 let _v : 'tv_list_mzl_eexpr__ =
17515 # 116 "standard.mly"
17516 ( x :: xs )
17517 # 17518 "parser_cocci_menhir.ml"
17518 in
17519 _menhir_env.MenhirLib.EngineTypes.stack <- {
17520 MenhirLib.EngineTypes.state = _menhir_s;
17521 MenhirLib.EngineTypes.semv = Obj.repr _v;
17522 MenhirLib.EngineTypes.startp = _startpos;
17523 MenhirLib.EngineTypes.endp = _endpos;
17524 MenhirLib.EngineTypes.next = _menhir_stack;
17525 });
17526 (fun _menhir_env ->
17527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17528 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17529 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17530 let _endpos = _startpos in
17531 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17532 # 114 "standard.mly"
17533 ( [] )
17534 # 17535 "parser_cocci_menhir.ml"
17535 in
17536 _menhir_env.MenhirLib.EngineTypes.stack <- {
17537 MenhirLib.EngineTypes.state = _menhir_s;
17538 MenhirLib.EngineTypes.semv = Obj.repr _v;
17539 MenhirLib.EngineTypes.startp = _startpos;
17540 MenhirLib.EngineTypes.endp = _endpos;
17541 MenhirLib.EngineTypes.next = _menhir_stack;
17542 });
17543 (fun _menhir_env ->
17544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17545 let {
17546 MenhirLib.EngineTypes.semv = xs;
17547 MenhirLib.EngineTypes.startp = _startpos_xs_;
17548 MenhirLib.EngineTypes.endp = _endpos_xs_;
17549 MenhirLib.EngineTypes.next = {
17550 MenhirLib.EngineTypes.state = _menhir_s;
17551 MenhirLib.EngineTypes.semv = x;
17552 MenhirLib.EngineTypes.startp = _startpos_x_;
17553 MenhirLib.EngineTypes.endp = _endpos_x_;
17554 MenhirLib.EngineTypes.next = _menhir_stack;
17555 };
17556 } = _menhir_stack in
17557 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
17558 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
17559 let _startpos = _startpos_x_ in
17560 let _endpos = _endpos_xs_ in
17561 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17562 # 116 "standard.mly"
17563 ( x :: xs )
17564 # 17565 "parser_cocci_menhir.ml"
17565 in
17566 _menhir_env.MenhirLib.EngineTypes.stack <- {
17567 MenhirLib.EngineTypes.state = _menhir_s;
17568 MenhirLib.EngineTypes.semv = Obj.repr _v;
17569 MenhirLib.EngineTypes.startp = _startpos;
17570 MenhirLib.EngineTypes.endp = _endpos;
17571 MenhirLib.EngineTypes.next = _menhir_stack;
17572 });
17573 (fun _menhir_env ->
17574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17575 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17576 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17577 let _endpos = _startpos in
17578 let _v : 'tv_list_mzl_fun_start__ =
17579 # 114 "standard.mly"
17580 ( [] )
17581 # 17582 "parser_cocci_menhir.ml"
17582 in
17583 _menhir_env.MenhirLib.EngineTypes.stack <- {
17584 MenhirLib.EngineTypes.state = _menhir_s;
17585 MenhirLib.EngineTypes.semv = Obj.repr _v;
17586 MenhirLib.EngineTypes.startp = _startpos;
17587 MenhirLib.EngineTypes.endp = _endpos;
17588 MenhirLib.EngineTypes.next = _menhir_stack;
17589 });
17590 (fun _menhir_env ->
17591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17592 let {
17593 MenhirLib.EngineTypes.semv = xs;
17594 MenhirLib.EngineTypes.startp = _startpos_xs_;
17595 MenhirLib.EngineTypes.endp = _endpos_xs_;
17596 MenhirLib.EngineTypes.next = {
17597 MenhirLib.EngineTypes.state = _menhir_s;
17598 MenhirLib.EngineTypes.semv = x;
17599 MenhirLib.EngineTypes.startp = _startpos_x_;
17600 MenhirLib.EngineTypes.endp = _endpos_x_;
17601 MenhirLib.EngineTypes.next = _menhir_stack;
17602 };
17603 } = _menhir_stack in
17604 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
17605 let x : 'tv_mzl_fun_start_ = Obj.magic x in
17606 let _startpos = _startpos_x_ in
17607 let _endpos = _endpos_xs_ in
17608 let _v : 'tv_list_mzl_fun_start__ =
17609 # 116 "standard.mly"
17610 ( x :: xs )
17611 # 17612 "parser_cocci_menhir.ml"
17612 in
17613 _menhir_env.MenhirLib.EngineTypes.stack <- {
17614 MenhirLib.EngineTypes.state = _menhir_s;
17615 MenhirLib.EngineTypes.semv = Obj.repr _v;
17616 MenhirLib.EngineTypes.startp = _startpos;
17617 MenhirLib.EngineTypes.endp = _endpos;
17618 MenhirLib.EngineTypes.next = _menhir_stack;
17619 });
17620 (fun _menhir_env ->
17621 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17622 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17623 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17624 let _endpos = _startpos in
17625 let _v : 'tv_list_mzl_rule_elem_statement__ =
17626 # 114 "standard.mly"
17627 ( [] )
17628 # 17629 "parser_cocci_menhir.ml"
17629 in
17630 _menhir_env.MenhirLib.EngineTypes.stack <- {
17631 MenhirLib.EngineTypes.state = _menhir_s;
17632 MenhirLib.EngineTypes.semv = Obj.repr _v;
17633 MenhirLib.EngineTypes.startp = _startpos;
17634 MenhirLib.EngineTypes.endp = _endpos;
17635 MenhirLib.EngineTypes.next = _menhir_stack;
17636 });
17637 (fun _menhir_env ->
17638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17639 let {
17640 MenhirLib.EngineTypes.semv = xs;
17641 MenhirLib.EngineTypes.startp = _startpos_xs_;
17642 MenhirLib.EngineTypes.endp = _endpos_xs_;
17643 MenhirLib.EngineTypes.next = {
17644 MenhirLib.EngineTypes.state = _menhir_s;
17645 MenhirLib.EngineTypes.semv = x;
17646 MenhirLib.EngineTypes.startp = _startpos_x_;
17647 MenhirLib.EngineTypes.endp = _endpos_x_;
17648 MenhirLib.EngineTypes.next = _menhir_stack;
17649 };
17650 } = _menhir_stack in
17651 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
17652 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
17653 let _startpos = _startpos_x_ in
17654 let _endpos = _endpos_xs_ in
17655 let _v : 'tv_list_mzl_rule_elem_statement__ =
17656 # 116 "standard.mly"
17657 ( x :: xs )
17658 # 17659 "parser_cocci_menhir.ml"
17659 in
17660 _menhir_env.MenhirLib.EngineTypes.stack <- {
17661 MenhirLib.EngineTypes.state = _menhir_s;
17662 MenhirLib.EngineTypes.semv = Obj.repr _v;
17663 MenhirLib.EngineTypes.startp = _startpos;
17664 MenhirLib.EngineTypes.endp = _endpos;
17665 MenhirLib.EngineTypes.next = _menhir_stack;
17666 });
17667 (fun _menhir_env ->
17668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17669 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17670 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17671 let _endpos = _startpos in
17672 let _v : 'tv_list_mzl_statement__ =
17673 # 114 "standard.mly"
17674 ( [] )
17675 # 17676 "parser_cocci_menhir.ml"
17676 in
17677 _menhir_env.MenhirLib.EngineTypes.stack <- {
17678 MenhirLib.EngineTypes.state = _menhir_s;
17679 MenhirLib.EngineTypes.semv = Obj.repr _v;
17680 MenhirLib.EngineTypes.startp = _startpos;
17681 MenhirLib.EngineTypes.endp = _endpos;
17682 MenhirLib.EngineTypes.next = _menhir_stack;
17683 });
17684 (fun _menhir_env ->
17685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17686 let {
17687 MenhirLib.EngineTypes.semv = xs;
17688 MenhirLib.EngineTypes.startp = _startpos_xs_;
17689 MenhirLib.EngineTypes.endp = _endpos_xs_;
17690 MenhirLib.EngineTypes.next = {
17691 MenhirLib.EngineTypes.state = _menhir_s;
17692 MenhirLib.EngineTypes.semv = x;
17693 MenhirLib.EngineTypes.startp = _startpos_x_;
17694 MenhirLib.EngineTypes.endp = _endpos_x_;
17695 MenhirLib.EngineTypes.next = _menhir_stack;
17696 };
17697 } = _menhir_stack in
17698 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
17699 let x : 'tv_mzl_statement_ = Obj.magic x in
17700 let _startpos = _startpos_x_ in
17701 let _endpos = _endpos_xs_ in
17702 let _v : 'tv_list_mzl_statement__ =
17703 # 116 "standard.mly"
17704 ( x :: xs )
17705 # 17706 "parser_cocci_menhir.ml"
17706 in
17707 _menhir_env.MenhirLib.EngineTypes.stack <- {
17708 MenhirLib.EngineTypes.state = _menhir_s;
17709 MenhirLib.EngineTypes.semv = Obj.repr _v;
17710 MenhirLib.EngineTypes.startp = _startpos;
17711 MenhirLib.EngineTypes.endp = _endpos;
17712 MenhirLib.EngineTypes.next = _menhir_stack;
17713 });
17714 (fun _menhir_env ->
17715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17716 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17717 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17718 let _endpos = _startpos in
17719 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
17720 # 114 "standard.mly"
17721 ( [] )
17722 # 17723 "parser_cocci_menhir.ml"
17723 in
17724 _menhir_env.MenhirLib.EngineTypes.stack <- {
17725 MenhirLib.EngineTypes.state = _menhir_s;
17726 MenhirLib.EngineTypes.semv = Obj.repr _v;
17727 MenhirLib.EngineTypes.startp = _startpos;
17728 MenhirLib.EngineTypes.endp = _endpos;
17729 MenhirLib.EngineTypes.next = _menhir_stack;
17730 });
17731 (fun _menhir_env ->
17732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17733 let {
17734 MenhirLib.EngineTypes.semv = xs;
17735 MenhirLib.EngineTypes.startp = _startpos_xs_;
17736 MenhirLib.EngineTypes.endp = _endpos_xs_;
17737 MenhirLib.EngineTypes.next = {
17738 MenhirLib.EngineTypes.semv = y0;
17739 MenhirLib.EngineTypes.startp = _startpos_y0_;
17740 MenhirLib.EngineTypes.endp = _endpos_y0_;
17741 MenhirLib.EngineTypes.next = {
17742 MenhirLib.EngineTypes.state = _menhir_s;
17743 MenhirLib.EngineTypes.semv = x0;
17744 MenhirLib.EngineTypes.startp = _startpos_x0_;
17745 MenhirLib.EngineTypes.endp = _endpos_x0_;
17746 MenhirLib.EngineTypes.next = _menhir_stack;
17747 };
17748 };
17749 } = _menhir_stack in
17750 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
17751 let y0 : 'tv_dexpr = Obj.magic y0 in
17752 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
17753 let _startpos = _startpos_x0_ in
17754 let _endpos = _endpos_xs_ in
17755 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
17756 let y = y0 in
17757 let x = x0 in
17758
17759 # 70 "standard.mly"
17760 ( (x, y) )
17761 # 17762 "parser_cocci_menhir.ml"
17762
17763 in
17764
17765 # 116 "standard.mly"
17766 ( x :: xs )
17767 # 17768 "parser_cocci_menhir.ml"
17768 in
17769 _menhir_env.MenhirLib.EngineTypes.stack <- {
17770 MenhirLib.EngineTypes.state = _menhir_s;
17771 MenhirLib.EngineTypes.semv = Obj.repr _v;
17772 MenhirLib.EngineTypes.startp = _startpos;
17773 MenhirLib.EngineTypes.endp = _endpos;
17774 MenhirLib.EngineTypes.next = _menhir_stack;
17775 });
17776 (fun _menhir_env ->
17777 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17778 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17779 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17780 let _endpos = _startpos in
17781 let _v : 'tv_list_whenppdecs_ =
17782 # 114 "standard.mly"
17783 ( [] )
17784 # 17785 "parser_cocci_menhir.ml"
17785 in
17786 _menhir_env.MenhirLib.EngineTypes.stack <- {
17787 MenhirLib.EngineTypes.state = _menhir_s;
17788 MenhirLib.EngineTypes.semv = Obj.repr _v;
17789 MenhirLib.EngineTypes.startp = _startpos;
17790 MenhirLib.EngineTypes.endp = _endpos;
17791 MenhirLib.EngineTypes.next = _menhir_stack;
17792 });
17793 (fun _menhir_env ->
17794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17795 let {
17796 MenhirLib.EngineTypes.semv = xs;
17797 MenhirLib.EngineTypes.startp = _startpos_xs_;
17798 MenhirLib.EngineTypes.endp = _endpos_xs_;
17799 MenhirLib.EngineTypes.next = {
17800 MenhirLib.EngineTypes.state = _menhir_s;
17801 MenhirLib.EngineTypes.semv = x;
17802 MenhirLib.EngineTypes.startp = _startpos_x_;
17803 MenhirLib.EngineTypes.endp = _endpos_x_;
17804 MenhirLib.EngineTypes.next = _menhir_stack;
17805 };
17806 } = _menhir_stack in
17807 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
17808 let x : 'tv_whenppdecs = Obj.magic x in
17809 let _startpos = _startpos_x_ in
17810 let _endpos = _endpos_xs_ in
17811 let _v : 'tv_list_whenppdecs_ =
17812 # 116 "standard.mly"
17813 ( x :: xs )
17814 # 17815 "parser_cocci_menhir.ml"
17815 in
17816 _menhir_env.MenhirLib.EngineTypes.stack <- {
17817 MenhirLib.EngineTypes.state = _menhir_s;
17818 MenhirLib.EngineTypes.semv = Obj.repr _v;
17819 MenhirLib.EngineTypes.startp = _startpos;
17820 MenhirLib.EngineTypes.endp = _endpos;
17821 MenhirLib.EngineTypes.next = _menhir_stack;
17822 });
17823 (fun _menhir_env ->
17824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17825 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17826 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17827 let _endpos = _startpos in
17828 let _v : 'tv_loption_choose_iso_ =
17829 # 57 "standard.mly"
17830 ( [] )
17831 # 17832 "parser_cocci_menhir.ml"
17832 in
17833 _menhir_env.MenhirLib.EngineTypes.stack <- {
17834 MenhirLib.EngineTypes.state = _menhir_s;
17835 MenhirLib.EngineTypes.semv = Obj.repr _v;
17836 MenhirLib.EngineTypes.startp = _startpos;
17837 MenhirLib.EngineTypes.endp = _endpos;
17838 MenhirLib.EngineTypes.next = _menhir_stack;
17839 });
17840 (fun _menhir_env ->
17841 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17842 let {
17843 MenhirLib.EngineTypes.state = _menhir_s;
17844 MenhirLib.EngineTypes.semv = x;
17845 MenhirLib.EngineTypes.startp = _startpos_x_;
17846 MenhirLib.EngineTypes.endp = _endpos_x_;
17847 MenhirLib.EngineTypes.next = _menhir_stack;
17848 } = _menhir_stack in
17849 let x : 'tv_choose_iso = Obj.magic x in
17850 let _startpos = _startpos_x_ in
17851 let _endpos = _endpos_x_ in
17852 let _v : 'tv_loption_choose_iso_ =
17853 # 59 "standard.mly"
17854 ( x )
17855 # 17856 "parser_cocci_menhir.ml"
17856 in
17857 _menhir_env.MenhirLib.EngineTypes.stack <- {
17858 MenhirLib.EngineTypes.state = _menhir_s;
17859 MenhirLib.EngineTypes.semv = Obj.repr _v;
17860 MenhirLib.EngineTypes.startp = _startpos;
17861 MenhirLib.EngineTypes.endp = _endpos;
17862 MenhirLib.EngineTypes.next = _menhir_stack;
17863 });
17864 (fun _menhir_env ->
17865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17866 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17867 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17868 let _endpos = _startpos in
17869 let _v : 'tv_loption_disable_ =
17870 # 57 "standard.mly"
17871 ( [] )
17872 # 17873 "parser_cocci_menhir.ml"
17873 in
17874 _menhir_env.MenhirLib.EngineTypes.stack <- {
17875 MenhirLib.EngineTypes.state = _menhir_s;
17876 MenhirLib.EngineTypes.semv = Obj.repr _v;
17877 MenhirLib.EngineTypes.startp = _startpos;
17878 MenhirLib.EngineTypes.endp = _endpos;
17879 MenhirLib.EngineTypes.next = _menhir_stack;
17880 });
17881 (fun _menhir_env ->
17882 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17883 let {
17884 MenhirLib.EngineTypes.state = _menhir_s;
17885 MenhirLib.EngineTypes.semv = x;
17886 MenhirLib.EngineTypes.startp = _startpos_x_;
17887 MenhirLib.EngineTypes.endp = _endpos_x_;
17888 MenhirLib.EngineTypes.next = _menhir_stack;
17889 } = _menhir_stack in
17890 let x : 'tv_disable = Obj.magic x in
17891 let _startpos = _startpos_x_ in
17892 let _endpos = _endpos_x_ in
17893 let _v : 'tv_loption_disable_ =
17894 # 59 "standard.mly"
17895 ( x )
17896 # 17897 "parser_cocci_menhir.ml"
17897 in
17898 _menhir_env.MenhirLib.EngineTypes.stack <- {
17899 MenhirLib.EngineTypes.state = _menhir_s;
17900 MenhirLib.EngineTypes.semv = Obj.repr _v;
17901 MenhirLib.EngineTypes.startp = _startpos;
17902 MenhirLib.EngineTypes.endp = _endpos;
17903 MenhirLib.EngineTypes.next = _menhir_stack;
17904 });
17905 (fun _menhir_env ->
17906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17907 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17908 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17909 let _endpos = _startpos in
17910 let _v : 'tv_loption_filespec_ =
17911 # 57 "standard.mly"
17912 ( [] )
17913 # 17914 "parser_cocci_menhir.ml"
17914 in
17915 _menhir_env.MenhirLib.EngineTypes.stack <- {
17916 MenhirLib.EngineTypes.state = _menhir_s;
17917 MenhirLib.EngineTypes.semv = Obj.repr _v;
17918 MenhirLib.EngineTypes.startp = _startpos;
17919 MenhirLib.EngineTypes.endp = _endpos;
17920 MenhirLib.EngineTypes.next = _menhir_stack;
17921 });
17922 (fun _menhir_env ->
17923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17924 let {
17925 MenhirLib.EngineTypes.state = _menhir_s;
17926 MenhirLib.EngineTypes.semv = x;
17927 MenhirLib.EngineTypes.startp = _startpos_x_;
17928 MenhirLib.EngineTypes.endp = _endpos_x_;
17929 MenhirLib.EngineTypes.next = _menhir_stack;
17930 } = _menhir_stack in
17931 let x : 'tv_filespec = Obj.magic x in
17932 let _startpos = _startpos_x_ in
17933 let _endpos = _endpos_x_ in
17934 let _v : 'tv_loption_filespec_ =
17935 # 59 "standard.mly"
17936 ( x )
17937 # 17938 "parser_cocci_menhir.ml"
17938 in
17939 _menhir_env.MenhirLib.EngineTypes.stack <- {
17940 MenhirLib.EngineTypes.state = _menhir_s;
17941 MenhirLib.EngineTypes.semv = Obj.repr _v;
17942 MenhirLib.EngineTypes.startp = _startpos;
17943 MenhirLib.EngineTypes.endp = _endpos;
17944 MenhirLib.EngineTypes.next = _menhir_stack;
17945 });
17946 (fun _menhir_env ->
17947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17948 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17949 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17950 let _endpos = _startpos in
17951 let _v : 'tv_loption_minus_start_ =
17952 # 57 "standard.mly"
17953 ( [] )
17954 # 17955 "parser_cocci_menhir.ml"
17955 in
17956 _menhir_env.MenhirLib.EngineTypes.stack <- {
17957 MenhirLib.EngineTypes.state = _menhir_s;
17958 MenhirLib.EngineTypes.semv = Obj.repr _v;
17959 MenhirLib.EngineTypes.startp = _startpos;
17960 MenhirLib.EngineTypes.endp = _endpos;
17961 MenhirLib.EngineTypes.next = _menhir_stack;
17962 });
17963 (fun _menhir_env ->
17964 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17965 let {
17966 MenhirLib.EngineTypes.state = _menhir_s;
17967 MenhirLib.EngineTypes.semv = x;
17968 MenhirLib.EngineTypes.startp = _startpos_x_;
17969 MenhirLib.EngineTypes.endp = _endpos_x_;
17970 MenhirLib.EngineTypes.next = _menhir_stack;
17971 } = _menhir_stack in
17972 let x : 'tv_minus_start = Obj.magic x in
17973 let _startpos = _startpos_x_ in
17974 let _endpos = _endpos_x_ in
17975 let _v : 'tv_loption_minus_start_ =
17976 # 59 "standard.mly"
17977 ( x )
17978 # 17979 "parser_cocci_menhir.ml"
17979 in
17980 _menhir_env.MenhirLib.EngineTypes.stack <- {
17981 MenhirLib.EngineTypes.state = _menhir_s;
17982 MenhirLib.EngineTypes.semv = Obj.repr _v;
17983 MenhirLib.EngineTypes.startp = _startpos;
17984 MenhirLib.EngineTypes.endp = _endpos;
17985 MenhirLib.EngineTypes.next = _menhir_stack;
17986 });
17987 (fun _menhir_env ->
17988 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17989 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17990 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17991 let _endpos = _startpos in
17992 let _v : 'tv_loption_not_ceq_ =
17993 # 57 "standard.mly"
17994 ( [] )
17995 # 17996 "parser_cocci_menhir.ml"
17996 in
17997 _menhir_env.MenhirLib.EngineTypes.stack <- {
17998 MenhirLib.EngineTypes.state = _menhir_s;
17999 MenhirLib.EngineTypes.semv = Obj.repr _v;
18000 MenhirLib.EngineTypes.startp = _startpos;
18001 MenhirLib.EngineTypes.endp = _endpos;
18002 MenhirLib.EngineTypes.next = _menhir_stack;
18003 });
18004 (fun _menhir_env ->
18005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18006 let {
18007 MenhirLib.EngineTypes.state = _menhir_s;
18008 MenhirLib.EngineTypes.semv = x;
18009 MenhirLib.EngineTypes.startp = _startpos_x_;
18010 MenhirLib.EngineTypes.endp = _endpos_x_;
18011 MenhirLib.EngineTypes.next = _menhir_stack;
18012 } = _menhir_stack in
18013 let x : 'tv_not_ceq = Obj.magic x in
18014 let _startpos = _startpos_x_ in
18015 let _endpos = _endpos_x_ in
18016 let _v : 'tv_loption_not_ceq_ =
18017 # 59 "standard.mly"
18018 ( x )
18019 # 18020 "parser_cocci_menhir.ml"
18020 in
18021 _menhir_env.MenhirLib.EngineTypes.stack <- {
18022 MenhirLib.EngineTypes.state = _menhir_s;
18023 MenhirLib.EngineTypes.semv = Obj.repr _v;
18024 MenhirLib.EngineTypes.startp = _startpos;
18025 MenhirLib.EngineTypes.endp = _endpos;
18026 MenhirLib.EngineTypes.next = _menhir_stack;
18027 });
18028 (fun _menhir_env ->
18029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18030 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18031 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18032 let _endpos = _startpos in
18033 let _v : 'tv_loption_not_pos_ =
18034 # 57 "standard.mly"
18035 ( [] )
18036 # 18037 "parser_cocci_menhir.ml"
18037 in
18038 _menhir_env.MenhirLib.EngineTypes.stack <- {
18039 MenhirLib.EngineTypes.state = _menhir_s;
18040 MenhirLib.EngineTypes.semv = Obj.repr _v;
18041 MenhirLib.EngineTypes.startp = _startpos;
18042 MenhirLib.EngineTypes.endp = _endpos;
18043 MenhirLib.EngineTypes.next = _menhir_stack;
18044 });
18045 (fun _menhir_env ->
18046 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18047 let {
18048 MenhirLib.EngineTypes.state = _menhir_s;
18049 MenhirLib.EngineTypes.semv = x;
18050 MenhirLib.EngineTypes.startp = _startpos_x_;
18051 MenhirLib.EngineTypes.endp = _endpos_x_;
18052 MenhirLib.EngineTypes.next = _menhir_stack;
18053 } = _menhir_stack in
18054 let x : 'tv_not_pos = Obj.magic x in
18055 let _startpos = _startpos_x_ in
18056 let _endpos = _endpos_x_ in
18057 let _v : 'tv_loption_not_pos_ =
18058 # 59 "standard.mly"
18059 ( x )
18060 # 18061 "parser_cocci_menhir.ml"
18061 in
18062 _menhir_env.MenhirLib.EngineTypes.stack <- {
18063 MenhirLib.EngineTypes.state = _menhir_s;
18064 MenhirLib.EngineTypes.semv = Obj.repr _v;
18065 MenhirLib.EngineTypes.startp = _startpos;
18066 MenhirLib.EngineTypes.endp = _endpos;
18067 MenhirLib.EngineTypes.next = _menhir_stack;
18068 });
18069 (fun _menhir_env ->
18070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18071 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18072 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18073 let _endpos = _startpos in
18074 let _v : 'tv_loption_plus_start_ =
18075 # 57 "standard.mly"
18076 ( [] )
18077 # 18078 "parser_cocci_menhir.ml"
18078 in
18079 _menhir_env.MenhirLib.EngineTypes.stack <- {
18080 MenhirLib.EngineTypes.state = _menhir_s;
18081 MenhirLib.EngineTypes.semv = Obj.repr _v;
18082 MenhirLib.EngineTypes.startp = _startpos;
18083 MenhirLib.EngineTypes.endp = _endpos;
18084 MenhirLib.EngineTypes.next = _menhir_stack;
18085 });
18086 (fun _menhir_env ->
18087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18088 let {
18089 MenhirLib.EngineTypes.state = _menhir_s;
18090 MenhirLib.EngineTypes.semv = x;
18091 MenhirLib.EngineTypes.startp = _startpos_x_;
18092 MenhirLib.EngineTypes.endp = _endpos_x_;
18093 MenhirLib.EngineTypes.next = _menhir_stack;
18094 } = _menhir_stack in
18095 let x : 'tv_plus_start = Obj.magic x in
18096 let _startpos = _startpos_x_ in
18097 let _endpos = _endpos_x_ in
18098 let _v : 'tv_loption_plus_start_ =
18099 # 59 "standard.mly"
18100 ( x )
18101 # 18102 "parser_cocci_menhir.ml"
18102 in
18103 _menhir_env.MenhirLib.EngineTypes.stack <- {
18104 MenhirLib.EngineTypes.state = _menhir_s;
18105 MenhirLib.EngineTypes.semv = Obj.repr _v;
18106 MenhirLib.EngineTypes.startp = _startpos;
18107 MenhirLib.EngineTypes.endp = _endpos;
18108 MenhirLib.EngineTypes.next = _menhir_stack;
18109 });
18110 (fun _menhir_env ->
18111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18112 let {
18113 MenhirLib.EngineTypes.state = _menhir_s;
18114 MenhirLib.EngineTypes.semv = t;
18115 MenhirLib.EngineTypes.startp = _startpos_t_;
18116 MenhirLib.EngineTypes.endp = _endpos_t_;
18117 MenhirLib.EngineTypes.next = _menhir_stack;
18118 } = _menhir_stack in
18119 let t : 'tv_typedef_ctype = Obj.magic t in
18120 let _startpos = _startpos_t_ in
18121 let _endpos = _endpos_t_ in
18122 let _v : 'tv_meta_exp_type =
18123 # 460 "parser_cocci_menhir.mly"
18124 ( [Ast0_cocci.ast0_type_to_type t] )
18125 # 18126 "parser_cocci_menhir.ml"
18126 in
18127 _menhir_env.MenhirLib.EngineTypes.stack <- {
18128 MenhirLib.EngineTypes.state = _menhir_s;
18129 MenhirLib.EngineTypes.semv = Obj.repr _v;
18130 MenhirLib.EngineTypes.startp = _startpos;
18131 MenhirLib.EngineTypes.endp = _endpos;
18132 MenhirLib.EngineTypes.next = _menhir_stack;
18133 });
18134 (fun _menhir_env ->
18135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18136 let {
18137 MenhirLib.EngineTypes.semv = m;
18138 MenhirLib.EngineTypes.startp = _startpos_m_;
18139 MenhirLib.EngineTypes.endp = _endpos_m_;
18140 MenhirLib.EngineTypes.next = {
18141 MenhirLib.EngineTypes.startp = _startpos__3_;
18142 MenhirLib.EngineTypes.endp = _endpos__3_;
18143 MenhirLib.EngineTypes.next = {
18144 MenhirLib.EngineTypes.semv = t;
18145 MenhirLib.EngineTypes.startp = _startpos_t_;
18146 MenhirLib.EngineTypes.endp = _endpos_t_;
18147 MenhirLib.EngineTypes.next = {
18148 MenhirLib.EngineTypes.state = _menhir_s;
18149 MenhirLib.EngineTypes.startp = _startpos__1_;
18150 MenhirLib.EngineTypes.endp = _endpos__1_;
18151 MenhirLib.EngineTypes.next = _menhir_stack;
18152 };
18153 };
18154 };
18155 } = _menhir_stack in
18156 let m : 'tv_list_TMul_ = Obj.magic m in
18157 let t : 'tv_comma_list_ctype_ = Obj.magic t in
18158 let _startpos = _startpos__1_ in
18159 let _endpos = _endpos_m_ in
18160 let _v : 'tv_meta_exp_type =
18161 # 462 "parser_cocci_menhir.mly"
18162 ( List.map
18163 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
18164 t )
18165 # 18166 "parser_cocci_menhir.ml"
18166 in
18167 _menhir_env.MenhirLib.EngineTypes.stack <- {
18168 MenhirLib.EngineTypes.state = _menhir_s;
18169 MenhirLib.EngineTypes.semv = Obj.repr _v;
18170 MenhirLib.EngineTypes.startp = _startpos;
18171 MenhirLib.EngineTypes.endp = _endpos;
18172 MenhirLib.EngineTypes.next = _menhir_stack;
18173 });
18174 (fun _menhir_env ->
18175 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18176 let {
18177 MenhirLib.EngineTypes.semv = _3;
18178 MenhirLib.EngineTypes.startp = _startpos__3_;
18179 MenhirLib.EngineTypes.endp = _endpos__3_;
18180 MenhirLib.EngineTypes.next = {
18181 MenhirLib.EngineTypes.startp = _startpos__2_;
18182 MenhirLib.EngineTypes.endp = _endpos__2_;
18183 MenhirLib.EngineTypes.next = {
18184 MenhirLib.EngineTypes.state = _menhir_s;
18185 MenhirLib.EngineTypes.semv = _1;
18186 MenhirLib.EngineTypes.startp = _startpos__1_;
18187 MenhirLib.EngineTypes.endp = _endpos__1_;
18188 MenhirLib.EngineTypes.next = _menhir_stack;
18189 };
18190 };
18191 } = _menhir_stack in
18192 let _3 : 'tv_pure_ident = Obj.magic _3 in
18193 let _1 : (
18194 # 47 "parser_cocci_menhir.mly"
18195 (string)
18196 # 18197 "parser_cocci_menhir.ml"
18197 ) = Obj.magic _1 in
18198 let _startpos = _startpos__1_ in
18199 let _endpos = _endpos__3_ in
18200 let _v : 'tv_meta_ident =
18201 # 1391 "parser_cocci_menhir.mly"
18202 ( (Some _1,P.id2name _3) )
18203 # 18204 "parser_cocci_menhir.ml"
18204 in
18205 _menhir_env.MenhirLib.EngineTypes.stack <- {
18206 MenhirLib.EngineTypes.state = _menhir_s;
18207 MenhirLib.EngineTypes.semv = Obj.repr _v;
18208 MenhirLib.EngineTypes.startp = _startpos;
18209 MenhirLib.EngineTypes.endp = _endpos;
18210 MenhirLib.EngineTypes.next = _menhir_stack;
18211 });
18212 (fun _menhir_env ->
18213 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18214 let {
18215 MenhirLib.EngineTypes.state = _menhir_s;
18216 MenhirLib.EngineTypes.semv = m;
18217 MenhirLib.EngineTypes.startp = _startpos_m_;
18218 MenhirLib.EngineTypes.endp = _endpos_m_;
18219 MenhirLib.EngineTypes.next = _menhir_stack;
18220 } = _menhir_stack in
18221 let m : 'tv_metadec = Obj.magic m in
18222 let _startpos = _startpos_m_ in
18223 let _endpos = _endpos_m_ in
18224 let _v : (
18225 # 157 "parser_cocci_menhir.mly"
18226 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
18227 # 18228 "parser_cocci_menhir.ml"
18228 ) =
18229 # 181 "parser_cocci_menhir.mly"
18230 ( m (!Ast0.rule_name) )
18231 # 18232 "parser_cocci_menhir.ml"
18232 in
18233 _menhir_env.MenhirLib.EngineTypes.stack <- {
18234 MenhirLib.EngineTypes.state = _menhir_s;
18235 MenhirLib.EngineTypes.semv = Obj.repr _v;
18236 MenhirLib.EngineTypes.startp = _startpos;
18237 MenhirLib.EngineTypes.endp = _endpos;
18238 MenhirLib.EngineTypes.next = _menhir_stack;
18239 });
18240 (fun _menhir_env ->
18241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18242 let {
18243 MenhirLib.EngineTypes.startp = _startpos__5_;
18244 MenhirLib.EngineTypes.endp = _endpos__5_;
18245 MenhirLib.EngineTypes.next = {
18246 MenhirLib.EngineTypes.semv = ids;
18247 MenhirLib.EngineTypes.startp = _startpos_ids_;
18248 MenhirLib.EngineTypes.endp = _endpos_ids_;
18249 MenhirLib.EngineTypes.next = {
18250 MenhirLib.EngineTypes.startp = _startpos__3_;
18251 MenhirLib.EngineTypes.endp = _endpos__3_;
18252 MenhirLib.EngineTypes.next = {
18253 MenhirLib.EngineTypes.semv = ispure;
18254 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18255 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18256 MenhirLib.EngineTypes.next = {
18257 MenhirLib.EngineTypes.state = _menhir_s;
18258 MenhirLib.EngineTypes.semv = ar;
18259 MenhirLib.EngineTypes.startp = _startpos_ar_;
18260 MenhirLib.EngineTypes.endp = _endpos_ar_;
18261 MenhirLib.EngineTypes.next = _menhir_stack;
18262 };
18263 };
18264 };
18265 };
18266 } = _menhir_stack in
18267 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18268 let ispure : 'tv_pure = Obj.magic ispure in
18269 let ar : 'tv_arity = Obj.magic ar in
18270 let _startpos = _startpos_ar_ in
18271 let _endpos = _endpos__5_ in
18272 let _v : 'tv_metadec = let kindfn =
18273
18274 # 325 "parser_cocci_menhir.mly"
18275 ( (fun arity name pure check_meta ->
18276 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
18277 !Data.add_param_meta name pure; tok) )
18278 # 18279 "parser_cocci_menhir.ml"
18279
18280 in
18281
18282 # 270 "parser_cocci_menhir.mly"
18283 ( P.create_metadec ar ispure kindfn ids )
18284 # 18285 "parser_cocci_menhir.ml"
18285 in
18286 _menhir_env.MenhirLib.EngineTypes.stack <- {
18287 MenhirLib.EngineTypes.state = _menhir_s;
18288 MenhirLib.EngineTypes.semv = Obj.repr _v;
18289 MenhirLib.EngineTypes.startp = _startpos;
18290 MenhirLib.EngineTypes.endp = _endpos;
18291 MenhirLib.EngineTypes.next = _menhir_stack;
18292 });
18293 (fun _menhir_env ->
18294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18295 let {
18296 MenhirLib.EngineTypes.startp = _startpos__6_;
18297 MenhirLib.EngineTypes.endp = _endpos__6_;
18298 MenhirLib.EngineTypes.next = {
18299 MenhirLib.EngineTypes.semv = ids;
18300 MenhirLib.EngineTypes.startp = _startpos_ids_;
18301 MenhirLib.EngineTypes.endp = _endpos_ids_;
18302 MenhirLib.EngineTypes.next = {
18303 MenhirLib.EngineTypes.startp = _startpos__4_;
18304 MenhirLib.EngineTypes.endp = _endpos__4_;
18305 MenhirLib.EngineTypes.next = {
18306 MenhirLib.EngineTypes.startp = _startpos__3_;
18307 MenhirLib.EngineTypes.endp = _endpos__3_;
18308 MenhirLib.EngineTypes.next = {
18309 MenhirLib.EngineTypes.semv = ispure;
18310 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18311 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18312 MenhirLib.EngineTypes.next = {
18313 MenhirLib.EngineTypes.state = _menhir_s;
18314 MenhirLib.EngineTypes.semv = ar;
18315 MenhirLib.EngineTypes.startp = _startpos_ar_;
18316 MenhirLib.EngineTypes.endp = _endpos_ar_;
18317 MenhirLib.EngineTypes.next = _menhir_stack;
18318 };
18319 };
18320 };
18321 };
18322 };
18323 } = _menhir_stack in
18324 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18325 let ispure : 'tv_pure = Obj.magic ispure in
18326 let ar : 'tv_arity = Obj.magic ar in
18327 let _startpos = _startpos_ar_ in
18328 let _endpos = _endpos__6_ in
18329 let _v : 'tv_metadec = let kindfn =
18330
18331 # 329 "parser_cocci_menhir.mly"
18332 ( (fun arity name pure check_meta ->
18333 let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
18334 !Data.add_paramlist_meta name None pure; tok) )
18335 # 18336 "parser_cocci_menhir.ml"
18336
18337 in
18338
18339 # 270 "parser_cocci_menhir.mly"
18340 ( P.create_metadec ar ispure kindfn ids )
18341 # 18342 "parser_cocci_menhir.ml"
18342 in
18343 _menhir_env.MenhirLib.EngineTypes.stack <- {
18344 MenhirLib.EngineTypes.state = _menhir_s;
18345 MenhirLib.EngineTypes.semv = Obj.repr _v;
18346 MenhirLib.EngineTypes.startp = _startpos;
18347 MenhirLib.EngineTypes.endp = _endpos;
18348 MenhirLib.EngineTypes.next = _menhir_stack;
18349 });
18350 (fun _menhir_env ->
18351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18352 let {
18353 MenhirLib.EngineTypes.startp = _startpos__6_;
18354 MenhirLib.EngineTypes.endp = _endpos__6_;
18355 MenhirLib.EngineTypes.next = {
18356 MenhirLib.EngineTypes.semv = ids;
18357 MenhirLib.EngineTypes.startp = _startpos_ids_;
18358 MenhirLib.EngineTypes.endp = _endpos_ids_;
18359 MenhirLib.EngineTypes.next = {
18360 MenhirLib.EngineTypes.startp = _startpos__4_;
18361 MenhirLib.EngineTypes.endp = _endpos__4_;
18362 MenhirLib.EngineTypes.next = {
18363 MenhirLib.EngineTypes.startp = _startpos__3_;
18364 MenhirLib.EngineTypes.endp = _endpos__3_;
18365 MenhirLib.EngineTypes.next = {
18366 MenhirLib.EngineTypes.semv = ispure;
18367 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18368 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18369 MenhirLib.EngineTypes.next = {
18370 MenhirLib.EngineTypes.state = _menhir_s;
18371 MenhirLib.EngineTypes.semv = ar;
18372 MenhirLib.EngineTypes.startp = _startpos_ar_;
18373 MenhirLib.EngineTypes.endp = _endpos_ar_;
18374 MenhirLib.EngineTypes.next = _menhir_stack;
18375 };
18376 };
18377 };
18378 };
18379 };
18380 } = _menhir_stack in
18381 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18382 let ispure : 'tv_pure = Obj.magic ispure in
18383 let ar : 'tv_arity = Obj.magic ar in
18384 let _startpos = _startpos_ar_ in
18385 let _endpos = _endpos__6_ in
18386 let _v : 'tv_metadec = let kindfn =
18387
18388 # 333 "parser_cocci_menhir.mly"
18389 ( (fun arity name pure check_meta ->
18390 let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
18391 !Data.add_explist_meta name None pure; tok) )
18392 # 18393 "parser_cocci_menhir.ml"
18393
18394 in
18395
18396 # 270 "parser_cocci_menhir.mly"
18397 ( P.create_metadec ar ispure kindfn ids )
18398 # 18399 "parser_cocci_menhir.ml"
18399 in
18400 _menhir_env.MenhirLib.EngineTypes.stack <- {
18401 MenhirLib.EngineTypes.state = _menhir_s;
18402 MenhirLib.EngineTypes.semv = Obj.repr _v;
18403 MenhirLib.EngineTypes.startp = _startpos;
18404 MenhirLib.EngineTypes.endp = _endpos;
18405 MenhirLib.EngineTypes.next = _menhir_stack;
18406 });
18407 (fun _menhir_env ->
18408 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18409 let {
18410 MenhirLib.EngineTypes.startp = _startpos__5_;
18411 MenhirLib.EngineTypes.endp = _endpos__5_;
18412 MenhirLib.EngineTypes.next = {
18413 MenhirLib.EngineTypes.semv = ids;
18414 MenhirLib.EngineTypes.startp = _startpos_ids_;
18415 MenhirLib.EngineTypes.endp = _endpos_ids_;
18416 MenhirLib.EngineTypes.next = {
18417 MenhirLib.EngineTypes.startp = _startpos__3_;
18418 MenhirLib.EngineTypes.endp = _endpos__3_;
18419 MenhirLib.EngineTypes.next = {
18420 MenhirLib.EngineTypes.semv = ispure;
18421 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18422 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18423 MenhirLib.EngineTypes.next = {
18424 MenhirLib.EngineTypes.state = _menhir_s;
18425 MenhirLib.EngineTypes.semv = ar;
18426 MenhirLib.EngineTypes.startp = _startpos_ar_;
18427 MenhirLib.EngineTypes.endp = _endpos_ar_;
18428 MenhirLib.EngineTypes.next = _menhir_stack;
18429 };
18430 };
18431 };
18432 };
18433 } = _menhir_stack in
18434 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18435 let ispure : 'tv_pure = Obj.magic ispure in
18436 let ar : 'tv_arity = Obj.magic ar in
18437 let _startpos = _startpos_ar_ in
18438 let _endpos = _endpos__5_ in
18439 let _v : 'tv_metadec = let kindfn =
18440
18441 # 337 "parser_cocci_menhir.mly"
18442 ( (fun arity name pure check_meta ->
18443 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
18444 !Data.add_type_meta name pure; tok) )
18445 # 18446 "parser_cocci_menhir.ml"
18446
18447 in
18448
18449 # 270 "parser_cocci_menhir.mly"
18450 ( P.create_metadec ar ispure kindfn ids )
18451 # 18452 "parser_cocci_menhir.ml"
18452 in
18453 _menhir_env.MenhirLib.EngineTypes.stack <- {
18454 MenhirLib.EngineTypes.state = _menhir_s;
18455 MenhirLib.EngineTypes.semv = Obj.repr _v;
18456 MenhirLib.EngineTypes.startp = _startpos;
18457 MenhirLib.EngineTypes.endp = _endpos;
18458 MenhirLib.EngineTypes.next = _menhir_stack;
18459 });
18460 (fun _menhir_env ->
18461 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18462 let {
18463 MenhirLib.EngineTypes.startp = _startpos__5_;
18464 MenhirLib.EngineTypes.endp = _endpos__5_;
18465 MenhirLib.EngineTypes.next = {
18466 MenhirLib.EngineTypes.semv = ids;
18467 MenhirLib.EngineTypes.startp = _startpos_ids_;
18468 MenhirLib.EngineTypes.endp = _endpos_ids_;
18469 MenhirLib.EngineTypes.next = {
18470 MenhirLib.EngineTypes.startp = _startpos__3_;
18471 MenhirLib.EngineTypes.endp = _endpos__3_;
18472 MenhirLib.EngineTypes.next = {
18473 MenhirLib.EngineTypes.semv = ispure;
18474 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18475 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18476 MenhirLib.EngineTypes.next = {
18477 MenhirLib.EngineTypes.state = _menhir_s;
18478 MenhirLib.EngineTypes.semv = ar;
18479 MenhirLib.EngineTypes.startp = _startpos_ar_;
18480 MenhirLib.EngineTypes.endp = _endpos_ar_;
18481 MenhirLib.EngineTypes.next = _menhir_stack;
18482 };
18483 };
18484 };
18485 };
18486 } = _menhir_stack in
18487 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18488 let ispure : 'tv_pure = Obj.magic ispure in
18489 let ar : 'tv_arity = Obj.magic ar in
18490 let _startpos = _startpos_ar_ in
18491 let _endpos = _endpos__5_ in
18492 let _v : 'tv_metadec = let kindfn =
18493
18494 # 341 "parser_cocci_menhir.mly"
18495 ( (fun arity name pure check_meta ->
18496 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
18497 !Data.add_init_meta name pure; tok) )
18498 # 18499 "parser_cocci_menhir.ml"
18499
18500 in
18501
18502 # 270 "parser_cocci_menhir.mly"
18503 ( P.create_metadec ar ispure kindfn ids )
18504 # 18505 "parser_cocci_menhir.ml"
18505 in
18506 _menhir_env.MenhirLib.EngineTypes.stack <- {
18507 MenhirLib.EngineTypes.state = _menhir_s;
18508 MenhirLib.EngineTypes.semv = Obj.repr _v;
18509 MenhirLib.EngineTypes.startp = _startpos;
18510 MenhirLib.EngineTypes.endp = _endpos;
18511 MenhirLib.EngineTypes.next = _menhir_stack;
18512 });
18513 (fun _menhir_env ->
18514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18515 let {
18516 MenhirLib.EngineTypes.startp = _startpos__5_;
18517 MenhirLib.EngineTypes.endp = _endpos__5_;
18518 MenhirLib.EngineTypes.next = {
18519 MenhirLib.EngineTypes.semv = ids;
18520 MenhirLib.EngineTypes.startp = _startpos_ids_;
18521 MenhirLib.EngineTypes.endp = _endpos_ids_;
18522 MenhirLib.EngineTypes.next = {
18523 MenhirLib.EngineTypes.startp = _startpos__3_;
18524 MenhirLib.EngineTypes.endp = _endpos__3_;
18525 MenhirLib.EngineTypes.next = {
18526 MenhirLib.EngineTypes.semv = ispure;
18527 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18528 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18529 MenhirLib.EngineTypes.next = {
18530 MenhirLib.EngineTypes.state = _menhir_s;
18531 MenhirLib.EngineTypes.semv = ar;
18532 MenhirLib.EngineTypes.startp = _startpos_ar_;
18533 MenhirLib.EngineTypes.endp = _endpos_ar_;
18534 MenhirLib.EngineTypes.next = _menhir_stack;
18535 };
18536 };
18537 };
18538 };
18539 } = _menhir_stack in
18540 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18541 let ispure : 'tv_pure = Obj.magic ispure in
18542 let ar : 'tv_arity = Obj.magic ar in
18543 let _startpos = _startpos_ar_ in
18544 let _endpos = _endpos__5_ in
18545 let _v : 'tv_metadec = let kindfn =
18546
18547 # 345 "parser_cocci_menhir.mly"
18548 ( (fun arity name pure check_meta ->
18549 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
18550 !Data.add_stm_meta name pure; tok) )
18551 # 18552 "parser_cocci_menhir.ml"
18552
18553 in
18554
18555 # 270 "parser_cocci_menhir.mly"
18556 ( P.create_metadec ar ispure kindfn ids )
18557 # 18558 "parser_cocci_menhir.ml"
18558 in
18559 _menhir_env.MenhirLib.EngineTypes.stack <- {
18560 MenhirLib.EngineTypes.state = _menhir_s;
18561 MenhirLib.EngineTypes.semv = Obj.repr _v;
18562 MenhirLib.EngineTypes.startp = _startpos;
18563 MenhirLib.EngineTypes.endp = _endpos;
18564 MenhirLib.EngineTypes.next = _menhir_stack;
18565 });
18566 (fun _menhir_env ->
18567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18568 let {
18569 MenhirLib.EngineTypes.startp = _startpos__6_;
18570 MenhirLib.EngineTypes.endp = _endpos__6_;
18571 MenhirLib.EngineTypes.next = {
18572 MenhirLib.EngineTypes.semv = ids;
18573 MenhirLib.EngineTypes.startp = _startpos_ids_;
18574 MenhirLib.EngineTypes.endp = _endpos_ids_;
18575 MenhirLib.EngineTypes.next = {
18576 MenhirLib.EngineTypes.startp = _startpos__4_;
18577 MenhirLib.EngineTypes.endp = _endpos__4_;
18578 MenhirLib.EngineTypes.next = {
18579 MenhirLib.EngineTypes.startp = _startpos__3_;
18580 MenhirLib.EngineTypes.endp = _endpos__3_;
18581 MenhirLib.EngineTypes.next = {
18582 MenhirLib.EngineTypes.semv = ispure;
18583 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18584 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18585 MenhirLib.EngineTypes.next = {
18586 MenhirLib.EngineTypes.state = _menhir_s;
18587 MenhirLib.EngineTypes.semv = ar;
18588 MenhirLib.EngineTypes.startp = _startpos_ar_;
18589 MenhirLib.EngineTypes.endp = _endpos_ar_;
18590 MenhirLib.EngineTypes.next = _menhir_stack;
18591 };
18592 };
18593 };
18594 };
18595 };
18596 } = _menhir_stack in
18597 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18598 let ispure : 'tv_pure = Obj.magic ispure in
18599 let ar : 'tv_arity = Obj.magic ar in
18600 let _startpos = _startpos_ar_ in
18601 let _endpos = _endpos__6_ in
18602 let _v : 'tv_metadec = let kindfn =
18603
18604 # 349 "parser_cocci_menhir.mly"
18605 ( (fun arity name pure check_meta ->
18606 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
18607 !Data.add_stmlist_meta name pure; tok) )
18608 # 18609 "parser_cocci_menhir.ml"
18609
18610 in
18611
18612 # 270 "parser_cocci_menhir.mly"
18613 ( P.create_metadec ar ispure kindfn ids )
18614 # 18615 "parser_cocci_menhir.ml"
18615 in
18616 _menhir_env.MenhirLib.EngineTypes.stack <- {
18617 MenhirLib.EngineTypes.state = _menhir_s;
18618 MenhirLib.EngineTypes.semv = Obj.repr _v;
18619 MenhirLib.EngineTypes.startp = _startpos;
18620 MenhirLib.EngineTypes.endp = _endpos;
18621 MenhirLib.EngineTypes.next = _menhir_stack;
18622 });
18623 (fun _menhir_env ->
18624 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18625 let {
18626 MenhirLib.EngineTypes.startp = _startpos__5_;
18627 MenhirLib.EngineTypes.endp = _endpos__5_;
18628 MenhirLib.EngineTypes.next = {
18629 MenhirLib.EngineTypes.semv = ids;
18630 MenhirLib.EngineTypes.startp = _startpos_ids_;
18631 MenhirLib.EngineTypes.endp = _endpos_ids_;
18632 MenhirLib.EngineTypes.next = {
18633 MenhirLib.EngineTypes.startp = _startpos__3_;
18634 MenhirLib.EngineTypes.endp = _endpos__3_;
18635 MenhirLib.EngineTypes.next = {
18636 MenhirLib.EngineTypes.semv = ispure;
18637 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18638 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18639 MenhirLib.EngineTypes.next = {
18640 MenhirLib.EngineTypes.state = _menhir_s;
18641 MenhirLib.EngineTypes.semv = ar;
18642 MenhirLib.EngineTypes.startp = _startpos_ar_;
18643 MenhirLib.EngineTypes.endp = _endpos_ar_;
18644 MenhirLib.EngineTypes.next = _menhir_stack;
18645 };
18646 };
18647 };
18648 };
18649 } = _menhir_stack in
18650 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18651 let ispure : 'tv_pure = Obj.magic ispure in
18652 let ar : 'tv_arity = Obj.magic ar in
18653 let _startpos = _startpos_ar_ in
18654 let _endpos = _endpos__5_ in
18655 let _v : 'tv_metadec = let kindfn =
18656
18657 # 353 "parser_cocci_menhir.mly"
18658 ( (fun arity (_,name) pure check_meta ->
18659 if arity = Ast.NONE && pure = Ast0.Impure
18660 then (!Data.add_type_name name; [])
18661 else raise (Semantic_cocci.Semantic "bad typedef")) )
18662 # 18663 "parser_cocci_menhir.ml"
18663
18664 in
18665
18666 # 270 "parser_cocci_menhir.mly"
18667 ( P.create_metadec ar ispure kindfn ids )
18668 # 18669 "parser_cocci_menhir.ml"
18669 in
18670 _menhir_env.MenhirLib.EngineTypes.stack <- {
18671 MenhirLib.EngineTypes.state = _menhir_s;
18672 MenhirLib.EngineTypes.semv = Obj.repr _v;
18673 MenhirLib.EngineTypes.startp = _startpos;
18674 MenhirLib.EngineTypes.endp = _endpos;
18675 MenhirLib.EngineTypes.next = _menhir_stack;
18676 });
18677 (fun _menhir_env ->
18678 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18679 let {
18680 MenhirLib.EngineTypes.startp = _startpos__6_;
18681 MenhirLib.EngineTypes.endp = _endpos__6_;
18682 MenhirLib.EngineTypes.next = {
18683 MenhirLib.EngineTypes.semv = ids;
18684 MenhirLib.EngineTypes.startp = _startpos_ids_;
18685 MenhirLib.EngineTypes.endp = _endpos_ids_;
18686 MenhirLib.EngineTypes.next = {
18687 MenhirLib.EngineTypes.startp = _startpos__4_;
18688 MenhirLib.EngineTypes.endp = _endpos__4_;
18689 MenhirLib.EngineTypes.next = {
18690 MenhirLib.EngineTypes.startp = _startpos__3_;
18691 MenhirLib.EngineTypes.endp = _endpos__3_;
18692 MenhirLib.EngineTypes.next = {
18693 MenhirLib.EngineTypes.semv = ispure;
18694 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18695 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18696 MenhirLib.EngineTypes.next = {
18697 MenhirLib.EngineTypes.state = _menhir_s;
18698 MenhirLib.EngineTypes.semv = ar;
18699 MenhirLib.EngineTypes.startp = _startpos_ar_;
18700 MenhirLib.EngineTypes.endp = _endpos_ar_;
18701 MenhirLib.EngineTypes.next = _menhir_stack;
18702 };
18703 };
18704 };
18705 };
18706 };
18707 } = _menhir_stack in
18708 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18709 let ispure : 'tv_pure = Obj.magic ispure in
18710 let ar : 'tv_arity = Obj.magic ar in
18711 let _startpos = _startpos_ar_ in
18712 let _endpos = _endpos__6_ in
18713 let _v : 'tv_metadec = let kindfn =
18714
18715 # 358 "parser_cocci_menhir.mly"
18716 ( (fun arity (_,name) pure check_meta ->
18717 if arity = Ast.NONE && pure = Ast0.Impure
18718 then (!Data.add_declarer_name name; [])
18719 else raise (Semantic_cocci.Semantic "bad declarer")) )
18720 # 18721 "parser_cocci_menhir.ml"
18721
18722 in
18723
18724 # 270 "parser_cocci_menhir.mly"
18725 ( P.create_metadec ar ispure kindfn ids )
18726 # 18727 "parser_cocci_menhir.ml"
18727 in
18728 _menhir_env.MenhirLib.EngineTypes.stack <- {
18729 MenhirLib.EngineTypes.state = _menhir_s;
18730 MenhirLib.EngineTypes.semv = Obj.repr _v;
18731 MenhirLib.EngineTypes.startp = _startpos;
18732 MenhirLib.EngineTypes.endp = _endpos;
18733 MenhirLib.EngineTypes.next = _menhir_stack;
18734 });
18735 (fun _menhir_env ->
18736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18737 let {
18738 MenhirLib.EngineTypes.startp = _startpos__6_;
18739 MenhirLib.EngineTypes.endp = _endpos__6_;
18740 MenhirLib.EngineTypes.next = {
18741 MenhirLib.EngineTypes.semv = ids;
18742 MenhirLib.EngineTypes.startp = _startpos_ids_;
18743 MenhirLib.EngineTypes.endp = _endpos_ids_;
18744 MenhirLib.EngineTypes.next = {
18745 MenhirLib.EngineTypes.startp = _startpos__4_;
18746 MenhirLib.EngineTypes.endp = _endpos__4_;
18747 MenhirLib.EngineTypes.next = {
18748 MenhirLib.EngineTypes.startp = _startpos__3_;
18749 MenhirLib.EngineTypes.endp = _endpos__3_;
18750 MenhirLib.EngineTypes.next = {
18751 MenhirLib.EngineTypes.semv = ispure;
18752 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18753 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18754 MenhirLib.EngineTypes.next = {
18755 MenhirLib.EngineTypes.state = _menhir_s;
18756 MenhirLib.EngineTypes.semv = ar;
18757 MenhirLib.EngineTypes.startp = _startpos_ar_;
18758 MenhirLib.EngineTypes.endp = _endpos_ar_;
18759 MenhirLib.EngineTypes.next = _menhir_stack;
18760 };
18761 };
18762 };
18763 };
18764 };
18765 } = _menhir_stack in
18766 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18767 let ispure : 'tv_pure = Obj.magic ispure in
18768 let ar : 'tv_arity = Obj.magic ar in
18769 let _startpos = _startpos_ar_ in
18770 let _endpos = _endpos__6_ in
18771 let _v : 'tv_metadec = let kindfn =
18772
18773 # 363 "parser_cocci_menhir.mly"
18774 ( (fun arity (_,name) pure check_meta ->
18775 if arity = Ast.NONE && pure = Ast0.Impure
18776 then (!Data.add_iterator_name name; [])
18777 else raise (Semantic_cocci.Semantic "bad iterator")) )
18778 # 18779 "parser_cocci_menhir.ml"
18779
18780 in
18781
18782 # 270 "parser_cocci_menhir.mly"
18783 ( P.create_metadec ar ispure kindfn ids )
18784 # 18785 "parser_cocci_menhir.ml"
18785 in
18786 _menhir_env.MenhirLib.EngineTypes.stack <- {
18787 MenhirLib.EngineTypes.state = _menhir_s;
18788 MenhirLib.EngineTypes.semv = Obj.repr _v;
18789 MenhirLib.EngineTypes.startp = _startpos;
18790 MenhirLib.EngineTypes.endp = _endpos;
18791 MenhirLib.EngineTypes.next = _menhir_stack;
18792 });
18793 (fun _menhir_env ->
18794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18795 let {
18796 MenhirLib.EngineTypes.startp = _startpos__4_;
18797 MenhirLib.EngineTypes.endp = _endpos__4_;
18798 MenhirLib.EngineTypes.next = {
18799 MenhirLib.EngineTypes.semv = ids;
18800 MenhirLib.EngineTypes.startp = _startpos_ids_;
18801 MenhirLib.EngineTypes.endp = _endpos_ids_;
18802 MenhirLib.EngineTypes.next = {
18803 MenhirLib.EngineTypes.startp = _startpos__2_;
18804 MenhirLib.EngineTypes.endp = _endpos__2_;
18805 MenhirLib.EngineTypes.next = {
18806 MenhirLib.EngineTypes.state = _menhir_s;
18807 MenhirLib.EngineTypes.startp = _startpos__1_;
18808 MenhirLib.EngineTypes.endp = _endpos__1_;
18809 MenhirLib.EngineTypes.next = _menhir_stack;
18810 };
18811 };
18812 };
18813 } = _menhir_stack in
18814 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
18815 let _startpos = _startpos__1_ in
18816 let _endpos = _endpos__4_ in
18817 let _v : 'tv_metadec = let kindfn =
18818
18819 # 319 "parser_cocci_menhir.mly"
18820 ( (fun name check_meta seed ->
18821 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
18822 !Data.add_fresh_id_meta name; tok) )
18823 # 18824 "parser_cocci_menhir.ml"
18824
18825 in
18826
18827 # 273 "parser_cocci_menhir.mly"
18828 ( P.create_fresh_metadec kindfn ids )
18829 # 18830 "parser_cocci_menhir.ml"
18830 in
18831 _menhir_env.MenhirLib.EngineTypes.stack <- {
18832 MenhirLib.EngineTypes.state = _menhir_s;
18833 MenhirLib.EngineTypes.semv = Obj.repr _v;
18834 MenhirLib.EngineTypes.startp = _startpos;
18835 MenhirLib.EngineTypes.endp = _endpos;
18836 MenhirLib.EngineTypes.next = _menhir_stack;
18837 });
18838 (fun _menhir_env ->
18839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18840 let {
18841 MenhirLib.EngineTypes.startp = _startpos__5_;
18842 MenhirLib.EngineTypes.endp = _endpos__5_;
18843 MenhirLib.EngineTypes.next = {
18844 MenhirLib.EngineTypes.semv = ids;
18845 MenhirLib.EngineTypes.startp = _startpos_ids_;
18846 MenhirLib.EngineTypes.endp = _endpos_ids_;
18847 MenhirLib.EngineTypes.next = {
18848 MenhirLib.EngineTypes.startp = _startpos__3_;
18849 MenhirLib.EngineTypes.endp = _endpos__3_;
18850 MenhirLib.EngineTypes.next = {
18851 MenhirLib.EngineTypes.semv = ispure;
18852 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18853 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18854 MenhirLib.EngineTypes.next = {
18855 MenhirLib.EngineTypes.state = _menhir_s;
18856 MenhirLib.EngineTypes.semv = ar;
18857 MenhirLib.EngineTypes.startp = _startpos_ar_;
18858 MenhirLib.EngineTypes.endp = _endpos_ar_;
18859 MenhirLib.EngineTypes.next = _menhir_stack;
18860 };
18861 };
18862 };
18863 };
18864 } = _menhir_stack in
18865 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
18866 let ispure : 'tv_pure = Obj.magic ispure in
18867 let ar : 'tv_arity = Obj.magic ar in
18868 let _startpos = _startpos_ar_ in
18869 let _endpos = _endpos__5_ in
18870 let _v : 'tv_metadec = let kindfn =
18871
18872 # 370 "parser_cocci_menhir.mly"
18873 ( (fun arity name pure check_meta constraints ->
18874 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
18875 !Data.add_id_meta name constraints pure; tok) )
18876 # 18877 "parser_cocci_menhir.ml"
18877
18878 in
18879
18880 # 277 "parser_cocci_menhir.mly"
18881 ( P.create_metadec_with_constraints ar ispure kindfn ids )
18882 # 18883 "parser_cocci_menhir.ml"
18883 in
18884 _menhir_env.MenhirLib.EngineTypes.stack <- {
18885 MenhirLib.EngineTypes.state = _menhir_s;
18886 MenhirLib.EngineTypes.semv = Obj.repr _v;
18887 MenhirLib.EngineTypes.startp = _startpos;
18888 MenhirLib.EngineTypes.endp = _endpos;
18889 MenhirLib.EngineTypes.next = _menhir_stack;
18890 });
18891 (fun _menhir_env ->
18892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18893 let {
18894 MenhirLib.EngineTypes.startp = _startpos__5_;
18895 MenhirLib.EngineTypes.endp = _endpos__5_;
18896 MenhirLib.EngineTypes.next = {
18897 MenhirLib.EngineTypes.semv = ids;
18898 MenhirLib.EngineTypes.startp = _startpos_ids_;
18899 MenhirLib.EngineTypes.endp = _endpos_ids_;
18900 MenhirLib.EngineTypes.next = {
18901 MenhirLib.EngineTypes.startp = _startpos__3_;
18902 MenhirLib.EngineTypes.endp = _endpos__3_;
18903 MenhirLib.EngineTypes.next = {
18904 MenhirLib.EngineTypes.semv = ispure;
18905 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18906 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18907 MenhirLib.EngineTypes.next = {
18908 MenhirLib.EngineTypes.state = _menhir_s;
18909 MenhirLib.EngineTypes.semv = ar;
18910 MenhirLib.EngineTypes.startp = _startpos_ar_;
18911 MenhirLib.EngineTypes.endp = _endpos_ar_;
18912 MenhirLib.EngineTypes.next = _menhir_stack;
18913 };
18914 };
18915 };
18916 };
18917 } = _menhir_stack in
18918 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
18919 let ispure : 'tv_pure = Obj.magic ispure in
18920 let ar : 'tv_arity = Obj.magic ar in
18921 let _startpos = _startpos_ar_ in
18922 let _endpos = _endpos__5_ in
18923 let _v : 'tv_metadec = let kindfn =
18924
18925 # 374 "parser_cocci_menhir.mly"
18926 ( (fun arity name pure check_meta constraints ->
18927 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
18928 !Data.add_func_meta name constraints pure; tok) )
18929 # 18930 "parser_cocci_menhir.ml"
18930
18931 in
18932
18933 # 277 "parser_cocci_menhir.mly"
18934 ( P.create_metadec_with_constraints ar ispure kindfn ids )
18935 # 18936 "parser_cocci_menhir.ml"
18936 in
18937 _menhir_env.MenhirLib.EngineTypes.stack <- {
18938 MenhirLib.EngineTypes.state = _menhir_s;
18939 MenhirLib.EngineTypes.semv = Obj.repr _v;
18940 MenhirLib.EngineTypes.startp = _startpos;
18941 MenhirLib.EngineTypes.endp = _endpos;
18942 MenhirLib.EngineTypes.next = _menhir_stack;
18943 });
18944 (fun _menhir_env ->
18945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18946 let {
18947 MenhirLib.EngineTypes.startp = _startpos__6_;
18948 MenhirLib.EngineTypes.endp = _endpos__6_;
18949 MenhirLib.EngineTypes.next = {
18950 MenhirLib.EngineTypes.semv = ids;
18951 MenhirLib.EngineTypes.startp = _startpos_ids_;
18952 MenhirLib.EngineTypes.endp = _endpos_ids_;
18953 MenhirLib.EngineTypes.next = {
18954 MenhirLib.EngineTypes.startp = _startpos__4_;
18955 MenhirLib.EngineTypes.endp = _endpos__4_;
18956 MenhirLib.EngineTypes.next = {
18957 MenhirLib.EngineTypes.startp = _startpos__3_;
18958 MenhirLib.EngineTypes.endp = _endpos__3_;
18959 MenhirLib.EngineTypes.next = {
18960 MenhirLib.EngineTypes.semv = ispure;
18961 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18962 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18963 MenhirLib.EngineTypes.next = {
18964 MenhirLib.EngineTypes.state = _menhir_s;
18965 MenhirLib.EngineTypes.semv = ar;
18966 MenhirLib.EngineTypes.startp = _startpos_ar_;
18967 MenhirLib.EngineTypes.endp = _endpos_ar_;
18968 MenhirLib.EngineTypes.next = _menhir_stack;
18969 };
18970 };
18971 };
18972 };
18973 };
18974 } = _menhir_stack in
18975 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
18976 let ispure : 'tv_pure = Obj.magic ispure in
18977 let ar : 'tv_arity = Obj.magic ar in
18978 let _startpos = _startpos_ar_ in
18979 let _endpos = _endpos__6_ in
18980 let _v : 'tv_metadec = let kindfn =
18981
18982 # 378 "parser_cocci_menhir.mly"
18983 ( (fun arity name pure check_meta constraints ->
18984 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
18985 !Data.add_local_func_meta name constraints pure;
18986 tok) )
18987 # 18988 "parser_cocci_menhir.ml"
18988
18989 in
18990
18991 # 277 "parser_cocci_menhir.mly"
18992 ( P.create_metadec_with_constraints ar ispure kindfn ids )
18993 # 18994 "parser_cocci_menhir.ml"
18994 in
18995 _menhir_env.MenhirLib.EngineTypes.stack <- {
18996 MenhirLib.EngineTypes.state = _menhir_s;
18997 MenhirLib.EngineTypes.semv = Obj.repr _v;
18998 MenhirLib.EngineTypes.startp = _startpos;
18999 MenhirLib.EngineTypes.endp = _endpos;
19000 MenhirLib.EngineTypes.next = _menhir_stack;
19001 });
19002 (fun _menhir_env ->
19003 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19004 let {
19005 MenhirLib.EngineTypes.startp = _startpos__5_;
19006 MenhirLib.EngineTypes.endp = _endpos__5_;
19007 MenhirLib.EngineTypes.next = {
19008 MenhirLib.EngineTypes.semv = ids;
19009 MenhirLib.EngineTypes.startp = _startpos_ids_;
19010 MenhirLib.EngineTypes.endp = _endpos_ids_;
19011 MenhirLib.EngineTypes.next = {
19012 MenhirLib.EngineTypes.startp = _startpos__3_;
19013 MenhirLib.EngineTypes.endp = _endpos__3_;
19014 MenhirLib.EngineTypes.next = {
19015 MenhirLib.EngineTypes.semv = ispure;
19016 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19017 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19018 MenhirLib.EngineTypes.next = {
19019 MenhirLib.EngineTypes.state = _menhir_s;
19020 MenhirLib.EngineTypes.semv = ar;
19021 MenhirLib.EngineTypes.startp = _startpos_ar_;
19022 MenhirLib.EngineTypes.endp = _endpos_ar_;
19023 MenhirLib.EngineTypes.next = _menhir_stack;
19024 };
19025 };
19026 };
19027 };
19028 } = _menhir_stack in
19029 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19030 let ispure : 'tv_pure = Obj.magic ispure in
19031 let ar : 'tv_arity = Obj.magic ar in
19032 let _startpos = _startpos_ar_ in
19033 let _endpos = _endpos__5_ in
19034 let _v : 'tv_metadec = let kindfn =
19035
19036 # 383 "parser_cocci_menhir.mly"
19037 ( (fun arity name pure check_meta constraints ->
19038 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
19039 !Data.add_declarer_meta name constraints pure; tok) )
19040 # 19041 "parser_cocci_menhir.ml"
19041
19042 in
19043
19044 # 277 "parser_cocci_menhir.mly"
19045 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19046 # 19047 "parser_cocci_menhir.ml"
19047 in
19048 _menhir_env.MenhirLib.EngineTypes.stack <- {
19049 MenhirLib.EngineTypes.state = _menhir_s;
19050 MenhirLib.EngineTypes.semv = Obj.repr _v;
19051 MenhirLib.EngineTypes.startp = _startpos;
19052 MenhirLib.EngineTypes.endp = _endpos;
19053 MenhirLib.EngineTypes.next = _menhir_stack;
19054 });
19055 (fun _menhir_env ->
19056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19057 let {
19058 MenhirLib.EngineTypes.startp = _startpos__5_;
19059 MenhirLib.EngineTypes.endp = _endpos__5_;
19060 MenhirLib.EngineTypes.next = {
19061 MenhirLib.EngineTypes.semv = ids;
19062 MenhirLib.EngineTypes.startp = _startpos_ids_;
19063 MenhirLib.EngineTypes.endp = _endpos_ids_;
19064 MenhirLib.EngineTypes.next = {
19065 MenhirLib.EngineTypes.startp = _startpos__3_;
19066 MenhirLib.EngineTypes.endp = _endpos__3_;
19067 MenhirLib.EngineTypes.next = {
19068 MenhirLib.EngineTypes.semv = ispure;
19069 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19070 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19071 MenhirLib.EngineTypes.next = {
19072 MenhirLib.EngineTypes.state = _menhir_s;
19073 MenhirLib.EngineTypes.semv = ar;
19074 MenhirLib.EngineTypes.startp = _startpos_ar_;
19075 MenhirLib.EngineTypes.endp = _endpos_ar_;
19076 MenhirLib.EngineTypes.next = _menhir_stack;
19077 };
19078 };
19079 };
19080 };
19081 } = _menhir_stack in
19082 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19083 let ispure : 'tv_pure = Obj.magic ispure in
19084 let ar : 'tv_arity = Obj.magic ar in
19085 let _startpos = _startpos_ar_ in
19086 let _endpos = _endpos__5_ in
19087 let _v : 'tv_metadec = let kindfn =
19088
19089 # 387 "parser_cocci_menhir.mly"
19090 ( (fun arity name pure check_meta constraints ->
19091 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
19092 !Data.add_iterator_meta name constraints pure; tok) )
19093 # 19094 "parser_cocci_menhir.ml"
19094
19095 in
19096
19097 # 277 "parser_cocci_menhir.mly"
19098 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19099 # 19100 "parser_cocci_menhir.ml"
19100 in
19101 _menhir_env.MenhirLib.EngineTypes.stack <- {
19102 MenhirLib.EngineTypes.state = _menhir_s;
19103 MenhirLib.EngineTypes.semv = Obj.repr _v;
19104 MenhirLib.EngineTypes.startp = _startpos;
19105 MenhirLib.EngineTypes.endp = _endpos;
19106 MenhirLib.EngineTypes.next = _menhir_stack;
19107 });
19108 (fun _menhir_env ->
19109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19110 let {
19111 MenhirLib.EngineTypes.startp = _startpos__5_;
19112 MenhirLib.EngineTypes.endp = _endpos__5_;
19113 MenhirLib.EngineTypes.next = {
19114 MenhirLib.EngineTypes.semv = ids;
19115 MenhirLib.EngineTypes.startp = _startpos_ids_;
19116 MenhirLib.EngineTypes.endp = _endpos_ids_;
19117 MenhirLib.EngineTypes.next = {
19118 MenhirLib.EngineTypes.startp = _startpos__3_;
19119 MenhirLib.EngineTypes.endp = _endpos__3_;
19120 MenhirLib.EngineTypes.next = {
19121 MenhirLib.EngineTypes.semv = ispure;
19122 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19123 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19124 MenhirLib.EngineTypes.next = {
19125 MenhirLib.EngineTypes.state = _menhir_s;
19126 MenhirLib.EngineTypes.semv = ar;
19127 MenhirLib.EngineTypes.startp = _startpos_ar_;
19128 MenhirLib.EngineTypes.endp = _endpos_ar_;
19129 MenhirLib.EngineTypes.next = _menhir_stack;
19130 };
19131 };
19132 };
19133 };
19134 } = _menhir_stack in
19135 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19136 let ispure : 'tv_pure = Obj.magic ispure in
19137 let ar : 'tv_arity = Obj.magic ar in
19138 let _startpos = _startpos_ar_ in
19139 let _endpos = _endpos__5_ in
19140 let _v : 'tv_metadec = let kindfn =
19141
19142 # 393 "parser_cocci_menhir.mly"
19143 ( (fun arity name pure check_meta constraints ->
19144 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
19145 !Data.add_err_meta name constraints pure; tok) )
19146 # 19147 "parser_cocci_menhir.ml"
19147
19148 in
19149
19150 # 281 "parser_cocci_menhir.mly"
19151 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19152 # 19153 "parser_cocci_menhir.ml"
19153 in
19154 _menhir_env.MenhirLib.EngineTypes.stack <- {
19155 MenhirLib.EngineTypes.state = _menhir_s;
19156 MenhirLib.EngineTypes.semv = Obj.repr _v;
19157 MenhirLib.EngineTypes.startp = _startpos;
19158 MenhirLib.EngineTypes.endp = _endpos;
19159 MenhirLib.EngineTypes.next = _menhir_stack;
19160 });
19161 (fun _menhir_env ->
19162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19163 let {
19164 MenhirLib.EngineTypes.startp = _startpos__6_;
19165 MenhirLib.EngineTypes.endp = _endpos__6_;
19166 MenhirLib.EngineTypes.next = {
19167 MenhirLib.EngineTypes.semv = ids;
19168 MenhirLib.EngineTypes.startp = _startpos_ids_;
19169 MenhirLib.EngineTypes.endp = _endpos_ids_;
19170 MenhirLib.EngineTypes.next = {
19171 MenhirLib.EngineTypes.startp = _startpos__4_;
19172 MenhirLib.EngineTypes.endp = _endpos__4_;
19173 MenhirLib.EngineTypes.next = {
19174 MenhirLib.EngineTypes.semv = l0;
19175 MenhirLib.EngineTypes.startp = _startpos_l0_;
19176 MenhirLib.EngineTypes.endp = _endpos_l0_;
19177 MenhirLib.EngineTypes.next = {
19178 MenhirLib.EngineTypes.semv = ispure;
19179 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19180 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19181 MenhirLib.EngineTypes.next = {
19182 MenhirLib.EngineTypes.state = _menhir_s;
19183 MenhirLib.EngineTypes.semv = ar;
19184 MenhirLib.EngineTypes.startp = _startpos_ar_;
19185 MenhirLib.EngineTypes.endp = _endpos_ar_;
19186 MenhirLib.EngineTypes.next = _menhir_stack;
19187 };
19188 };
19189 };
19190 };
19191 };
19192 } = _menhir_stack in
19193 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19194 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19195 let ispure : 'tv_pure = Obj.magic ispure in
19196 let ar : 'tv_arity = Obj.magic ar in
19197 let _startpos = _startpos_ar_ in
19198 let _endpos = _endpos__6_ in
19199 let _v : 'tv_metadec = let kindfn =
19200 let l = l0 in
19201 let ty =
19202
19203 # 39 "standard.mly"
19204 ( None )
19205 # 19206 "parser_cocci_menhir.ml"
19206
19207 in
19208
19209 # 397 "parser_cocci_menhir.mly"
19210 ( (fun arity name pure check_meta constraints ->
19211 match l with
19212 None ->
19213 !Data.add_idexp_meta ty name constraints pure;
19214 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19215 | Some _ ->
19216 !Data.add_local_idexp_meta ty name constraints pure;
19217 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19218 # 19219 "parser_cocci_menhir.ml"
19219
19220 in
19221
19222 # 281 "parser_cocci_menhir.mly"
19223 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19224 # 19225 "parser_cocci_menhir.ml"
19225 in
19226 _menhir_env.MenhirLib.EngineTypes.stack <- {
19227 MenhirLib.EngineTypes.state = _menhir_s;
19228 MenhirLib.EngineTypes.semv = Obj.repr _v;
19229 MenhirLib.EngineTypes.startp = _startpos;
19230 MenhirLib.EngineTypes.endp = _endpos;
19231 MenhirLib.EngineTypes.next = _menhir_stack;
19232 });
19233 (fun _menhir_env ->
19234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19235 let {
19236 MenhirLib.EngineTypes.startp = _startpos__7_;
19237 MenhirLib.EngineTypes.endp = _endpos__7_;
19238 MenhirLib.EngineTypes.next = {
19239 MenhirLib.EngineTypes.semv = ids;
19240 MenhirLib.EngineTypes.startp = _startpos_ids_;
19241 MenhirLib.EngineTypes.endp = _endpos_ids_;
19242 MenhirLib.EngineTypes.next = {
19243 MenhirLib.EngineTypes.semv = x00;
19244 MenhirLib.EngineTypes.startp = _startpos_x00_;
19245 MenhirLib.EngineTypes.endp = _endpos_x00_;
19246 MenhirLib.EngineTypes.next = {
19247 MenhirLib.EngineTypes.startp = _startpos__4_;
19248 MenhirLib.EngineTypes.endp = _endpos__4_;
19249 MenhirLib.EngineTypes.next = {
19250 MenhirLib.EngineTypes.semv = l0;
19251 MenhirLib.EngineTypes.startp = _startpos_l0_;
19252 MenhirLib.EngineTypes.endp = _endpos_l0_;
19253 MenhirLib.EngineTypes.next = {
19254 MenhirLib.EngineTypes.semv = ispure;
19255 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19256 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19257 MenhirLib.EngineTypes.next = {
19258 MenhirLib.EngineTypes.state = _menhir_s;
19259 MenhirLib.EngineTypes.semv = ar;
19260 MenhirLib.EngineTypes.startp = _startpos_ar_;
19261 MenhirLib.EngineTypes.endp = _endpos_ar_;
19262 MenhirLib.EngineTypes.next = _menhir_stack;
19263 };
19264 };
19265 };
19266 };
19267 };
19268 };
19269 } = _menhir_stack in
19270 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19271 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19272 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19273 let ispure : 'tv_pure = Obj.magic ispure in
19274 let ar : 'tv_arity = Obj.magic ar in
19275 let _startpos = _startpos_ar_ in
19276 let _endpos = _endpos__7_ in
19277 let _v : 'tv_metadec = let kindfn =
19278 let x0 = x00 in
19279 let l = l0 in
19280 let ty =
19281 let x = x0 in
19282
19283 # 41 "standard.mly"
19284 ( Some x )
19285 # 19286 "parser_cocci_menhir.ml"
19286
19287 in
19288
19289 # 397 "parser_cocci_menhir.mly"
19290 ( (fun arity name pure check_meta constraints ->
19291 match l with
19292 None ->
19293 !Data.add_idexp_meta ty name constraints pure;
19294 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19295 | Some _ ->
19296 !Data.add_local_idexp_meta ty name constraints pure;
19297 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19298 # 19299 "parser_cocci_menhir.ml"
19299
19300 in
19301
19302 # 281 "parser_cocci_menhir.mly"
19303 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19304 # 19305 "parser_cocci_menhir.ml"
19305 in
19306 _menhir_env.MenhirLib.EngineTypes.stack <- {
19307 MenhirLib.EngineTypes.state = _menhir_s;
19308 MenhirLib.EngineTypes.semv = Obj.repr _v;
19309 MenhirLib.EngineTypes.startp = _startpos;
19310 MenhirLib.EngineTypes.endp = _endpos;
19311 MenhirLib.EngineTypes.next = _menhir_stack;
19312 });
19313 (fun _menhir_env ->
19314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19315 let {
19316 MenhirLib.EngineTypes.startp = _startpos__7_;
19317 MenhirLib.EngineTypes.endp = _endpos__7_;
19318 MenhirLib.EngineTypes.next = {
19319 MenhirLib.EngineTypes.semv = ids;
19320 MenhirLib.EngineTypes.startp = _startpos_ids_;
19321 MenhirLib.EngineTypes.endp = _endpos_ids_;
19322 MenhirLib.EngineTypes.next = {
19323 MenhirLib.EngineTypes.semv = m0;
19324 MenhirLib.EngineTypes.startp = _startpos_m0_;
19325 MenhirLib.EngineTypes.endp = _endpos_m0_;
19326 MenhirLib.EngineTypes.next = {
19327 MenhirLib.EngineTypes.startp = _startpos__4_;
19328 MenhirLib.EngineTypes.endp = _endpos__4_;
19329 MenhirLib.EngineTypes.next = {
19330 MenhirLib.EngineTypes.semv = l0;
19331 MenhirLib.EngineTypes.startp = _startpos_l0_;
19332 MenhirLib.EngineTypes.endp = _endpos_l0_;
19333 MenhirLib.EngineTypes.next = {
19334 MenhirLib.EngineTypes.semv = ispure;
19335 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19336 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19337 MenhirLib.EngineTypes.next = {
19338 MenhirLib.EngineTypes.state = _menhir_s;
19339 MenhirLib.EngineTypes.semv = ar;
19340 MenhirLib.EngineTypes.startp = _startpos_ar_;
19341 MenhirLib.EngineTypes.endp = _endpos_ar_;
19342 MenhirLib.EngineTypes.next = _menhir_stack;
19343 };
19344 };
19345 };
19346 };
19347 };
19348 };
19349 } = _menhir_stack in
19350 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19351 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19352 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19353 let ispure : 'tv_pure = Obj.magic ispure in
19354 let ar : 'tv_arity = Obj.magic ar in
19355 let _startpos = _startpos_ar_ in
19356 let _endpos = _endpos__7_ in
19357 let _v : 'tv_metadec = let kindfn =
19358 let m = m0 in
19359 let l = l0 in
19360
19361 # 406 "parser_cocci_menhir.mly"
19362 ( (fun arity name pure check_meta constraints ->
19363 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19364 match l with
19365 None ->
19366 !Data.add_idexp_meta ty name constraints pure;
19367 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19368 | Some _ ->
19369 !Data.add_local_idexp_meta ty name constraints pure;
19370 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19371 # 19372 "parser_cocci_menhir.ml"
19372
19373 in
19374
19375 # 281 "parser_cocci_menhir.mly"
19376 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19377 # 19378 "parser_cocci_menhir.ml"
19378 in
19379 _menhir_env.MenhirLib.EngineTypes.stack <- {
19380 MenhirLib.EngineTypes.state = _menhir_s;
19381 MenhirLib.EngineTypes.semv = Obj.repr _v;
19382 MenhirLib.EngineTypes.startp = _startpos;
19383 MenhirLib.EngineTypes.endp = _endpos;
19384 MenhirLib.EngineTypes.next = _menhir_stack;
19385 });
19386 (fun _menhir_env ->
19387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19388 let {
19389 MenhirLib.EngineTypes.startp = _startpos__6_;
19390 MenhirLib.EngineTypes.endp = _endpos__6_;
19391 MenhirLib.EngineTypes.next = {
19392 MenhirLib.EngineTypes.semv = ids;
19393 MenhirLib.EngineTypes.startp = _startpos_ids_;
19394 MenhirLib.EngineTypes.endp = _endpos_ids_;
19395 MenhirLib.EngineTypes.next = {
19396 MenhirLib.EngineTypes.semv = m0;
19397 MenhirLib.EngineTypes.startp = _startpos_m0_;
19398 MenhirLib.EngineTypes.endp = _endpos_m0_;
19399 MenhirLib.EngineTypes.next = {
19400 MenhirLib.EngineTypes.startp = _startpos__3_;
19401 MenhirLib.EngineTypes.endp = _endpos__3_;
19402 MenhirLib.EngineTypes.next = {
19403 MenhirLib.EngineTypes.semv = ispure;
19404 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19405 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19406 MenhirLib.EngineTypes.next = {
19407 MenhirLib.EngineTypes.state = _menhir_s;
19408 MenhirLib.EngineTypes.semv = ar;
19409 MenhirLib.EngineTypes.startp = _startpos_ar_;
19410 MenhirLib.EngineTypes.endp = _endpos_ar_;
19411 MenhirLib.EngineTypes.next = _menhir_stack;
19412 };
19413 };
19414 };
19415 };
19416 };
19417 } = _menhir_stack in
19418 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19419 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19420 let ispure : 'tv_pure = Obj.magic ispure in
19421 let ar : 'tv_arity = Obj.magic ar in
19422 let _startpos = _startpos_ar_ in
19423 let _endpos = _endpos__6_ in
19424 let _v : 'tv_metadec = let kindfn =
19425 let m = m0 in
19426
19427 # 416 "parser_cocci_menhir.mly"
19428 ( (fun arity name pure check_meta constraints ->
19429 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19430 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19431 !Data.add_exp_meta ty name constraints pure; tok) )
19432 # 19433 "parser_cocci_menhir.ml"
19433
19434 in
19435
19436 # 281 "parser_cocci_menhir.mly"
19437 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19438 # 19439 "parser_cocci_menhir.ml"
19439 in
19440 _menhir_env.MenhirLib.EngineTypes.stack <- {
19441 MenhirLib.EngineTypes.state = _menhir_s;
19442 MenhirLib.EngineTypes.semv = Obj.repr _v;
19443 MenhirLib.EngineTypes.startp = _startpos;
19444 MenhirLib.EngineTypes.endp = _endpos;
19445 MenhirLib.EngineTypes.next = _menhir_stack;
19446 });
19447 (fun _menhir_env ->
19448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19449 let {
19450 MenhirLib.EngineTypes.startp = _startpos__7_;
19451 MenhirLib.EngineTypes.endp = _endpos__7_;
19452 MenhirLib.EngineTypes.next = {
19453 MenhirLib.EngineTypes.semv = ids;
19454 MenhirLib.EngineTypes.startp = _startpos_ids_;
19455 MenhirLib.EngineTypes.endp = _endpos_ids_;
19456 MenhirLib.EngineTypes.next = {
19457 MenhirLib.EngineTypes.startp = _startpos__5_;
19458 MenhirLib.EngineTypes.endp = _endpos__5_;
19459 MenhirLib.EngineTypes.next = {
19460 MenhirLib.EngineTypes.startp = _startpos__4_;
19461 MenhirLib.EngineTypes.endp = _endpos__4_;
19462 MenhirLib.EngineTypes.next = {
19463 MenhirLib.EngineTypes.semv = vl0;
19464 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19465 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19466 MenhirLib.EngineTypes.next = {
19467 MenhirLib.EngineTypes.semv = ispure;
19468 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19469 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19470 MenhirLib.EngineTypes.next = {
19471 MenhirLib.EngineTypes.state = _menhir_s;
19472 MenhirLib.EngineTypes.semv = ar;
19473 MenhirLib.EngineTypes.startp = _startpos_ar_;
19474 MenhirLib.EngineTypes.endp = _endpos_ar_;
19475 MenhirLib.EngineTypes.next = _menhir_stack;
19476 };
19477 };
19478 };
19479 };
19480 };
19481 };
19482 } = _menhir_stack in
19483 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19484 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19485 let ispure : 'tv_pure = Obj.magic ispure in
19486 let ar : 'tv_arity = Obj.magic ar in
19487 let _startpos = _startpos_ar_ in
19488 let _endpos = _endpos__7_ in
19489 let _v : 'tv_metadec = let kindfn =
19490 let vl = vl0 in
19491
19492 # 421 "parser_cocci_menhir.mly"
19493 ( (fun arity name pure check_meta constraints ->
19494 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
19495 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19496 !Data.add_exp_meta ty name constraints pure; tok) )
19497 # 19498 "parser_cocci_menhir.ml"
19498
19499 in
19500
19501 # 281 "parser_cocci_menhir.mly"
19502 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19503 # 19504 "parser_cocci_menhir.ml"
19504 in
19505 _menhir_env.MenhirLib.EngineTypes.stack <- {
19506 MenhirLib.EngineTypes.state = _menhir_s;
19507 MenhirLib.EngineTypes.semv = Obj.repr _v;
19508 MenhirLib.EngineTypes.startp = _startpos;
19509 MenhirLib.EngineTypes.endp = _endpos;
19510 MenhirLib.EngineTypes.next = _menhir_stack;
19511 });
19512 (fun _menhir_env ->
19513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19514 let {
19515 MenhirLib.EngineTypes.startp = _startpos__5_;
19516 MenhirLib.EngineTypes.endp = _endpos__5_;
19517 MenhirLib.EngineTypes.next = {
19518 MenhirLib.EngineTypes.semv = ids;
19519 MenhirLib.EngineTypes.startp = _startpos_ids_;
19520 MenhirLib.EngineTypes.endp = _endpos_ids_;
19521 MenhirLib.EngineTypes.next = {
19522 MenhirLib.EngineTypes.startp = _startpos__3_;
19523 MenhirLib.EngineTypes.endp = _endpos__3_;
19524 MenhirLib.EngineTypes.next = {
19525 MenhirLib.EngineTypes.semv = ispure;
19526 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19527 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19528 MenhirLib.EngineTypes.next = {
19529 MenhirLib.EngineTypes.state = _menhir_s;
19530 MenhirLib.EngineTypes.semv = ar;
19531 MenhirLib.EngineTypes.startp = _startpos_ar_;
19532 MenhirLib.EngineTypes.endp = _endpos_ar_;
19533 MenhirLib.EngineTypes.next = _menhir_stack;
19534 };
19535 };
19536 };
19537 };
19538 } = _menhir_stack in
19539 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19540 let ispure : 'tv_pure = Obj.magic ispure in
19541 let ar : 'tv_arity = Obj.magic ar in
19542 let _startpos = _startpos_ar_ in
19543 let _endpos = _endpos__5_ in
19544 let _v : 'tv_metadec = let kindfn =
19545 let ty =
19546
19547 # 39 "standard.mly"
19548 ( None )
19549 # 19550 "parser_cocci_menhir.ml"
19550
19551 in
19552
19553 # 426 "parser_cocci_menhir.mly"
19554 ( (fun arity name pure check_meta constraints ->
19555 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19556 !Data.add_const_meta ty name constraints pure; tok) )
19557 # 19558 "parser_cocci_menhir.ml"
19558
19559 in
19560
19561 # 281 "parser_cocci_menhir.mly"
19562 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19563 # 19564 "parser_cocci_menhir.ml"
19564 in
19565 _menhir_env.MenhirLib.EngineTypes.stack <- {
19566 MenhirLib.EngineTypes.state = _menhir_s;
19567 MenhirLib.EngineTypes.semv = Obj.repr _v;
19568 MenhirLib.EngineTypes.startp = _startpos;
19569 MenhirLib.EngineTypes.endp = _endpos;
19570 MenhirLib.EngineTypes.next = _menhir_stack;
19571 });
19572 (fun _menhir_env ->
19573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19574 let {
19575 MenhirLib.EngineTypes.startp = _startpos__6_;
19576 MenhirLib.EngineTypes.endp = _endpos__6_;
19577 MenhirLib.EngineTypes.next = {
19578 MenhirLib.EngineTypes.semv = ids;
19579 MenhirLib.EngineTypes.startp = _startpos_ids_;
19580 MenhirLib.EngineTypes.endp = _endpos_ids_;
19581 MenhirLib.EngineTypes.next = {
19582 MenhirLib.EngineTypes.semv = x00;
19583 MenhirLib.EngineTypes.startp = _startpos_x00_;
19584 MenhirLib.EngineTypes.endp = _endpos_x00_;
19585 MenhirLib.EngineTypes.next = {
19586 MenhirLib.EngineTypes.startp = _startpos__3_;
19587 MenhirLib.EngineTypes.endp = _endpos__3_;
19588 MenhirLib.EngineTypes.next = {
19589 MenhirLib.EngineTypes.semv = ispure;
19590 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19591 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19592 MenhirLib.EngineTypes.next = {
19593 MenhirLib.EngineTypes.state = _menhir_s;
19594 MenhirLib.EngineTypes.semv = ar;
19595 MenhirLib.EngineTypes.startp = _startpos_ar_;
19596 MenhirLib.EngineTypes.endp = _endpos_ar_;
19597 MenhirLib.EngineTypes.next = _menhir_stack;
19598 };
19599 };
19600 };
19601 };
19602 };
19603 } = _menhir_stack in
19604 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19605 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19606 let ispure : 'tv_pure = Obj.magic ispure in
19607 let ar : 'tv_arity = Obj.magic ar in
19608 let _startpos = _startpos_ar_ in
19609 let _endpos = _endpos__6_ in
19610 let _v : 'tv_metadec = let kindfn =
19611 let x0 = x00 in
19612 let ty =
19613 let x = x0 in
19614
19615 # 41 "standard.mly"
19616 ( Some x )
19617 # 19618 "parser_cocci_menhir.ml"
19618
19619 in
19620
19621 # 426 "parser_cocci_menhir.mly"
19622 ( (fun arity name pure check_meta constraints ->
19623 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19624 !Data.add_const_meta ty name constraints pure; tok) )
19625 # 19626 "parser_cocci_menhir.ml"
19626
19627 in
19628
19629 # 281 "parser_cocci_menhir.mly"
19630 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19631 # 19632 "parser_cocci_menhir.ml"
19632 in
19633 _menhir_env.MenhirLib.EngineTypes.stack <- {
19634 MenhirLib.EngineTypes.state = _menhir_s;
19635 MenhirLib.EngineTypes.semv = Obj.repr _v;
19636 MenhirLib.EngineTypes.startp = _startpos;
19637 MenhirLib.EngineTypes.endp = _endpos;
19638 MenhirLib.EngineTypes.next = _menhir_stack;
19639 });
19640 (fun _menhir_env ->
19641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19642 let {
19643 MenhirLib.EngineTypes.startp = _startpos__5_;
19644 MenhirLib.EngineTypes.endp = _endpos__5_;
19645 MenhirLib.EngineTypes.next = {
19646 MenhirLib.EngineTypes.semv = ids;
19647 MenhirLib.EngineTypes.startp = _startpos_ids_;
19648 MenhirLib.EngineTypes.endp = _endpos_ids_;
19649 MenhirLib.EngineTypes.next = {
19650 MenhirLib.EngineTypes.startp = _startpos__3_;
19651 MenhirLib.EngineTypes.endp = _endpos__3_;
19652 MenhirLib.EngineTypes.next = {
19653 MenhirLib.EngineTypes.semv = ispure;
19654 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19655 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19656 MenhirLib.EngineTypes.next = {
19657 MenhirLib.EngineTypes.state = _menhir_s;
19658 MenhirLib.EngineTypes.semv = ar;
19659 MenhirLib.EngineTypes.startp = _startpos_ar_;
19660 MenhirLib.EngineTypes.endp = _endpos_ar_;
19661 MenhirLib.EngineTypes.next = _menhir_stack;
19662 };
19663 };
19664 };
19665 };
19666 } = _menhir_stack in
19667 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
19668 let ispure : 'tv_pure = Obj.magic ispure in
19669 let ar : 'tv_arity = Obj.magic ar in
19670 let _startpos = _startpos_ar_ in
19671 let _endpos = _endpos__5_ in
19672 let _v : 'tv_metadec = let kindfn =
19673
19674 # 432 "parser_cocci_menhir.mly"
19675 ( (fun arity name pure check_meta constraints ->
19676 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
19677 !Data.add_exp_meta None name (Ast0.NotExpCstrt constraints) pure; tok) )
19678 # 19679 "parser_cocci_menhir.ml"
19679
19680 in
19681
19682 # 285 "parser_cocci_menhir.mly"
19683 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19684 # 19685 "parser_cocci_menhir.ml"
19685 in
19686 _menhir_env.MenhirLib.EngineTypes.stack <- {
19687 MenhirLib.EngineTypes.state = _menhir_s;
19688 MenhirLib.EngineTypes.semv = Obj.repr _v;
19689 MenhirLib.EngineTypes.startp = _startpos;
19690 MenhirLib.EngineTypes.endp = _endpos;
19691 MenhirLib.EngineTypes.next = _menhir_stack;
19692 });
19693 (fun _menhir_env ->
19694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19695 let {
19696 MenhirLib.EngineTypes.startp = _startpos__5_;
19697 MenhirLib.EngineTypes.endp = _endpos__5_;
19698 MenhirLib.EngineTypes.next = {
19699 MenhirLib.EngineTypes.semv = ids;
19700 MenhirLib.EngineTypes.startp = _startpos_ids_;
19701 MenhirLib.EngineTypes.endp = _endpos_ids_;
19702 MenhirLib.EngineTypes.next = {
19703 MenhirLib.EngineTypes.semv = vl0;
19704 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19705 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19706 MenhirLib.EngineTypes.next = {
19707 MenhirLib.EngineTypes.semv = ispure;
19708 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19709 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19710 MenhirLib.EngineTypes.next = {
19711 MenhirLib.EngineTypes.state = _menhir_s;
19712 MenhirLib.EngineTypes.semv = ar;
19713 MenhirLib.EngineTypes.startp = _startpos_ar_;
19714 MenhirLib.EngineTypes.endp = _endpos_ar_;
19715 MenhirLib.EngineTypes.next = _menhir_stack;
19716 };
19717 };
19718 };
19719 };
19720 } = _menhir_stack in
19721 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
19722 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19723 let ispure : 'tv_pure = Obj.magic ispure in
19724 let ar : 'tv_arity = Obj.magic ar in
19725 let _startpos = _startpos_ar_ in
19726 let _endpos = _endpos__5_ in
19727 let _v : 'tv_metadec = let kindfn =
19728 let vl = vl0 in
19729
19730 # 436 "parser_cocci_menhir.mly"
19731 ( (fun arity name pure check_meta constraints ->
19732 let ty = Some vl in
19733 List.iter
19734 (function c ->
19735 match Ast0.unwrap c with
19736 Ast0.Constant(_) ->
19737 if not
19738 (List.exists
19739 (function
19740 Type_cocci.BaseType(Type_cocci.IntType) -> true
19741 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
19742 | Type_cocci.BaseType(Type_cocci.LongType) -> true
19743 | _ -> false)
19744 vl)
19745 then failwith "metavariable with int constraint must be an int"
19746 | _ -> ())
19747 constraints;
19748 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19749 !Data.add_exp_meta ty name (Ast0.NotExpCstrt constraints) pure; tok)
19750 )
19751 # 19752 "parser_cocci_menhir.ml"
19752
19753 in
19754
19755 # 285 "parser_cocci_menhir.mly"
19756 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19757 # 19758 "parser_cocci_menhir.ml"
19758 in
19759 _menhir_env.MenhirLib.EngineTypes.stack <- {
19760 MenhirLib.EngineTypes.state = _menhir_s;
19761 MenhirLib.EngineTypes.semv = Obj.repr _v;
19762 MenhirLib.EngineTypes.startp = _startpos;
19763 MenhirLib.EngineTypes.endp = _endpos;
19764 MenhirLib.EngineTypes.next = _menhir_stack;
19765 });
19766 (fun _menhir_env ->
19767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19768 let {
19769 MenhirLib.EngineTypes.startp = _startpos__5_;
19770 MenhirLib.EngineTypes.endp = _endpos__5_;
19771 MenhirLib.EngineTypes.next = {
19772 MenhirLib.EngineTypes.semv = ids;
19773 MenhirLib.EngineTypes.startp = _startpos_ids_;
19774 MenhirLib.EngineTypes.endp = _endpos_ids_;
19775 MenhirLib.EngineTypes.next = {
19776 MenhirLib.EngineTypes.semv = a;
19777 MenhirLib.EngineTypes.startp = _startpos_a_;
19778 MenhirLib.EngineTypes.endp = _endpos_a_;
19779 MenhirLib.EngineTypes.next = {
19780 MenhirLib.EngineTypes.startp = _startpos__2_;
19781 MenhirLib.EngineTypes.endp = _endpos__2_;
19782 MenhirLib.EngineTypes.next = {
19783 MenhirLib.EngineTypes.state = _menhir_s;
19784 MenhirLib.EngineTypes.semv = ar;
19785 MenhirLib.EngineTypes.startp = _startpos_ar_;
19786 MenhirLib.EngineTypes.endp = _endpos_ar_;
19787 MenhirLib.EngineTypes.next = _menhir_stack;
19788 };
19789 };
19790 };
19791 };
19792 } = _menhir_stack in
19793 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
19794 let a : 'tv_option_TPosAny_ = Obj.magic a in
19795 let ar : 'tv_arity = Obj.magic ar in
19796 let _startpos = _startpos_ar_ in
19797 let _endpos = _endpos__5_ in
19798 let _v : 'tv_metadec =
19799 # 291 "parser_cocci_menhir.mly"
19800 ( (if !Data.in_generating
19801 then failwith "position variables not allowed in a generated rule file");
19802 let kindfn arity name pure check_meta constraints =
19803 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
19804 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
19805 !Data.add_pos_meta name constraints any; tok in
19806 P.create_metadec_with_constraints ar false kindfn ids )
19807 # 19808 "parser_cocci_menhir.ml"
19808 in
19809 _menhir_env.MenhirLib.EngineTypes.stack <- {
19810 MenhirLib.EngineTypes.state = _menhir_s;
19811 MenhirLib.EngineTypes.semv = Obj.repr _v;
19812 MenhirLib.EngineTypes.startp = _startpos;
19813 MenhirLib.EngineTypes.endp = _endpos;
19814 MenhirLib.EngineTypes.next = _menhir_stack;
19815 });
19816 (fun _menhir_env ->
19817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19818 let {
19819 MenhirLib.EngineTypes.startp = _startpos__9_;
19820 MenhirLib.EngineTypes.endp = _endpos__9_;
19821 MenhirLib.EngineTypes.next = {
19822 MenhirLib.EngineTypes.semv = ids;
19823 MenhirLib.EngineTypes.startp = _startpos_ids_;
19824 MenhirLib.EngineTypes.endp = _endpos_ids_;
19825 MenhirLib.EngineTypes.next = {
19826 MenhirLib.EngineTypes.startp = _startpos__7_;
19827 MenhirLib.EngineTypes.endp = _endpos__7_;
19828 MenhirLib.EngineTypes.next = {
19829 MenhirLib.EngineTypes.semv = id;
19830 MenhirLib.EngineTypes.startp = _startpos_id_;
19831 MenhirLib.EngineTypes.endp = _endpos_id_;
19832 MenhirLib.EngineTypes.next = {
19833 MenhirLib.EngineTypes.startp = _startpos__5_;
19834 MenhirLib.EngineTypes.endp = _endpos__5_;
19835 MenhirLib.EngineTypes.next = {
19836 MenhirLib.EngineTypes.startp = _startpos__4_;
19837 MenhirLib.EngineTypes.endp = _endpos__4_;
19838 MenhirLib.EngineTypes.next = {
19839 MenhirLib.EngineTypes.startp = _startpos__3_;
19840 MenhirLib.EngineTypes.endp = _endpos__3_;
19841 MenhirLib.EngineTypes.next = {
19842 MenhirLib.EngineTypes.semv = ispure;
19843 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19844 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19845 MenhirLib.EngineTypes.next = {
19846 MenhirLib.EngineTypes.state = _menhir_s;
19847 MenhirLib.EngineTypes.semv = ar;
19848 MenhirLib.EngineTypes.startp = _startpos_ar_;
19849 MenhirLib.EngineTypes.endp = _endpos_ar_;
19850 MenhirLib.EngineTypes.next = _menhir_stack;
19851 };
19852 };
19853 };
19854 };
19855 };
19856 };
19857 };
19858 };
19859 } = _menhir_stack in
19860 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19861 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
19862 let ispure : 'tv_pure = Obj.magic ispure in
19863 let ar : 'tv_arity = Obj.magic ar in
19864 let _startpos = _startpos_ar_ in
19865 let _endpos = _endpos__9_ in
19866 let _v : 'tv_metadec =
19867 # 301 "parser_cocci_menhir.mly"
19868 ( P.create_len_metadec ar ispure
19869 (fun lenname arity name pure check_meta ->
19870 let tok =
19871 check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
19872 !Data.add_paramlist_meta name (Some lenname) pure; tok)
19873 id ids )
19874 # 19875 "parser_cocci_menhir.ml"
19875 in
19876 _menhir_env.MenhirLib.EngineTypes.stack <- {
19877 MenhirLib.EngineTypes.state = _menhir_s;
19878 MenhirLib.EngineTypes.semv = Obj.repr _v;
19879 MenhirLib.EngineTypes.startp = _startpos;
19880 MenhirLib.EngineTypes.endp = _endpos;
19881 MenhirLib.EngineTypes.next = _menhir_stack;
19882 });
19883 (fun _menhir_env ->
19884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19885 let {
19886 MenhirLib.EngineTypes.startp = _startpos__9_;
19887 MenhirLib.EngineTypes.endp = _endpos__9_;
19888 MenhirLib.EngineTypes.next = {
19889 MenhirLib.EngineTypes.semv = ids;
19890 MenhirLib.EngineTypes.startp = _startpos_ids_;
19891 MenhirLib.EngineTypes.endp = _endpos_ids_;
19892 MenhirLib.EngineTypes.next = {
19893 MenhirLib.EngineTypes.startp = _startpos__7_;
19894 MenhirLib.EngineTypes.endp = _endpos__7_;
19895 MenhirLib.EngineTypes.next = {
19896 MenhirLib.EngineTypes.semv = id;
19897 MenhirLib.EngineTypes.startp = _startpos_id_;
19898 MenhirLib.EngineTypes.endp = _endpos_id_;
19899 MenhirLib.EngineTypes.next = {
19900 MenhirLib.EngineTypes.startp = _startpos__5_;
19901 MenhirLib.EngineTypes.endp = _endpos__5_;
19902 MenhirLib.EngineTypes.next = {
19903 MenhirLib.EngineTypes.startp = _startpos__4_;
19904 MenhirLib.EngineTypes.endp = _endpos__4_;
19905 MenhirLib.EngineTypes.next = {
19906 MenhirLib.EngineTypes.startp = _startpos__3_;
19907 MenhirLib.EngineTypes.endp = _endpos__3_;
19908 MenhirLib.EngineTypes.next = {
19909 MenhirLib.EngineTypes.semv = ispure;
19910 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19911 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19912 MenhirLib.EngineTypes.next = {
19913 MenhirLib.EngineTypes.state = _menhir_s;
19914 MenhirLib.EngineTypes.semv = ar;
19915 MenhirLib.EngineTypes.startp = _startpos_ar_;
19916 MenhirLib.EngineTypes.endp = _endpos_ar_;
19917 MenhirLib.EngineTypes.next = _menhir_stack;
19918 };
19919 };
19920 };
19921 };
19922 };
19923 };
19924 };
19925 };
19926 } = _menhir_stack in
19927 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19928 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
19929 let ispure : 'tv_pure = Obj.magic ispure in
19930 let ar : 'tv_arity = Obj.magic ar in
19931 let _startpos = _startpos_ar_ in
19932 let _endpos = _endpos__9_ in
19933 let _v : 'tv_metadec =
19934 # 310 "parser_cocci_menhir.mly"
19935 ( P.create_len_metadec ar ispure
19936 (fun lenname arity name pure check_meta ->
19937 let tok =
19938 check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
19939 !Data.add_explist_meta name (Some lenname) pure; tok)
19940 id ids )
19941 # 19942 "parser_cocci_menhir.ml"
19942 in
19943 _menhir_env.MenhirLib.EngineTypes.stack <- {
19944 MenhirLib.EngineTypes.state = _menhir_s;
19945 MenhirLib.EngineTypes.semv = Obj.repr _v;
19946 MenhirLib.EngineTypes.startp = _startpos;
19947 MenhirLib.EngineTypes.endp = _endpos;
19948 MenhirLib.EngineTypes.next = _menhir_stack;
19949 });
19950 (fun _menhir_env ->
19951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19952 let {
19953 MenhirLib.EngineTypes.semv = b;
19954 MenhirLib.EngineTypes.startp = _startpos_b_;
19955 MenhirLib.EngineTypes.endp = _endpos_b_;
19956 MenhirLib.EngineTypes.next = {
19957 MenhirLib.EngineTypes.state = _menhir_s;
19958 MenhirLib.EngineTypes.semv = a;
19959 MenhirLib.EngineTypes.startp = _startpos_a_;
19960 MenhirLib.EngineTypes.endp = _endpos_a_;
19961 MenhirLib.EngineTypes.next = _menhir_stack;
19962 };
19963 } = _menhir_stack in
19964 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
19965 let a : 'tv_ctype = Obj.magic a in
19966 let _startpos = _startpos_a_ in
19967 let _endpos = _endpos_b_ in
19968 let _v : 'tv_midzero_list_ctype_ctype_ =
19969 # 1877 "parser_cocci_menhir.mly"
19970 ( let (mids,code) = List.split b in (mids,(a::code)) )
19971 # 19972 "parser_cocci_menhir.ml"
19972 in
19973 _menhir_env.MenhirLib.EngineTypes.stack <- {
19974 MenhirLib.EngineTypes.state = _menhir_s;
19975 MenhirLib.EngineTypes.semv = Obj.repr _v;
19976 MenhirLib.EngineTypes.startp = _startpos;
19977 MenhirLib.EngineTypes.endp = _endpos;
19978 MenhirLib.EngineTypes.next = _menhir_stack;
19979 });
19980 (fun _menhir_env ->
19981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19982 let {
19983 MenhirLib.EngineTypes.semv = b;
19984 MenhirLib.EngineTypes.startp = _startpos_b_;
19985 MenhirLib.EngineTypes.endp = _endpos_b_;
19986 MenhirLib.EngineTypes.next = {
19987 MenhirLib.EngineTypes.state = _menhir_s;
19988 MenhirLib.EngineTypes.semv = a;
19989 MenhirLib.EngineTypes.startp = _startpos_a_;
19990 MenhirLib.EngineTypes.endp = _endpos_a_;
19991 MenhirLib.EngineTypes.next = _menhir_stack;
19992 };
19993 } = _menhir_stack in
19994 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
19995 let a : 'tv_eexpr = Obj.magic a in
19996 let _startpos = _startpos_a_ in
19997 let _endpos = _endpos_b_ in
19998 let _v : 'tv_midzero_list_eexpr_eexpr_ =
19999 # 1877 "parser_cocci_menhir.mly"
20000 ( let (mids,code) = List.split b in (mids,(a::code)) )
20001 # 20002 "parser_cocci_menhir.ml"
20002 in
20003 _menhir_env.MenhirLib.EngineTypes.stack <- {
20004 MenhirLib.EngineTypes.state = _menhir_s;
20005 MenhirLib.EngineTypes.semv = Obj.repr _v;
20006 MenhirLib.EngineTypes.startp = _startpos;
20007 MenhirLib.EngineTypes.endp = _endpos;
20008 MenhirLib.EngineTypes.next = _menhir_stack;
20009 });
20010 (fun _menhir_env ->
20011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20012 let {
20013 MenhirLib.EngineTypes.semv = b;
20014 MenhirLib.EngineTypes.startp = _startpos_b_;
20015 MenhirLib.EngineTypes.endp = _endpos_b_;
20016 MenhirLib.EngineTypes.next = {
20017 MenhirLib.EngineTypes.state = _menhir_s;
20018 MenhirLib.EngineTypes.semv = a;
20019 MenhirLib.EngineTypes.startp = _startpos_a_;
20020 MenhirLib.EngineTypes.endp = _endpos_a_;
20021 MenhirLib.EngineTypes.next = _menhir_stack;
20022 };
20023 } = _menhir_stack in
20024 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20025 let a : 'tv_expr = Obj.magic a in
20026 let _startpos = _startpos_a_ in
20027 let _endpos = _endpos_b_ in
20028 let _v : 'tv_midzero_list_expr_eexpr_ =
20029 # 1877 "parser_cocci_menhir.mly"
20030 ( let (mids,code) = List.split b in (mids,(a::code)) )
20031 # 20032 "parser_cocci_menhir.ml"
20032 in
20033 _menhir_env.MenhirLib.EngineTypes.stack <- {
20034 MenhirLib.EngineTypes.state = _menhir_s;
20035 MenhirLib.EngineTypes.semv = Obj.repr _v;
20036 MenhirLib.EngineTypes.startp = _startpos;
20037 MenhirLib.EngineTypes.endp = _endpos;
20038 MenhirLib.EngineTypes.next = _menhir_stack;
20039 });
20040 (fun _menhir_env ->
20041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20042 let {
20043 MenhirLib.EngineTypes.semv = b;
20044 MenhirLib.EngineTypes.startp = _startpos_b_;
20045 MenhirLib.EngineTypes.endp = _endpos_b_;
20046 MenhirLib.EngineTypes.next = {
20047 MenhirLib.EngineTypes.state = _menhir_s;
20048 MenhirLib.EngineTypes.semv = a;
20049 MenhirLib.EngineTypes.startp = _startpos_a_;
20050 MenhirLib.EngineTypes.endp = _endpos_a_;
20051 MenhirLib.EngineTypes.next = _menhir_stack;
20052 };
20053 } = _menhir_stack in
20054 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
20055 let a : 'tv_fun_after_stm = Obj.magic a in
20056 let _startpos = _startpos_a_ in
20057 let _endpos = _endpos_b_ in
20058 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
20059 # 1877 "parser_cocci_menhir.mly"
20060 ( let (mids,code) = List.split b in (mids,(a::code)) )
20061 # 20062 "parser_cocci_menhir.ml"
20062 in
20063 _menhir_env.MenhirLib.EngineTypes.stack <- {
20064 MenhirLib.EngineTypes.state = _menhir_s;
20065 MenhirLib.EngineTypes.semv = Obj.repr _v;
20066 MenhirLib.EngineTypes.startp = _startpos;
20067 MenhirLib.EngineTypes.endp = _endpos;
20068 MenhirLib.EngineTypes.next = _menhir_stack;
20069 });
20070 (fun _menhir_env ->
20071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20072 let {
20073 MenhirLib.EngineTypes.semv = b;
20074 MenhirLib.EngineTypes.startp = _startpos_b_;
20075 MenhirLib.EngineTypes.endp = _endpos_b_;
20076 MenhirLib.EngineTypes.next = {
20077 MenhirLib.EngineTypes.state = _menhir_s;
20078 MenhirLib.EngineTypes.semv = a;
20079 MenhirLib.EngineTypes.startp = _startpos_a_;
20080 MenhirLib.EngineTypes.endp = _endpos_a_;
20081 MenhirLib.EngineTypes.next = _menhir_stack;
20082 };
20083 } = _menhir_stack in
20084 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
20085 let a : 'tv_fun_start = Obj.magic a in
20086 let _startpos = _startpos_a_ in
20087 let _endpos = _endpos_b_ in
20088 let _v : 'tv_midzero_list_fun_start_fun_start_ =
20089 # 1877 "parser_cocci_menhir.mly"
20090 ( let (mids,code) = List.split b in (mids,(a::code)) )
20091 # 20092 "parser_cocci_menhir.ml"
20092 in
20093 _menhir_env.MenhirLib.EngineTypes.stack <- {
20094 MenhirLib.EngineTypes.state = _menhir_s;
20095 MenhirLib.EngineTypes.semv = Obj.repr _v;
20096 MenhirLib.EngineTypes.startp = _startpos;
20097 MenhirLib.EngineTypes.endp = _endpos;
20098 MenhirLib.EngineTypes.next = _menhir_stack;
20099 });
20100 (fun _menhir_env ->
20101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20102 let {
20103 MenhirLib.EngineTypes.semv = b;
20104 MenhirLib.EngineTypes.startp = _startpos_b_;
20105 MenhirLib.EngineTypes.endp = _endpos_b_;
20106 MenhirLib.EngineTypes.next = {
20107 MenhirLib.EngineTypes.state = _menhir_s;
20108 MenhirLib.EngineTypes.semv = a;
20109 MenhirLib.EngineTypes.startp = _startpos_a_;
20110 MenhirLib.EngineTypes.endp = _endpos_a_;
20111 MenhirLib.EngineTypes.next = _menhir_stack;
20112 };
20113 } = _menhir_stack in
20114 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
20115 let a : 'tv_rule_elem_statement = Obj.magic a in
20116 let _startpos = _startpos_a_ in
20117 let _endpos = _endpos_b_ in
20118 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
20119 # 1877 "parser_cocci_menhir.mly"
20120 ( let (mids,code) = List.split b in (mids,(a::code)) )
20121 # 20122 "parser_cocci_menhir.ml"
20122 in
20123 _menhir_env.MenhirLib.EngineTypes.stack <- {
20124 MenhirLib.EngineTypes.state = _menhir_s;
20125 MenhirLib.EngineTypes.semv = Obj.repr _v;
20126 MenhirLib.EngineTypes.startp = _startpos;
20127 MenhirLib.EngineTypes.endp = _endpos;
20128 MenhirLib.EngineTypes.next = _menhir_stack;
20129 });
20130 (fun _menhir_env ->
20131 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20132 let {
20133 MenhirLib.EngineTypes.semv = b;
20134 MenhirLib.EngineTypes.startp = _startpos_b_;
20135 MenhirLib.EngineTypes.endp = _endpos_b_;
20136 MenhirLib.EngineTypes.next = {
20137 MenhirLib.EngineTypes.state = _menhir_s;
20138 MenhirLib.EngineTypes.semv = a;
20139 MenhirLib.EngineTypes.startp = _startpos_a_;
20140 MenhirLib.EngineTypes.endp = _endpos_a_;
20141 MenhirLib.EngineTypes.next = _menhir_stack;
20142 };
20143 } = _menhir_stack in
20144 let b : 'tv_list_mzl_statement__ = Obj.magic b in
20145 let a : 'tv_statement = Obj.magic a in
20146 let _startpos = _startpos_a_ in
20147 let _endpos = _endpos_b_ in
20148 let _v : 'tv_midzero_list_statement_statement_ =
20149 # 1877 "parser_cocci_menhir.mly"
20150 ( let (mids,code) = List.split b in (mids,(a::code)) )
20151 # 20152 "parser_cocci_menhir.ml"
20152 in
20153 _menhir_env.MenhirLib.EngineTypes.stack <- {
20154 MenhirLib.EngineTypes.state = _menhir_s;
20155 MenhirLib.EngineTypes.semv = Obj.repr _v;
20156 MenhirLib.EngineTypes.startp = _startpos;
20157 MenhirLib.EngineTypes.endp = _endpos;
20158 MenhirLib.EngineTypes.next = _menhir_stack;
20159 });
20160 (fun _menhir_env ->
20161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20162 let {
20163 MenhirLib.EngineTypes.semv = b;
20164 MenhirLib.EngineTypes.startp = _startpos_b_;
20165 MenhirLib.EngineTypes.endp = _endpos_b_;
20166 MenhirLib.EngineTypes.next = {
20167 MenhirLib.EngineTypes.state = _menhir_s;
20168 MenhirLib.EngineTypes.semv = f;
20169 MenhirLib.EngineTypes.startp = _startpos_f_;
20170 MenhirLib.EngineTypes.endp = _endpos_f_;
20171 MenhirLib.EngineTypes.next = _menhir_stack;
20172 };
20173 } = _menhir_stack in
20174 let b : 'tv_loption_minus_start_ = Obj.magic b in
20175 let f : 'tv_loption_filespec_ = Obj.magic f in
20176 let _startpos = _startpos_f_ in
20177 let _endpos = _endpos_b_ in
20178 let _v : 'tv_minus_body =
20179 # 604 "parser_cocci_menhir.mly"
20180 ( match f@b(*@ew*) with
20181 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20182 | code -> Top_level.top_level code )
20183 # 20184 "parser_cocci_menhir.ml"
20184 in
20185 _menhir_env.MenhirLib.EngineTypes.stack <- {
20186 MenhirLib.EngineTypes.state = _menhir_s;
20187 MenhirLib.EngineTypes.semv = Obj.repr _v;
20188 MenhirLib.EngineTypes.startp = _startpos;
20189 MenhirLib.EngineTypes.endp = _endpos;
20190 MenhirLib.EngineTypes.next = _menhir_stack;
20191 });
20192 (fun _menhir_env ->
20193 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20194 let {
20195 MenhirLib.EngineTypes.semv = b;
20196 MenhirLib.EngineTypes.startp = _startpos_b_;
20197 MenhirLib.EngineTypes.endp = _endpos_b_;
20198 MenhirLib.EngineTypes.next = {
20199 MenhirLib.EngineTypes.state = _menhir_s;
20200 MenhirLib.EngineTypes.semv = f;
20201 MenhirLib.EngineTypes.startp = _startpos_f_;
20202 MenhirLib.EngineTypes.endp = _endpos_f_;
20203 MenhirLib.EngineTypes.next = _menhir_stack;
20204 };
20205 } = _menhir_stack in
20206 let b : 'tv_top_eexpr = Obj.magic b in
20207 let f : 'tv_loption_filespec_ = Obj.magic f in
20208 let _startpos = _startpos_f_ in
20209 let _endpos = _endpos_b_ in
20210 let _v : 'tv_minus_exp_body =
20211 # 618 "parser_cocci_menhir.mly"
20212 ( match f@[b](*@ew*) with
20213 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20214 | code -> Top_level.top_level code )
20215 # 20216 "parser_cocci_menhir.ml"
20216 in
20217 _menhir_env.MenhirLib.EngineTypes.stack <- {
20218 MenhirLib.EngineTypes.state = _menhir_s;
20219 MenhirLib.EngineTypes.semv = Obj.repr _v;
20220 MenhirLib.EngineTypes.startp = _startpos;
20221 MenhirLib.EngineTypes.endp = _endpos;
20222 MenhirLib.EngineTypes.next = _menhir_stack;
20223 });
20224 (fun _menhir_env ->
20225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20226 let {
20227 MenhirLib.EngineTypes.startp = _startpos__2_;
20228 MenhirLib.EngineTypes.endp = _endpos__2_;
20229 MenhirLib.EngineTypes.next = {
20230 MenhirLib.EngineTypes.state = _menhir_s;
20231 MenhirLib.EngineTypes.semv = _1;
20232 MenhirLib.EngineTypes.startp = _startpos__1_;
20233 MenhirLib.EngineTypes.endp = _endpos__1_;
20234 MenhirLib.EngineTypes.next = _menhir_stack;
20235 };
20236 } = _menhir_stack in
20237 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
20238 let _startpos = _startpos__1_ in
20239 let _endpos = _endpos__2_ in
20240 let _v : (
20241 # 137 "parser_cocci_menhir.mly"
20242 (Ast0_cocci.rule)
20243 # 20244 "parser_cocci_menhir.ml"
20244 ) =
20245 # 177 "parser_cocci_menhir.mly"
20246 ( _1 )
20247 # 20248 "parser_cocci_menhir.ml"
20248 in
20249 _menhir_env.MenhirLib.EngineTypes.stack <- {
20250 MenhirLib.EngineTypes.state = _menhir_s;
20251 MenhirLib.EngineTypes.semv = Obj.repr _v;
20252 MenhirLib.EngineTypes.startp = _startpos;
20253 MenhirLib.EngineTypes.endp = _endpos;
20254 MenhirLib.EngineTypes.next = _menhir_stack;
20255 });
20256 (fun _menhir_env ->
20257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20258 let {
20259 MenhirLib.EngineTypes.startp = _startpos__2_;
20260 MenhirLib.EngineTypes.endp = _endpos__2_;
20261 MenhirLib.EngineTypes.next = {
20262 MenhirLib.EngineTypes.state = _menhir_s;
20263 MenhirLib.EngineTypes.semv = m;
20264 MenhirLib.EngineTypes.startp = _startpos_m_;
20265 MenhirLib.EngineTypes.endp = _endpos_m_;
20266 MenhirLib.EngineTypes.next = _menhir_stack;
20267 };
20268 } = _menhir_stack in
20269 let m : 'tv_minus_exp_body = Obj.magic m in
20270 let _startpos = _startpos_m_ in
20271 let _endpos = _endpos__2_ in
20272 let _v : (
20273 # 137 "parser_cocci_menhir.mly"
20274 (Ast0_cocci.rule)
20275 # 20276 "parser_cocci_menhir.ml"
20276 ) =
20277 # 177 "parser_cocci_menhir.mly"
20278 ( m )
20279 # 20280 "parser_cocci_menhir.ml"
20280 in
20281 _menhir_env.MenhirLib.EngineTypes.stack <- {
20282 MenhirLib.EngineTypes.state = _menhir_s;
20283 MenhirLib.EngineTypes.semv = Obj.repr _v;
20284 MenhirLib.EngineTypes.startp = _startpos;
20285 MenhirLib.EngineTypes.endp = _endpos;
20286 MenhirLib.EngineTypes.next = _menhir_stack;
20287 });
20288 (fun _menhir_env ->
20289 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20290 let {
20291 MenhirLib.EngineTypes.startp = _startpos__2_;
20292 MenhirLib.EngineTypes.endp = _endpos__2_;
20293 MenhirLib.EngineTypes.next = {
20294 MenhirLib.EngineTypes.state = _menhir_s;
20295 MenhirLib.EngineTypes.semv = m;
20296 MenhirLib.EngineTypes.startp = _startpos_m_;
20297 MenhirLib.EngineTypes.endp = _endpos_m_;
20298 MenhirLib.EngineTypes.next = _menhir_stack;
20299 };
20300 } = _menhir_stack in
20301 let m : 'tv_minus_exp_body = Obj.magic m in
20302 let _startpos = _startpos_m_ in
20303 let _endpos = _endpos__2_ in
20304 let _v : (
20305 # 137 "parser_cocci_menhir.mly"
20306 (Ast0_cocci.rule)
20307 # 20308 "parser_cocci_menhir.ml"
20308 ) =
20309 # 178 "parser_cocci_menhir.mly"
20310 ( m )
20311 # 20312 "parser_cocci_menhir.ml"
20312 in
20313 _menhir_env.MenhirLib.EngineTypes.stack <- {
20314 MenhirLib.EngineTypes.state = _menhir_s;
20315 MenhirLib.EngineTypes.semv = Obj.repr _v;
20316 MenhirLib.EngineTypes.startp = _startpos;
20317 MenhirLib.EngineTypes.endp = _endpos;
20318 MenhirLib.EngineTypes.next = _menhir_stack;
20319 });
20320 (fun _menhir_env ->
20321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20322 let {
20323 MenhirLib.EngineTypes.startp = _startpos__2_;
20324 MenhirLib.EngineTypes.endp = _endpos__2_;
20325 MenhirLib.EngineTypes.next = {
20326 MenhirLib.EngineTypes.state = _menhir_s;
20327 MenhirLib.EngineTypes.semv = _1;
20328 MenhirLib.EngineTypes.startp = _startpos__1_;
20329 MenhirLib.EngineTypes.endp = _endpos__1_;
20330 MenhirLib.EngineTypes.next = _menhir_stack;
20331 };
20332 } = _menhir_stack in
20333 let _1 : 'tv_minus_body = Obj.magic _1 in
20334 let _startpos = _startpos__1_ in
20335 let _endpos = _endpos__2_ in
20336 let _v : (
20337 # 134 "parser_cocci_menhir.mly"
20338 (Ast0_cocci.rule)
20339 # 20340 "parser_cocci_menhir.ml"
20340 ) =
20341 # 173 "parser_cocci_menhir.mly"
20342 ( _1 )
20343 # 20344 "parser_cocci_menhir.ml"
20344 in
20345 _menhir_env.MenhirLib.EngineTypes.stack <- {
20346 MenhirLib.EngineTypes.state = _menhir_s;
20347 MenhirLib.EngineTypes.semv = Obj.repr _v;
20348 MenhirLib.EngineTypes.startp = _startpos;
20349 MenhirLib.EngineTypes.endp = _endpos;
20350 MenhirLib.EngineTypes.next = _menhir_stack;
20351 });
20352 (fun _menhir_env ->
20353 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20354 let {
20355 MenhirLib.EngineTypes.startp = _startpos__2_;
20356 MenhirLib.EngineTypes.endp = _endpos__2_;
20357 MenhirLib.EngineTypes.next = {
20358 MenhirLib.EngineTypes.state = _menhir_s;
20359 MenhirLib.EngineTypes.semv = m;
20360 MenhirLib.EngineTypes.startp = _startpos_m_;
20361 MenhirLib.EngineTypes.endp = _endpos_m_;
20362 MenhirLib.EngineTypes.next = _menhir_stack;
20363 };
20364 } = _menhir_stack in
20365 let m : 'tv_minus_body = Obj.magic m in
20366 let _startpos = _startpos_m_ in
20367 let _endpos = _endpos__2_ in
20368 let _v : (
20369 # 134 "parser_cocci_menhir.mly"
20370 (Ast0_cocci.rule)
20371 # 20372 "parser_cocci_menhir.ml"
20372 ) =
20373 # 173 "parser_cocci_menhir.mly"
20374 ( m )
20375 # 20376 "parser_cocci_menhir.ml"
20376 in
20377 _menhir_env.MenhirLib.EngineTypes.stack <- {
20378 MenhirLib.EngineTypes.state = _menhir_s;
20379 MenhirLib.EngineTypes.semv = Obj.repr _v;
20380 MenhirLib.EngineTypes.startp = _startpos;
20381 MenhirLib.EngineTypes.endp = _endpos;
20382 MenhirLib.EngineTypes.next = _menhir_stack;
20383 });
20384 (fun _menhir_env ->
20385 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20386 let {
20387 MenhirLib.EngineTypes.startp = _startpos__2_;
20388 MenhirLib.EngineTypes.endp = _endpos__2_;
20389 MenhirLib.EngineTypes.next = {
20390 MenhirLib.EngineTypes.state = _menhir_s;
20391 MenhirLib.EngineTypes.semv = m;
20392 MenhirLib.EngineTypes.startp = _startpos_m_;
20393 MenhirLib.EngineTypes.endp = _endpos_m_;
20394 MenhirLib.EngineTypes.next = _menhir_stack;
20395 };
20396 } = _menhir_stack in
20397 let m : 'tv_minus_body = Obj.magic m in
20398 let _startpos = _startpos_m_ in
20399 let _endpos = _endpos__2_ in
20400 let _v : (
20401 # 134 "parser_cocci_menhir.mly"
20402 (Ast0_cocci.rule)
20403 # 20404 "parser_cocci_menhir.ml"
20404 ) =
20405 # 174 "parser_cocci_menhir.mly"
20406 ( m )
20407 # 20408 "parser_cocci_menhir.ml"
20408 in
20409 _menhir_env.MenhirLib.EngineTypes.stack <- {
20410 MenhirLib.EngineTypes.state = _menhir_s;
20411 MenhirLib.EngineTypes.semv = Obj.repr _v;
20412 MenhirLib.EngineTypes.startp = _startpos;
20413 MenhirLib.EngineTypes.endp = _endpos;
20414 MenhirLib.EngineTypes.next = _menhir_stack;
20415 });
20416 (fun _menhir_env ->
20417 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20418 let {
20419 MenhirLib.EngineTypes.state = _menhir_s;
20420 MenhirLib.EngineTypes.semv = _1;
20421 MenhirLib.EngineTypes.startp = _startpos__1_;
20422 MenhirLib.EngineTypes.endp = _endpos__1_;
20423 MenhirLib.EngineTypes.next = _menhir_stack;
20424 } = _menhir_stack in
20425 let _1 : 'tv_fundecl = Obj.magic _1 in
20426 let _startpos = _startpos__1_ in
20427 let _endpos = _endpos__1_ in
20428 let _v : 'tv_minus_start =
20429 # 1686 "parser_cocci_menhir.mly"
20430 ( [Ast0.wrap(Ast0.DECL(_1))] )
20431 # 20432 "parser_cocci_menhir.ml"
20432 in
20433 _menhir_env.MenhirLib.EngineTypes.stack <- {
20434 MenhirLib.EngineTypes.state = _menhir_s;
20435 MenhirLib.EngineTypes.semv = Obj.repr _v;
20436 MenhirLib.EngineTypes.startp = _startpos;
20437 MenhirLib.EngineTypes.endp = _endpos;
20438 MenhirLib.EngineTypes.next = _menhir_stack;
20439 });
20440 (fun _menhir_env ->
20441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20442 let {
20443 MenhirLib.EngineTypes.state = _menhir_s;
20444 MenhirLib.EngineTypes.semv = _1;
20445 MenhirLib.EngineTypes.startp = _startpos__1_;
20446 MenhirLib.EngineTypes.endp = _endpos__1_;
20447 MenhirLib.EngineTypes.next = _menhir_stack;
20448 } = _menhir_stack in
20449 let _1 : 'tv_ctype = Obj.magic _1 in
20450 let _startpos = _startpos__1_ in
20451 let _endpos = _endpos__1_ in
20452 let _v : 'tv_minus_start =
20453 # 1687 "parser_cocci_menhir.mly"
20454 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
20455 # 20456 "parser_cocci_menhir.ml"
20456 in
20457 _menhir_env.MenhirLib.EngineTypes.stack <- {
20458 MenhirLib.EngineTypes.state = _menhir_s;
20459 MenhirLib.EngineTypes.semv = Obj.repr _v;
20460 MenhirLib.EngineTypes.startp = _startpos;
20461 MenhirLib.EngineTypes.endp = _endpos;
20462 MenhirLib.EngineTypes.next = _menhir_stack;
20463 });
20464 (fun _menhir_env ->
20465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20466 let {
20467 MenhirLib.EngineTypes.state = _menhir_s;
20468 MenhirLib.EngineTypes.semv = _1;
20469 MenhirLib.EngineTypes.startp = _startpos__1_;
20470 MenhirLib.EngineTypes.endp = _endpos__1_;
20471 MenhirLib.EngineTypes.next = _menhir_stack;
20472 } = _menhir_stack in
20473 let _1 : 'tv_top_init = Obj.magic _1 in
20474 let _startpos = _startpos__1_ in
20475 let _endpos = _endpos__1_ in
20476 let _v : 'tv_minus_start =
20477 # 1688 "parser_cocci_menhir.mly"
20478 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
20479 # 20480 "parser_cocci_menhir.ml"
20480 in
20481 _menhir_env.MenhirLib.EngineTypes.stack <- {
20482 MenhirLib.EngineTypes.state = _menhir_s;
20483 MenhirLib.EngineTypes.semv = Obj.repr _v;
20484 MenhirLib.EngineTypes.startp = _startpos;
20485 MenhirLib.EngineTypes.endp = _endpos;
20486 MenhirLib.EngineTypes.next = _menhir_stack;
20487 });
20488 (fun _menhir_env ->
20489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20490 let {
20491 MenhirLib.EngineTypes.state = _menhir_s;
20492 MenhirLib.EngineTypes.semv = _1;
20493 MenhirLib.EngineTypes.startp = _startpos__1_;
20494 MenhirLib.EngineTypes.endp = _endpos__1_;
20495 MenhirLib.EngineTypes.next = _menhir_stack;
20496 } = _menhir_stack in
20497 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
20498 let _startpos = _startpos__1_ in
20499 let _endpos = _endpos__1_ in
20500 let _v : 'tv_minus_start =
20501 # 1690 "parser_cocci_menhir.mly"
20502 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
20503 # 20504 "parser_cocci_menhir.ml"
20504 in
20505 _menhir_env.MenhirLib.EngineTypes.stack <- {
20506 MenhirLib.EngineTypes.state = _menhir_s;
20507 MenhirLib.EngineTypes.semv = Obj.repr _v;
20508 MenhirLib.EngineTypes.startp = _startpos;
20509 MenhirLib.EngineTypes.endp = _endpos;
20510 MenhirLib.EngineTypes.next = _menhir_stack;
20511 });
20512 (fun _menhir_env ->
20513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20514 let {
20515 MenhirLib.EngineTypes.semv = b;
20516 MenhirLib.EngineTypes.startp = _startpos_b_;
20517 MenhirLib.EngineTypes.endp = _endpos_b_;
20518 MenhirLib.EngineTypes.next = {
20519 MenhirLib.EngineTypes.state = _menhir_s;
20520 MenhirLib.EngineTypes.semv = a;
20521 MenhirLib.EngineTypes.startp = _startpos_a_;
20522 MenhirLib.EngineTypes.endp = _endpos_a_;
20523 MenhirLib.EngineTypes.next = _menhir_stack;
20524 };
20525 } = _menhir_stack in
20526 let b : 'tv_ctype = Obj.magic b in
20527 let a : (
20528 # 77 "parser_cocci_menhir.mly"
20529 (Data.clt)
20530 # 20531 "parser_cocci_menhir.ml"
20531 ) = Obj.magic a in
20532 let _startpos = _startpos_a_ in
20533 let _endpos = _endpos_b_ in
20534 let _v : 'tv_mzl_ctype_ =
20535 # 1880 "parser_cocci_menhir.mly"
20536 ( (P.clt2mcode "|" a, b) )
20537 # 20538 "parser_cocci_menhir.ml"
20538 in
20539 _menhir_env.MenhirLib.EngineTypes.stack <- {
20540 MenhirLib.EngineTypes.state = _menhir_s;
20541 MenhirLib.EngineTypes.semv = Obj.repr _v;
20542 MenhirLib.EngineTypes.startp = _startpos;
20543 MenhirLib.EngineTypes.endp = _endpos;
20544 MenhirLib.EngineTypes.next = _menhir_stack;
20545 });
20546 (fun _menhir_env ->
20547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20548 let {
20549 MenhirLib.EngineTypes.semv = b;
20550 MenhirLib.EngineTypes.startp = _startpos_b_;
20551 MenhirLib.EngineTypes.endp = _endpos_b_;
20552 MenhirLib.EngineTypes.next = {
20553 MenhirLib.EngineTypes.state = _menhir_s;
20554 MenhirLib.EngineTypes.semv = a;
20555 MenhirLib.EngineTypes.startp = _startpos_a_;
20556 MenhirLib.EngineTypes.endp = _endpos_a_;
20557 MenhirLib.EngineTypes.next = _menhir_stack;
20558 };
20559 } = _menhir_stack in
20560 let b : 'tv_eexpr = Obj.magic b in
20561 let a : (
20562 # 77 "parser_cocci_menhir.mly"
20563 (Data.clt)
20564 # 20565 "parser_cocci_menhir.ml"
20565 ) = Obj.magic a in
20566 let _startpos = _startpos_a_ in
20567 let _endpos = _endpos_b_ in
20568 let _v : 'tv_mzl_eexpr_ =
20569 # 1880 "parser_cocci_menhir.mly"
20570 ( (P.clt2mcode "|" a, b) )
20571 # 20572 "parser_cocci_menhir.ml"
20572 in
20573 _menhir_env.MenhirLib.EngineTypes.stack <- {
20574 MenhirLib.EngineTypes.state = _menhir_s;
20575 MenhirLib.EngineTypes.semv = Obj.repr _v;
20576 MenhirLib.EngineTypes.startp = _startpos;
20577 MenhirLib.EngineTypes.endp = _endpos;
20578 MenhirLib.EngineTypes.next = _menhir_stack;
20579 });
20580 (fun _menhir_env ->
20581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20582 let {
20583 MenhirLib.EngineTypes.semv = b;
20584 MenhirLib.EngineTypes.startp = _startpos_b_;
20585 MenhirLib.EngineTypes.endp = _endpos_b_;
20586 MenhirLib.EngineTypes.next = {
20587 MenhirLib.EngineTypes.state = _menhir_s;
20588 MenhirLib.EngineTypes.semv = a;
20589 MenhirLib.EngineTypes.startp = _startpos_a_;
20590 MenhirLib.EngineTypes.endp = _endpos_a_;
20591 MenhirLib.EngineTypes.next = _menhir_stack;
20592 };
20593 } = _menhir_stack in
20594 let b : 'tv_fun_after_dots_or = Obj.magic b in
20595 let a : (
20596 # 77 "parser_cocci_menhir.mly"
20597 (Data.clt)
20598 # 20599 "parser_cocci_menhir.ml"
20599 ) = Obj.magic a in
20600 let _startpos = _startpos_a_ in
20601 let _endpos = _endpos_b_ in
20602 let _v : 'tv_mzl_fun_after_dots_or_ =
20603 # 1880 "parser_cocci_menhir.mly"
20604 ( (P.clt2mcode "|" a, b) )
20605 # 20606 "parser_cocci_menhir.ml"
20606 in
20607 _menhir_env.MenhirLib.EngineTypes.stack <- {
20608 MenhirLib.EngineTypes.state = _menhir_s;
20609 MenhirLib.EngineTypes.semv = Obj.repr _v;
20610 MenhirLib.EngineTypes.startp = _startpos;
20611 MenhirLib.EngineTypes.endp = _endpos;
20612 MenhirLib.EngineTypes.next = _menhir_stack;
20613 });
20614 (fun _menhir_env ->
20615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20616 let {
20617 MenhirLib.EngineTypes.semv = b;
20618 MenhirLib.EngineTypes.startp = _startpos_b_;
20619 MenhirLib.EngineTypes.endp = _endpos_b_;
20620 MenhirLib.EngineTypes.next = {
20621 MenhirLib.EngineTypes.state = _menhir_s;
20622 MenhirLib.EngineTypes.semv = a;
20623 MenhirLib.EngineTypes.startp = _startpos_a_;
20624 MenhirLib.EngineTypes.endp = _endpos_a_;
20625 MenhirLib.EngineTypes.next = _menhir_stack;
20626 };
20627 } = _menhir_stack in
20628 let b : 'tv_fun_start = Obj.magic b in
20629 let a : (
20630 # 77 "parser_cocci_menhir.mly"
20631 (Data.clt)
20632 # 20633 "parser_cocci_menhir.ml"
20633 ) = Obj.magic a in
20634 let _startpos = _startpos_a_ in
20635 let _endpos = _endpos_b_ in
20636 let _v : 'tv_mzl_fun_start_ =
20637 # 1880 "parser_cocci_menhir.mly"
20638 ( (P.clt2mcode "|" a, b) )
20639 # 20640 "parser_cocci_menhir.ml"
20640 in
20641 _menhir_env.MenhirLib.EngineTypes.stack <- {
20642 MenhirLib.EngineTypes.state = _menhir_s;
20643 MenhirLib.EngineTypes.semv = Obj.repr _v;
20644 MenhirLib.EngineTypes.startp = _startpos;
20645 MenhirLib.EngineTypes.endp = _endpos;
20646 MenhirLib.EngineTypes.next = _menhir_stack;
20647 });
20648 (fun _menhir_env ->
20649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20650 let {
20651 MenhirLib.EngineTypes.semv = b;
20652 MenhirLib.EngineTypes.startp = _startpos_b_;
20653 MenhirLib.EngineTypes.endp = _endpos_b_;
20654 MenhirLib.EngineTypes.next = {
20655 MenhirLib.EngineTypes.state = _menhir_s;
20656 MenhirLib.EngineTypes.semv = a;
20657 MenhirLib.EngineTypes.startp = _startpos_a_;
20658 MenhirLib.EngineTypes.endp = _endpos_a_;
20659 MenhirLib.EngineTypes.next = _menhir_stack;
20660 };
20661 } = _menhir_stack in
20662 let b : 'tv_rule_elem_statement = Obj.magic b in
20663 let a : (
20664 # 77 "parser_cocci_menhir.mly"
20665 (Data.clt)
20666 # 20667 "parser_cocci_menhir.ml"
20667 ) = Obj.magic a in
20668 let _startpos = _startpos_a_ in
20669 let _endpos = _endpos_b_ in
20670 let _v : 'tv_mzl_rule_elem_statement_ =
20671 # 1880 "parser_cocci_menhir.mly"
20672 ( (P.clt2mcode "|" a, b) )
20673 # 20674 "parser_cocci_menhir.ml"
20674 in
20675 _menhir_env.MenhirLib.EngineTypes.stack <- {
20676 MenhirLib.EngineTypes.state = _menhir_s;
20677 MenhirLib.EngineTypes.semv = Obj.repr _v;
20678 MenhirLib.EngineTypes.startp = _startpos;
20679 MenhirLib.EngineTypes.endp = _endpos;
20680 MenhirLib.EngineTypes.next = _menhir_stack;
20681 });
20682 (fun _menhir_env ->
20683 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20684 let {
20685 MenhirLib.EngineTypes.semv = b;
20686 MenhirLib.EngineTypes.startp = _startpos_b_;
20687 MenhirLib.EngineTypes.endp = _endpos_b_;
20688 MenhirLib.EngineTypes.next = {
20689 MenhirLib.EngineTypes.state = _menhir_s;
20690 MenhirLib.EngineTypes.semv = a;
20691 MenhirLib.EngineTypes.startp = _startpos_a_;
20692 MenhirLib.EngineTypes.endp = _endpos_a_;
20693 MenhirLib.EngineTypes.next = _menhir_stack;
20694 };
20695 } = _menhir_stack in
20696 let b : 'tv_statement = Obj.magic b in
20697 let a : (
20698 # 77 "parser_cocci_menhir.mly"
20699 (Data.clt)
20700 # 20701 "parser_cocci_menhir.ml"
20701 ) = Obj.magic a in
20702 let _startpos = _startpos_a_ in
20703 let _endpos = _endpos_b_ in
20704 let _v : 'tv_mzl_statement_ =
20705 # 1880 "parser_cocci_menhir.mly"
20706 ( (P.clt2mcode "|" a, b) )
20707 # 20708 "parser_cocci_menhir.ml"
20708 in
20709 _menhir_env.MenhirLib.EngineTypes.stack <- {
20710 MenhirLib.EngineTypes.state = _menhir_s;
20711 MenhirLib.EngineTypes.semv = Obj.repr _v;
20712 MenhirLib.EngineTypes.startp = _startpos;
20713 MenhirLib.EngineTypes.endp = _endpos;
20714 MenhirLib.EngineTypes.next = _menhir_stack;
20715 });
20716 (fun _menhir_env ->
20717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20718 let {
20719 MenhirLib.EngineTypes.state = _menhir_s;
20720 MenhirLib.EngineTypes.semv = _1;
20721 MenhirLib.EngineTypes.startp = _startpos__1_;
20722 MenhirLib.EngineTypes.endp = _endpos__1_;
20723 MenhirLib.EngineTypes.next = _menhir_stack;
20724 } = _menhir_stack in
20725 let _1 : 'tv_decl = Obj.magic _1 in
20726 let _startpos = _startpos__1_ in
20727 let _endpos = _endpos__1_ in
20728 let _v : 'tv_name_opt_decl =
20729 # 825 "parser_cocci_menhir.mly"
20730 ( _1 )
20731 # 20732 "parser_cocci_menhir.ml"
20732 in
20733 _menhir_env.MenhirLib.EngineTypes.stack <- {
20734 MenhirLib.EngineTypes.state = _menhir_s;
20735 MenhirLib.EngineTypes.semv = Obj.repr _v;
20736 MenhirLib.EngineTypes.startp = _startpos;
20737 MenhirLib.EngineTypes.endp = _endpos;
20738 MenhirLib.EngineTypes.next = _menhir_stack;
20739 });
20740 (fun _menhir_env ->
20741 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20742 let {
20743 MenhirLib.EngineTypes.semv = rp1;
20744 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20745 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20746 MenhirLib.EngineTypes.next = {
20747 MenhirLib.EngineTypes.semv = d;
20748 MenhirLib.EngineTypes.startp = _startpos_d_;
20749 MenhirLib.EngineTypes.endp = _endpos_d_;
20750 MenhirLib.EngineTypes.next = {
20751 MenhirLib.EngineTypes.semv = lp1;
20752 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20753 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20754 MenhirLib.EngineTypes.next = {
20755 MenhirLib.EngineTypes.semv = rp;
20756 MenhirLib.EngineTypes.startp = _startpos_rp_;
20757 MenhirLib.EngineTypes.endp = _endpos_rp_;
20758 MenhirLib.EngineTypes.next = {
20759 MenhirLib.EngineTypes.semv = s;
20760 MenhirLib.EngineTypes.startp = _startpos_s_;
20761 MenhirLib.EngineTypes.endp = _endpos_s_;
20762 MenhirLib.EngineTypes.next = {
20763 MenhirLib.EngineTypes.semv = lp;
20764 MenhirLib.EngineTypes.startp = _startpos_lp_;
20765 MenhirLib.EngineTypes.endp = _endpos_lp_;
20766 MenhirLib.EngineTypes.next = {
20767 MenhirLib.EngineTypes.state = _menhir_s;
20768 MenhirLib.EngineTypes.semv = t;
20769 MenhirLib.EngineTypes.startp = _startpos_t_;
20770 MenhirLib.EngineTypes.endp = _endpos_t_;
20771 MenhirLib.EngineTypes.next = _menhir_stack;
20772 };
20773 };
20774 };
20775 };
20776 };
20777 };
20778 } = _menhir_stack in
20779 let rp1 : (
20780 # 77 "parser_cocci_menhir.mly"
20781 (Data.clt)
20782 # 20783 "parser_cocci_menhir.ml"
20783 ) = Obj.magic rp1 in
20784 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
20785 let lp1 : (
20786 # 76 "parser_cocci_menhir.mly"
20787 (Data.clt)
20788 # 20789 "parser_cocci_menhir.ml"
20789 ) = Obj.magic lp1 in
20790 let rp : (
20791 # 77 "parser_cocci_menhir.mly"
20792 (Data.clt)
20793 # 20794 "parser_cocci_menhir.ml"
20794 ) = Obj.magic rp in
20795 let s : (
20796 # 99 "parser_cocci_menhir.mly"
20797 (Data.clt)
20798 # 20799 "parser_cocci_menhir.ml"
20799 ) = Obj.magic s in
20800 let lp : (
20801 # 76 "parser_cocci_menhir.mly"
20802 (Data.clt)
20803 # 20804 "parser_cocci_menhir.ml"
20804 ) = Obj.magic lp in
20805 let t : 'tv_ctype = Obj.magic t in
20806 let _startpos = _startpos_t_ in
20807 let _endpos = _endpos_rp1_ in
20808 let _v : 'tv_name_opt_decl =
20809 # 828 "parser_cocci_menhir.mly"
20810 ( let fnptr =
20811 Ast0.wrap
20812 (Ast0.FunctionPointer
20813 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
20814 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
20815 Ast0.wrap(Ast0.Param(fnptr, None)) )
20816 # 20817 "parser_cocci_menhir.ml"
20817 in
20818 _menhir_env.MenhirLib.EngineTypes.stack <- {
20819 MenhirLib.EngineTypes.state = _menhir_s;
20820 MenhirLib.EngineTypes.semv = Obj.repr _v;
20821 MenhirLib.EngineTypes.startp = _startpos;
20822 MenhirLib.EngineTypes.endp = _endpos;
20823 MenhirLib.EngineTypes.next = _menhir_stack;
20824 });
20825 (fun _menhir_env ->
20826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20827 let {
20828 MenhirLib.EngineTypes.semv = _2;
20829 MenhirLib.EngineTypes.startp = _startpos__2_;
20830 MenhirLib.EngineTypes.endp = _endpos__2_;
20831 MenhirLib.EngineTypes.next = {
20832 MenhirLib.EngineTypes.state = _menhir_s;
20833 MenhirLib.EngineTypes.semv = _1;
20834 MenhirLib.EngineTypes.startp = _startpos__1_;
20835 MenhirLib.EngineTypes.endp = _endpos__1_;
20836 MenhirLib.EngineTypes.next = _menhir_stack;
20837 };
20838 } = _menhir_stack in
20839 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
20840 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
20841 let _startpos = _startpos__1_ in
20842 let _endpos = _endpos__2_ in
20843 let _v : 'tv_nest_after_dots =
20844 # 1801 "parser_cocci_menhir.mly"
20845 (_1@_2)
20846 # 20847 "parser_cocci_menhir.ml"
20847 in
20848 _menhir_env.MenhirLib.EngineTypes.stack <- {
20849 MenhirLib.EngineTypes.state = _menhir_s;
20850 MenhirLib.EngineTypes.semv = Obj.repr _v;
20851 MenhirLib.EngineTypes.startp = _startpos;
20852 MenhirLib.EngineTypes.endp = _endpos;
20853 MenhirLib.EngineTypes.next = _menhir_stack;
20854 });
20855 (fun _menhir_env ->
20856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20857 let {
20858 MenhirLib.EngineTypes.semv = _2;
20859 MenhirLib.EngineTypes.startp = _startpos__2_;
20860 MenhirLib.EngineTypes.endp = _endpos__2_;
20861 MenhirLib.EngineTypes.next = {
20862 MenhirLib.EngineTypes.state = _menhir_s;
20863 MenhirLib.EngineTypes.startp = _startpos__1_;
20864 MenhirLib.EngineTypes.endp = _endpos__1_;
20865 MenhirLib.EngineTypes.next = _menhir_stack;
20866 };
20867 } = _menhir_stack in
20868 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
20869 let _startpos = _startpos__1_ in
20870 let _endpos = _endpos__2_ in
20871 let _v : 'tv_nest_after_dots =
20872 # 1802 "parser_cocci_menhir.mly"
20873 (_2)
20874 # 20875 "parser_cocci_menhir.ml"
20875 in
20876 _menhir_env.MenhirLib.EngineTypes.stack <- {
20877 MenhirLib.EngineTypes.state = _menhir_s;
20878 MenhirLib.EngineTypes.semv = Obj.repr _v;
20879 MenhirLib.EngineTypes.startp = _startpos;
20880 MenhirLib.EngineTypes.endp = _endpos;
20881 MenhirLib.EngineTypes.next = _menhir_stack;
20882 });
20883 (fun _menhir_env ->
20884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20885 let {
20886 MenhirLib.EngineTypes.semv = _2;
20887 MenhirLib.EngineTypes.startp = _startpos__2_;
20888 MenhirLib.EngineTypes.endp = _endpos__2_;
20889 MenhirLib.EngineTypes.next = {
20890 MenhirLib.EngineTypes.state = _menhir_s;
20891 MenhirLib.EngineTypes.semv = _1;
20892 MenhirLib.EngineTypes.startp = _startpos__1_;
20893 MenhirLib.EngineTypes.endp = _endpos__1_;
20894 MenhirLib.EngineTypes.next = _menhir_stack;
20895 };
20896 } = _menhir_stack in
20897 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
20898 let _1 : 'tv_expr = Obj.magic _1 in
20899 let _startpos = _startpos__1_ in
20900 let _endpos = _endpos__2_ in
20901 let _v : 'tv_nest_after_dots =
20902 # 1803 "parser_cocci_menhir.mly"
20903 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
20904 # 20905 "parser_cocci_menhir.ml"
20905 in
20906 _menhir_env.MenhirLib.EngineTypes.stack <- {
20907 MenhirLib.EngineTypes.state = _menhir_s;
20908 MenhirLib.EngineTypes.semv = Obj.repr _v;
20909 MenhirLib.EngineTypes.startp = _startpos;
20910 MenhirLib.EngineTypes.endp = _endpos;
20911 MenhirLib.EngineTypes.next = _menhir_stack;
20912 });
20913 (fun _menhir_env ->
20914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20915 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20916 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20917 let _endpos = _startpos in
20918 let _v : 'tv_nest_after_exp =
20919 # 1811 "parser_cocci_menhir.mly"
20920 ([])
20921 # 20922 "parser_cocci_menhir.ml"
20922 in
20923 _menhir_env.MenhirLib.EngineTypes.stack <- {
20924 MenhirLib.EngineTypes.state = _menhir_s;
20925 MenhirLib.EngineTypes.semv = Obj.repr _v;
20926 MenhirLib.EngineTypes.startp = _startpos;
20927 MenhirLib.EngineTypes.endp = _endpos;
20928 MenhirLib.EngineTypes.next = _menhir_stack;
20929 });
20930 (fun _menhir_env ->
20931 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20932 let {
20933 MenhirLib.EngineTypes.semv = _2;
20934 MenhirLib.EngineTypes.startp = _startpos__2_;
20935 MenhirLib.EngineTypes.endp = _endpos__2_;
20936 MenhirLib.EngineTypes.next = {
20937 MenhirLib.EngineTypes.state = _menhir_s;
20938 MenhirLib.EngineTypes.semv = _1;
20939 MenhirLib.EngineTypes.startp = _startpos__1_;
20940 MenhirLib.EngineTypes.endp = _endpos__1_;
20941 MenhirLib.EngineTypes.next = _menhir_stack;
20942 };
20943 } = _menhir_stack in
20944 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
20945 let _1 : 'tv_stm_dots = Obj.magic _1 in
20946 let _startpos = _startpos__1_ in
20947 let _endpos = _endpos__2_ in
20948 let _v : 'tv_nest_after_exp =
20949 # 1812 "parser_cocci_menhir.mly"
20950 (_1::_2)
20951 # 20952 "parser_cocci_menhir.ml"
20952 in
20953 _menhir_env.MenhirLib.EngineTypes.stack <- {
20954 MenhirLib.EngineTypes.state = _menhir_s;
20955 MenhirLib.EngineTypes.semv = Obj.repr _v;
20956 MenhirLib.EngineTypes.startp = _startpos;
20957 MenhirLib.EngineTypes.endp = _endpos;
20958 MenhirLib.EngineTypes.next = _menhir_stack;
20959 });
20960 (fun _menhir_env ->
20961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20962 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20963 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20964 let _endpos = _startpos in
20965 let _v : 'tv_nest_after_stm =
20966 # 1806 "parser_cocci_menhir.mly"
20967 ([])
20968 # 20969 "parser_cocci_menhir.ml"
20969 in
20970 _menhir_env.MenhirLib.EngineTypes.stack <- {
20971 MenhirLib.EngineTypes.state = _menhir_s;
20972 MenhirLib.EngineTypes.semv = Obj.repr _v;
20973 MenhirLib.EngineTypes.startp = _startpos;
20974 MenhirLib.EngineTypes.endp = _endpos;
20975 MenhirLib.EngineTypes.next = _menhir_stack;
20976 });
20977 (fun _menhir_env ->
20978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20979 let {
20980 MenhirLib.EngineTypes.semv = _2;
20981 MenhirLib.EngineTypes.startp = _startpos__2_;
20982 MenhirLib.EngineTypes.endp = _endpos__2_;
20983 MenhirLib.EngineTypes.next = {
20984 MenhirLib.EngineTypes.state = _menhir_s;
20985 MenhirLib.EngineTypes.semv = _1;
20986 MenhirLib.EngineTypes.startp = _startpos__1_;
20987 MenhirLib.EngineTypes.endp = _endpos__1_;
20988 MenhirLib.EngineTypes.next = _menhir_stack;
20989 };
20990 } = _menhir_stack in
20991 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
20992 let _1 : 'tv_stm_dots = Obj.magic _1 in
20993 let _startpos = _startpos__1_ in
20994 let _endpos = _endpos__2_ in
20995 let _v : 'tv_nest_after_stm =
20996 # 1807 "parser_cocci_menhir.mly"
20997 (_1::_2)
20998 # 20999 "parser_cocci_menhir.ml"
20999 in
21000 _menhir_env.MenhirLib.EngineTypes.stack <- {
21001 MenhirLib.EngineTypes.state = _menhir_s;
21002 MenhirLib.EngineTypes.semv = Obj.repr _v;
21003 MenhirLib.EngineTypes.startp = _startpos;
21004 MenhirLib.EngineTypes.endp = _endpos;
21005 MenhirLib.EngineTypes.next = _menhir_stack;
21006 });
21007 (fun _menhir_env ->
21008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21009 let {
21010 MenhirLib.EngineTypes.semv = _2;
21011 MenhirLib.EngineTypes.startp = _startpos__2_;
21012 MenhirLib.EngineTypes.endp = _endpos__2_;
21013 MenhirLib.EngineTypes.next = {
21014 MenhirLib.EngineTypes.state = _menhir_s;
21015 MenhirLib.EngineTypes.semv = _1;
21016 MenhirLib.EngineTypes.startp = _startpos__1_;
21017 MenhirLib.EngineTypes.endp = _endpos__1_;
21018 MenhirLib.EngineTypes.next = _menhir_stack;
21019 };
21020 } = _menhir_stack in
21021 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
21022 let _1 : 'tv_decl_statement = Obj.magic _1 in
21023 let _startpos = _startpos__1_ in
21024 let _endpos = _endpos__2_ in
21025 let _v : 'tv_nest_after_stm =
21026 # 1808 "parser_cocci_menhir.mly"
21027 (_1@_2)
21028 # 21029 "parser_cocci_menhir.ml"
21029 in
21030 _menhir_env.MenhirLib.EngineTypes.stack <- {
21031 MenhirLib.EngineTypes.state = _menhir_s;
21032 MenhirLib.EngineTypes.semv = Obj.repr _v;
21033 MenhirLib.EngineTypes.startp = _startpos;
21034 MenhirLib.EngineTypes.endp = _endpos;
21035 MenhirLib.EngineTypes.next = _menhir_stack;
21036 });
21037 (fun _menhir_env ->
21038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21039 let {
21040 MenhirLib.EngineTypes.semv = c;
21041 MenhirLib.EngineTypes.startp = _startpos_c_;
21042 MenhirLib.EngineTypes.endp = _endpos_c_;
21043 MenhirLib.EngineTypes.next = {
21044 MenhirLib.EngineTypes.semv = e;
21045 MenhirLib.EngineTypes.startp = _startpos_e_;
21046 MenhirLib.EngineTypes.endp = _endpos_e_;
21047 MenhirLib.EngineTypes.next = {
21048 MenhirLib.EngineTypes.state = _menhir_s;
21049 MenhirLib.EngineTypes.semv = _1;
21050 MenhirLib.EngineTypes.startp = _startpos__1_;
21051 MenhirLib.EngineTypes.endp = _endpos__1_;
21052 MenhirLib.EngineTypes.next = _menhir_stack;
21053 };
21054 };
21055 } = _menhir_stack in
21056 let c : (
21057 # 73 "parser_cocci_menhir.mly"
21058 (Data.clt)
21059 # 21060 "parser_cocci_menhir.ml"
21060 ) = Obj.magic c in
21061 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21062 let _1 : (
21063 # 73 "parser_cocci_menhir.mly"
21064 (Data.clt)
21065 # 21066 "parser_cocci_menhir.ml"
21066 ) = Obj.magic _1 in
21067 let _startpos = _startpos__1_ in
21068 let _endpos = _endpos_c_ in
21069 let _v : 'tv_nest_expressions =
21070 # 1214 "parser_cocci_menhir.mly"
21071 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
21072 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21073 P.clt2mcode "...>" c, None, false)) )
21074 # 21075 "parser_cocci_menhir.ml"
21075 in
21076 _menhir_env.MenhirLib.EngineTypes.stack <- {
21077 MenhirLib.EngineTypes.state = _menhir_s;
21078 MenhirLib.EngineTypes.semv = Obj.repr _v;
21079 MenhirLib.EngineTypes.startp = _startpos;
21080 MenhirLib.EngineTypes.endp = _endpos;
21081 MenhirLib.EngineTypes.next = _menhir_stack;
21082 });
21083 (fun _menhir_env ->
21084 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21085 let {
21086 MenhirLib.EngineTypes.semv = c;
21087 MenhirLib.EngineTypes.startp = _startpos_c_;
21088 MenhirLib.EngineTypes.endp = _endpos_c_;
21089 MenhirLib.EngineTypes.next = {
21090 MenhirLib.EngineTypes.semv = e;
21091 MenhirLib.EngineTypes.startp = _startpos_e_;
21092 MenhirLib.EngineTypes.endp = _endpos_e_;
21093 MenhirLib.EngineTypes.next = {
21094 MenhirLib.EngineTypes.state = _menhir_s;
21095 MenhirLib.EngineTypes.semv = _1;
21096 MenhirLib.EngineTypes.startp = _startpos__1_;
21097 MenhirLib.EngineTypes.endp = _endpos__1_;
21098 MenhirLib.EngineTypes.next = _menhir_stack;
21099 };
21100 };
21101 } = _menhir_stack in
21102 let c : (
21103 # 73 "parser_cocci_menhir.mly"
21104 (Data.clt)
21105 # 21106 "parser_cocci_menhir.ml"
21106 ) = Obj.magic c in
21107 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21108 let _1 : (
21109 # 73 "parser_cocci_menhir.mly"
21110 (Data.clt)
21111 # 21112 "parser_cocci_menhir.ml"
21112 ) = Obj.magic _1 in
21113 let _startpos = _startpos__1_ in
21114 let _endpos = _endpos_c_ in
21115 let _v : 'tv_nest_expressions =
21116 # 1218 "parser_cocci_menhir.mly"
21117 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
21118 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21119 P.clt2mcode "...+>" c, None, true)) )
21120 # 21121 "parser_cocci_menhir.ml"
21121 in
21122 _menhir_env.MenhirLib.EngineTypes.stack <- {
21123 MenhirLib.EngineTypes.state = _menhir_s;
21124 MenhirLib.EngineTypes.semv = Obj.repr _v;
21125 MenhirLib.EngineTypes.startp = _startpos;
21126 MenhirLib.EngineTypes.endp = _endpos;
21127 MenhirLib.EngineTypes.next = _menhir_stack;
21128 });
21129 (fun _menhir_env ->
21130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21131 let {
21132 MenhirLib.EngineTypes.state = _menhir_s;
21133 MenhirLib.EngineTypes.semv = _1;
21134 MenhirLib.EngineTypes.startp = _startpos__1_;
21135 MenhirLib.EngineTypes.endp = _endpos__1_;
21136 MenhirLib.EngineTypes.next = _menhir_stack;
21137 } = _menhir_stack in
21138 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
21139 let _startpos = _startpos__1_ in
21140 let _endpos = _endpos__1_ in
21141 let _v : 'tv_nest_start =
21142 # 1798 "parser_cocci_menhir.mly"
21143 ( Ast0.wrap(Ast0.DOTS(_1)) )
21144 # 21145 "parser_cocci_menhir.ml"
21145 in
21146 _menhir_env.MenhirLib.EngineTypes.stack <- {
21147 MenhirLib.EngineTypes.state = _menhir_s;
21148 MenhirLib.EngineTypes.semv = Obj.repr _v;
21149 MenhirLib.EngineTypes.startp = _startpos;
21150 MenhirLib.EngineTypes.endp = _endpos;
21151 MenhirLib.EngineTypes.next = _menhir_stack;
21152 });
21153 (fun _menhir_env ->
21154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21155 let {
21156 MenhirLib.EngineTypes.state = _menhir_s;
21157 MenhirLib.EngineTypes.startp = _startpos__1_;
21158 MenhirLib.EngineTypes.endp = _endpos__1_;
21159 MenhirLib.EngineTypes.next = _menhir_stack;
21160 } = _menhir_stack in
21161 let _startpos = _startpos__1_ in
21162 let _endpos = _endpos__1_ in
21163 let _v : (
21164 # 168 "parser_cocci_menhir.mly"
21165 (unit)
21166 # 21167 "parser_cocci_menhir.ml"
21167 ) =
21168 # 1943 "parser_cocci_menhir.mly"
21169 ( () )
21170 # 21171 "parser_cocci_menhir.ml"
21171 in
21172 _menhir_env.MenhirLib.EngineTypes.stack <- {
21173 MenhirLib.EngineTypes.state = _menhir_s;
21174 MenhirLib.EngineTypes.semv = Obj.repr _v;
21175 MenhirLib.EngineTypes.startp = _startpos;
21176 MenhirLib.EngineTypes.endp = _endpos;
21177 MenhirLib.EngineTypes.next = _menhir_stack;
21178 });
21179 (fun _menhir_env ->
21180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21181 let {
21182 MenhirLib.EngineTypes.startp = _startpos__2_;
21183 MenhirLib.EngineTypes.endp = _endpos__2_;
21184 MenhirLib.EngineTypes.next = {
21185 MenhirLib.EngineTypes.state = _menhir_s;
21186 MenhirLib.EngineTypes.startp = _startpos__1_;
21187 MenhirLib.EngineTypes.endp = _endpos__1_;
21188 MenhirLib.EngineTypes.next = _menhir_stack;
21189 };
21190 } = _menhir_stack in
21191 let _startpos = _startpos__1_ in
21192 let _endpos = _endpos__2_ in
21193 let _v : (
21194 # 168 "parser_cocci_menhir.mly"
21195 (unit)
21196 # 21197 "parser_cocci_menhir.ml"
21197 ) =
21198 # 1944 "parser_cocci_menhir.mly"
21199 ( () )
21200 # 21201 "parser_cocci_menhir.ml"
21201 in
21202 _menhir_env.MenhirLib.EngineTypes.stack <- {
21203 MenhirLib.EngineTypes.state = _menhir_s;
21204 MenhirLib.EngineTypes.semv = Obj.repr _v;
21205 MenhirLib.EngineTypes.startp = _startpos;
21206 MenhirLib.EngineTypes.endp = _endpos;
21207 MenhirLib.EngineTypes.next = _menhir_stack;
21208 });
21209 (fun _menhir_env ->
21210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21211 let {
21212 MenhirLib.EngineTypes.state = _menhir_s;
21213 MenhirLib.EngineTypes.startp = _startpos__1_;
21214 MenhirLib.EngineTypes.endp = _endpos__1_;
21215 MenhirLib.EngineTypes.next = _menhir_stack;
21216 } = _menhir_stack in
21217 let _startpos = _startpos__1_ in
21218 let _endpos = _endpos__1_ in
21219 let _v : (
21220 # 168 "parser_cocci_menhir.mly"
21221 (unit)
21222 # 21223 "parser_cocci_menhir.ml"
21223 ) =
21224 # 1945 "parser_cocci_menhir.mly"
21225 ( () )
21226 # 21227 "parser_cocci_menhir.ml"
21227 in
21228 _menhir_env.MenhirLib.EngineTypes.stack <- {
21229 MenhirLib.EngineTypes.state = _menhir_s;
21230 MenhirLib.EngineTypes.semv = Obj.repr _v;
21231 MenhirLib.EngineTypes.startp = _startpos;
21232 MenhirLib.EngineTypes.endp = _endpos;
21233 MenhirLib.EngineTypes.next = _menhir_stack;
21234 });
21235 (fun _menhir_env ->
21236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21237 let {
21238 MenhirLib.EngineTypes.semv = dg;
21239 MenhirLib.EngineTypes.startp = _startpos_dg_;
21240 MenhirLib.EngineTypes.endp = _endpos_dg_;
21241 MenhirLib.EngineTypes.next = {
21242 MenhirLib.EngineTypes.state = _menhir_s;
21243 MenhirLib.EngineTypes.semv = g;
21244 MenhirLib.EngineTypes.startp = _startpos_g_;
21245 MenhirLib.EngineTypes.endp = _endpos_g_;
21246 MenhirLib.EngineTypes.next = _menhir_stack;
21247 };
21248 } = _menhir_stack in
21249 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
21250 let g : 'tv_dexpr = Obj.magic g in
21251 let _startpos = _startpos_g_ in
21252 let _endpos = _endpos_dg_ in
21253 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
21254 # 1382 "parser_cocci_menhir.mly"
21255 ( function dot_builder ->
21256 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
21257 # 21258 "parser_cocci_menhir.ml"
21258 in
21259 _menhir_env.MenhirLib.EngineTypes.stack <- {
21260 MenhirLib.EngineTypes.state = _menhir_s;
21261 MenhirLib.EngineTypes.semv = Obj.repr _v;
21262 MenhirLib.EngineTypes.startp = _startpos;
21263 MenhirLib.EngineTypes.endp = _endpos;
21264 MenhirLib.EngineTypes.next = _menhir_stack;
21265 });
21266 (fun _menhir_env ->
21267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21268 let {
21269 MenhirLib.EngineTypes.state = _menhir_s;
21270 MenhirLib.EngineTypes.semv = x;
21271 MenhirLib.EngineTypes.startp = _startpos_x_;
21272 MenhirLib.EngineTypes.endp = _endpos_x_;
21273 MenhirLib.EngineTypes.next = _menhir_stack;
21274 } = _menhir_stack in
21275 let x : (
21276 # 99 "parser_cocci_menhir.mly"
21277 (Data.clt)
21278 # 21279 "parser_cocci_menhir.ml"
21279 ) = Obj.magic x in
21280 let _startpos = _startpos_x_ in
21281 let _endpos = _endpos_x_ in
21282 let _v : 'tv_nonempty_list_TMul_ =
21283 # 124 "standard.mly"
21284 ( [ x ] )
21285 # 21286 "parser_cocci_menhir.ml"
21286 in
21287 _menhir_env.MenhirLib.EngineTypes.stack <- {
21288 MenhirLib.EngineTypes.state = _menhir_s;
21289 MenhirLib.EngineTypes.semv = Obj.repr _v;
21290 MenhirLib.EngineTypes.startp = _startpos;
21291 MenhirLib.EngineTypes.endp = _endpos;
21292 MenhirLib.EngineTypes.next = _menhir_stack;
21293 });
21294 (fun _menhir_env ->
21295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21296 let {
21297 MenhirLib.EngineTypes.semv = xs;
21298 MenhirLib.EngineTypes.startp = _startpos_xs_;
21299 MenhirLib.EngineTypes.endp = _endpos_xs_;
21300 MenhirLib.EngineTypes.next = {
21301 MenhirLib.EngineTypes.state = _menhir_s;
21302 MenhirLib.EngineTypes.semv = x;
21303 MenhirLib.EngineTypes.startp = _startpos_x_;
21304 MenhirLib.EngineTypes.endp = _endpos_x_;
21305 MenhirLib.EngineTypes.next = _menhir_stack;
21306 };
21307 } = _menhir_stack in
21308 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
21309 let x : (
21310 # 99 "parser_cocci_menhir.mly"
21311 (Data.clt)
21312 # 21313 "parser_cocci_menhir.ml"
21313 ) = Obj.magic x in
21314 let _startpos = _startpos_x_ in
21315 let _endpos = _endpos_xs_ in
21316 let _v : 'tv_nonempty_list_TMul_ =
21317 # 126 "standard.mly"
21318 ( x :: xs )
21319 # 21320 "parser_cocci_menhir.ml"
21320 in
21321 _menhir_env.MenhirLib.EngineTypes.stack <- {
21322 MenhirLib.EngineTypes.state = _menhir_s;
21323 MenhirLib.EngineTypes.semv = Obj.repr _v;
21324 MenhirLib.EngineTypes.startp = _startpos;
21325 MenhirLib.EngineTypes.endp = _endpos;
21326 MenhirLib.EngineTypes.next = _menhir_stack;
21327 });
21328 (fun _menhir_env ->
21329 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21330 let {
21331 MenhirLib.EngineTypes.semv = i;
21332 MenhirLib.EngineTypes.startp = _startpos_i_;
21333 MenhirLib.EngineTypes.endp = _endpos_i_;
21334 MenhirLib.EngineTypes.next = {
21335 MenhirLib.EngineTypes.state = _menhir_s;
21336 MenhirLib.EngineTypes.startp = _startpos__1_;
21337 MenhirLib.EngineTypes.endp = _endpos__1_;
21338 MenhirLib.EngineTypes.next = _menhir_stack;
21339 };
21340 } = _menhir_stack in
21341 let i : 'tv_ident_or_const = Obj.magic i in
21342 let _startpos = _startpos__1_ in
21343 let _endpos = _endpos_i_ in
21344 let _v : 'tv_not_ceq =
21345 # 1519 "parser_cocci_menhir.mly"
21346 ( (if !Data.in_iso
21347 then failwith "constraints not allowed in iso file");
21348 (if !Data.in_generating
21349 then failwith "constraints not allowed in a generated rule file");
21350 [i] )
21351 # 21352 "parser_cocci_menhir.ml"
21352 in
21353 _menhir_env.MenhirLib.EngineTypes.stack <- {
21354 MenhirLib.EngineTypes.state = _menhir_s;
21355 MenhirLib.EngineTypes.semv = Obj.repr _v;
21356 MenhirLib.EngineTypes.startp = _startpos;
21357 MenhirLib.EngineTypes.endp = _endpos;
21358 MenhirLib.EngineTypes.next = _menhir_stack;
21359 });
21360 (fun _menhir_env ->
21361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21362 let {
21363 MenhirLib.EngineTypes.startp = _startpos__4_;
21364 MenhirLib.EngineTypes.endp = _endpos__4_;
21365 MenhirLib.EngineTypes.next = {
21366 MenhirLib.EngineTypes.semv = l;
21367 MenhirLib.EngineTypes.startp = _startpos_l_;
21368 MenhirLib.EngineTypes.endp = _endpos_l_;
21369 MenhirLib.EngineTypes.next = {
21370 MenhirLib.EngineTypes.startp = _startpos__2_;
21371 MenhirLib.EngineTypes.endp = _endpos__2_;
21372 MenhirLib.EngineTypes.next = {
21373 MenhirLib.EngineTypes.state = _menhir_s;
21374 MenhirLib.EngineTypes.startp = _startpos__1_;
21375 MenhirLib.EngineTypes.endp = _endpos__1_;
21376 MenhirLib.EngineTypes.next = _menhir_stack;
21377 };
21378 };
21379 };
21380 } = _menhir_stack in
21381 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
21382 let _startpos = _startpos__1_ in
21383 let _endpos = _endpos__4_ in
21384 let _v : 'tv_not_ceq =
21385 # 1525 "parser_cocci_menhir.mly"
21386 ( (if !Data.in_iso
21387 then failwith "constraints not allowed in iso file");
21388 (if !Data.in_generating
21389 then failwith "constraints not allowed in a generated rule file");
21390 l )
21391 # 21392 "parser_cocci_menhir.ml"
21392 in
21393 _menhir_env.MenhirLib.EngineTypes.stack <- {
21394 MenhirLib.EngineTypes.state = _menhir_s;
21395 MenhirLib.EngineTypes.semv = Obj.repr _v;
21396 MenhirLib.EngineTypes.startp = _startpos;
21397 MenhirLib.EngineTypes.endp = _endpos;
21398 MenhirLib.EngineTypes.next = _menhir_stack;
21399 });
21400 (fun _menhir_env ->
21401 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21402 let {
21403 MenhirLib.EngineTypes.semv = i;
21404 MenhirLib.EngineTypes.startp = _startpos_i_;
21405 MenhirLib.EngineTypes.endp = _endpos_i_;
21406 MenhirLib.EngineTypes.next = {
21407 MenhirLib.EngineTypes.state = _menhir_s;
21408 MenhirLib.EngineTypes.startp = _startpos__1_;
21409 MenhirLib.EngineTypes.endp = _endpos__1_;
21410 MenhirLib.EngineTypes.next = _menhir_stack;
21411 };
21412 } = _menhir_stack in
21413 let i : 'tv_pure_ident = Obj.magic i in
21414 let _startpos = _startpos__1_ in
21415 let _endpos = _endpos_i_ in
21416 let _v : 'tv_not_eqe =
21417 # 1500 "parser_cocci_menhir.mly"
21418 ( (if !Data.in_iso
21419 then failwith "constraints not allowed in iso file");
21420 (if !Data.in_generating
21421 then failwith "constraints not allowed in a generated rule file");
21422 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
21423 )
21424 # 21425 "parser_cocci_menhir.ml"
21425 in
21426 _menhir_env.MenhirLib.EngineTypes.stack <- {
21427 MenhirLib.EngineTypes.state = _menhir_s;
21428 MenhirLib.EngineTypes.semv = Obj.repr _v;
21429 MenhirLib.EngineTypes.startp = _startpos;
21430 MenhirLib.EngineTypes.endp = _endpos;
21431 MenhirLib.EngineTypes.next = _menhir_stack;
21432 });
21433 (fun _menhir_env ->
21434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21435 let {
21436 MenhirLib.EngineTypes.startp = _startpos__4_;
21437 MenhirLib.EngineTypes.endp = _endpos__4_;
21438 MenhirLib.EngineTypes.next = {
21439 MenhirLib.EngineTypes.semv = l;
21440 MenhirLib.EngineTypes.startp = _startpos_l_;
21441 MenhirLib.EngineTypes.endp = _endpos_l_;
21442 MenhirLib.EngineTypes.next = {
21443 MenhirLib.EngineTypes.startp = _startpos__2_;
21444 MenhirLib.EngineTypes.endp = _endpos__2_;
21445 MenhirLib.EngineTypes.next = {
21446 MenhirLib.EngineTypes.state = _menhir_s;
21447 MenhirLib.EngineTypes.startp = _startpos__1_;
21448 MenhirLib.EngineTypes.endp = _endpos__1_;
21449 MenhirLib.EngineTypes.next = _menhir_stack;
21450 };
21451 };
21452 };
21453 } = _menhir_stack in
21454 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21455 let _startpos = _startpos__1_ in
21456 let _endpos = _endpos__4_ in
21457 let _v : 'tv_not_eqe =
21458 # 1507 "parser_cocci_menhir.mly"
21459 ( (if !Data.in_iso
21460 then failwith "constraints not allowed in iso file");
21461 (if !Data.in_generating
21462 then failwith "constraints not allowed in a generated rule file");
21463 List.map
21464 (function i ->
21465 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
21466 l
21467 )
21468 # 21469 "parser_cocci_menhir.ml"
21469 in
21470 _menhir_env.MenhirLib.EngineTypes.stack <- {
21471 MenhirLib.EngineTypes.state = _menhir_s;
21472 MenhirLib.EngineTypes.semv = Obj.repr _v;
21473 MenhirLib.EngineTypes.startp = _startpos;
21474 MenhirLib.EngineTypes.endp = _endpos;
21475 MenhirLib.EngineTypes.next = _menhir_stack;
21476 });
21477 (fun _menhir_env ->
21478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21479 let {
21480 MenhirLib.EngineTypes.semv = i;
21481 MenhirLib.EngineTypes.startp = _startpos_i_;
21482 MenhirLib.EngineTypes.endp = _endpos_i_;
21483 MenhirLib.EngineTypes.next = {
21484 MenhirLib.EngineTypes.state = _menhir_s;
21485 MenhirLib.EngineTypes.startp = _startpos__1_;
21486 MenhirLib.EngineTypes.endp = _endpos__1_;
21487 MenhirLib.EngineTypes.next = _menhir_stack;
21488 };
21489 } = _menhir_stack in
21490 let i : 'tv_pure_ident = Obj.magic i in
21491 let _startpos = _startpos__1_ in
21492 let _endpos = _endpos_i_ in
21493 let _v : 'tv_not_eqid =
21494 # 1479 "parser_cocci_menhir.mly"
21495 ( (if !Data.in_iso
21496 then failwith "constraints not allowed in iso file");
21497 (if !Data.in_generating
21498 (* pb: constraints not stored with metavars; too lazy to search for
21499 them in the pattern *)
21500 then failwith "constraints not allowed in a generated rule file");
21501 Ast.IdNegIdSet([fst i]) )
21502 # 21503 "parser_cocci_menhir.ml"
21503 in
21504 _menhir_env.MenhirLib.EngineTypes.stack <- {
21505 MenhirLib.EngineTypes.state = _menhir_s;
21506 MenhirLib.EngineTypes.semv = Obj.repr _v;
21507 MenhirLib.EngineTypes.startp = _startpos;
21508 MenhirLib.EngineTypes.endp = _endpos;
21509 MenhirLib.EngineTypes.next = _menhir_stack;
21510 });
21511 (fun _menhir_env ->
21512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21513 let {
21514 MenhirLib.EngineTypes.startp = _startpos__4_;
21515 MenhirLib.EngineTypes.endp = _endpos__4_;
21516 MenhirLib.EngineTypes.next = {
21517 MenhirLib.EngineTypes.semv = l;
21518 MenhirLib.EngineTypes.startp = _startpos_l_;
21519 MenhirLib.EngineTypes.endp = _endpos_l_;
21520 MenhirLib.EngineTypes.next = {
21521 MenhirLib.EngineTypes.startp = _startpos__2_;
21522 MenhirLib.EngineTypes.endp = _endpos__2_;
21523 MenhirLib.EngineTypes.next = {
21524 MenhirLib.EngineTypes.state = _menhir_s;
21525 MenhirLib.EngineTypes.startp = _startpos__1_;
21526 MenhirLib.EngineTypes.endp = _endpos__1_;
21527 MenhirLib.EngineTypes.next = _menhir_stack;
21528 };
21529 };
21530 };
21531 } = _menhir_stack in
21532 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21533 let _startpos = _startpos__1_ in
21534 let _endpos = _endpos__4_ in
21535 let _v : 'tv_not_eqid =
21536 # 1487 "parser_cocci_menhir.mly"
21537 ( (if !Data.in_iso
21538 then failwith "constraints not allowed in iso file");
21539 (if !Data.in_generating
21540 then failwith "constraints not allowed in a generated rule file");
21541 Ast.IdNegIdSet(List.map fst l)
21542 )
21543 # 21544 "parser_cocci_menhir.ml"
21544 in
21545 _menhir_env.MenhirLib.EngineTypes.stack <- {
21546 MenhirLib.EngineTypes.state = _menhir_s;
21547 MenhirLib.EngineTypes.semv = Obj.repr _v;
21548 MenhirLib.EngineTypes.startp = _startpos;
21549 MenhirLib.EngineTypes.endp = _endpos;
21550 MenhirLib.EngineTypes.next = _menhir_stack;
21551 });
21552 (fun _menhir_env ->
21553 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21554 let {
21555 MenhirLib.EngineTypes.semv = i;
21556 MenhirLib.EngineTypes.startp = _startpos_i_;
21557 MenhirLib.EngineTypes.endp = _endpos_i_;
21558 MenhirLib.EngineTypes.next = {
21559 MenhirLib.EngineTypes.state = _menhir_s;
21560 MenhirLib.EngineTypes.startp = _startpos__1_;
21561 MenhirLib.EngineTypes.endp = _endpos__1_;
21562 MenhirLib.EngineTypes.next = _menhir_stack;
21563 };
21564 } = _menhir_stack in
21565 let i : 'tv_meta_ident = Obj.magic i in
21566 let _startpos = _startpos__1_ in
21567 let _endpos = _endpos_i_ in
21568 let _v : 'tv_not_pos =
21569 # 1539 "parser_cocci_menhir.mly"
21570 ( (if !Data.in_iso
21571 then failwith "constraints not allowed in iso file");
21572 (if !Data.in_generating
21573 then failwith "constraints not allowed in a generated rule file");
21574 match i with
21575 (None,_) -> failwith "constraint must be an inherited variable"
21576 | (Some rule,name) ->
21577 let i = (rule,name) in
21578 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
21579 [i] )
21580 # 21581 "parser_cocci_menhir.ml"
21581 in
21582 _menhir_env.MenhirLib.EngineTypes.stack <- {
21583 MenhirLib.EngineTypes.state = _menhir_s;
21584 MenhirLib.EngineTypes.semv = Obj.repr _v;
21585 MenhirLib.EngineTypes.startp = _startpos;
21586 MenhirLib.EngineTypes.endp = _endpos;
21587 MenhirLib.EngineTypes.next = _menhir_stack;
21588 });
21589 (fun _menhir_env ->
21590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21591 let {
21592 MenhirLib.EngineTypes.startp = _startpos__4_;
21593 MenhirLib.EngineTypes.endp = _endpos__4_;
21594 MenhirLib.EngineTypes.next = {
21595 MenhirLib.EngineTypes.semv = l;
21596 MenhirLib.EngineTypes.startp = _startpos_l_;
21597 MenhirLib.EngineTypes.endp = _endpos_l_;
21598 MenhirLib.EngineTypes.next = {
21599 MenhirLib.EngineTypes.startp = _startpos__2_;
21600 MenhirLib.EngineTypes.endp = _endpos__2_;
21601 MenhirLib.EngineTypes.next = {
21602 MenhirLib.EngineTypes.state = _menhir_s;
21603 MenhirLib.EngineTypes.startp = _startpos__1_;
21604 MenhirLib.EngineTypes.endp = _endpos__1_;
21605 MenhirLib.EngineTypes.next = _menhir_stack;
21606 };
21607 };
21608 };
21609 } = _menhir_stack in
21610 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
21611 let _startpos = _startpos__1_ in
21612 let _endpos = _endpos__4_ in
21613 let _v : 'tv_not_pos =
21614 # 1550 "parser_cocci_menhir.mly"
21615 ( (if !Data.in_iso
21616 then failwith "constraints not allowed in iso file");
21617 (if !Data.in_generating
21618 then failwith "constraints not allowed in a generated rule file");
21619 List.map
21620 (function
21621 (None,_) ->
21622 failwith "constraint must be an inherited variable"
21623 | (Some rule,name) ->
21624 let i = (rule,name) in
21625 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
21626 i)
21627 l )
21628 # 21629 "parser_cocci_menhir.ml"
21629 in
21630 _menhir_env.MenhirLib.EngineTypes.stack <- {
21631 MenhirLib.EngineTypes.state = _menhir_s;
21632 MenhirLib.EngineTypes.semv = Obj.repr _v;
21633 MenhirLib.EngineTypes.startp = _startpos;
21634 MenhirLib.EngineTypes.endp = _endpos;
21635 MenhirLib.EngineTypes.next = _menhir_stack;
21636 });
21637 (fun _menhir_env ->
21638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21639 let {
21640 MenhirLib.EngineTypes.state = _menhir_s;
21641 MenhirLib.EngineTypes.semv = _1;
21642 MenhirLib.EngineTypes.startp = _startpos__1_;
21643 MenhirLib.EngineTypes.endp = _endpos__1_;
21644 MenhirLib.EngineTypes.next = _menhir_stack;
21645 } = _menhir_stack in
21646 let _1 : 'tv_decl = Obj.magic _1 in
21647 let _startpos = _startpos__1_ in
21648 let _endpos = _endpos__1_ in
21649 let _v : 'tv_one_dec_decl_ =
21650 # 1624 "parser_cocci_menhir.mly"
21651 ( _1 )
21652 # 21653 "parser_cocci_menhir.ml"
21653 in
21654 _menhir_env.MenhirLib.EngineTypes.stack <- {
21655 MenhirLib.EngineTypes.state = _menhir_s;
21656 MenhirLib.EngineTypes.semv = Obj.repr _v;
21657 MenhirLib.EngineTypes.startp = _startpos;
21658 MenhirLib.EngineTypes.endp = _endpos;
21659 MenhirLib.EngineTypes.next = _menhir_stack;
21660 });
21661 (fun _menhir_env ->
21662 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21663 let {
21664 MenhirLib.EngineTypes.state = _menhir_s;
21665 MenhirLib.EngineTypes.semv = _1;
21666 MenhirLib.EngineTypes.startp = _startpos__1_;
21667 MenhirLib.EngineTypes.endp = _endpos__1_;
21668 MenhirLib.EngineTypes.next = _menhir_stack;
21669 } = _menhir_stack in
21670 let _1 : (
21671 # 66 "parser_cocci_menhir.mly"
21672 (Parse_aux.list_info)
21673 # 21674 "parser_cocci_menhir.ml"
21674 ) = Obj.magic _1 in
21675 let _startpos = _startpos__1_ in
21676 let _endpos = _endpos__1_ in
21677 let _v : 'tv_one_dec_decl_ =
21678 # 1626 "parser_cocci_menhir.mly"
21679 ( let (nm,lenname,pure,clt) = _1 in
21680 let nm = P.clt2mcode nm clt in
21681 let lenname =
21682 match lenname with
21683 Some nm -> Some(P.clt2mcode nm clt)
21684 | None -> None in
21685 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21686 # 21687 "parser_cocci_menhir.ml"
21687 in
21688 _menhir_env.MenhirLib.EngineTypes.stack <- {
21689 MenhirLib.EngineTypes.state = _menhir_s;
21690 MenhirLib.EngineTypes.semv = Obj.repr _v;
21691 MenhirLib.EngineTypes.startp = _startpos;
21692 MenhirLib.EngineTypes.endp = _endpos;
21693 MenhirLib.EngineTypes.next = _menhir_stack;
21694 });
21695 (fun _menhir_env ->
21696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21697 let {
21698 MenhirLib.EngineTypes.state = _menhir_s;
21699 MenhirLib.EngineTypes.semv = _1;
21700 MenhirLib.EngineTypes.startp = _startpos__1_;
21701 MenhirLib.EngineTypes.endp = _endpos__1_;
21702 MenhirLib.EngineTypes.next = _menhir_stack;
21703 } = _menhir_stack in
21704 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
21705 let _startpos = _startpos__1_ in
21706 let _endpos = _endpos__1_ in
21707 let _v : 'tv_one_dec_name_opt_decl_ =
21708 # 1624 "parser_cocci_menhir.mly"
21709 ( _1 )
21710 # 21711 "parser_cocci_menhir.ml"
21711 in
21712 _menhir_env.MenhirLib.EngineTypes.stack <- {
21713 MenhirLib.EngineTypes.state = _menhir_s;
21714 MenhirLib.EngineTypes.semv = Obj.repr _v;
21715 MenhirLib.EngineTypes.startp = _startpos;
21716 MenhirLib.EngineTypes.endp = _endpos;
21717 MenhirLib.EngineTypes.next = _menhir_stack;
21718 });
21719 (fun _menhir_env ->
21720 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21721 let {
21722 MenhirLib.EngineTypes.state = _menhir_s;
21723 MenhirLib.EngineTypes.semv = _1;
21724 MenhirLib.EngineTypes.startp = _startpos__1_;
21725 MenhirLib.EngineTypes.endp = _endpos__1_;
21726 MenhirLib.EngineTypes.next = _menhir_stack;
21727 } = _menhir_stack in
21728 let _1 : (
21729 # 66 "parser_cocci_menhir.mly"
21730 (Parse_aux.list_info)
21731 # 21732 "parser_cocci_menhir.ml"
21732 ) = Obj.magic _1 in
21733 let _startpos = _startpos__1_ in
21734 let _endpos = _endpos__1_ in
21735 let _v : 'tv_one_dec_name_opt_decl_ =
21736 # 1626 "parser_cocci_menhir.mly"
21737 ( let (nm,lenname,pure,clt) = _1 in
21738 let nm = P.clt2mcode nm clt in
21739 let lenname =
21740 match lenname with
21741 Some nm -> Some(P.clt2mcode nm clt)
21742 | None -> None in
21743 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21744 # 21745 "parser_cocci_menhir.ml"
21745 in
21746 _menhir_env.MenhirLib.EngineTypes.stack <- {
21747 MenhirLib.EngineTypes.state = _menhir_s;
21748 MenhirLib.EngineTypes.semv = Obj.repr _v;
21749 MenhirLib.EngineTypes.startp = _startpos;
21750 MenhirLib.EngineTypes.endp = _endpos;
21751 MenhirLib.EngineTypes.next = _menhir_stack;
21752 });
21753 (fun _menhir_env ->
21754 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21755 let {
21756 MenhirLib.EngineTypes.semv = pv;
21757 MenhirLib.EngineTypes.startp = _startpos_pv_;
21758 MenhirLib.EngineTypes.endp = _endpos_pv_;
21759 MenhirLib.EngineTypes.next = {
21760 MenhirLib.EngineTypes.state = _menhir_s;
21761 MenhirLib.EngineTypes.semv = t;
21762 MenhirLib.EngineTypes.startp = _startpos_t_;
21763 MenhirLib.EngineTypes.endp = _endpos_t_;
21764 MenhirLib.EngineTypes.next = _menhir_stack;
21765 };
21766 } = _menhir_stack in
21767 let pv : (
21768 # 107 "parser_cocci_menhir.mly"
21769 (Data.clt)
21770 # 21771 "parser_cocci_menhir.ml"
21771 ) = Obj.magic pv in
21772 let t : 'tv_ctype = Obj.magic t in
21773 let _startpos = _startpos_t_ in
21774 let _endpos = _endpos_pv_ in
21775 let _v : 'tv_one_decl_var =
21776 # 1003 "parser_cocci_menhir.mly"
21777 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
21778 # 21779 "parser_cocci_menhir.ml"
21779 in
21780 _menhir_env.MenhirLib.EngineTypes.stack <- {
21781 MenhirLib.EngineTypes.state = _menhir_s;
21782 MenhirLib.EngineTypes.semv = Obj.repr _v;
21783 MenhirLib.EngineTypes.startp = _startpos;
21784 MenhirLib.EngineTypes.endp = _endpos;
21785 MenhirLib.EngineTypes.next = _menhir_stack;
21786 });
21787 (fun _menhir_env ->
21788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21789 let {
21790 MenhirLib.EngineTypes.semv = pv;
21791 MenhirLib.EngineTypes.startp = _startpos_pv_;
21792 MenhirLib.EngineTypes.endp = _endpos_pv_;
21793 MenhirLib.EngineTypes.next = {
21794 MenhirLib.EngineTypes.semv = d;
21795 MenhirLib.EngineTypes.startp = _startpos_d_;
21796 MenhirLib.EngineTypes.endp = _endpos_d_;
21797 MenhirLib.EngineTypes.next = {
21798 MenhirLib.EngineTypes.state = _menhir_s;
21799 MenhirLib.EngineTypes.semv = t;
21800 MenhirLib.EngineTypes.startp = _startpos_t_;
21801 MenhirLib.EngineTypes.endp = _endpos_t_;
21802 MenhirLib.EngineTypes.next = _menhir_stack;
21803 };
21804 };
21805 } = _menhir_stack in
21806 let pv : (
21807 # 107 "parser_cocci_menhir.mly"
21808 (Data.clt)
21809 # 21810 "parser_cocci_menhir.ml"
21810 ) = Obj.magic pv in
21811 let d : 'tv_d_ident = Obj.magic d in
21812 let t : 'tv_ctype = Obj.magic t in
21813 let _startpos = _startpos_t_ in
21814 let _endpos = _endpos_pv_ in
21815 let _v : 'tv_one_decl_var = let s =
21816
21817 # 39 "standard.mly"
21818 ( None )
21819 # 21820 "parser_cocci_menhir.ml"
21820
21821 in
21822
21823 # 1005 "parser_cocci_menhir.mly"
21824 ( let (id,fn) = d in
21825 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
21826 # 21827 "parser_cocci_menhir.ml"
21827 in
21828 _menhir_env.MenhirLib.EngineTypes.stack <- {
21829 MenhirLib.EngineTypes.state = _menhir_s;
21830 MenhirLib.EngineTypes.semv = Obj.repr _v;
21831 MenhirLib.EngineTypes.startp = _startpos;
21832 MenhirLib.EngineTypes.endp = _endpos;
21833 MenhirLib.EngineTypes.next = _menhir_stack;
21834 });
21835 (fun _menhir_env ->
21836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21837 let {
21838 MenhirLib.EngineTypes.semv = pv;
21839 MenhirLib.EngineTypes.startp = _startpos_pv_;
21840 MenhirLib.EngineTypes.endp = _endpos_pv_;
21841 MenhirLib.EngineTypes.next = {
21842 MenhirLib.EngineTypes.semv = d;
21843 MenhirLib.EngineTypes.startp = _startpos_d_;
21844 MenhirLib.EngineTypes.endp = _endpos_d_;
21845 MenhirLib.EngineTypes.next = {
21846 MenhirLib.EngineTypes.semv = t;
21847 MenhirLib.EngineTypes.startp = _startpos_t_;
21848 MenhirLib.EngineTypes.endp = _endpos_t_;
21849 MenhirLib.EngineTypes.next = {
21850 MenhirLib.EngineTypes.state = _menhir_s;
21851 MenhirLib.EngineTypes.semv = x0;
21852 MenhirLib.EngineTypes.startp = _startpos_x0_;
21853 MenhirLib.EngineTypes.endp = _endpos_x0_;
21854 MenhirLib.EngineTypes.next = _menhir_stack;
21855 };
21856 };
21857 };
21858 } = _menhir_stack in
21859 let pv : (
21860 # 107 "parser_cocci_menhir.mly"
21861 (Data.clt)
21862 # 21863 "parser_cocci_menhir.ml"
21863 ) = Obj.magic pv in
21864 let d : 'tv_d_ident = Obj.magic d in
21865 let t : 'tv_ctype = Obj.magic t in
21866 let x0 : 'tv_storage = Obj.magic x0 in
21867 let _startpos = _startpos_x0_ in
21868 let _endpos = _endpos_pv_ in
21869 let _v : 'tv_one_decl_var = let s =
21870 let x = x0 in
21871
21872 # 41 "standard.mly"
21873 ( Some x )
21874 # 21875 "parser_cocci_menhir.ml"
21875
21876 in
21877
21878 # 1005 "parser_cocci_menhir.mly"
21879 ( let (id,fn) = d in
21880 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
21881 # 21882 "parser_cocci_menhir.ml"
21882 in
21883 _menhir_env.MenhirLib.EngineTypes.stack <- {
21884 MenhirLib.EngineTypes.state = _menhir_s;
21885 MenhirLib.EngineTypes.semv = Obj.repr _v;
21886 MenhirLib.EngineTypes.startp = _startpos;
21887 MenhirLib.EngineTypes.endp = _endpos;
21888 MenhirLib.EngineTypes.next = _menhir_stack;
21889 });
21890 (fun _menhir_env ->
21891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21892 let {
21893 MenhirLib.EngineTypes.state = _menhir_s;
21894 MenhirLib.EngineTypes.semv = f;
21895 MenhirLib.EngineTypes.startp = _startpos_f_;
21896 MenhirLib.EngineTypes.endp = _endpos_f_;
21897 MenhirLib.EngineTypes.next = _menhir_stack;
21898 } = _menhir_stack in
21899 let f : 'tv_funproto = Obj.magic f in
21900 let _startpos = _startpos_f_ in
21901 let _endpos = _endpos_f_ in
21902 let _v : 'tv_one_decl_var =
21903 # 1007 "parser_cocci_menhir.mly"
21904 ( f )
21905 # 21906 "parser_cocci_menhir.ml"
21906 in
21907 _menhir_env.MenhirLib.EngineTypes.stack <- {
21908 MenhirLib.EngineTypes.state = _menhir_s;
21909 MenhirLib.EngineTypes.semv = Obj.repr _v;
21910 MenhirLib.EngineTypes.startp = _startpos;
21911 MenhirLib.EngineTypes.endp = _endpos;
21912 MenhirLib.EngineTypes.next = _menhir_stack;
21913 });
21914 (fun _menhir_env ->
21915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21916 let {
21917 MenhirLib.EngineTypes.semv = pv;
21918 MenhirLib.EngineTypes.startp = _startpos_pv_;
21919 MenhirLib.EngineTypes.endp = _endpos_pv_;
21920 MenhirLib.EngineTypes.next = {
21921 MenhirLib.EngineTypes.semv = e;
21922 MenhirLib.EngineTypes.startp = _startpos_e_;
21923 MenhirLib.EngineTypes.endp = _endpos_e_;
21924 MenhirLib.EngineTypes.next = {
21925 MenhirLib.EngineTypes.semv = q;
21926 MenhirLib.EngineTypes.startp = _startpos_q_;
21927 MenhirLib.EngineTypes.endp = _endpos_q_;
21928 MenhirLib.EngineTypes.next = {
21929 MenhirLib.EngineTypes.semv = d;
21930 MenhirLib.EngineTypes.startp = _startpos_d_;
21931 MenhirLib.EngineTypes.endp = _endpos_d_;
21932 MenhirLib.EngineTypes.next = {
21933 MenhirLib.EngineTypes.state = _menhir_s;
21934 MenhirLib.EngineTypes.semv = t;
21935 MenhirLib.EngineTypes.startp = _startpos_t_;
21936 MenhirLib.EngineTypes.endp = _endpos_t_;
21937 MenhirLib.EngineTypes.next = _menhir_stack;
21938 };
21939 };
21940 };
21941 };
21942 } = _menhir_stack in
21943 let pv : (
21944 # 107 "parser_cocci_menhir.mly"
21945 (Data.clt)
21946 # 21947 "parser_cocci_menhir.ml"
21947 ) = Obj.magic pv in
21948 let e : 'tv_initialize = Obj.magic e in
21949 let q : (
21950 # 107 "parser_cocci_menhir.mly"
21951 (Data.clt)
21952 # 21953 "parser_cocci_menhir.ml"
21953 ) = Obj.magic q in
21954 let d : 'tv_d_ident = Obj.magic d in
21955 let t : 'tv_ctype = Obj.magic t in
21956 let _startpos = _startpos_t_ in
21957 let _endpos = _endpos_pv_ in
21958 let _v : 'tv_one_decl_var = let s =
21959
21960 # 39 "standard.mly"
21961 ( None )
21962 # 21963 "parser_cocci_menhir.ml"
21963
21964 in
21965
21966 # 1009 "parser_cocci_menhir.mly"
21967 ( let (id,fn) = d in
21968 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
21969 # 21970 "parser_cocci_menhir.ml"
21970 in
21971 _menhir_env.MenhirLib.EngineTypes.stack <- {
21972 MenhirLib.EngineTypes.state = _menhir_s;
21973 MenhirLib.EngineTypes.semv = Obj.repr _v;
21974 MenhirLib.EngineTypes.startp = _startpos;
21975 MenhirLib.EngineTypes.endp = _endpos;
21976 MenhirLib.EngineTypes.next = _menhir_stack;
21977 });
21978 (fun _menhir_env ->
21979 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21980 let {
21981 MenhirLib.EngineTypes.semv = pv;
21982 MenhirLib.EngineTypes.startp = _startpos_pv_;
21983 MenhirLib.EngineTypes.endp = _endpos_pv_;
21984 MenhirLib.EngineTypes.next = {
21985 MenhirLib.EngineTypes.semv = e;
21986 MenhirLib.EngineTypes.startp = _startpos_e_;
21987 MenhirLib.EngineTypes.endp = _endpos_e_;
21988 MenhirLib.EngineTypes.next = {
21989 MenhirLib.EngineTypes.semv = q;
21990 MenhirLib.EngineTypes.startp = _startpos_q_;
21991 MenhirLib.EngineTypes.endp = _endpos_q_;
21992 MenhirLib.EngineTypes.next = {
21993 MenhirLib.EngineTypes.semv = d;
21994 MenhirLib.EngineTypes.startp = _startpos_d_;
21995 MenhirLib.EngineTypes.endp = _endpos_d_;
21996 MenhirLib.EngineTypes.next = {
21997 MenhirLib.EngineTypes.semv = t;
21998 MenhirLib.EngineTypes.startp = _startpos_t_;
21999 MenhirLib.EngineTypes.endp = _endpos_t_;
22000 MenhirLib.EngineTypes.next = {
22001 MenhirLib.EngineTypes.state = _menhir_s;
22002 MenhirLib.EngineTypes.semv = x0;
22003 MenhirLib.EngineTypes.startp = _startpos_x0_;
22004 MenhirLib.EngineTypes.endp = _endpos_x0_;
22005 MenhirLib.EngineTypes.next = _menhir_stack;
22006 };
22007 };
22008 };
22009 };
22010 };
22011 } = _menhir_stack in
22012 let pv : (
22013 # 107 "parser_cocci_menhir.mly"
22014 (Data.clt)
22015 # 22016 "parser_cocci_menhir.ml"
22016 ) = Obj.magic pv in
22017 let e : 'tv_initialize = Obj.magic e in
22018 let q : (
22019 # 107 "parser_cocci_menhir.mly"
22020 (Data.clt)
22021 # 22022 "parser_cocci_menhir.ml"
22022 ) = Obj.magic q in
22023 let d : 'tv_d_ident = Obj.magic d in
22024 let t : 'tv_ctype = Obj.magic t in
22025 let x0 : 'tv_storage = Obj.magic x0 in
22026 let _startpos = _startpos_x0_ in
22027 let _endpos = _endpos_pv_ in
22028 let _v : 'tv_one_decl_var = let s =
22029 let x = x0 in
22030
22031 # 41 "standard.mly"
22032 ( Some x )
22033 # 22034 "parser_cocci_menhir.ml"
22034
22035 in
22036
22037 # 1009 "parser_cocci_menhir.mly"
22038 ( let (id,fn) = d in
22039 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22040 # 22041 "parser_cocci_menhir.ml"
22041 in
22042 _menhir_env.MenhirLib.EngineTypes.stack <- {
22043 MenhirLib.EngineTypes.state = _menhir_s;
22044 MenhirLib.EngineTypes.semv = Obj.repr _v;
22045 MenhirLib.EngineTypes.startp = _startpos;
22046 MenhirLib.EngineTypes.endp = _endpos;
22047 MenhirLib.EngineTypes.next = _menhir_stack;
22048 });
22049 (fun _menhir_env ->
22050 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22051 let {
22052 MenhirLib.EngineTypes.semv = pv;
22053 MenhirLib.EngineTypes.startp = _startpos_pv_;
22054 MenhirLib.EngineTypes.endp = _endpos_pv_;
22055 MenhirLib.EngineTypes.next = {
22056 MenhirLib.EngineTypes.semv = d;
22057 MenhirLib.EngineTypes.startp = _startpos_d_;
22058 MenhirLib.EngineTypes.endp = _endpos_d_;
22059 MenhirLib.EngineTypes.next = {
22060 MenhirLib.EngineTypes.state = _menhir_s;
22061 MenhirLib.EngineTypes.semv = i;
22062 MenhirLib.EngineTypes.startp = _startpos_i_;
22063 MenhirLib.EngineTypes.endp = _endpos_i_;
22064 MenhirLib.EngineTypes.next = _menhir_stack;
22065 };
22066 };
22067 } = _menhir_stack in
22068 let pv : (
22069 # 107 "parser_cocci_menhir.mly"
22070 (Data.clt)
22071 # 22072 "parser_cocci_menhir.ml"
22072 ) = Obj.magic pv in
22073 let d : 'tv_d_ident = Obj.magic d in
22074 let i : 'tv_pure_ident = Obj.magic i in
22075 let _startpos = _startpos_i_ in
22076 let _endpos = _endpos_pv_ in
22077 let _v : 'tv_one_decl_var = let cv =
22078
22079 # 39 "standard.mly"
22080 ( None )
22081 # 22082 "parser_cocci_menhir.ml"
22082
22083 in
22084 let s =
22085
22086 # 39 "standard.mly"
22087 ( None )
22088 # 22089 "parser_cocci_menhir.ml"
22089
22090 in
22091
22092 # 1014 "parser_cocci_menhir.mly"
22093 ( let (id,fn) = d in
22094 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22095 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22096 # 22097 "parser_cocci_menhir.ml"
22097 in
22098 _menhir_env.MenhirLib.EngineTypes.stack <- {
22099 MenhirLib.EngineTypes.state = _menhir_s;
22100 MenhirLib.EngineTypes.semv = Obj.repr _v;
22101 MenhirLib.EngineTypes.startp = _startpos;
22102 MenhirLib.EngineTypes.endp = _endpos;
22103 MenhirLib.EngineTypes.next = _menhir_stack;
22104 });
22105 (fun _menhir_env ->
22106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22107 let {
22108 MenhirLib.EngineTypes.semv = pv;
22109 MenhirLib.EngineTypes.startp = _startpos_pv_;
22110 MenhirLib.EngineTypes.endp = _endpos_pv_;
22111 MenhirLib.EngineTypes.next = {
22112 MenhirLib.EngineTypes.semv = d;
22113 MenhirLib.EngineTypes.startp = _startpos_d_;
22114 MenhirLib.EngineTypes.endp = _endpos_d_;
22115 MenhirLib.EngineTypes.next = {
22116 MenhirLib.EngineTypes.semv = i;
22117 MenhirLib.EngineTypes.startp = _startpos_i_;
22118 MenhirLib.EngineTypes.endp = _endpos_i_;
22119 MenhirLib.EngineTypes.next = {
22120 MenhirLib.EngineTypes.state = _menhir_s;
22121 MenhirLib.EngineTypes.semv = x0;
22122 MenhirLib.EngineTypes.startp = _startpos_x0_;
22123 MenhirLib.EngineTypes.endp = _endpos_x0_;
22124 MenhirLib.EngineTypes.next = _menhir_stack;
22125 };
22126 };
22127 };
22128 } = _menhir_stack in
22129 let pv : (
22130 # 107 "parser_cocci_menhir.mly"
22131 (Data.clt)
22132 # 22133 "parser_cocci_menhir.ml"
22133 ) = Obj.magic pv in
22134 let d : 'tv_d_ident = Obj.magic d in
22135 let i : 'tv_pure_ident = Obj.magic i in
22136 let x0 : 'tv_const_vol = Obj.magic x0 in
22137 let _startpos = _startpos_x0_ in
22138 let _endpos = _endpos_pv_ in
22139 let _v : 'tv_one_decl_var = let cv =
22140 let x = x0 in
22141
22142 # 41 "standard.mly"
22143 ( Some x )
22144 # 22145 "parser_cocci_menhir.ml"
22145
22146 in
22147 let s =
22148
22149 # 39 "standard.mly"
22150 ( None )
22151 # 22152 "parser_cocci_menhir.ml"
22152
22153 in
22154
22155 # 1014 "parser_cocci_menhir.mly"
22156 ( let (id,fn) = d in
22157 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22158 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22159 # 22160 "parser_cocci_menhir.ml"
22160 in
22161 _menhir_env.MenhirLib.EngineTypes.stack <- {
22162 MenhirLib.EngineTypes.state = _menhir_s;
22163 MenhirLib.EngineTypes.semv = Obj.repr _v;
22164 MenhirLib.EngineTypes.startp = _startpos;
22165 MenhirLib.EngineTypes.endp = _endpos;
22166 MenhirLib.EngineTypes.next = _menhir_stack;
22167 });
22168 (fun _menhir_env ->
22169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22170 let {
22171 MenhirLib.EngineTypes.semv = pv;
22172 MenhirLib.EngineTypes.startp = _startpos_pv_;
22173 MenhirLib.EngineTypes.endp = _endpos_pv_;
22174 MenhirLib.EngineTypes.next = {
22175 MenhirLib.EngineTypes.semv = d;
22176 MenhirLib.EngineTypes.startp = _startpos_d_;
22177 MenhirLib.EngineTypes.endp = _endpos_d_;
22178 MenhirLib.EngineTypes.next = {
22179 MenhirLib.EngineTypes.semv = i;
22180 MenhirLib.EngineTypes.startp = _startpos_i_;
22181 MenhirLib.EngineTypes.endp = _endpos_i_;
22182 MenhirLib.EngineTypes.next = {
22183 MenhirLib.EngineTypes.state = _menhir_s;
22184 MenhirLib.EngineTypes.semv = x0;
22185 MenhirLib.EngineTypes.startp = _startpos_x0_;
22186 MenhirLib.EngineTypes.endp = _endpos_x0_;
22187 MenhirLib.EngineTypes.next = _menhir_stack;
22188 };
22189 };
22190 };
22191 } = _menhir_stack in
22192 let pv : (
22193 # 107 "parser_cocci_menhir.mly"
22194 (Data.clt)
22195 # 22196 "parser_cocci_menhir.ml"
22196 ) = Obj.magic pv in
22197 let d : 'tv_d_ident = Obj.magic d in
22198 let i : 'tv_pure_ident = Obj.magic i in
22199 let x0 : 'tv_storage = Obj.magic x0 in
22200 let _startpos = _startpos_x0_ in
22201 let _endpos = _endpos_pv_ in
22202 let _v : 'tv_one_decl_var = let cv =
22203
22204 # 39 "standard.mly"
22205 ( None )
22206 # 22207 "parser_cocci_menhir.ml"
22207
22208 in
22209 let s =
22210 let x = x0 in
22211
22212 # 41 "standard.mly"
22213 ( Some x )
22214 # 22215 "parser_cocci_menhir.ml"
22215
22216 in
22217
22218 # 1014 "parser_cocci_menhir.mly"
22219 ( let (id,fn) = d in
22220 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22221 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22222 # 22223 "parser_cocci_menhir.ml"
22223 in
22224 _menhir_env.MenhirLib.EngineTypes.stack <- {
22225 MenhirLib.EngineTypes.state = _menhir_s;
22226 MenhirLib.EngineTypes.semv = Obj.repr _v;
22227 MenhirLib.EngineTypes.startp = _startpos;
22228 MenhirLib.EngineTypes.endp = _endpos;
22229 MenhirLib.EngineTypes.next = _menhir_stack;
22230 });
22231 (fun _menhir_env ->
22232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22233 let {
22234 MenhirLib.EngineTypes.semv = pv;
22235 MenhirLib.EngineTypes.startp = _startpos_pv_;
22236 MenhirLib.EngineTypes.endp = _endpos_pv_;
22237 MenhirLib.EngineTypes.next = {
22238 MenhirLib.EngineTypes.semv = d;
22239 MenhirLib.EngineTypes.startp = _startpos_d_;
22240 MenhirLib.EngineTypes.endp = _endpos_d_;
22241 MenhirLib.EngineTypes.next = {
22242 MenhirLib.EngineTypes.semv = i;
22243 MenhirLib.EngineTypes.startp = _startpos_i_;
22244 MenhirLib.EngineTypes.endp = _endpos_i_;
22245 MenhirLib.EngineTypes.next = {
22246 MenhirLib.EngineTypes.semv = x1;
22247 MenhirLib.EngineTypes.startp = _startpos_x1_;
22248 MenhirLib.EngineTypes.endp = _endpos_x1_;
22249 MenhirLib.EngineTypes.next = {
22250 MenhirLib.EngineTypes.state = _menhir_s;
22251 MenhirLib.EngineTypes.semv = x0;
22252 MenhirLib.EngineTypes.startp = _startpos_x0_;
22253 MenhirLib.EngineTypes.endp = _endpos_x0_;
22254 MenhirLib.EngineTypes.next = _menhir_stack;
22255 };
22256 };
22257 };
22258 };
22259 } = _menhir_stack in
22260 let pv : (
22261 # 107 "parser_cocci_menhir.mly"
22262 (Data.clt)
22263 # 22264 "parser_cocci_menhir.ml"
22264 ) = Obj.magic pv in
22265 let d : 'tv_d_ident = Obj.magic d in
22266 let i : 'tv_pure_ident = Obj.magic i in
22267 let x1 : 'tv_const_vol = Obj.magic x1 in
22268 let x0 : 'tv_storage = Obj.magic x0 in
22269 let _startpos = _startpos_x0_ in
22270 let _endpos = _endpos_pv_ in
22271 let _v : 'tv_one_decl_var = let cv =
22272 let x = x1 in
22273
22274 # 41 "standard.mly"
22275 ( Some x )
22276 # 22277 "parser_cocci_menhir.ml"
22277
22278 in
22279 let s =
22280 let x = x0 in
22281
22282 # 41 "standard.mly"
22283 ( Some x )
22284 # 22285 "parser_cocci_menhir.ml"
22285
22286 in
22287
22288 # 1014 "parser_cocci_menhir.mly"
22289 ( let (id,fn) = d in
22290 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22291 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22292 # 22293 "parser_cocci_menhir.ml"
22293 in
22294 _menhir_env.MenhirLib.EngineTypes.stack <- {
22295 MenhirLib.EngineTypes.state = _menhir_s;
22296 MenhirLib.EngineTypes.semv = Obj.repr _v;
22297 MenhirLib.EngineTypes.startp = _startpos;
22298 MenhirLib.EngineTypes.endp = _endpos;
22299 MenhirLib.EngineTypes.next = _menhir_stack;
22300 });
22301 (fun _menhir_env ->
22302 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22303 let {
22304 MenhirLib.EngineTypes.semv = pv;
22305 MenhirLib.EngineTypes.startp = _startpos_pv_;
22306 MenhirLib.EngineTypes.endp = _endpos_pv_;
22307 MenhirLib.EngineTypes.next = {
22308 MenhirLib.EngineTypes.semv = e;
22309 MenhirLib.EngineTypes.startp = _startpos_e_;
22310 MenhirLib.EngineTypes.endp = _endpos_e_;
22311 MenhirLib.EngineTypes.next = {
22312 MenhirLib.EngineTypes.semv = q;
22313 MenhirLib.EngineTypes.startp = _startpos_q_;
22314 MenhirLib.EngineTypes.endp = _endpos_q_;
22315 MenhirLib.EngineTypes.next = {
22316 MenhirLib.EngineTypes.semv = d;
22317 MenhirLib.EngineTypes.startp = _startpos_d_;
22318 MenhirLib.EngineTypes.endp = _endpos_d_;
22319 MenhirLib.EngineTypes.next = {
22320 MenhirLib.EngineTypes.state = _menhir_s;
22321 MenhirLib.EngineTypes.semv = i;
22322 MenhirLib.EngineTypes.startp = _startpos_i_;
22323 MenhirLib.EngineTypes.endp = _endpos_i_;
22324 MenhirLib.EngineTypes.next = _menhir_stack;
22325 };
22326 };
22327 };
22328 };
22329 } = _menhir_stack in
22330 let pv : (
22331 # 107 "parser_cocci_menhir.mly"
22332 (Data.clt)
22333 # 22334 "parser_cocci_menhir.ml"
22334 ) = Obj.magic pv in
22335 let e : 'tv_initialize = Obj.magic e in
22336 let q : (
22337 # 107 "parser_cocci_menhir.mly"
22338 (Data.clt)
22339 # 22340 "parser_cocci_menhir.ml"
22340 ) = Obj.magic q in
22341 let d : 'tv_d_ident = Obj.magic d in
22342 let i : 'tv_pure_ident = Obj.magic i in
22343 let _startpos = _startpos_i_ in
22344 let _endpos = _endpos_pv_ in
22345 let _v : 'tv_one_decl_var = let cv =
22346
22347 # 39 "standard.mly"
22348 ( None )
22349 # 22350 "parser_cocci_menhir.ml"
22350
22351 in
22352 let s =
22353
22354 # 39 "standard.mly"
22355 ( None )
22356 # 22357 "parser_cocci_menhir.ml"
22357
22358 in
22359
22360 # 1019 "parser_cocci_menhir.mly"
22361 ( let (id,fn) = d in
22362 !Data.add_type_name (P.id2name i);
22363 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22364 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22365 P.clt2mcode ";" pv)) )
22366 # 22367 "parser_cocci_menhir.ml"
22367 in
22368 _menhir_env.MenhirLib.EngineTypes.stack <- {
22369 MenhirLib.EngineTypes.state = _menhir_s;
22370 MenhirLib.EngineTypes.semv = Obj.repr _v;
22371 MenhirLib.EngineTypes.startp = _startpos;
22372 MenhirLib.EngineTypes.endp = _endpos;
22373 MenhirLib.EngineTypes.next = _menhir_stack;
22374 });
22375 (fun _menhir_env ->
22376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22377 let {
22378 MenhirLib.EngineTypes.semv = pv;
22379 MenhirLib.EngineTypes.startp = _startpos_pv_;
22380 MenhirLib.EngineTypes.endp = _endpos_pv_;
22381 MenhirLib.EngineTypes.next = {
22382 MenhirLib.EngineTypes.semv = e;
22383 MenhirLib.EngineTypes.startp = _startpos_e_;
22384 MenhirLib.EngineTypes.endp = _endpos_e_;
22385 MenhirLib.EngineTypes.next = {
22386 MenhirLib.EngineTypes.semv = q;
22387 MenhirLib.EngineTypes.startp = _startpos_q_;
22388 MenhirLib.EngineTypes.endp = _endpos_q_;
22389 MenhirLib.EngineTypes.next = {
22390 MenhirLib.EngineTypes.semv = d;
22391 MenhirLib.EngineTypes.startp = _startpos_d_;
22392 MenhirLib.EngineTypes.endp = _endpos_d_;
22393 MenhirLib.EngineTypes.next = {
22394 MenhirLib.EngineTypes.semv = i;
22395 MenhirLib.EngineTypes.startp = _startpos_i_;
22396 MenhirLib.EngineTypes.endp = _endpos_i_;
22397 MenhirLib.EngineTypes.next = {
22398 MenhirLib.EngineTypes.state = _menhir_s;
22399 MenhirLib.EngineTypes.semv = x0;
22400 MenhirLib.EngineTypes.startp = _startpos_x0_;
22401 MenhirLib.EngineTypes.endp = _endpos_x0_;
22402 MenhirLib.EngineTypes.next = _menhir_stack;
22403 };
22404 };
22405 };
22406 };
22407 };
22408 } = _menhir_stack in
22409 let pv : (
22410 # 107 "parser_cocci_menhir.mly"
22411 (Data.clt)
22412 # 22413 "parser_cocci_menhir.ml"
22413 ) = Obj.magic pv in
22414 let e : 'tv_initialize = Obj.magic e in
22415 let q : (
22416 # 107 "parser_cocci_menhir.mly"
22417 (Data.clt)
22418 # 22419 "parser_cocci_menhir.ml"
22419 ) = Obj.magic q in
22420 let d : 'tv_d_ident = Obj.magic d in
22421 let i : 'tv_pure_ident = Obj.magic i in
22422 let x0 : 'tv_const_vol = Obj.magic x0 in
22423 let _startpos = _startpos_x0_ in
22424 let _endpos = _endpos_pv_ in
22425 let _v : 'tv_one_decl_var = let cv =
22426 let x = x0 in
22427
22428 # 41 "standard.mly"
22429 ( Some x )
22430 # 22431 "parser_cocci_menhir.ml"
22431
22432 in
22433 let s =
22434
22435 # 39 "standard.mly"
22436 ( None )
22437 # 22438 "parser_cocci_menhir.ml"
22438
22439 in
22440
22441 # 1019 "parser_cocci_menhir.mly"
22442 ( let (id,fn) = d in
22443 !Data.add_type_name (P.id2name i);
22444 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22445 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22446 P.clt2mcode ";" pv)) )
22447 # 22448 "parser_cocci_menhir.ml"
22448 in
22449 _menhir_env.MenhirLib.EngineTypes.stack <- {
22450 MenhirLib.EngineTypes.state = _menhir_s;
22451 MenhirLib.EngineTypes.semv = Obj.repr _v;
22452 MenhirLib.EngineTypes.startp = _startpos;
22453 MenhirLib.EngineTypes.endp = _endpos;
22454 MenhirLib.EngineTypes.next = _menhir_stack;
22455 });
22456 (fun _menhir_env ->
22457 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22458 let {
22459 MenhirLib.EngineTypes.semv = pv;
22460 MenhirLib.EngineTypes.startp = _startpos_pv_;
22461 MenhirLib.EngineTypes.endp = _endpos_pv_;
22462 MenhirLib.EngineTypes.next = {
22463 MenhirLib.EngineTypes.semv = e;
22464 MenhirLib.EngineTypes.startp = _startpos_e_;
22465 MenhirLib.EngineTypes.endp = _endpos_e_;
22466 MenhirLib.EngineTypes.next = {
22467 MenhirLib.EngineTypes.semv = q;
22468 MenhirLib.EngineTypes.startp = _startpos_q_;
22469 MenhirLib.EngineTypes.endp = _endpos_q_;
22470 MenhirLib.EngineTypes.next = {
22471 MenhirLib.EngineTypes.semv = d;
22472 MenhirLib.EngineTypes.startp = _startpos_d_;
22473 MenhirLib.EngineTypes.endp = _endpos_d_;
22474 MenhirLib.EngineTypes.next = {
22475 MenhirLib.EngineTypes.semv = i;
22476 MenhirLib.EngineTypes.startp = _startpos_i_;
22477 MenhirLib.EngineTypes.endp = _endpos_i_;
22478 MenhirLib.EngineTypes.next = {
22479 MenhirLib.EngineTypes.state = _menhir_s;
22480 MenhirLib.EngineTypes.semv = x0;
22481 MenhirLib.EngineTypes.startp = _startpos_x0_;
22482 MenhirLib.EngineTypes.endp = _endpos_x0_;
22483 MenhirLib.EngineTypes.next = _menhir_stack;
22484 };
22485 };
22486 };
22487 };
22488 };
22489 } = _menhir_stack in
22490 let pv : (
22491 # 107 "parser_cocci_menhir.mly"
22492 (Data.clt)
22493 # 22494 "parser_cocci_menhir.ml"
22494 ) = Obj.magic pv in
22495 let e : 'tv_initialize = Obj.magic e in
22496 let q : (
22497 # 107 "parser_cocci_menhir.mly"
22498 (Data.clt)
22499 # 22500 "parser_cocci_menhir.ml"
22500 ) = Obj.magic q in
22501 let d : 'tv_d_ident = Obj.magic d in
22502 let i : 'tv_pure_ident = Obj.magic i in
22503 let x0 : 'tv_storage = Obj.magic x0 in
22504 let _startpos = _startpos_x0_ in
22505 let _endpos = _endpos_pv_ in
22506 let _v : 'tv_one_decl_var = let cv =
22507
22508 # 39 "standard.mly"
22509 ( None )
22510 # 22511 "parser_cocci_menhir.ml"
22511
22512 in
22513 let s =
22514 let x = x0 in
22515
22516 # 41 "standard.mly"
22517 ( Some x )
22518 # 22519 "parser_cocci_menhir.ml"
22519
22520 in
22521
22522 # 1019 "parser_cocci_menhir.mly"
22523 ( let (id,fn) = d in
22524 !Data.add_type_name (P.id2name i);
22525 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22526 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22527 P.clt2mcode ";" pv)) )
22528 # 22529 "parser_cocci_menhir.ml"
22529 in
22530 _menhir_env.MenhirLib.EngineTypes.stack <- {
22531 MenhirLib.EngineTypes.state = _menhir_s;
22532 MenhirLib.EngineTypes.semv = Obj.repr _v;
22533 MenhirLib.EngineTypes.startp = _startpos;
22534 MenhirLib.EngineTypes.endp = _endpos;
22535 MenhirLib.EngineTypes.next = _menhir_stack;
22536 });
22537 (fun _menhir_env ->
22538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22539 let {
22540 MenhirLib.EngineTypes.semv = pv;
22541 MenhirLib.EngineTypes.startp = _startpos_pv_;
22542 MenhirLib.EngineTypes.endp = _endpos_pv_;
22543 MenhirLib.EngineTypes.next = {
22544 MenhirLib.EngineTypes.semv = e;
22545 MenhirLib.EngineTypes.startp = _startpos_e_;
22546 MenhirLib.EngineTypes.endp = _endpos_e_;
22547 MenhirLib.EngineTypes.next = {
22548 MenhirLib.EngineTypes.semv = q;
22549 MenhirLib.EngineTypes.startp = _startpos_q_;
22550 MenhirLib.EngineTypes.endp = _endpos_q_;
22551 MenhirLib.EngineTypes.next = {
22552 MenhirLib.EngineTypes.semv = d;
22553 MenhirLib.EngineTypes.startp = _startpos_d_;
22554 MenhirLib.EngineTypes.endp = _endpos_d_;
22555 MenhirLib.EngineTypes.next = {
22556 MenhirLib.EngineTypes.semv = i;
22557 MenhirLib.EngineTypes.startp = _startpos_i_;
22558 MenhirLib.EngineTypes.endp = _endpos_i_;
22559 MenhirLib.EngineTypes.next = {
22560 MenhirLib.EngineTypes.semv = x1;
22561 MenhirLib.EngineTypes.startp = _startpos_x1_;
22562 MenhirLib.EngineTypes.endp = _endpos_x1_;
22563 MenhirLib.EngineTypes.next = {
22564 MenhirLib.EngineTypes.state = _menhir_s;
22565 MenhirLib.EngineTypes.semv = x0;
22566 MenhirLib.EngineTypes.startp = _startpos_x0_;
22567 MenhirLib.EngineTypes.endp = _endpos_x0_;
22568 MenhirLib.EngineTypes.next = _menhir_stack;
22569 };
22570 };
22571 };
22572 };
22573 };
22574 };
22575 } = _menhir_stack in
22576 let pv : (
22577 # 107 "parser_cocci_menhir.mly"
22578 (Data.clt)
22579 # 22580 "parser_cocci_menhir.ml"
22580 ) = Obj.magic pv in
22581 let e : 'tv_initialize = Obj.magic e in
22582 let q : (
22583 # 107 "parser_cocci_menhir.mly"
22584 (Data.clt)
22585 # 22586 "parser_cocci_menhir.ml"
22586 ) = Obj.magic q in
22587 let d : 'tv_d_ident = Obj.magic d in
22588 let i : 'tv_pure_ident = Obj.magic i in
22589 let x1 : 'tv_const_vol = Obj.magic x1 in
22590 let x0 : 'tv_storage = Obj.magic x0 in
22591 let _startpos = _startpos_x0_ in
22592 let _endpos = _endpos_pv_ in
22593 let _v : 'tv_one_decl_var = let cv =
22594 let x = x1 in
22595
22596 # 41 "standard.mly"
22597 ( Some x )
22598 # 22599 "parser_cocci_menhir.ml"
22599
22600 in
22601 let s =
22602 let x = x0 in
22603
22604 # 41 "standard.mly"
22605 ( Some x )
22606 # 22607 "parser_cocci_menhir.ml"
22607
22608 in
22609
22610 # 1019 "parser_cocci_menhir.mly"
22611 ( let (id,fn) = d in
22612 !Data.add_type_name (P.id2name i);
22613 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22614 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22615 P.clt2mcode ";" pv)) )
22616 # 22617 "parser_cocci_menhir.ml"
22617 in
22618 _menhir_env.MenhirLib.EngineTypes.stack <- {
22619 MenhirLib.EngineTypes.state = _menhir_s;
22620 MenhirLib.EngineTypes.semv = Obj.repr _v;
22621 MenhirLib.EngineTypes.startp = _startpos;
22622 MenhirLib.EngineTypes.endp = _endpos;
22623 MenhirLib.EngineTypes.next = _menhir_stack;
22624 });
22625 (fun _menhir_env ->
22626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22627 let {
22628 MenhirLib.EngineTypes.semv = pv;
22629 MenhirLib.EngineTypes.startp = _startpos_pv_;
22630 MenhirLib.EngineTypes.endp = _endpos_pv_;
22631 MenhirLib.EngineTypes.next = {
22632 MenhirLib.EngineTypes.semv = rp2;
22633 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22634 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22635 MenhirLib.EngineTypes.next = {
22636 MenhirLib.EngineTypes.semv = p;
22637 MenhirLib.EngineTypes.startp = _startpos_p_;
22638 MenhirLib.EngineTypes.endp = _endpos_p_;
22639 MenhirLib.EngineTypes.next = {
22640 MenhirLib.EngineTypes.semv = lp2;
22641 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22642 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22643 MenhirLib.EngineTypes.next = {
22644 MenhirLib.EngineTypes.semv = rp1;
22645 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22646 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22647 MenhirLib.EngineTypes.next = {
22648 MenhirLib.EngineTypes.semv = d;
22649 MenhirLib.EngineTypes.startp = _startpos_d_;
22650 MenhirLib.EngineTypes.endp = _endpos_d_;
22651 MenhirLib.EngineTypes.next = {
22652 MenhirLib.EngineTypes.semv = st;
22653 MenhirLib.EngineTypes.startp = _startpos_st_;
22654 MenhirLib.EngineTypes.endp = _endpos_st_;
22655 MenhirLib.EngineTypes.next = {
22656 MenhirLib.EngineTypes.semv = lp1;
22657 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22658 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22659 MenhirLib.EngineTypes.next = {
22660 MenhirLib.EngineTypes.state = _menhir_s;
22661 MenhirLib.EngineTypes.semv = t;
22662 MenhirLib.EngineTypes.startp = _startpos_t_;
22663 MenhirLib.EngineTypes.endp = _endpos_t_;
22664 MenhirLib.EngineTypes.next = _menhir_stack;
22665 };
22666 };
22667 };
22668 };
22669 };
22670 };
22671 };
22672 };
22673 } = _menhir_stack in
22674 let pv : (
22675 # 107 "parser_cocci_menhir.mly"
22676 (Data.clt)
22677 # 22678 "parser_cocci_menhir.ml"
22678 ) = Obj.magic pv in
22679 let rp2 : (
22680 # 77 "parser_cocci_menhir.mly"
22681 (Data.clt)
22682 # 22683 "parser_cocci_menhir.ml"
22683 ) = Obj.magic rp2 in
22684 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22685 let lp2 : (
22686 # 76 "parser_cocci_menhir.mly"
22687 (Data.clt)
22688 # 22689 "parser_cocci_menhir.ml"
22689 ) = Obj.magic lp2 in
22690 let rp1 : (
22691 # 77 "parser_cocci_menhir.mly"
22692 (Data.clt)
22693 # 22694 "parser_cocci_menhir.ml"
22694 ) = Obj.magic rp1 in
22695 let d : 'tv_d_ident = Obj.magic d in
22696 let st : (
22697 # 99 "parser_cocci_menhir.mly"
22698 (Data.clt)
22699 # 22700 "parser_cocci_menhir.ml"
22700 ) = Obj.magic st in
22701 let lp1 : (
22702 # 76 "parser_cocci_menhir.mly"
22703 (Data.clt)
22704 # 22705 "parser_cocci_menhir.ml"
22705 ) = Obj.magic lp1 in
22706 let t : 'tv_ctype = Obj.magic t in
22707 let _startpos = _startpos_t_ in
22708 let _endpos = _endpos_pv_ in
22709 let _v : 'tv_one_decl_var = let s =
22710
22711 # 39 "standard.mly"
22712 ( None )
22713 # 22714 "parser_cocci_menhir.ml"
22714
22715 in
22716
22717 # 1029 "parser_cocci_menhir.mly"
22718 ( let (id,fn) = d in
22719 let t =
22720 Ast0.wrap
22721 (Ast0.FunctionPointer
22722 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22723 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22724 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22725 # 22726 "parser_cocci_menhir.ml"
22726 in
22727 _menhir_env.MenhirLib.EngineTypes.stack <- {
22728 MenhirLib.EngineTypes.state = _menhir_s;
22729 MenhirLib.EngineTypes.semv = Obj.repr _v;
22730 MenhirLib.EngineTypes.startp = _startpos;
22731 MenhirLib.EngineTypes.endp = _endpos;
22732 MenhirLib.EngineTypes.next = _menhir_stack;
22733 });
22734 (fun _menhir_env ->
22735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22736 let {
22737 MenhirLib.EngineTypes.semv = pv;
22738 MenhirLib.EngineTypes.startp = _startpos_pv_;
22739 MenhirLib.EngineTypes.endp = _endpos_pv_;
22740 MenhirLib.EngineTypes.next = {
22741 MenhirLib.EngineTypes.semv = rp2;
22742 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22743 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22744 MenhirLib.EngineTypes.next = {
22745 MenhirLib.EngineTypes.semv = p;
22746 MenhirLib.EngineTypes.startp = _startpos_p_;
22747 MenhirLib.EngineTypes.endp = _endpos_p_;
22748 MenhirLib.EngineTypes.next = {
22749 MenhirLib.EngineTypes.semv = lp2;
22750 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22751 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22752 MenhirLib.EngineTypes.next = {
22753 MenhirLib.EngineTypes.semv = rp1;
22754 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22755 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22756 MenhirLib.EngineTypes.next = {
22757 MenhirLib.EngineTypes.semv = d;
22758 MenhirLib.EngineTypes.startp = _startpos_d_;
22759 MenhirLib.EngineTypes.endp = _endpos_d_;
22760 MenhirLib.EngineTypes.next = {
22761 MenhirLib.EngineTypes.semv = st;
22762 MenhirLib.EngineTypes.startp = _startpos_st_;
22763 MenhirLib.EngineTypes.endp = _endpos_st_;
22764 MenhirLib.EngineTypes.next = {
22765 MenhirLib.EngineTypes.semv = lp1;
22766 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22767 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22768 MenhirLib.EngineTypes.next = {
22769 MenhirLib.EngineTypes.semv = t;
22770 MenhirLib.EngineTypes.startp = _startpos_t_;
22771 MenhirLib.EngineTypes.endp = _endpos_t_;
22772 MenhirLib.EngineTypes.next = {
22773 MenhirLib.EngineTypes.state = _menhir_s;
22774 MenhirLib.EngineTypes.semv = x0;
22775 MenhirLib.EngineTypes.startp = _startpos_x0_;
22776 MenhirLib.EngineTypes.endp = _endpos_x0_;
22777 MenhirLib.EngineTypes.next = _menhir_stack;
22778 };
22779 };
22780 };
22781 };
22782 };
22783 };
22784 };
22785 };
22786 };
22787 } = _menhir_stack in
22788 let pv : (
22789 # 107 "parser_cocci_menhir.mly"
22790 (Data.clt)
22791 # 22792 "parser_cocci_menhir.ml"
22792 ) = Obj.magic pv in
22793 let rp2 : (
22794 # 77 "parser_cocci_menhir.mly"
22795 (Data.clt)
22796 # 22797 "parser_cocci_menhir.ml"
22797 ) = Obj.magic rp2 in
22798 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22799 let lp2 : (
22800 # 76 "parser_cocci_menhir.mly"
22801 (Data.clt)
22802 # 22803 "parser_cocci_menhir.ml"
22803 ) = Obj.magic lp2 in
22804 let rp1 : (
22805 # 77 "parser_cocci_menhir.mly"
22806 (Data.clt)
22807 # 22808 "parser_cocci_menhir.ml"
22808 ) = Obj.magic rp1 in
22809 let d : 'tv_d_ident = Obj.magic d in
22810 let st : (
22811 # 99 "parser_cocci_menhir.mly"
22812 (Data.clt)
22813 # 22814 "parser_cocci_menhir.ml"
22814 ) = Obj.magic st in
22815 let lp1 : (
22816 # 76 "parser_cocci_menhir.mly"
22817 (Data.clt)
22818 # 22819 "parser_cocci_menhir.ml"
22819 ) = Obj.magic lp1 in
22820 let t : 'tv_ctype = Obj.magic t in
22821 let x0 : 'tv_storage = Obj.magic x0 in
22822 let _startpos = _startpos_x0_ in
22823 let _endpos = _endpos_pv_ in
22824 let _v : 'tv_one_decl_var = let s =
22825 let x = x0 in
22826
22827 # 41 "standard.mly"
22828 ( Some x )
22829 # 22830 "parser_cocci_menhir.ml"
22830
22831 in
22832
22833 # 1029 "parser_cocci_menhir.mly"
22834 ( let (id,fn) = d in
22835 let t =
22836 Ast0.wrap
22837 (Ast0.FunctionPointer
22838 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22839 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22840 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22841 # 22842 "parser_cocci_menhir.ml"
22842 in
22843 _menhir_env.MenhirLib.EngineTypes.stack <- {
22844 MenhirLib.EngineTypes.state = _menhir_s;
22845 MenhirLib.EngineTypes.semv = Obj.repr _v;
22846 MenhirLib.EngineTypes.startp = _startpos;
22847 MenhirLib.EngineTypes.endp = _endpos;
22848 MenhirLib.EngineTypes.next = _menhir_stack;
22849 });
22850 (fun _menhir_env ->
22851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22852 let {
22853 MenhirLib.EngineTypes.semv = _5;
22854 MenhirLib.EngineTypes.startp = _startpos__5_;
22855 MenhirLib.EngineTypes.endp = _endpos__5_;
22856 MenhirLib.EngineTypes.next = {
22857 MenhirLib.EngineTypes.semv = _4;
22858 MenhirLib.EngineTypes.startp = _startpos__4_;
22859 MenhirLib.EngineTypes.endp = _endpos__4_;
22860 MenhirLib.EngineTypes.next = {
22861 MenhirLib.EngineTypes.semv = _3;
22862 MenhirLib.EngineTypes.startp = _startpos__3_;
22863 MenhirLib.EngineTypes.endp = _endpos__3_;
22864 MenhirLib.EngineTypes.next = {
22865 MenhirLib.EngineTypes.semv = _2;
22866 MenhirLib.EngineTypes.startp = _startpos__2_;
22867 MenhirLib.EngineTypes.endp = _endpos__2_;
22868 MenhirLib.EngineTypes.next = {
22869 MenhirLib.EngineTypes.state = _menhir_s;
22870 MenhirLib.EngineTypes.semv = _1;
22871 MenhirLib.EngineTypes.startp = _startpos__1_;
22872 MenhirLib.EngineTypes.endp = _endpos__1_;
22873 MenhirLib.EngineTypes.next = _menhir_stack;
22874 };
22875 };
22876 };
22877 };
22878 } = _menhir_stack in
22879 let _5 : (
22880 # 107 "parser_cocci_menhir.mly"
22881 (Data.clt)
22882 # 22883 "parser_cocci_menhir.ml"
22883 ) = Obj.magic _5 in
22884 let _4 : (
22885 # 77 "parser_cocci_menhir.mly"
22886 (Data.clt)
22887 # 22888 "parser_cocci_menhir.ml"
22888 ) = Obj.magic _4 in
22889 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
22890 let _2 : (
22891 # 76 "parser_cocci_menhir.mly"
22892 (Data.clt)
22893 # 22894 "parser_cocci_menhir.ml"
22894 ) = Obj.magic _2 in
22895 let _1 : 'tv_decl_ident = Obj.magic _1 in
22896 let _startpos = _startpos__1_ in
22897 let _endpos = _endpos__5_ in
22898 let _v : 'tv_one_decl_var =
22899 # 1037 "parser_cocci_menhir.mly"
22900 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
22901 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
22902 # 22903 "parser_cocci_menhir.ml"
22903 in
22904 _menhir_env.MenhirLib.EngineTypes.stack <- {
22905 MenhirLib.EngineTypes.state = _menhir_s;
22906 MenhirLib.EngineTypes.semv = Obj.repr _v;
22907 MenhirLib.EngineTypes.startp = _startpos;
22908 MenhirLib.EngineTypes.endp = _endpos;
22909 MenhirLib.EngineTypes.next = _menhir_stack;
22910 });
22911 (fun _menhir_env ->
22912 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22913 let {
22914 MenhirLib.EngineTypes.semv = pv;
22915 MenhirLib.EngineTypes.startp = _startpos_pv_;
22916 MenhirLib.EngineTypes.endp = _endpos_pv_;
22917 MenhirLib.EngineTypes.next = {
22918 MenhirLib.EngineTypes.semv = e;
22919 MenhirLib.EngineTypes.startp = _startpos_e_;
22920 MenhirLib.EngineTypes.endp = _endpos_e_;
22921 MenhirLib.EngineTypes.next = {
22922 MenhirLib.EngineTypes.semv = q;
22923 MenhirLib.EngineTypes.startp = _startpos_q_;
22924 MenhirLib.EngineTypes.endp = _endpos_q_;
22925 MenhirLib.EngineTypes.next = {
22926 MenhirLib.EngineTypes.semv = rp2;
22927 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22928 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22929 MenhirLib.EngineTypes.next = {
22930 MenhirLib.EngineTypes.semv = p;
22931 MenhirLib.EngineTypes.startp = _startpos_p_;
22932 MenhirLib.EngineTypes.endp = _endpos_p_;
22933 MenhirLib.EngineTypes.next = {
22934 MenhirLib.EngineTypes.semv = lp2;
22935 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22936 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22937 MenhirLib.EngineTypes.next = {
22938 MenhirLib.EngineTypes.semv = rp1;
22939 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22940 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22941 MenhirLib.EngineTypes.next = {
22942 MenhirLib.EngineTypes.semv = d;
22943 MenhirLib.EngineTypes.startp = _startpos_d_;
22944 MenhirLib.EngineTypes.endp = _endpos_d_;
22945 MenhirLib.EngineTypes.next = {
22946 MenhirLib.EngineTypes.semv = st;
22947 MenhirLib.EngineTypes.startp = _startpos_st_;
22948 MenhirLib.EngineTypes.endp = _endpos_st_;
22949 MenhirLib.EngineTypes.next = {
22950 MenhirLib.EngineTypes.semv = lp1;
22951 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22952 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22953 MenhirLib.EngineTypes.next = {
22954 MenhirLib.EngineTypes.state = _menhir_s;
22955 MenhirLib.EngineTypes.semv = t;
22956 MenhirLib.EngineTypes.startp = _startpos_t_;
22957 MenhirLib.EngineTypes.endp = _endpos_t_;
22958 MenhirLib.EngineTypes.next = _menhir_stack;
22959 };
22960 };
22961 };
22962 };
22963 };
22964 };
22965 };
22966 };
22967 };
22968 };
22969 } = _menhir_stack in
22970 let pv : (
22971 # 107 "parser_cocci_menhir.mly"
22972 (Data.clt)
22973 # 22974 "parser_cocci_menhir.ml"
22974 ) = Obj.magic pv in
22975 let e : 'tv_initialize = Obj.magic e in
22976 let q : (
22977 # 107 "parser_cocci_menhir.mly"
22978 (Data.clt)
22979 # 22980 "parser_cocci_menhir.ml"
22980 ) = Obj.magic q in
22981 let rp2 : (
22982 # 77 "parser_cocci_menhir.mly"
22983 (Data.clt)
22984 # 22985 "parser_cocci_menhir.ml"
22985 ) = Obj.magic rp2 in
22986 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22987 let lp2 : (
22988 # 76 "parser_cocci_menhir.mly"
22989 (Data.clt)
22990 # 22991 "parser_cocci_menhir.ml"
22991 ) = Obj.magic lp2 in
22992 let rp1 : (
22993 # 77 "parser_cocci_menhir.mly"
22994 (Data.clt)
22995 # 22996 "parser_cocci_menhir.ml"
22996 ) = Obj.magic rp1 in
22997 let d : 'tv_d_ident = Obj.magic d in
22998 let st : (
22999 # 99 "parser_cocci_menhir.mly"
23000 (Data.clt)
23001 # 23002 "parser_cocci_menhir.ml"
23002 ) = Obj.magic st in
23003 let lp1 : (
23004 # 76 "parser_cocci_menhir.mly"
23005 (Data.clt)
23006 # 23007 "parser_cocci_menhir.ml"
23007 ) = Obj.magic lp1 in
23008 let t : 'tv_ctype = Obj.magic t in
23009 let _startpos = _startpos_t_ in
23010 let _endpos = _endpos_pv_ in
23011 let _v : 'tv_one_decl_var = let s =
23012
23013 # 39 "standard.mly"
23014 ( None )
23015 # 23016 "parser_cocci_menhir.ml"
23016
23017 in
23018
23019 # 1043 "parser_cocci_menhir.mly"
23020 ( let (id,fn) = d in
23021 let t =
23022 Ast0.wrap
23023 (Ast0.FunctionPointer
23024 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23025 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23026 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23027 # 23028 "parser_cocci_menhir.ml"
23028 in
23029 _menhir_env.MenhirLib.EngineTypes.stack <- {
23030 MenhirLib.EngineTypes.state = _menhir_s;
23031 MenhirLib.EngineTypes.semv = Obj.repr _v;
23032 MenhirLib.EngineTypes.startp = _startpos;
23033 MenhirLib.EngineTypes.endp = _endpos;
23034 MenhirLib.EngineTypes.next = _menhir_stack;
23035 });
23036 (fun _menhir_env ->
23037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23038 let {
23039 MenhirLib.EngineTypes.semv = pv;
23040 MenhirLib.EngineTypes.startp = _startpos_pv_;
23041 MenhirLib.EngineTypes.endp = _endpos_pv_;
23042 MenhirLib.EngineTypes.next = {
23043 MenhirLib.EngineTypes.semv = e;
23044 MenhirLib.EngineTypes.startp = _startpos_e_;
23045 MenhirLib.EngineTypes.endp = _endpos_e_;
23046 MenhirLib.EngineTypes.next = {
23047 MenhirLib.EngineTypes.semv = q;
23048 MenhirLib.EngineTypes.startp = _startpos_q_;
23049 MenhirLib.EngineTypes.endp = _endpos_q_;
23050 MenhirLib.EngineTypes.next = {
23051 MenhirLib.EngineTypes.semv = rp2;
23052 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23053 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23054 MenhirLib.EngineTypes.next = {
23055 MenhirLib.EngineTypes.semv = p;
23056 MenhirLib.EngineTypes.startp = _startpos_p_;
23057 MenhirLib.EngineTypes.endp = _endpos_p_;
23058 MenhirLib.EngineTypes.next = {
23059 MenhirLib.EngineTypes.semv = lp2;
23060 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23061 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23062 MenhirLib.EngineTypes.next = {
23063 MenhirLib.EngineTypes.semv = rp1;
23064 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23065 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23066 MenhirLib.EngineTypes.next = {
23067 MenhirLib.EngineTypes.semv = d;
23068 MenhirLib.EngineTypes.startp = _startpos_d_;
23069 MenhirLib.EngineTypes.endp = _endpos_d_;
23070 MenhirLib.EngineTypes.next = {
23071 MenhirLib.EngineTypes.semv = st;
23072 MenhirLib.EngineTypes.startp = _startpos_st_;
23073 MenhirLib.EngineTypes.endp = _endpos_st_;
23074 MenhirLib.EngineTypes.next = {
23075 MenhirLib.EngineTypes.semv = lp1;
23076 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23077 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23078 MenhirLib.EngineTypes.next = {
23079 MenhirLib.EngineTypes.semv = t;
23080 MenhirLib.EngineTypes.startp = _startpos_t_;
23081 MenhirLib.EngineTypes.endp = _endpos_t_;
23082 MenhirLib.EngineTypes.next = {
23083 MenhirLib.EngineTypes.state = _menhir_s;
23084 MenhirLib.EngineTypes.semv = x0;
23085 MenhirLib.EngineTypes.startp = _startpos_x0_;
23086 MenhirLib.EngineTypes.endp = _endpos_x0_;
23087 MenhirLib.EngineTypes.next = _menhir_stack;
23088 };
23089 };
23090 };
23091 };
23092 };
23093 };
23094 };
23095 };
23096 };
23097 };
23098 };
23099 } = _menhir_stack in
23100 let pv : (
23101 # 107 "parser_cocci_menhir.mly"
23102 (Data.clt)
23103 # 23104 "parser_cocci_menhir.ml"
23104 ) = Obj.magic pv in
23105 let e : 'tv_initialize = Obj.magic e in
23106 let q : (
23107 # 107 "parser_cocci_menhir.mly"
23108 (Data.clt)
23109 # 23110 "parser_cocci_menhir.ml"
23110 ) = Obj.magic q in
23111 let rp2 : (
23112 # 77 "parser_cocci_menhir.mly"
23113 (Data.clt)
23114 # 23115 "parser_cocci_menhir.ml"
23115 ) = Obj.magic rp2 in
23116 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23117 let lp2 : (
23118 # 76 "parser_cocci_menhir.mly"
23119 (Data.clt)
23120 # 23121 "parser_cocci_menhir.ml"
23121 ) = Obj.magic lp2 in
23122 let rp1 : (
23123 # 77 "parser_cocci_menhir.mly"
23124 (Data.clt)
23125 # 23126 "parser_cocci_menhir.ml"
23126 ) = Obj.magic rp1 in
23127 let d : 'tv_d_ident = Obj.magic d in
23128 let st : (
23129 # 99 "parser_cocci_menhir.mly"
23130 (Data.clt)
23131 # 23132 "parser_cocci_menhir.ml"
23132 ) = Obj.magic st in
23133 let lp1 : (
23134 # 76 "parser_cocci_menhir.mly"
23135 (Data.clt)
23136 # 23137 "parser_cocci_menhir.ml"
23137 ) = Obj.magic lp1 in
23138 let t : 'tv_ctype = Obj.magic t in
23139 let x0 : 'tv_storage = Obj.magic x0 in
23140 let _startpos = _startpos_x0_ in
23141 let _endpos = _endpos_pv_ in
23142 let _v : 'tv_one_decl_var = let s =
23143 let x = x0 in
23144
23145 # 41 "standard.mly"
23146 ( Some x )
23147 # 23148 "parser_cocci_menhir.ml"
23148
23149 in
23150
23151 # 1043 "parser_cocci_menhir.mly"
23152 ( let (id,fn) = d in
23153 let t =
23154 Ast0.wrap
23155 (Ast0.FunctionPointer
23156 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23157 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23158 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23159 # 23160 "parser_cocci_menhir.ml"
23160 in
23161 _menhir_env.MenhirLib.EngineTypes.stack <- {
23162 MenhirLib.EngineTypes.state = _menhir_s;
23163 MenhirLib.EngineTypes.semv = Obj.repr _v;
23164 MenhirLib.EngineTypes.startp = _startpos;
23165 MenhirLib.EngineTypes.endp = _endpos;
23166 MenhirLib.EngineTypes.next = _menhir_stack;
23167 });
23168 (fun _menhir_env ->
23169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23170 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23171 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23172 let _endpos = _startpos in
23173 let _v : 'tv_option_TLocal_ =
23174 # 29 "standard.mly"
23175 ( None )
23176 # 23177 "parser_cocci_menhir.ml"
23177 in
23178 _menhir_env.MenhirLib.EngineTypes.stack <- {
23179 MenhirLib.EngineTypes.state = _menhir_s;
23180 MenhirLib.EngineTypes.semv = Obj.repr _v;
23181 MenhirLib.EngineTypes.startp = _startpos;
23182 MenhirLib.EngineTypes.endp = _endpos;
23183 MenhirLib.EngineTypes.next = _menhir_stack;
23184 });
23185 (fun _menhir_env ->
23186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23187 let {
23188 MenhirLib.EngineTypes.state = _menhir_s;
23189 MenhirLib.EngineTypes.semv = x;
23190 MenhirLib.EngineTypes.startp = _startpos_x_;
23191 MenhirLib.EngineTypes.endp = _endpos_x_;
23192 MenhirLib.EngineTypes.next = _menhir_stack;
23193 } = _menhir_stack in
23194 let x : unit = Obj.magic x in
23195 let _startpos = _startpos_x_ in
23196 let _endpos = _endpos_x_ in
23197 let _v : 'tv_option_TLocal_ =
23198 # 31 "standard.mly"
23199 ( Some x )
23200 # 23201 "parser_cocci_menhir.ml"
23201 in
23202 _menhir_env.MenhirLib.EngineTypes.stack <- {
23203 MenhirLib.EngineTypes.state = _menhir_s;
23204 MenhirLib.EngineTypes.semv = Obj.repr _v;
23205 MenhirLib.EngineTypes.startp = _startpos;
23206 MenhirLib.EngineTypes.endp = _endpos;
23207 MenhirLib.EngineTypes.next = _menhir_stack;
23208 });
23209 (fun _menhir_env ->
23210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23211 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23212 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23213 let _endpos = _startpos in
23214 let _v : 'tv_option_TPosAny_ =
23215 # 29 "standard.mly"
23216 ( None )
23217 # 23218 "parser_cocci_menhir.ml"
23218 in
23219 _menhir_env.MenhirLib.EngineTypes.stack <- {
23220 MenhirLib.EngineTypes.state = _menhir_s;
23221 MenhirLib.EngineTypes.semv = Obj.repr _v;
23222 MenhirLib.EngineTypes.startp = _startpos;
23223 MenhirLib.EngineTypes.endp = _endpos;
23224 MenhirLib.EngineTypes.next = _menhir_stack;
23225 });
23226 (fun _menhir_env ->
23227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23228 let {
23229 MenhirLib.EngineTypes.state = _menhir_s;
23230 MenhirLib.EngineTypes.semv = x;
23231 MenhirLib.EngineTypes.startp = _startpos_x_;
23232 MenhirLib.EngineTypes.endp = _endpos_x_;
23233 MenhirLib.EngineTypes.next = _menhir_stack;
23234 } = _menhir_stack in
23235 let x : unit = Obj.magic x in
23236 let _startpos = _startpos_x_ in
23237 let _endpos = _endpos_x_ in
23238 let _v : 'tv_option_TPosAny_ =
23239 # 31 "standard.mly"
23240 ( Some x )
23241 # 23242 "parser_cocci_menhir.ml"
23242 in
23243 _menhir_env.MenhirLib.EngineTypes.stack <- {
23244 MenhirLib.EngineTypes.state = _menhir_s;
23245 MenhirLib.EngineTypes.semv = Obj.repr _v;
23246 MenhirLib.EngineTypes.startp = _startpos;
23247 MenhirLib.EngineTypes.endp = _endpos;
23248 MenhirLib.EngineTypes.next = _menhir_stack;
23249 });
23250 (fun _menhir_env ->
23251 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23252 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23253 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23254 let _endpos = _startpos in
23255 let _v : 'tv_option_eexpr_ =
23256 # 29 "standard.mly"
23257 ( None )
23258 # 23259 "parser_cocci_menhir.ml"
23259 in
23260 _menhir_env.MenhirLib.EngineTypes.stack <- {
23261 MenhirLib.EngineTypes.state = _menhir_s;
23262 MenhirLib.EngineTypes.semv = Obj.repr _v;
23263 MenhirLib.EngineTypes.startp = _startpos;
23264 MenhirLib.EngineTypes.endp = _endpos;
23265 MenhirLib.EngineTypes.next = _menhir_stack;
23266 });
23267 (fun _menhir_env ->
23268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23269 let {
23270 MenhirLib.EngineTypes.state = _menhir_s;
23271 MenhirLib.EngineTypes.semv = x;
23272 MenhirLib.EngineTypes.startp = _startpos_x_;
23273 MenhirLib.EngineTypes.endp = _endpos_x_;
23274 MenhirLib.EngineTypes.next = _menhir_stack;
23275 } = _menhir_stack in
23276 let x : 'tv_eexpr = Obj.magic x in
23277 let _startpos = _startpos_x_ in
23278 let _endpos = _endpos_x_ in
23279 let _v : 'tv_option_eexpr_ =
23280 # 31 "standard.mly"
23281 ( Some x )
23282 # 23283 "parser_cocci_menhir.ml"
23283 in
23284 _menhir_env.MenhirLib.EngineTypes.stack <- {
23285 MenhirLib.EngineTypes.state = _menhir_s;
23286 MenhirLib.EngineTypes.semv = Obj.repr _v;
23287 MenhirLib.EngineTypes.startp = _startpos;
23288 MenhirLib.EngineTypes.endp = _endpos;
23289 MenhirLib.EngineTypes.next = _menhir_stack;
23290 });
23291 (fun _menhir_env ->
23292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23293 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23294 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23295 let _endpos = _startpos in
23296 let _v : 'tv_option_re_or_not_eqe_ =
23297 # 29 "standard.mly"
23298 ( None )
23299 # 23300 "parser_cocci_menhir.ml"
23300 in
23301 _menhir_env.MenhirLib.EngineTypes.stack <- {
23302 MenhirLib.EngineTypes.state = _menhir_s;
23303 MenhirLib.EngineTypes.semv = Obj.repr _v;
23304 MenhirLib.EngineTypes.startp = _startpos;
23305 MenhirLib.EngineTypes.endp = _endpos;
23306 MenhirLib.EngineTypes.next = _menhir_stack;
23307 });
23308 (fun _menhir_env ->
23309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23310 let {
23311 MenhirLib.EngineTypes.state = _menhir_s;
23312 MenhirLib.EngineTypes.semv = x;
23313 MenhirLib.EngineTypes.startp = _startpos_x_;
23314 MenhirLib.EngineTypes.endp = _endpos_x_;
23315 MenhirLib.EngineTypes.next = _menhir_stack;
23316 } = _menhir_stack in
23317 let x : 'tv_re_or_not_eqe = Obj.magic x in
23318 let _startpos = _startpos_x_ in
23319 let _endpos = _endpos_x_ in
23320 let _v : 'tv_option_re_or_not_eqe_ =
23321 # 31 "standard.mly"
23322 ( Some x )
23323 # 23324 "parser_cocci_menhir.ml"
23324 in
23325 _menhir_env.MenhirLib.EngineTypes.stack <- {
23326 MenhirLib.EngineTypes.state = _menhir_s;
23327 MenhirLib.EngineTypes.semv = Obj.repr _v;
23328 MenhirLib.EngineTypes.startp = _startpos;
23329 MenhirLib.EngineTypes.endp = _endpos;
23330 MenhirLib.EngineTypes.next = _menhir_stack;
23331 });
23332 (fun _menhir_env ->
23333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23334 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23335 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23336 let _endpos = _startpos in
23337 let _v : 'tv_option_re_or_not_eqid_ =
23338 # 29 "standard.mly"
23339 ( None )
23340 # 23341 "parser_cocci_menhir.ml"
23341 in
23342 _menhir_env.MenhirLib.EngineTypes.stack <- {
23343 MenhirLib.EngineTypes.state = _menhir_s;
23344 MenhirLib.EngineTypes.semv = Obj.repr _v;
23345 MenhirLib.EngineTypes.startp = _startpos;
23346 MenhirLib.EngineTypes.endp = _endpos;
23347 MenhirLib.EngineTypes.next = _menhir_stack;
23348 });
23349 (fun _menhir_env ->
23350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23351 let {
23352 MenhirLib.EngineTypes.state = _menhir_s;
23353 MenhirLib.EngineTypes.semv = x;
23354 MenhirLib.EngineTypes.startp = _startpos_x_;
23355 MenhirLib.EngineTypes.endp = _endpos_x_;
23356 MenhirLib.EngineTypes.next = _menhir_stack;
23357 } = _menhir_stack in
23358 let x : 'tv_re_or_not_eqid = Obj.magic x in
23359 let _startpos = _startpos_x_ in
23360 let _endpos = _endpos_x_ in
23361 let _v : 'tv_option_re_or_not_eqid_ =
23362 # 31 "standard.mly"
23363 ( Some x )
23364 # 23365 "parser_cocci_menhir.ml"
23365 in
23366 _menhir_env.MenhirLib.EngineTypes.stack <- {
23367 MenhirLib.EngineTypes.state = _menhir_s;
23368 MenhirLib.EngineTypes.semv = Obj.repr _v;
23369 MenhirLib.EngineTypes.startp = _startpos;
23370 MenhirLib.EngineTypes.endp = _endpos;
23371 MenhirLib.EngineTypes.next = _menhir_stack;
23372 });
23373 (fun _menhir_env ->
23374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23375 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23376 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23377 let _endpos = _startpos in
23378 let _v : 'tv_plus_after_dots =
23379 # 1748 "parser_cocci_menhir.mly"
23380 ([])
23381 # 23382 "parser_cocci_menhir.ml"
23382 in
23383 _menhir_env.MenhirLib.EngineTypes.stack <- {
23384 MenhirLib.EngineTypes.state = _menhir_s;
23385 MenhirLib.EngineTypes.semv = Obj.repr _v;
23386 MenhirLib.EngineTypes.startp = _startpos;
23387 MenhirLib.EngineTypes.endp = _endpos;
23388 MenhirLib.EngineTypes.next = _menhir_stack;
23389 });
23390 (fun _menhir_env ->
23391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23392 let {
23393 MenhirLib.EngineTypes.semv = _2;
23394 MenhirLib.EngineTypes.startp = _startpos__2_;
23395 MenhirLib.EngineTypes.endp = _endpos__2_;
23396 MenhirLib.EngineTypes.next = {
23397 MenhirLib.EngineTypes.state = _menhir_s;
23398 MenhirLib.EngineTypes.startp = _startpos__1_;
23399 MenhirLib.EngineTypes.endp = _endpos__1_;
23400 MenhirLib.EngineTypes.next = _menhir_stack;
23401 };
23402 } = _menhir_stack in
23403 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23404 let _startpos = _startpos__1_ in
23405 let _endpos = _endpos__2_ in
23406 let _v : 'tv_plus_after_dots =
23407 # 1749 "parser_cocci_menhir.mly"
23408 (_2)
23409 # 23410 "parser_cocci_menhir.ml"
23410 in
23411 _menhir_env.MenhirLib.EngineTypes.stack <- {
23412 MenhirLib.EngineTypes.state = _menhir_s;
23413 MenhirLib.EngineTypes.semv = Obj.repr _v;
23414 MenhirLib.EngineTypes.startp = _startpos;
23415 MenhirLib.EngineTypes.endp = _endpos;
23416 MenhirLib.EngineTypes.next = _menhir_stack;
23417 });
23418 (fun _menhir_env ->
23419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23420 let {
23421 MenhirLib.EngineTypes.semv = _2;
23422 MenhirLib.EngineTypes.startp = _startpos__2_;
23423 MenhirLib.EngineTypes.endp = _endpos__2_;
23424 MenhirLib.EngineTypes.next = {
23425 MenhirLib.EngineTypes.state = _menhir_s;
23426 MenhirLib.EngineTypes.semv = _1;
23427 MenhirLib.EngineTypes.startp = _startpos__1_;
23428 MenhirLib.EngineTypes.endp = _endpos__1_;
23429 MenhirLib.EngineTypes.next = _menhir_stack;
23430 };
23431 } = _menhir_stack in
23432 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23433 let _1 : 'tv_expr = Obj.magic _1 in
23434 let _startpos = _startpos__1_ in
23435 let _endpos = _endpos__2_ in
23436 let _v : 'tv_plus_after_dots =
23437 # 1751 "parser_cocci_menhir.mly"
23438 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
23439 # 23440 "parser_cocci_menhir.ml"
23440 in
23441 _menhir_env.MenhirLib.EngineTypes.stack <- {
23442 MenhirLib.EngineTypes.state = _menhir_s;
23443 MenhirLib.EngineTypes.semv = Obj.repr _v;
23444 MenhirLib.EngineTypes.startp = _startpos;
23445 MenhirLib.EngineTypes.endp = _endpos;
23446 MenhirLib.EngineTypes.next = _menhir_stack;
23447 });
23448 (fun _menhir_env ->
23449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23450 let {
23451 MenhirLib.EngineTypes.semv = _2;
23452 MenhirLib.EngineTypes.startp = _startpos__2_;
23453 MenhirLib.EngineTypes.endp = _endpos__2_;
23454 MenhirLib.EngineTypes.next = {
23455 MenhirLib.EngineTypes.state = _menhir_s;
23456 MenhirLib.EngineTypes.semv = _1;
23457 MenhirLib.EngineTypes.startp = _startpos__1_;
23458 MenhirLib.EngineTypes.endp = _endpos__1_;
23459 MenhirLib.EngineTypes.next = _menhir_stack;
23460 };
23461 } = _menhir_stack in
23462 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23463 let _1 : 'tv_fundecl = Obj.magic _1 in
23464 let _startpos = _startpos__1_ in
23465 let _endpos = _endpos__2_ in
23466 let _v : 'tv_plus_after_dots =
23467 # 1752 "parser_cocci_menhir.mly"
23468 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23469 # 23470 "parser_cocci_menhir.ml"
23470 in
23471 _menhir_env.MenhirLib.EngineTypes.stack <- {
23472 MenhirLib.EngineTypes.state = _menhir_s;
23473 MenhirLib.EngineTypes.semv = Obj.repr _v;
23474 MenhirLib.EngineTypes.startp = _startpos;
23475 MenhirLib.EngineTypes.endp = _endpos;
23476 MenhirLib.EngineTypes.next = _menhir_stack;
23477 });
23478 (fun _menhir_env ->
23479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23480 let {
23481 MenhirLib.EngineTypes.semv = _2;
23482 MenhirLib.EngineTypes.startp = _startpos__2_;
23483 MenhirLib.EngineTypes.endp = _endpos__2_;
23484 MenhirLib.EngineTypes.next = {
23485 MenhirLib.EngineTypes.state = _menhir_s;
23486 MenhirLib.EngineTypes.semv = _1;
23487 MenhirLib.EngineTypes.startp = _startpos__1_;
23488 MenhirLib.EngineTypes.endp = _endpos__1_;
23489 MenhirLib.EngineTypes.next = _menhir_stack;
23490 };
23491 } = _menhir_stack in
23492 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23493 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
23494 let _startpos = _startpos__1_ in
23495 let _endpos = _endpos__2_ in
23496 let _v : 'tv_plus_after_dots =
23497 # 1754 "parser_cocci_menhir.mly"
23498 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23499 # 23500 "parser_cocci_menhir.ml"
23500 in
23501 _menhir_env.MenhirLib.EngineTypes.stack <- {
23502 MenhirLib.EngineTypes.state = _menhir_s;
23503 MenhirLib.EngineTypes.semv = Obj.repr _v;
23504 MenhirLib.EngineTypes.startp = _startpos;
23505 MenhirLib.EngineTypes.endp = _endpos;
23506 MenhirLib.EngineTypes.next = _menhir_stack;
23507 });
23508 (fun _menhir_env ->
23509 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23510 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23511 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23512 let _endpos = _startpos in
23513 let _v : 'tv_plus_after_exp =
23514 # 1744 "parser_cocci_menhir.mly"
23515 ([])
23516 # 23517 "parser_cocci_menhir.ml"
23517 in
23518 _menhir_env.MenhirLib.EngineTypes.stack <- {
23519 MenhirLib.EngineTypes.state = _menhir_s;
23520 MenhirLib.EngineTypes.semv = Obj.repr _v;
23521 MenhirLib.EngineTypes.startp = _startpos;
23522 MenhirLib.EngineTypes.endp = _endpos;
23523 MenhirLib.EngineTypes.next = _menhir_stack;
23524 });
23525 (fun _menhir_env ->
23526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23527 let {
23528 MenhirLib.EngineTypes.semv = _2;
23529 MenhirLib.EngineTypes.startp = _startpos__2_;
23530 MenhirLib.EngineTypes.endp = _endpos__2_;
23531 MenhirLib.EngineTypes.next = {
23532 MenhirLib.EngineTypes.state = _menhir_s;
23533 MenhirLib.EngineTypes.semv = _1;
23534 MenhirLib.EngineTypes.startp = _startpos__1_;
23535 MenhirLib.EngineTypes.endp = _endpos__1_;
23536 MenhirLib.EngineTypes.next = _menhir_stack;
23537 };
23538 } = _menhir_stack in
23539 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23540 let _1 : 'tv_stm_dots = Obj.magic _1 in
23541 let _startpos = _startpos__1_ in
23542 let _endpos = _endpos__2_ in
23543 let _v : 'tv_plus_after_exp =
23544 # 1745 "parser_cocci_menhir.mly"
23545 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23546 # 23547 "parser_cocci_menhir.ml"
23547 in
23548 _menhir_env.MenhirLib.EngineTypes.stack <- {
23549 MenhirLib.EngineTypes.state = _menhir_s;
23550 MenhirLib.EngineTypes.semv = Obj.repr _v;
23551 MenhirLib.EngineTypes.startp = _startpos;
23552 MenhirLib.EngineTypes.endp = _endpos;
23553 MenhirLib.EngineTypes.next = _menhir_stack;
23554 });
23555 (fun _menhir_env ->
23556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23557 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23558 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23559 let _endpos = _startpos in
23560 let _v : 'tv_plus_after_stm =
23561 # 1757 "parser_cocci_menhir.mly"
23562 ([])
23563 # 23564 "parser_cocci_menhir.ml"
23564 in
23565 _menhir_env.MenhirLib.EngineTypes.stack <- {
23566 MenhirLib.EngineTypes.state = _menhir_s;
23567 MenhirLib.EngineTypes.semv = Obj.repr _v;
23568 MenhirLib.EngineTypes.startp = _startpos;
23569 MenhirLib.EngineTypes.endp = _endpos;
23570 MenhirLib.EngineTypes.next = _menhir_stack;
23571 });
23572 (fun _menhir_env ->
23573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23574 let {
23575 MenhirLib.EngineTypes.semv = _2;
23576 MenhirLib.EngineTypes.startp = _startpos__2_;
23577 MenhirLib.EngineTypes.endp = _endpos__2_;
23578 MenhirLib.EngineTypes.next = {
23579 MenhirLib.EngineTypes.state = _menhir_s;
23580 MenhirLib.EngineTypes.semv = _1;
23581 MenhirLib.EngineTypes.startp = _startpos__1_;
23582 MenhirLib.EngineTypes.endp = _endpos__1_;
23583 MenhirLib.EngineTypes.next = _menhir_stack;
23584 };
23585 } = _menhir_stack in
23586 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23587 let _1 : 'tv_stm_dots = Obj.magic _1 in
23588 let _startpos = _startpos__1_ in
23589 let _endpos = _endpos__2_ in
23590 let _v : 'tv_plus_after_stm =
23591 # 1758 "parser_cocci_menhir.mly"
23592 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23593 # 23594 "parser_cocci_menhir.ml"
23594 in
23595 _menhir_env.MenhirLib.EngineTypes.stack <- {
23596 MenhirLib.EngineTypes.state = _menhir_s;
23597 MenhirLib.EngineTypes.semv = Obj.repr _v;
23598 MenhirLib.EngineTypes.startp = _startpos;
23599 MenhirLib.EngineTypes.endp = _endpos;
23600 MenhirLib.EngineTypes.next = _menhir_stack;
23601 });
23602 (fun _menhir_env ->
23603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23604 let {
23605 MenhirLib.EngineTypes.semv = _2;
23606 MenhirLib.EngineTypes.startp = _startpos__2_;
23607 MenhirLib.EngineTypes.endp = _endpos__2_;
23608 MenhirLib.EngineTypes.next = {
23609 MenhirLib.EngineTypes.state = _menhir_s;
23610 MenhirLib.EngineTypes.semv = _1;
23611 MenhirLib.EngineTypes.startp = _startpos__1_;
23612 MenhirLib.EngineTypes.endp = _endpos__1_;
23613 MenhirLib.EngineTypes.next = _menhir_stack;
23614 };
23615 } = _menhir_stack in
23616 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23617 let _1 : 'tv_fundecl = Obj.magic _1 in
23618 let _startpos = _startpos__1_ in
23619 let _endpos = _endpos__2_ in
23620 let _v : 'tv_plus_after_stm =
23621 # 1759 "parser_cocci_menhir.mly"
23622 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23623 # 23624 "parser_cocci_menhir.ml"
23624 in
23625 _menhir_env.MenhirLib.EngineTypes.stack <- {
23626 MenhirLib.EngineTypes.state = _menhir_s;
23627 MenhirLib.EngineTypes.semv = Obj.repr _v;
23628 MenhirLib.EngineTypes.startp = _startpos;
23629 MenhirLib.EngineTypes.endp = _endpos;
23630 MenhirLib.EngineTypes.next = _menhir_stack;
23631 });
23632 (fun _menhir_env ->
23633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23634 let {
23635 MenhirLib.EngineTypes.semv = _2;
23636 MenhirLib.EngineTypes.startp = _startpos__2_;
23637 MenhirLib.EngineTypes.endp = _endpos__2_;
23638 MenhirLib.EngineTypes.next = {
23639 MenhirLib.EngineTypes.state = _menhir_s;
23640 MenhirLib.EngineTypes.semv = _1;
23641 MenhirLib.EngineTypes.startp = _startpos__1_;
23642 MenhirLib.EngineTypes.endp = _endpos__1_;
23643 MenhirLib.EngineTypes.next = _menhir_stack;
23644 };
23645 } = _menhir_stack in
23646 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23647 let _1 : 'tv_decl_statement = Obj.magic _1 in
23648 let _startpos = _startpos__1_ in
23649 let _endpos = _endpos__2_ in
23650 let _v : 'tv_plus_after_stm =
23651 # 1761 "parser_cocci_menhir.mly"
23652 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23653 # 23654 "parser_cocci_menhir.ml"
23654 in
23655 _menhir_env.MenhirLib.EngineTypes.stack <- {
23656 MenhirLib.EngineTypes.state = _menhir_s;
23657 MenhirLib.EngineTypes.semv = Obj.repr _v;
23658 MenhirLib.EngineTypes.startp = _startpos;
23659 MenhirLib.EngineTypes.endp = _endpos;
23660 MenhirLib.EngineTypes.next = _menhir_stack;
23661 });
23662 (fun _menhir_env ->
23663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23664 let {
23665 MenhirLib.EngineTypes.semv = b;
23666 MenhirLib.EngineTypes.startp = _startpos_b_;
23667 MenhirLib.EngineTypes.endp = _endpos_b_;
23668 MenhirLib.EngineTypes.next = {
23669 MenhirLib.EngineTypes.state = _menhir_s;
23670 MenhirLib.EngineTypes.semv = f;
23671 MenhirLib.EngineTypes.startp = _startpos_f_;
23672 MenhirLib.EngineTypes.endp = _endpos_f_;
23673 MenhirLib.EngineTypes.next = _menhir_stack;
23674 };
23675 } = _menhir_stack in
23676 let b : 'tv_loption_plus_start_ = Obj.magic b in
23677 let f : 'tv_loption_filespec_ = Obj.magic f in
23678 let _startpos = _startpos_f_ in
23679 let _endpos = _endpos_b_ in
23680 let _v : 'tv_plus_body =
23681 # 612 "parser_cocci_menhir.mly"
23682 ( Top_level.top_level (f@b(*@ew*)) )
23683 # 23684 "parser_cocci_menhir.ml"
23684 in
23685 _menhir_env.MenhirLib.EngineTypes.stack <- {
23686 MenhirLib.EngineTypes.state = _menhir_s;
23687 MenhirLib.EngineTypes.semv = Obj.repr _v;
23688 MenhirLib.EngineTypes.startp = _startpos;
23689 MenhirLib.EngineTypes.endp = _endpos;
23690 MenhirLib.EngineTypes.next = _menhir_stack;
23691 });
23692 (fun _menhir_env ->
23693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23694 let {
23695 MenhirLib.EngineTypes.semv = b;
23696 MenhirLib.EngineTypes.startp = _startpos_b_;
23697 MenhirLib.EngineTypes.endp = _endpos_b_;
23698 MenhirLib.EngineTypes.next = {
23699 MenhirLib.EngineTypes.state = _menhir_s;
23700 MenhirLib.EngineTypes.semv = f;
23701 MenhirLib.EngineTypes.startp = _startpos_f_;
23702 MenhirLib.EngineTypes.endp = _endpos_f_;
23703 MenhirLib.EngineTypes.next = _menhir_stack;
23704 };
23705 } = _menhir_stack in
23706 let b : 'tv_top_eexpr = Obj.magic b in
23707 let f : 'tv_loption_filespec_ = Obj.magic f in
23708 let _startpos = _startpos_f_ in
23709 let _endpos = _endpos_b_ in
23710 let _v : 'tv_plus_exp_body =
23711 # 626 "parser_cocci_menhir.mly"
23712 ( Top_level.top_level (f@[b](*@ew*)) )
23713 # 23714 "parser_cocci_menhir.ml"
23714 in
23715 _menhir_env.MenhirLib.EngineTypes.stack <- {
23716 MenhirLib.EngineTypes.state = _menhir_s;
23717 MenhirLib.EngineTypes.semv = Obj.repr _v;
23718 MenhirLib.EngineTypes.startp = _startpos;
23719 MenhirLib.EngineTypes.endp = _endpos;
23720 MenhirLib.EngineTypes.next = _menhir_stack;
23721 });
23722 (fun _menhir_env ->
23723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23724 let {
23725 MenhirLib.EngineTypes.startp = _startpos__2_;
23726 MenhirLib.EngineTypes.endp = _endpos__2_;
23727 MenhirLib.EngineTypes.next = {
23728 MenhirLib.EngineTypes.state = _menhir_s;
23729 MenhirLib.EngineTypes.semv = _1;
23730 MenhirLib.EngineTypes.startp = _startpos__1_;
23731 MenhirLib.EngineTypes.endp = _endpos__1_;
23732 MenhirLib.EngineTypes.next = _menhir_stack;
23733 };
23734 } = _menhir_stack in
23735 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
23736 let _startpos = _startpos__1_ in
23737 let _endpos = _endpos__2_ in
23738 let _v : (
23739 # 143 "parser_cocci_menhir.mly"
23740 (Ast0_cocci.rule)
23741 # 23742 "parser_cocci_menhir.ml"
23742 ) =
23743 # 179 "parser_cocci_menhir.mly"
23744 ( _1 )
23745 # 23746 "parser_cocci_menhir.ml"
23746 in
23747 _menhir_env.MenhirLib.EngineTypes.stack <- {
23748 MenhirLib.EngineTypes.state = _menhir_s;
23749 MenhirLib.EngineTypes.semv = Obj.repr _v;
23750 MenhirLib.EngineTypes.startp = _startpos;
23751 MenhirLib.EngineTypes.endp = _endpos;
23752 MenhirLib.EngineTypes.next = _menhir_stack;
23753 });
23754 (fun _menhir_env ->
23755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23756 let {
23757 MenhirLib.EngineTypes.startp = _startpos__2_;
23758 MenhirLib.EngineTypes.endp = _endpos__2_;
23759 MenhirLib.EngineTypes.next = {
23760 MenhirLib.EngineTypes.state = _menhir_s;
23761 MenhirLib.EngineTypes.semv = p;
23762 MenhirLib.EngineTypes.startp = _startpos_p_;
23763 MenhirLib.EngineTypes.endp = _endpos_p_;
23764 MenhirLib.EngineTypes.next = _menhir_stack;
23765 };
23766 } = _menhir_stack in
23767 let p : 'tv_plus_exp_body = Obj.magic p in
23768 let _startpos = _startpos_p_ in
23769 let _endpos = _endpos__2_ in
23770 let _v : (
23771 # 143 "parser_cocci_menhir.mly"
23772 (Ast0_cocci.rule)
23773 # 23774 "parser_cocci_menhir.ml"
23774 ) =
23775 # 179 "parser_cocci_menhir.mly"
23776 ( p )
23777 # 23778 "parser_cocci_menhir.ml"
23778 in
23779 _menhir_env.MenhirLib.EngineTypes.stack <- {
23780 MenhirLib.EngineTypes.state = _menhir_s;
23781 MenhirLib.EngineTypes.semv = Obj.repr _v;
23782 MenhirLib.EngineTypes.startp = _startpos;
23783 MenhirLib.EngineTypes.endp = _endpos;
23784 MenhirLib.EngineTypes.next = _menhir_stack;
23785 });
23786 (fun _menhir_env ->
23787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23788 let {
23789 MenhirLib.EngineTypes.startp = _startpos__2_;
23790 MenhirLib.EngineTypes.endp = _endpos__2_;
23791 MenhirLib.EngineTypes.next = {
23792 MenhirLib.EngineTypes.state = _menhir_s;
23793 MenhirLib.EngineTypes.semv = p;
23794 MenhirLib.EngineTypes.startp = _startpos_p_;
23795 MenhirLib.EngineTypes.endp = _endpos_p_;
23796 MenhirLib.EngineTypes.next = _menhir_stack;
23797 };
23798 } = _menhir_stack in
23799 let p : 'tv_plus_exp_body = Obj.magic p in
23800 let _startpos = _startpos_p_ in
23801 let _endpos = _endpos__2_ in
23802 let _v : (
23803 # 143 "parser_cocci_menhir.mly"
23804 (Ast0_cocci.rule)
23805 # 23806 "parser_cocci_menhir.ml"
23806 ) =
23807 # 180 "parser_cocci_menhir.mly"
23808 ( p )
23809 # 23810 "parser_cocci_menhir.ml"
23810 in
23811 _menhir_env.MenhirLib.EngineTypes.stack <- {
23812 MenhirLib.EngineTypes.state = _menhir_s;
23813 MenhirLib.EngineTypes.semv = Obj.repr _v;
23814 MenhirLib.EngineTypes.startp = _startpos;
23815 MenhirLib.EngineTypes.endp = _endpos;
23816 MenhirLib.EngineTypes.next = _menhir_stack;
23817 });
23818 (fun _menhir_env ->
23819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23820 let {
23821 MenhirLib.EngineTypes.startp = _startpos__2_;
23822 MenhirLib.EngineTypes.endp = _endpos__2_;
23823 MenhirLib.EngineTypes.next = {
23824 MenhirLib.EngineTypes.state = _menhir_s;
23825 MenhirLib.EngineTypes.semv = _1;
23826 MenhirLib.EngineTypes.startp = _startpos__1_;
23827 MenhirLib.EngineTypes.endp = _endpos__1_;
23828 MenhirLib.EngineTypes.next = _menhir_stack;
23829 };
23830 } = _menhir_stack in
23831 let _1 : 'tv_plus_body = Obj.magic _1 in
23832 let _startpos = _startpos__1_ in
23833 let _endpos = _endpos__2_ in
23834 let _v : (
23835 # 140 "parser_cocci_menhir.mly"
23836 (Ast0_cocci.rule)
23837 # 23838 "parser_cocci_menhir.ml"
23838 ) =
23839 # 175 "parser_cocci_menhir.mly"
23840 ( _1 )
23841 # 23842 "parser_cocci_menhir.ml"
23842 in
23843 _menhir_env.MenhirLib.EngineTypes.stack <- {
23844 MenhirLib.EngineTypes.state = _menhir_s;
23845 MenhirLib.EngineTypes.semv = Obj.repr _v;
23846 MenhirLib.EngineTypes.startp = _startpos;
23847 MenhirLib.EngineTypes.endp = _endpos;
23848 MenhirLib.EngineTypes.next = _menhir_stack;
23849 });
23850 (fun _menhir_env ->
23851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23852 let {
23853 MenhirLib.EngineTypes.startp = _startpos__2_;
23854 MenhirLib.EngineTypes.endp = _endpos__2_;
23855 MenhirLib.EngineTypes.next = {
23856 MenhirLib.EngineTypes.state = _menhir_s;
23857 MenhirLib.EngineTypes.semv = p;
23858 MenhirLib.EngineTypes.startp = _startpos_p_;
23859 MenhirLib.EngineTypes.endp = _endpos_p_;
23860 MenhirLib.EngineTypes.next = _menhir_stack;
23861 };
23862 } = _menhir_stack in
23863 let p : 'tv_plus_body = Obj.magic p in
23864 let _startpos = _startpos_p_ in
23865 let _endpos = _endpos__2_ in
23866 let _v : (
23867 # 140 "parser_cocci_menhir.mly"
23868 (Ast0_cocci.rule)
23869 # 23870 "parser_cocci_menhir.ml"
23870 ) =
23871 # 175 "parser_cocci_menhir.mly"
23872 ( p )
23873 # 23874 "parser_cocci_menhir.ml"
23874 in
23875 _menhir_env.MenhirLib.EngineTypes.stack <- {
23876 MenhirLib.EngineTypes.state = _menhir_s;
23877 MenhirLib.EngineTypes.semv = Obj.repr _v;
23878 MenhirLib.EngineTypes.startp = _startpos;
23879 MenhirLib.EngineTypes.endp = _endpos;
23880 MenhirLib.EngineTypes.next = _menhir_stack;
23881 });
23882 (fun _menhir_env ->
23883 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23884 let {
23885 MenhirLib.EngineTypes.startp = _startpos__2_;
23886 MenhirLib.EngineTypes.endp = _endpos__2_;
23887 MenhirLib.EngineTypes.next = {
23888 MenhirLib.EngineTypes.state = _menhir_s;
23889 MenhirLib.EngineTypes.semv = p;
23890 MenhirLib.EngineTypes.startp = _startpos_p_;
23891 MenhirLib.EngineTypes.endp = _endpos_p_;
23892 MenhirLib.EngineTypes.next = _menhir_stack;
23893 };
23894 } = _menhir_stack in
23895 let p : 'tv_plus_body = Obj.magic p in
23896 let _startpos = _startpos_p_ in
23897 let _endpos = _endpos__2_ in
23898 let _v : (
23899 # 140 "parser_cocci_menhir.mly"
23900 (Ast0_cocci.rule)
23901 # 23902 "parser_cocci_menhir.ml"
23902 ) =
23903 # 176 "parser_cocci_menhir.mly"
23904 ( p )
23905 # 23906 "parser_cocci_menhir.ml"
23906 in
23907 _menhir_env.MenhirLib.EngineTypes.stack <- {
23908 MenhirLib.EngineTypes.state = _menhir_s;
23909 MenhirLib.EngineTypes.semv = Obj.repr _v;
23910 MenhirLib.EngineTypes.startp = _startpos;
23911 MenhirLib.EngineTypes.endp = _endpos;
23912 MenhirLib.EngineTypes.next = _menhir_stack;
23913 });
23914 (fun _menhir_env ->
23915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23916 let {
23917 MenhirLib.EngineTypes.state = _menhir_s;
23918 MenhirLib.EngineTypes.semv = _1;
23919 MenhirLib.EngineTypes.startp = _startpos__1_;
23920 MenhirLib.EngineTypes.endp = _endpos__1_;
23921 MenhirLib.EngineTypes.next = _menhir_stack;
23922 } = _menhir_stack in
23923 let _1 : 'tv_ctype = Obj.magic _1 in
23924 let _startpos = _startpos__1_ in
23925 let _endpos = _endpos__1_ in
23926 let _v : 'tv_plus_start =
23927 # 1733 "parser_cocci_menhir.mly"
23928 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
23929 # 23930 "parser_cocci_menhir.ml"
23930 in
23931 _menhir_env.MenhirLib.EngineTypes.stack <- {
23932 MenhirLib.EngineTypes.state = _menhir_s;
23933 MenhirLib.EngineTypes.semv = Obj.repr _v;
23934 MenhirLib.EngineTypes.startp = _startpos;
23935 MenhirLib.EngineTypes.endp = _endpos;
23936 MenhirLib.EngineTypes.next = _menhir_stack;
23937 });
23938 (fun _menhir_env ->
23939 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23940 let {
23941 MenhirLib.EngineTypes.state = _menhir_s;
23942 MenhirLib.EngineTypes.semv = _1;
23943 MenhirLib.EngineTypes.startp = _startpos__1_;
23944 MenhirLib.EngineTypes.endp = _endpos__1_;
23945 MenhirLib.EngineTypes.next = _menhir_stack;
23946 } = _menhir_stack in
23947 let _1 : 'tv_top_init = Obj.magic _1 in
23948 let _startpos = _startpos__1_ in
23949 let _endpos = _endpos__1_ in
23950 let _v : 'tv_plus_start =
23951 # 1734 "parser_cocci_menhir.mly"
23952 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
23953 # 23954 "parser_cocci_menhir.ml"
23954 in
23955 _menhir_env.MenhirLib.EngineTypes.stack <- {
23956 MenhirLib.EngineTypes.state = _menhir_s;
23957 MenhirLib.EngineTypes.semv = Obj.repr _v;
23958 MenhirLib.EngineTypes.startp = _startpos;
23959 MenhirLib.EngineTypes.endp = _endpos;
23960 MenhirLib.EngineTypes.next = _menhir_stack;
23961 });
23962 (fun _menhir_env ->
23963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23964 let {
23965 MenhirLib.EngineTypes.semv = _2;
23966 MenhirLib.EngineTypes.startp = _startpos__2_;
23967 MenhirLib.EngineTypes.endp = _endpos__2_;
23968 MenhirLib.EngineTypes.next = {
23969 MenhirLib.EngineTypes.state = _menhir_s;
23970 MenhirLib.EngineTypes.semv = _1;
23971 MenhirLib.EngineTypes.startp = _startpos__1_;
23972 MenhirLib.EngineTypes.endp = _endpos__1_;
23973 MenhirLib.EngineTypes.next = _menhir_stack;
23974 };
23975 } = _menhir_stack in
23976 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23977 let _1 : 'tv_stm_dots = Obj.magic _1 in
23978 let _startpos = _startpos__1_ in
23979 let _endpos = _endpos__2_ in
23980 let _v : 'tv_plus_start =
23981 # 1736 "parser_cocci_menhir.mly"
23982 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23983 # 23984 "parser_cocci_menhir.ml"
23984 in
23985 _menhir_env.MenhirLib.EngineTypes.stack <- {
23986 MenhirLib.EngineTypes.state = _menhir_s;
23987 MenhirLib.EngineTypes.semv = Obj.repr _v;
23988 MenhirLib.EngineTypes.startp = _startpos;
23989 MenhirLib.EngineTypes.endp = _endpos;
23990 MenhirLib.EngineTypes.next = _menhir_stack;
23991 });
23992 (fun _menhir_env ->
23993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23994 let {
23995 MenhirLib.EngineTypes.semv = _2;
23996 MenhirLib.EngineTypes.startp = _startpos__2_;
23997 MenhirLib.EngineTypes.endp = _endpos__2_;
23998 MenhirLib.EngineTypes.next = {
23999 MenhirLib.EngineTypes.state = _menhir_s;
24000 MenhirLib.EngineTypes.semv = _1;
24001 MenhirLib.EngineTypes.startp = _startpos__1_;
24002 MenhirLib.EngineTypes.endp = _endpos__1_;
24003 MenhirLib.EngineTypes.next = _menhir_stack;
24004 };
24005 } = _menhir_stack in
24006 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
24007 let _1 : 'tv_expr = Obj.magic _1 in
24008 let _startpos = _startpos__1_ in
24009 let _endpos = _endpos__2_ in
24010 let _v : 'tv_plus_start =
24011 # 1738 "parser_cocci_menhir.mly"
24012 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
24013 # 24014 "parser_cocci_menhir.ml"
24014 in
24015 _menhir_env.MenhirLib.EngineTypes.stack <- {
24016 MenhirLib.EngineTypes.state = _menhir_s;
24017 MenhirLib.EngineTypes.semv = Obj.repr _v;
24018 MenhirLib.EngineTypes.startp = _startpos;
24019 MenhirLib.EngineTypes.endp = _endpos;
24020 MenhirLib.EngineTypes.next = _menhir_stack;
24021 });
24022 (fun _menhir_env ->
24023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24024 let {
24025 MenhirLib.EngineTypes.semv = _2;
24026 MenhirLib.EngineTypes.startp = _startpos__2_;
24027 MenhirLib.EngineTypes.endp = _endpos__2_;
24028 MenhirLib.EngineTypes.next = {
24029 MenhirLib.EngineTypes.state = _menhir_s;
24030 MenhirLib.EngineTypes.semv = _1;
24031 MenhirLib.EngineTypes.startp = _startpos__1_;
24032 MenhirLib.EngineTypes.endp = _endpos__1_;
24033 MenhirLib.EngineTypes.next = _menhir_stack;
24034 };
24035 } = _menhir_stack in
24036 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24037 let _1 : 'tv_fundecl = Obj.magic _1 in
24038 let _startpos = _startpos__1_ in
24039 let _endpos = _endpos__2_ in
24040 let _v : 'tv_plus_start =
24041 # 1739 "parser_cocci_menhir.mly"
24042 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
24043 # 24044 "parser_cocci_menhir.ml"
24044 in
24045 _menhir_env.MenhirLib.EngineTypes.stack <- {
24046 MenhirLib.EngineTypes.state = _menhir_s;
24047 MenhirLib.EngineTypes.semv = Obj.repr _v;
24048 MenhirLib.EngineTypes.startp = _startpos;
24049 MenhirLib.EngineTypes.endp = _endpos;
24050 MenhirLib.EngineTypes.next = _menhir_stack;
24051 });
24052 (fun _menhir_env ->
24053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24054 let {
24055 MenhirLib.EngineTypes.semv = _2;
24056 MenhirLib.EngineTypes.startp = _startpos__2_;
24057 MenhirLib.EngineTypes.endp = _endpos__2_;
24058 MenhirLib.EngineTypes.next = {
24059 MenhirLib.EngineTypes.state = _menhir_s;
24060 MenhirLib.EngineTypes.semv = _1;
24061 MenhirLib.EngineTypes.startp = _startpos__1_;
24062 MenhirLib.EngineTypes.endp = _endpos__1_;
24063 MenhirLib.EngineTypes.next = _menhir_stack;
24064 };
24065 } = _menhir_stack in
24066 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24067 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
24068 let _startpos = _startpos__1_ in
24069 let _endpos = _endpos__2_ in
24070 let _v : 'tv_plus_start =
24071 # 1741 "parser_cocci_menhir.mly"
24072 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
24073 # 24074 "parser_cocci_menhir.ml"
24074 in
24075 _menhir_env.MenhirLib.EngineTypes.stack <- {
24076 MenhirLib.EngineTypes.state = _menhir_s;
24077 MenhirLib.EngineTypes.semv = Obj.repr _v;
24078 MenhirLib.EngineTypes.startp = _startpos;
24079 MenhirLib.EngineTypes.endp = _endpos;
24080 MenhirLib.EngineTypes.next = _menhir_stack;
24081 });
24082 (fun _menhir_env ->
24083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24084 let {
24085 MenhirLib.EngineTypes.state = _menhir_s;
24086 MenhirLib.EngineTypes.semv = _1;
24087 MenhirLib.EngineTypes.startp = _startpos__1_;
24088 MenhirLib.EngineTypes.endp = _endpos__1_;
24089 MenhirLib.EngineTypes.next = _menhir_stack;
24090 } = _menhir_stack in
24091 let _1 : (
24092 # 47 "parser_cocci_menhir.mly"
24093 (string)
24094 # 24095 "parser_cocci_menhir.ml"
24095 ) = Obj.magic _1 in
24096 let _startpos = _startpos__1_ in
24097 let _endpos = _endpos__1_ in
24098 let _v : 'tv_pnrule =
24099 # 230 "parser_cocci_menhir.mly"
24100 ( Ast.Dep _1 )
24101 # 24102 "parser_cocci_menhir.ml"
24102 in
24103 _menhir_env.MenhirLib.EngineTypes.stack <- {
24104 MenhirLib.EngineTypes.state = _menhir_s;
24105 MenhirLib.EngineTypes.semv = Obj.repr _v;
24106 MenhirLib.EngineTypes.startp = _startpos;
24107 MenhirLib.EngineTypes.endp = _endpos;
24108 MenhirLib.EngineTypes.next = _menhir_stack;
24109 });
24110 (fun _menhir_env ->
24111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24112 let {
24113 MenhirLib.EngineTypes.semv = _2;
24114 MenhirLib.EngineTypes.startp = _startpos__2_;
24115 MenhirLib.EngineTypes.endp = _endpos__2_;
24116 MenhirLib.EngineTypes.next = {
24117 MenhirLib.EngineTypes.state = _menhir_s;
24118 MenhirLib.EngineTypes.startp = _startpos__1_;
24119 MenhirLib.EngineTypes.endp = _endpos__1_;
24120 MenhirLib.EngineTypes.next = _menhir_stack;
24121 };
24122 } = _menhir_stack in
24123 let _2 : (
24124 # 47 "parser_cocci_menhir.mly"
24125 (string)
24126 # 24127 "parser_cocci_menhir.ml"
24127 ) = Obj.magic _2 in
24128 let _startpos = _startpos__1_ in
24129 let _endpos = _endpos__2_ in
24130 let _v : 'tv_pnrule =
24131 # 231 "parser_cocci_menhir.mly"
24132 ( Ast.AntiDep _2 )
24133 # 24134 "parser_cocci_menhir.ml"
24134 in
24135 _menhir_env.MenhirLib.EngineTypes.stack <- {
24136 MenhirLib.EngineTypes.state = _menhir_s;
24137 MenhirLib.EngineTypes.semv = Obj.repr _v;
24138 MenhirLib.EngineTypes.startp = _startpos;
24139 MenhirLib.EngineTypes.endp = _endpos;
24140 MenhirLib.EngineTypes.next = _menhir_stack;
24141 });
24142 (fun _menhir_env ->
24143 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24144 let {
24145 MenhirLib.EngineTypes.semv = _2;
24146 MenhirLib.EngineTypes.startp = _startpos__2_;
24147 MenhirLib.EngineTypes.endp = _endpos__2_;
24148 MenhirLib.EngineTypes.next = {
24149 MenhirLib.EngineTypes.state = _menhir_s;
24150 MenhirLib.EngineTypes.startp = _startpos__1_;
24151 MenhirLib.EngineTypes.endp = _endpos__1_;
24152 MenhirLib.EngineTypes.next = _menhir_stack;
24153 };
24154 } = _menhir_stack in
24155 let _2 : (
24156 # 47 "parser_cocci_menhir.mly"
24157 (string)
24158 # 24159 "parser_cocci_menhir.ml"
24159 ) = Obj.magic _2 in
24160 let _startpos = _startpos__1_ in
24161 let _endpos = _endpos__2_ in
24162 let _v : 'tv_pnrule =
24163 # 232 "parser_cocci_menhir.mly"
24164 ( Ast.EverDep _2 )
24165 # 24166 "parser_cocci_menhir.ml"
24166 in
24167 _menhir_env.MenhirLib.EngineTypes.stack <- {
24168 MenhirLib.EngineTypes.state = _menhir_s;
24169 MenhirLib.EngineTypes.semv = Obj.repr _v;
24170 MenhirLib.EngineTypes.startp = _startpos;
24171 MenhirLib.EngineTypes.endp = _endpos;
24172 MenhirLib.EngineTypes.next = _menhir_stack;
24173 });
24174 (fun _menhir_env ->
24175 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24176 let {
24177 MenhirLib.EngineTypes.semv = _2;
24178 MenhirLib.EngineTypes.startp = _startpos__2_;
24179 MenhirLib.EngineTypes.endp = _endpos__2_;
24180 MenhirLib.EngineTypes.next = {
24181 MenhirLib.EngineTypes.state = _menhir_s;
24182 MenhirLib.EngineTypes.startp = _startpos__1_;
24183 MenhirLib.EngineTypes.endp = _endpos__1_;
24184 MenhirLib.EngineTypes.next = _menhir_stack;
24185 };
24186 } = _menhir_stack in
24187 let _2 : (
24188 # 47 "parser_cocci_menhir.mly"
24189 (string)
24190 # 24191 "parser_cocci_menhir.ml"
24191 ) = Obj.magic _2 in
24192 let _startpos = _startpos__1_ in
24193 let _endpos = _endpos__2_ in
24194 let _v : 'tv_pnrule =
24195 # 233 "parser_cocci_menhir.mly"
24196 ( Ast.NeverDep _2 )
24197 # 24198 "parser_cocci_menhir.ml"
24198 in
24199 _menhir_env.MenhirLib.EngineTypes.stack <- {
24200 MenhirLib.EngineTypes.state = _menhir_s;
24201 MenhirLib.EngineTypes.semv = Obj.repr _v;
24202 MenhirLib.EngineTypes.startp = _startpos;
24203 MenhirLib.EngineTypes.endp = _endpos;
24204 MenhirLib.EngineTypes.next = _menhir_stack;
24205 });
24206 (fun _menhir_env ->
24207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24208 let {
24209 MenhirLib.EngineTypes.startp = _startpos__3_;
24210 MenhirLib.EngineTypes.endp = _endpos__3_;
24211 MenhirLib.EngineTypes.next = {
24212 MenhirLib.EngineTypes.semv = _2;
24213 MenhirLib.EngineTypes.startp = _startpos__2_;
24214 MenhirLib.EngineTypes.endp = _endpos__2_;
24215 MenhirLib.EngineTypes.next = {
24216 MenhirLib.EngineTypes.state = _menhir_s;
24217 MenhirLib.EngineTypes.startp = _startpos__1_;
24218 MenhirLib.EngineTypes.endp = _endpos__1_;
24219 MenhirLib.EngineTypes.next = _menhir_stack;
24220 };
24221 };
24222 } = _menhir_stack in
24223 let _2 : 'tv_dep = Obj.magic _2 in
24224 let _startpos = _startpos__1_ in
24225 let _endpos = _endpos__3_ in
24226 let _v : 'tv_pnrule =
24227 # 234 "parser_cocci_menhir.mly"
24228 ( _2 )
24229 # 24230 "parser_cocci_menhir.ml"
24230 in
24231 _menhir_env.MenhirLib.EngineTypes.stack <- {
24232 MenhirLib.EngineTypes.state = _menhir_s;
24233 MenhirLib.EngineTypes.semv = Obj.repr _v;
24234 MenhirLib.EngineTypes.startp = _startpos;
24235 MenhirLib.EngineTypes.endp = _endpos;
24236 MenhirLib.EngineTypes.next = _menhir_stack;
24237 });
24238 (fun _menhir_env ->
24239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24240 let {
24241 MenhirLib.EngineTypes.state = _menhir_s;
24242 MenhirLib.EngineTypes.semv = _1;
24243 MenhirLib.EngineTypes.startp = _startpos__1_;
24244 MenhirLib.EngineTypes.endp = _endpos__1_;
24245 MenhirLib.EngineTypes.next = _menhir_stack;
24246 } = _menhir_stack in
24247 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24248 let _startpos = _startpos__1_ in
24249 let _endpos = _endpos__1_ in
24250 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24251 # 1315 "parser_cocci_menhir.mly"
24252 ( _1 )
24253 # 24254 "parser_cocci_menhir.ml"
24254 in
24255 _menhir_env.MenhirLib.EngineTypes.stack <- {
24256 MenhirLib.EngineTypes.state = _menhir_s;
24257 MenhirLib.EngineTypes.semv = Obj.repr _v;
24258 MenhirLib.EngineTypes.startp = _startpos;
24259 MenhirLib.EngineTypes.endp = _endpos;
24260 MenhirLib.EngineTypes.next = _menhir_stack;
24261 });
24262 (fun _menhir_env ->
24263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24264 let {
24265 MenhirLib.EngineTypes.semv = _4;
24266 MenhirLib.EngineTypes.startp = _startpos__4_;
24267 MenhirLib.EngineTypes.endp = _endpos__4_;
24268 MenhirLib.EngineTypes.next = {
24269 MenhirLib.EngineTypes.semv = _3;
24270 MenhirLib.EngineTypes.startp = _startpos__3_;
24271 MenhirLib.EngineTypes.endp = _endpos__3_;
24272 MenhirLib.EngineTypes.next = {
24273 MenhirLib.EngineTypes.semv = _2;
24274 MenhirLib.EngineTypes.startp = _startpos__2_;
24275 MenhirLib.EngineTypes.endp = _endpos__2_;
24276 MenhirLib.EngineTypes.next = {
24277 MenhirLib.EngineTypes.state = _menhir_s;
24278 MenhirLib.EngineTypes.semv = _1;
24279 MenhirLib.EngineTypes.startp = _startpos__1_;
24280 MenhirLib.EngineTypes.endp = _endpos__1_;
24281 MenhirLib.EngineTypes.next = _menhir_stack;
24282 };
24283 };
24284 };
24285 } = _menhir_stack in
24286 let _4 : (
24287 # 102 "parser_cocci_menhir.mly"
24288 (Data.clt)
24289 # 24290 "parser_cocci_menhir.ml"
24290 ) = Obj.magic _4 in
24291 let _3 : 'tv_eexpr = Obj.magic _3 in
24292 let _2 : (
24293 # 102 "parser_cocci_menhir.mly"
24294 (Data.clt)
24295 # 24296 "parser_cocci_menhir.ml"
24296 ) = Obj.magic _2 in
24297 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24298 let _startpos = _startpos__1_ in
24299 let _endpos = _endpos__4_ in
24300 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24301 # 1317 "parser_cocci_menhir.mly"
24302 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24303 P.clt2mcode "]" _4)) )
24304 # 24305 "parser_cocci_menhir.ml"
24305 in
24306 _menhir_env.MenhirLib.EngineTypes.stack <- {
24307 MenhirLib.EngineTypes.state = _menhir_s;
24308 MenhirLib.EngineTypes.semv = Obj.repr _v;
24309 MenhirLib.EngineTypes.startp = _startpos;
24310 MenhirLib.EngineTypes.endp = _endpos;
24311 MenhirLib.EngineTypes.next = _menhir_stack;
24312 });
24313 (fun _menhir_env ->
24314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24315 let {
24316 MenhirLib.EngineTypes.semv = _3;
24317 MenhirLib.EngineTypes.startp = _startpos__3_;
24318 MenhirLib.EngineTypes.endp = _endpos__3_;
24319 MenhirLib.EngineTypes.next = {
24320 MenhirLib.EngineTypes.semv = _2;
24321 MenhirLib.EngineTypes.startp = _startpos__2_;
24322 MenhirLib.EngineTypes.endp = _endpos__2_;
24323 MenhirLib.EngineTypes.next = {
24324 MenhirLib.EngineTypes.state = _menhir_s;
24325 MenhirLib.EngineTypes.semv = _1;
24326 MenhirLib.EngineTypes.startp = _startpos__1_;
24327 MenhirLib.EngineTypes.endp = _endpos__1_;
24328 MenhirLib.EngineTypes.next = _menhir_stack;
24329 };
24330 };
24331 } = _menhir_stack in
24332 let _3 : 'tv_ident = Obj.magic _3 in
24333 let _2 : (
24334 # 107 "parser_cocci_menhir.mly"
24335 (Data.clt)
24336 # 24337 "parser_cocci_menhir.ml"
24337 ) = Obj.magic _2 in
24338 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24339 let _startpos = _startpos__1_ in
24340 let _endpos = _endpos__3_ in
24341 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24342 # 1320 "parser_cocci_menhir.mly"
24343 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24344 # 24345 "parser_cocci_menhir.ml"
24345 in
24346 _menhir_env.MenhirLib.EngineTypes.stack <- {
24347 MenhirLib.EngineTypes.state = _menhir_s;
24348 MenhirLib.EngineTypes.semv = Obj.repr _v;
24349 MenhirLib.EngineTypes.startp = _startpos;
24350 MenhirLib.EngineTypes.endp = _endpos;
24351 MenhirLib.EngineTypes.next = _menhir_stack;
24352 });
24353 (fun _menhir_env ->
24354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24355 let {
24356 MenhirLib.EngineTypes.semv = _3;
24357 MenhirLib.EngineTypes.startp = _startpos__3_;
24358 MenhirLib.EngineTypes.endp = _endpos__3_;
24359 MenhirLib.EngineTypes.next = {
24360 MenhirLib.EngineTypes.semv = _2;
24361 MenhirLib.EngineTypes.startp = _startpos__2_;
24362 MenhirLib.EngineTypes.endp = _endpos__2_;
24363 MenhirLib.EngineTypes.next = {
24364 MenhirLib.EngineTypes.state = _menhir_s;
24365 MenhirLib.EngineTypes.semv = _1;
24366 MenhirLib.EngineTypes.startp = _startpos__1_;
24367 MenhirLib.EngineTypes.endp = _endpos__1_;
24368 MenhirLib.EngineTypes.next = _menhir_stack;
24369 };
24370 };
24371 } = _menhir_stack in
24372 let _3 : 'tv_ident = Obj.magic _3 in
24373 let _2 : (
24374 # 104 "parser_cocci_menhir.mly"
24375 (Data.clt)
24376 # 24377 "parser_cocci_menhir.ml"
24377 ) = Obj.magic _2 in
24378 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24379 let _startpos = _startpos__1_ in
24380 let _endpos = _endpos__3_ in
24381 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24382 # 1322 "parser_cocci_menhir.mly"
24383 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24384 _3)) )
24385 # 24386 "parser_cocci_menhir.ml"
24386 in
24387 _menhir_env.MenhirLib.EngineTypes.stack <- {
24388 MenhirLib.EngineTypes.state = _menhir_s;
24389 MenhirLib.EngineTypes.semv = Obj.repr _v;
24390 MenhirLib.EngineTypes.startp = _startpos;
24391 MenhirLib.EngineTypes.endp = _endpos;
24392 MenhirLib.EngineTypes.next = _menhir_stack;
24393 });
24394 (fun _menhir_env ->
24395 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24396 let {
24397 MenhirLib.EngineTypes.semv = _2;
24398 MenhirLib.EngineTypes.startp = _startpos__2_;
24399 MenhirLib.EngineTypes.endp = _endpos__2_;
24400 MenhirLib.EngineTypes.next = {
24401 MenhirLib.EngineTypes.state = _menhir_s;
24402 MenhirLib.EngineTypes.semv = _1;
24403 MenhirLib.EngineTypes.startp = _startpos__1_;
24404 MenhirLib.EngineTypes.endp = _endpos__1_;
24405 MenhirLib.EngineTypes.next = _menhir_stack;
24406 };
24407 } = _menhir_stack in
24408 let _2 : (
24409 # 85 "parser_cocci_menhir.mly"
24410 (Data.clt)
24411 # 24412 "parser_cocci_menhir.ml"
24412 ) = Obj.magic _2 in
24413 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24414 let _startpos = _startpos__1_ in
24415 let _endpos = _endpos__2_ in
24416 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24417 # 1325 "parser_cocci_menhir.mly"
24418 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24419 # 24420 "parser_cocci_menhir.ml"
24420 in
24421 _menhir_env.MenhirLib.EngineTypes.stack <- {
24422 MenhirLib.EngineTypes.state = _menhir_s;
24423 MenhirLib.EngineTypes.semv = Obj.repr _v;
24424 MenhirLib.EngineTypes.startp = _startpos;
24425 MenhirLib.EngineTypes.endp = _endpos;
24426 MenhirLib.EngineTypes.next = _menhir_stack;
24427 });
24428 (fun _menhir_env ->
24429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24430 let {
24431 MenhirLib.EngineTypes.semv = _2;
24432 MenhirLib.EngineTypes.startp = _startpos__2_;
24433 MenhirLib.EngineTypes.endp = _endpos__2_;
24434 MenhirLib.EngineTypes.next = {
24435 MenhirLib.EngineTypes.state = _menhir_s;
24436 MenhirLib.EngineTypes.semv = _1;
24437 MenhirLib.EngineTypes.startp = _startpos__1_;
24438 MenhirLib.EngineTypes.endp = _endpos__1_;
24439 MenhirLib.EngineTypes.next = _menhir_stack;
24440 };
24441 } = _menhir_stack in
24442 let _2 : (
24443 # 85 "parser_cocci_menhir.mly"
24444 (Data.clt)
24445 # 24446 "parser_cocci_menhir.ml"
24446 ) = Obj.magic _2 in
24447 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24448 let _startpos = _startpos__1_ in
24449 let _endpos = _endpos__2_ in
24450 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24451 # 1327 "parser_cocci_menhir.mly"
24452 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24453 # 24454 "parser_cocci_menhir.ml"
24454 in
24455 _menhir_env.MenhirLib.EngineTypes.stack <- {
24456 MenhirLib.EngineTypes.state = _menhir_s;
24457 MenhirLib.EngineTypes.semv = Obj.repr _v;
24458 MenhirLib.EngineTypes.startp = _startpos;
24459 MenhirLib.EngineTypes.endp = _endpos;
24460 MenhirLib.EngineTypes.next = _menhir_stack;
24461 });
24462 (fun _menhir_env ->
24463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24464 let {
24465 MenhirLib.EngineTypes.semv = _4;
24466 MenhirLib.EngineTypes.startp = _startpos__4_;
24467 MenhirLib.EngineTypes.endp = _endpos__4_;
24468 MenhirLib.EngineTypes.next = {
24469 MenhirLib.EngineTypes.semv = _3;
24470 MenhirLib.EngineTypes.startp = _startpos__3_;
24471 MenhirLib.EngineTypes.endp = _endpos__3_;
24472 MenhirLib.EngineTypes.next = {
24473 MenhirLib.EngineTypes.semv = _2;
24474 MenhirLib.EngineTypes.startp = _startpos__2_;
24475 MenhirLib.EngineTypes.endp = _endpos__2_;
24476 MenhirLib.EngineTypes.next = {
24477 MenhirLib.EngineTypes.state = _menhir_s;
24478 MenhirLib.EngineTypes.semv = _1;
24479 MenhirLib.EngineTypes.startp = _startpos__1_;
24480 MenhirLib.EngineTypes.endp = _endpos__1_;
24481 MenhirLib.EngineTypes.next = _menhir_stack;
24482 };
24483 };
24484 };
24485 } = _menhir_stack in
24486 let _4 : (
24487 # 77 "parser_cocci_menhir.mly"
24488 (Data.clt)
24489 # 24490 "parser_cocci_menhir.ml"
24490 ) = Obj.magic _4 in
24491 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24492 let _2 : (
24493 # 76 "parser_cocci_menhir.mly"
24494 (Data.clt)
24495 # 24496 "parser_cocci_menhir.ml"
24496 ) = Obj.magic _2 in
24497 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24498 let _startpos = _startpos__1_ in
24499 let _endpos = _endpos__4_ in
24500 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24501 # 1329 "parser_cocci_menhir.mly"
24502 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24503 _3,
24504 P.clt2mcode ")" _4)) )
24505 # 24506 "parser_cocci_menhir.ml"
24506 in
24507 _menhir_env.MenhirLib.EngineTypes.stack <- {
24508 MenhirLib.EngineTypes.state = _menhir_s;
24509 MenhirLib.EngineTypes.semv = Obj.repr _v;
24510 MenhirLib.EngineTypes.startp = _startpos;
24511 MenhirLib.EngineTypes.endp = _endpos;
24512 MenhirLib.EngineTypes.next = _menhir_stack;
24513 });
24514 (fun _menhir_env ->
24515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24516 let {
24517 MenhirLib.EngineTypes.state = _menhir_s;
24518 MenhirLib.EngineTypes.semv = _1;
24519 MenhirLib.EngineTypes.startp = _startpos__1_;
24520 MenhirLib.EngineTypes.endp = _endpos__1_;
24521 MenhirLib.EngineTypes.next = _menhir_stack;
24522 } = _menhir_stack in
24523 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
24524 let _startpos = _startpos__1_ in
24525 let _endpos = _endpos__1_ in
24526 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24527 # 1315 "parser_cocci_menhir.mly"
24528 ( _1 )
24529 # 24530 "parser_cocci_menhir.ml"
24530 in
24531 _menhir_env.MenhirLib.EngineTypes.stack <- {
24532 MenhirLib.EngineTypes.state = _menhir_s;
24533 MenhirLib.EngineTypes.semv = Obj.repr _v;
24534 MenhirLib.EngineTypes.startp = _startpos;
24535 MenhirLib.EngineTypes.endp = _endpos;
24536 MenhirLib.EngineTypes.next = _menhir_stack;
24537 });
24538 (fun _menhir_env ->
24539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24540 let {
24541 MenhirLib.EngineTypes.semv = _4;
24542 MenhirLib.EngineTypes.startp = _startpos__4_;
24543 MenhirLib.EngineTypes.endp = _endpos__4_;
24544 MenhirLib.EngineTypes.next = {
24545 MenhirLib.EngineTypes.semv = _3;
24546 MenhirLib.EngineTypes.startp = _startpos__3_;
24547 MenhirLib.EngineTypes.endp = _endpos__3_;
24548 MenhirLib.EngineTypes.next = {
24549 MenhirLib.EngineTypes.semv = _2;
24550 MenhirLib.EngineTypes.startp = _startpos__2_;
24551 MenhirLib.EngineTypes.endp = _endpos__2_;
24552 MenhirLib.EngineTypes.next = {
24553 MenhirLib.EngineTypes.state = _menhir_s;
24554 MenhirLib.EngineTypes.semv = _1;
24555 MenhirLib.EngineTypes.startp = _startpos__1_;
24556 MenhirLib.EngineTypes.endp = _endpos__1_;
24557 MenhirLib.EngineTypes.next = _menhir_stack;
24558 };
24559 };
24560 };
24561 } = _menhir_stack in
24562 let _4 : (
24563 # 102 "parser_cocci_menhir.mly"
24564 (Data.clt)
24565 # 24566 "parser_cocci_menhir.ml"
24566 ) = Obj.magic _4 in
24567 let _3 : 'tv_eexpr = Obj.magic _3 in
24568 let _2 : (
24569 # 102 "parser_cocci_menhir.mly"
24570 (Data.clt)
24571 # 24572 "parser_cocci_menhir.ml"
24572 ) = Obj.magic _2 in
24573 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24574 let _startpos = _startpos__1_ in
24575 let _endpos = _endpos__4_ in
24576 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24577 # 1317 "parser_cocci_menhir.mly"
24578 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24579 P.clt2mcode "]" _4)) )
24580 # 24581 "parser_cocci_menhir.ml"
24581 in
24582 _menhir_env.MenhirLib.EngineTypes.stack <- {
24583 MenhirLib.EngineTypes.state = _menhir_s;
24584 MenhirLib.EngineTypes.semv = Obj.repr _v;
24585 MenhirLib.EngineTypes.startp = _startpos;
24586 MenhirLib.EngineTypes.endp = _endpos;
24587 MenhirLib.EngineTypes.next = _menhir_stack;
24588 });
24589 (fun _menhir_env ->
24590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24591 let {
24592 MenhirLib.EngineTypes.semv = _3;
24593 MenhirLib.EngineTypes.startp = _startpos__3_;
24594 MenhirLib.EngineTypes.endp = _endpos__3_;
24595 MenhirLib.EngineTypes.next = {
24596 MenhirLib.EngineTypes.semv = _2;
24597 MenhirLib.EngineTypes.startp = _startpos__2_;
24598 MenhirLib.EngineTypes.endp = _endpos__2_;
24599 MenhirLib.EngineTypes.next = {
24600 MenhirLib.EngineTypes.state = _menhir_s;
24601 MenhirLib.EngineTypes.semv = _1;
24602 MenhirLib.EngineTypes.startp = _startpos__1_;
24603 MenhirLib.EngineTypes.endp = _endpos__1_;
24604 MenhirLib.EngineTypes.next = _menhir_stack;
24605 };
24606 };
24607 } = _menhir_stack in
24608 let _3 : 'tv_ident = Obj.magic _3 in
24609 let _2 : (
24610 # 107 "parser_cocci_menhir.mly"
24611 (Data.clt)
24612 # 24613 "parser_cocci_menhir.ml"
24613 ) = Obj.magic _2 in
24614 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24615 let _startpos = _startpos__1_ in
24616 let _endpos = _endpos__3_ in
24617 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24618 # 1320 "parser_cocci_menhir.mly"
24619 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24620 # 24621 "parser_cocci_menhir.ml"
24621 in
24622 _menhir_env.MenhirLib.EngineTypes.stack <- {
24623 MenhirLib.EngineTypes.state = _menhir_s;
24624 MenhirLib.EngineTypes.semv = Obj.repr _v;
24625 MenhirLib.EngineTypes.startp = _startpos;
24626 MenhirLib.EngineTypes.endp = _endpos;
24627 MenhirLib.EngineTypes.next = _menhir_stack;
24628 });
24629 (fun _menhir_env ->
24630 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24631 let {
24632 MenhirLib.EngineTypes.semv = _3;
24633 MenhirLib.EngineTypes.startp = _startpos__3_;
24634 MenhirLib.EngineTypes.endp = _endpos__3_;
24635 MenhirLib.EngineTypes.next = {
24636 MenhirLib.EngineTypes.semv = _2;
24637 MenhirLib.EngineTypes.startp = _startpos__2_;
24638 MenhirLib.EngineTypes.endp = _endpos__2_;
24639 MenhirLib.EngineTypes.next = {
24640 MenhirLib.EngineTypes.state = _menhir_s;
24641 MenhirLib.EngineTypes.semv = _1;
24642 MenhirLib.EngineTypes.startp = _startpos__1_;
24643 MenhirLib.EngineTypes.endp = _endpos__1_;
24644 MenhirLib.EngineTypes.next = _menhir_stack;
24645 };
24646 };
24647 } = _menhir_stack in
24648 let _3 : 'tv_ident = Obj.magic _3 in
24649 let _2 : (
24650 # 104 "parser_cocci_menhir.mly"
24651 (Data.clt)
24652 # 24653 "parser_cocci_menhir.ml"
24653 ) = Obj.magic _2 in
24654 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24655 let _startpos = _startpos__1_ in
24656 let _endpos = _endpos__3_ in
24657 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24658 # 1322 "parser_cocci_menhir.mly"
24659 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24660 _3)) )
24661 # 24662 "parser_cocci_menhir.ml"
24662 in
24663 _menhir_env.MenhirLib.EngineTypes.stack <- {
24664 MenhirLib.EngineTypes.state = _menhir_s;
24665 MenhirLib.EngineTypes.semv = Obj.repr _v;
24666 MenhirLib.EngineTypes.startp = _startpos;
24667 MenhirLib.EngineTypes.endp = _endpos;
24668 MenhirLib.EngineTypes.next = _menhir_stack;
24669 });
24670 (fun _menhir_env ->
24671 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24672 let {
24673 MenhirLib.EngineTypes.semv = _2;
24674 MenhirLib.EngineTypes.startp = _startpos__2_;
24675 MenhirLib.EngineTypes.endp = _endpos__2_;
24676 MenhirLib.EngineTypes.next = {
24677 MenhirLib.EngineTypes.state = _menhir_s;
24678 MenhirLib.EngineTypes.semv = _1;
24679 MenhirLib.EngineTypes.startp = _startpos__1_;
24680 MenhirLib.EngineTypes.endp = _endpos__1_;
24681 MenhirLib.EngineTypes.next = _menhir_stack;
24682 };
24683 } = _menhir_stack in
24684 let _2 : (
24685 # 85 "parser_cocci_menhir.mly"
24686 (Data.clt)
24687 # 24688 "parser_cocci_menhir.ml"
24688 ) = Obj.magic _2 in
24689 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24690 let _startpos = _startpos__1_ in
24691 let _endpos = _endpos__2_ in
24692 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24693 # 1325 "parser_cocci_menhir.mly"
24694 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24695 # 24696 "parser_cocci_menhir.ml"
24696 in
24697 _menhir_env.MenhirLib.EngineTypes.stack <- {
24698 MenhirLib.EngineTypes.state = _menhir_s;
24699 MenhirLib.EngineTypes.semv = Obj.repr _v;
24700 MenhirLib.EngineTypes.startp = _startpos;
24701 MenhirLib.EngineTypes.endp = _endpos;
24702 MenhirLib.EngineTypes.next = _menhir_stack;
24703 });
24704 (fun _menhir_env ->
24705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24706 let {
24707 MenhirLib.EngineTypes.semv = _2;
24708 MenhirLib.EngineTypes.startp = _startpos__2_;
24709 MenhirLib.EngineTypes.endp = _endpos__2_;
24710 MenhirLib.EngineTypes.next = {
24711 MenhirLib.EngineTypes.state = _menhir_s;
24712 MenhirLib.EngineTypes.semv = _1;
24713 MenhirLib.EngineTypes.startp = _startpos__1_;
24714 MenhirLib.EngineTypes.endp = _endpos__1_;
24715 MenhirLib.EngineTypes.next = _menhir_stack;
24716 };
24717 } = _menhir_stack in
24718 let _2 : (
24719 # 85 "parser_cocci_menhir.mly"
24720 (Data.clt)
24721 # 24722 "parser_cocci_menhir.ml"
24722 ) = Obj.magic _2 in
24723 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24724 let _startpos = _startpos__1_ in
24725 let _endpos = _endpos__2_ in
24726 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24727 # 1327 "parser_cocci_menhir.mly"
24728 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24729 # 24730 "parser_cocci_menhir.ml"
24730 in
24731 _menhir_env.MenhirLib.EngineTypes.stack <- {
24732 MenhirLib.EngineTypes.state = _menhir_s;
24733 MenhirLib.EngineTypes.semv = Obj.repr _v;
24734 MenhirLib.EngineTypes.startp = _startpos;
24735 MenhirLib.EngineTypes.endp = _endpos;
24736 MenhirLib.EngineTypes.next = _menhir_stack;
24737 });
24738 (fun _menhir_env ->
24739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24740 let {
24741 MenhirLib.EngineTypes.semv = _4;
24742 MenhirLib.EngineTypes.startp = _startpos__4_;
24743 MenhirLib.EngineTypes.endp = _endpos__4_;
24744 MenhirLib.EngineTypes.next = {
24745 MenhirLib.EngineTypes.semv = _3;
24746 MenhirLib.EngineTypes.startp = _startpos__3_;
24747 MenhirLib.EngineTypes.endp = _endpos__3_;
24748 MenhirLib.EngineTypes.next = {
24749 MenhirLib.EngineTypes.semv = _2;
24750 MenhirLib.EngineTypes.startp = _startpos__2_;
24751 MenhirLib.EngineTypes.endp = _endpos__2_;
24752 MenhirLib.EngineTypes.next = {
24753 MenhirLib.EngineTypes.state = _menhir_s;
24754 MenhirLib.EngineTypes.semv = _1;
24755 MenhirLib.EngineTypes.startp = _startpos__1_;
24756 MenhirLib.EngineTypes.endp = _endpos__1_;
24757 MenhirLib.EngineTypes.next = _menhir_stack;
24758 };
24759 };
24760 };
24761 } = _menhir_stack in
24762 let _4 : (
24763 # 77 "parser_cocci_menhir.mly"
24764 (Data.clt)
24765 # 24766 "parser_cocci_menhir.ml"
24766 ) = Obj.magic _4 in
24767 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24768 let _2 : (
24769 # 76 "parser_cocci_menhir.mly"
24770 (Data.clt)
24771 # 24772 "parser_cocci_menhir.ml"
24772 ) = Obj.magic _2 in
24773 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24774 let _startpos = _startpos__1_ in
24775 let _endpos = _endpos__4_ in
24776 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24777 # 1329 "parser_cocci_menhir.mly"
24778 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24779 _3,
24780 P.clt2mcode ")" _4)) )
24781 # 24782 "parser_cocci_menhir.ml"
24782 in
24783 _menhir_env.MenhirLib.EngineTypes.stack <- {
24784 MenhirLib.EngineTypes.state = _menhir_s;
24785 MenhirLib.EngineTypes.semv = Obj.repr _v;
24786 MenhirLib.EngineTypes.startp = _startpos;
24787 MenhirLib.EngineTypes.endp = _endpos;
24788 MenhirLib.EngineTypes.next = _menhir_stack;
24789 });
24790 (fun _menhir_env ->
24791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24792 let {
24793 MenhirLib.EngineTypes.state = _menhir_s;
24794 MenhirLib.EngineTypes.semv = _1;
24795 MenhirLib.EngineTypes.startp = _startpos__1_;
24796 MenhirLib.EngineTypes.endp = _endpos__1_;
24797 MenhirLib.EngineTypes.next = _menhir_stack;
24798 } = _menhir_stack in
24799 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24800 let _startpos = _startpos__1_ in
24801 let _endpos = _endpos__1_ in
24802 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24803 # 1315 "parser_cocci_menhir.mly"
24804 ( _1 )
24805 # 24806 "parser_cocci_menhir.ml"
24806 in
24807 _menhir_env.MenhirLib.EngineTypes.stack <- {
24808 MenhirLib.EngineTypes.state = _menhir_s;
24809 MenhirLib.EngineTypes.semv = Obj.repr _v;
24810 MenhirLib.EngineTypes.startp = _startpos;
24811 MenhirLib.EngineTypes.endp = _endpos;
24812 MenhirLib.EngineTypes.next = _menhir_stack;
24813 });
24814 (fun _menhir_env ->
24815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24816 let {
24817 MenhirLib.EngineTypes.semv = _4;
24818 MenhirLib.EngineTypes.startp = _startpos__4_;
24819 MenhirLib.EngineTypes.endp = _endpos__4_;
24820 MenhirLib.EngineTypes.next = {
24821 MenhirLib.EngineTypes.semv = _3;
24822 MenhirLib.EngineTypes.startp = _startpos__3_;
24823 MenhirLib.EngineTypes.endp = _endpos__3_;
24824 MenhirLib.EngineTypes.next = {
24825 MenhirLib.EngineTypes.semv = _2;
24826 MenhirLib.EngineTypes.startp = _startpos__2_;
24827 MenhirLib.EngineTypes.endp = _endpos__2_;
24828 MenhirLib.EngineTypes.next = {
24829 MenhirLib.EngineTypes.state = _menhir_s;
24830 MenhirLib.EngineTypes.semv = _1;
24831 MenhirLib.EngineTypes.startp = _startpos__1_;
24832 MenhirLib.EngineTypes.endp = _endpos__1_;
24833 MenhirLib.EngineTypes.next = _menhir_stack;
24834 };
24835 };
24836 };
24837 } = _menhir_stack in
24838 let _4 : (
24839 # 102 "parser_cocci_menhir.mly"
24840 (Data.clt)
24841 # 24842 "parser_cocci_menhir.ml"
24842 ) = Obj.magic _4 in
24843 let _3 : 'tv_eexpr = Obj.magic _3 in
24844 let _2 : (
24845 # 102 "parser_cocci_menhir.mly"
24846 (Data.clt)
24847 # 24848 "parser_cocci_menhir.ml"
24848 ) = Obj.magic _2 in
24849 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24850 let _startpos = _startpos__1_ in
24851 let _endpos = _endpos__4_ in
24852 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24853 # 1317 "parser_cocci_menhir.mly"
24854 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24855 P.clt2mcode "]" _4)) )
24856 # 24857 "parser_cocci_menhir.ml"
24857 in
24858 _menhir_env.MenhirLib.EngineTypes.stack <- {
24859 MenhirLib.EngineTypes.state = _menhir_s;
24860 MenhirLib.EngineTypes.semv = Obj.repr _v;
24861 MenhirLib.EngineTypes.startp = _startpos;
24862 MenhirLib.EngineTypes.endp = _endpos;
24863 MenhirLib.EngineTypes.next = _menhir_stack;
24864 });
24865 (fun _menhir_env ->
24866 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24867 let {
24868 MenhirLib.EngineTypes.semv = _3;
24869 MenhirLib.EngineTypes.startp = _startpos__3_;
24870 MenhirLib.EngineTypes.endp = _endpos__3_;
24871 MenhirLib.EngineTypes.next = {
24872 MenhirLib.EngineTypes.semv = _2;
24873 MenhirLib.EngineTypes.startp = _startpos__2_;
24874 MenhirLib.EngineTypes.endp = _endpos__2_;
24875 MenhirLib.EngineTypes.next = {
24876 MenhirLib.EngineTypes.state = _menhir_s;
24877 MenhirLib.EngineTypes.semv = _1;
24878 MenhirLib.EngineTypes.startp = _startpos__1_;
24879 MenhirLib.EngineTypes.endp = _endpos__1_;
24880 MenhirLib.EngineTypes.next = _menhir_stack;
24881 };
24882 };
24883 } = _menhir_stack in
24884 let _3 : 'tv_ident = Obj.magic _3 in
24885 let _2 : (
24886 # 107 "parser_cocci_menhir.mly"
24887 (Data.clt)
24888 # 24889 "parser_cocci_menhir.ml"
24889 ) = Obj.magic _2 in
24890 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24891 let _startpos = _startpos__1_ in
24892 let _endpos = _endpos__3_ in
24893 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24894 # 1320 "parser_cocci_menhir.mly"
24895 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24896 # 24897 "parser_cocci_menhir.ml"
24897 in
24898 _menhir_env.MenhirLib.EngineTypes.stack <- {
24899 MenhirLib.EngineTypes.state = _menhir_s;
24900 MenhirLib.EngineTypes.semv = Obj.repr _v;
24901 MenhirLib.EngineTypes.startp = _startpos;
24902 MenhirLib.EngineTypes.endp = _endpos;
24903 MenhirLib.EngineTypes.next = _menhir_stack;
24904 });
24905 (fun _menhir_env ->
24906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24907 let {
24908 MenhirLib.EngineTypes.semv = _3;
24909 MenhirLib.EngineTypes.startp = _startpos__3_;
24910 MenhirLib.EngineTypes.endp = _endpos__3_;
24911 MenhirLib.EngineTypes.next = {
24912 MenhirLib.EngineTypes.semv = _2;
24913 MenhirLib.EngineTypes.startp = _startpos__2_;
24914 MenhirLib.EngineTypes.endp = _endpos__2_;
24915 MenhirLib.EngineTypes.next = {
24916 MenhirLib.EngineTypes.state = _menhir_s;
24917 MenhirLib.EngineTypes.semv = _1;
24918 MenhirLib.EngineTypes.startp = _startpos__1_;
24919 MenhirLib.EngineTypes.endp = _endpos__1_;
24920 MenhirLib.EngineTypes.next = _menhir_stack;
24921 };
24922 };
24923 } = _menhir_stack in
24924 let _3 : 'tv_ident = Obj.magic _3 in
24925 let _2 : (
24926 # 104 "parser_cocci_menhir.mly"
24927 (Data.clt)
24928 # 24929 "parser_cocci_menhir.ml"
24929 ) = Obj.magic _2 in
24930 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24931 let _startpos = _startpos__1_ in
24932 let _endpos = _endpos__3_ in
24933 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24934 # 1322 "parser_cocci_menhir.mly"
24935 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24936 _3)) )
24937 # 24938 "parser_cocci_menhir.ml"
24938 in
24939 _menhir_env.MenhirLib.EngineTypes.stack <- {
24940 MenhirLib.EngineTypes.state = _menhir_s;
24941 MenhirLib.EngineTypes.semv = Obj.repr _v;
24942 MenhirLib.EngineTypes.startp = _startpos;
24943 MenhirLib.EngineTypes.endp = _endpos;
24944 MenhirLib.EngineTypes.next = _menhir_stack;
24945 });
24946 (fun _menhir_env ->
24947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24948 let {
24949 MenhirLib.EngineTypes.semv = _2;
24950 MenhirLib.EngineTypes.startp = _startpos__2_;
24951 MenhirLib.EngineTypes.endp = _endpos__2_;
24952 MenhirLib.EngineTypes.next = {
24953 MenhirLib.EngineTypes.state = _menhir_s;
24954 MenhirLib.EngineTypes.semv = _1;
24955 MenhirLib.EngineTypes.startp = _startpos__1_;
24956 MenhirLib.EngineTypes.endp = _endpos__1_;
24957 MenhirLib.EngineTypes.next = _menhir_stack;
24958 };
24959 } = _menhir_stack in
24960 let _2 : (
24961 # 85 "parser_cocci_menhir.mly"
24962 (Data.clt)
24963 # 24964 "parser_cocci_menhir.ml"
24964 ) = Obj.magic _2 in
24965 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24966 let _startpos = _startpos__1_ in
24967 let _endpos = _endpos__2_ in
24968 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24969 # 1325 "parser_cocci_menhir.mly"
24970 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24971 # 24972 "parser_cocci_menhir.ml"
24972 in
24973 _menhir_env.MenhirLib.EngineTypes.stack <- {
24974 MenhirLib.EngineTypes.state = _menhir_s;
24975 MenhirLib.EngineTypes.semv = Obj.repr _v;
24976 MenhirLib.EngineTypes.startp = _startpos;
24977 MenhirLib.EngineTypes.endp = _endpos;
24978 MenhirLib.EngineTypes.next = _menhir_stack;
24979 });
24980 (fun _menhir_env ->
24981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24982 let {
24983 MenhirLib.EngineTypes.semv = _2;
24984 MenhirLib.EngineTypes.startp = _startpos__2_;
24985 MenhirLib.EngineTypes.endp = _endpos__2_;
24986 MenhirLib.EngineTypes.next = {
24987 MenhirLib.EngineTypes.state = _menhir_s;
24988 MenhirLib.EngineTypes.semv = _1;
24989 MenhirLib.EngineTypes.startp = _startpos__1_;
24990 MenhirLib.EngineTypes.endp = _endpos__1_;
24991 MenhirLib.EngineTypes.next = _menhir_stack;
24992 };
24993 } = _menhir_stack in
24994 let _2 : (
24995 # 85 "parser_cocci_menhir.mly"
24996 (Data.clt)
24997 # 24998 "parser_cocci_menhir.ml"
24998 ) = Obj.magic _2 in
24999 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25000 let _startpos = _startpos__1_ in
25001 let _endpos = _endpos__2_ in
25002 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25003 # 1327 "parser_cocci_menhir.mly"
25004 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25005 # 25006 "parser_cocci_menhir.ml"
25006 in
25007 _menhir_env.MenhirLib.EngineTypes.stack <- {
25008 MenhirLib.EngineTypes.state = _menhir_s;
25009 MenhirLib.EngineTypes.semv = Obj.repr _v;
25010 MenhirLib.EngineTypes.startp = _startpos;
25011 MenhirLib.EngineTypes.endp = _endpos;
25012 MenhirLib.EngineTypes.next = _menhir_stack;
25013 });
25014 (fun _menhir_env ->
25015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25016 let {
25017 MenhirLib.EngineTypes.semv = _4;
25018 MenhirLib.EngineTypes.startp = _startpos__4_;
25019 MenhirLib.EngineTypes.endp = _endpos__4_;
25020 MenhirLib.EngineTypes.next = {
25021 MenhirLib.EngineTypes.semv = _3;
25022 MenhirLib.EngineTypes.startp = _startpos__3_;
25023 MenhirLib.EngineTypes.endp = _endpos__3_;
25024 MenhirLib.EngineTypes.next = {
25025 MenhirLib.EngineTypes.semv = _2;
25026 MenhirLib.EngineTypes.startp = _startpos__2_;
25027 MenhirLib.EngineTypes.endp = _endpos__2_;
25028 MenhirLib.EngineTypes.next = {
25029 MenhirLib.EngineTypes.state = _menhir_s;
25030 MenhirLib.EngineTypes.semv = _1;
25031 MenhirLib.EngineTypes.startp = _startpos__1_;
25032 MenhirLib.EngineTypes.endp = _endpos__1_;
25033 MenhirLib.EngineTypes.next = _menhir_stack;
25034 };
25035 };
25036 };
25037 } = _menhir_stack in
25038 let _4 : (
25039 # 77 "parser_cocci_menhir.mly"
25040 (Data.clt)
25041 # 25042 "parser_cocci_menhir.ml"
25042 ) = Obj.magic _4 in
25043 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25044 let _2 : (
25045 # 76 "parser_cocci_menhir.mly"
25046 (Data.clt)
25047 # 25048 "parser_cocci_menhir.ml"
25048 ) = Obj.magic _2 in
25049 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25050 let _startpos = _startpos__1_ in
25051 let _endpos = _endpos__4_ in
25052 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25053 # 1329 "parser_cocci_menhir.mly"
25054 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25055 _3,
25056 P.clt2mcode ")" _4)) )
25057 # 25058 "parser_cocci_menhir.ml"
25058 in
25059 _menhir_env.MenhirLib.EngineTypes.stack <- {
25060 MenhirLib.EngineTypes.state = _menhir_s;
25061 MenhirLib.EngineTypes.semv = Obj.repr _v;
25062 MenhirLib.EngineTypes.startp = _startpos;
25063 MenhirLib.EngineTypes.endp = _endpos;
25064 MenhirLib.EngineTypes.next = _menhir_stack;
25065 });
25066 (fun _menhir_env ->
25067 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25068 let {
25069 MenhirLib.EngineTypes.state = _menhir_s;
25070 MenhirLib.EngineTypes.semv = _1;
25071 MenhirLib.EngineTypes.startp = _startpos__1_;
25072 MenhirLib.EngineTypes.endp = _endpos__1_;
25073 MenhirLib.EngineTypes.next = _menhir_stack;
25074 } = _menhir_stack in
25075 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
25076 let _startpos = _startpos__1_ in
25077 let _endpos = _endpos__1_ in
25078 let _v : 'tv_postfix_expr_expr_invalid_ =
25079 # 1315 "parser_cocci_menhir.mly"
25080 ( _1 )
25081 # 25082 "parser_cocci_menhir.ml"
25082 in
25083 _menhir_env.MenhirLib.EngineTypes.stack <- {
25084 MenhirLib.EngineTypes.state = _menhir_s;
25085 MenhirLib.EngineTypes.semv = Obj.repr _v;
25086 MenhirLib.EngineTypes.startp = _startpos;
25087 MenhirLib.EngineTypes.endp = _endpos;
25088 MenhirLib.EngineTypes.next = _menhir_stack;
25089 });
25090 (fun _menhir_env ->
25091 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25092 let {
25093 MenhirLib.EngineTypes.semv = _4;
25094 MenhirLib.EngineTypes.startp = _startpos__4_;
25095 MenhirLib.EngineTypes.endp = _endpos__4_;
25096 MenhirLib.EngineTypes.next = {
25097 MenhirLib.EngineTypes.semv = _3;
25098 MenhirLib.EngineTypes.startp = _startpos__3_;
25099 MenhirLib.EngineTypes.endp = _endpos__3_;
25100 MenhirLib.EngineTypes.next = {
25101 MenhirLib.EngineTypes.semv = _2;
25102 MenhirLib.EngineTypes.startp = _startpos__2_;
25103 MenhirLib.EngineTypes.endp = _endpos__2_;
25104 MenhirLib.EngineTypes.next = {
25105 MenhirLib.EngineTypes.state = _menhir_s;
25106 MenhirLib.EngineTypes.semv = _1;
25107 MenhirLib.EngineTypes.startp = _startpos__1_;
25108 MenhirLib.EngineTypes.endp = _endpos__1_;
25109 MenhirLib.EngineTypes.next = _menhir_stack;
25110 };
25111 };
25112 };
25113 } = _menhir_stack in
25114 let _4 : (
25115 # 102 "parser_cocci_menhir.mly"
25116 (Data.clt)
25117 # 25118 "parser_cocci_menhir.ml"
25118 ) = Obj.magic _4 in
25119 let _3 : 'tv_eexpr = Obj.magic _3 in
25120 let _2 : (
25121 # 102 "parser_cocci_menhir.mly"
25122 (Data.clt)
25123 # 25124 "parser_cocci_menhir.ml"
25124 ) = Obj.magic _2 in
25125 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25126 let _startpos = _startpos__1_ in
25127 let _endpos = _endpos__4_ in
25128 let _v : 'tv_postfix_expr_expr_invalid_ =
25129 # 1317 "parser_cocci_menhir.mly"
25130 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25131 P.clt2mcode "]" _4)) )
25132 # 25133 "parser_cocci_menhir.ml"
25133 in
25134 _menhir_env.MenhirLib.EngineTypes.stack <- {
25135 MenhirLib.EngineTypes.state = _menhir_s;
25136 MenhirLib.EngineTypes.semv = Obj.repr _v;
25137 MenhirLib.EngineTypes.startp = _startpos;
25138 MenhirLib.EngineTypes.endp = _endpos;
25139 MenhirLib.EngineTypes.next = _menhir_stack;
25140 });
25141 (fun _menhir_env ->
25142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25143 let {
25144 MenhirLib.EngineTypes.semv = _3;
25145 MenhirLib.EngineTypes.startp = _startpos__3_;
25146 MenhirLib.EngineTypes.endp = _endpos__3_;
25147 MenhirLib.EngineTypes.next = {
25148 MenhirLib.EngineTypes.semv = _2;
25149 MenhirLib.EngineTypes.startp = _startpos__2_;
25150 MenhirLib.EngineTypes.endp = _endpos__2_;
25151 MenhirLib.EngineTypes.next = {
25152 MenhirLib.EngineTypes.state = _menhir_s;
25153 MenhirLib.EngineTypes.semv = _1;
25154 MenhirLib.EngineTypes.startp = _startpos__1_;
25155 MenhirLib.EngineTypes.endp = _endpos__1_;
25156 MenhirLib.EngineTypes.next = _menhir_stack;
25157 };
25158 };
25159 } = _menhir_stack in
25160 let _3 : 'tv_ident = Obj.magic _3 in
25161 let _2 : (
25162 # 107 "parser_cocci_menhir.mly"
25163 (Data.clt)
25164 # 25165 "parser_cocci_menhir.ml"
25165 ) = Obj.magic _2 in
25166 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25167 let _startpos = _startpos__1_ in
25168 let _endpos = _endpos__3_ in
25169 let _v : 'tv_postfix_expr_expr_invalid_ =
25170 # 1320 "parser_cocci_menhir.mly"
25171 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25172 # 25173 "parser_cocci_menhir.ml"
25173 in
25174 _menhir_env.MenhirLib.EngineTypes.stack <- {
25175 MenhirLib.EngineTypes.state = _menhir_s;
25176 MenhirLib.EngineTypes.semv = Obj.repr _v;
25177 MenhirLib.EngineTypes.startp = _startpos;
25178 MenhirLib.EngineTypes.endp = _endpos;
25179 MenhirLib.EngineTypes.next = _menhir_stack;
25180 });
25181 (fun _menhir_env ->
25182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25183 let {
25184 MenhirLib.EngineTypes.semv = _3;
25185 MenhirLib.EngineTypes.startp = _startpos__3_;
25186 MenhirLib.EngineTypes.endp = _endpos__3_;
25187 MenhirLib.EngineTypes.next = {
25188 MenhirLib.EngineTypes.semv = _2;
25189 MenhirLib.EngineTypes.startp = _startpos__2_;
25190 MenhirLib.EngineTypes.endp = _endpos__2_;
25191 MenhirLib.EngineTypes.next = {
25192 MenhirLib.EngineTypes.state = _menhir_s;
25193 MenhirLib.EngineTypes.semv = _1;
25194 MenhirLib.EngineTypes.startp = _startpos__1_;
25195 MenhirLib.EngineTypes.endp = _endpos__1_;
25196 MenhirLib.EngineTypes.next = _menhir_stack;
25197 };
25198 };
25199 } = _menhir_stack in
25200 let _3 : 'tv_ident = Obj.magic _3 in
25201 let _2 : (
25202 # 104 "parser_cocci_menhir.mly"
25203 (Data.clt)
25204 # 25205 "parser_cocci_menhir.ml"
25205 ) = Obj.magic _2 in
25206 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25207 let _startpos = _startpos__1_ in
25208 let _endpos = _endpos__3_ in
25209 let _v : 'tv_postfix_expr_expr_invalid_ =
25210 # 1322 "parser_cocci_menhir.mly"
25211 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25212 _3)) )
25213 # 25214 "parser_cocci_menhir.ml"
25214 in
25215 _menhir_env.MenhirLib.EngineTypes.stack <- {
25216 MenhirLib.EngineTypes.state = _menhir_s;
25217 MenhirLib.EngineTypes.semv = Obj.repr _v;
25218 MenhirLib.EngineTypes.startp = _startpos;
25219 MenhirLib.EngineTypes.endp = _endpos;
25220 MenhirLib.EngineTypes.next = _menhir_stack;
25221 });
25222 (fun _menhir_env ->
25223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25224 let {
25225 MenhirLib.EngineTypes.semv = _2;
25226 MenhirLib.EngineTypes.startp = _startpos__2_;
25227 MenhirLib.EngineTypes.endp = _endpos__2_;
25228 MenhirLib.EngineTypes.next = {
25229 MenhirLib.EngineTypes.state = _menhir_s;
25230 MenhirLib.EngineTypes.semv = _1;
25231 MenhirLib.EngineTypes.startp = _startpos__1_;
25232 MenhirLib.EngineTypes.endp = _endpos__1_;
25233 MenhirLib.EngineTypes.next = _menhir_stack;
25234 };
25235 } = _menhir_stack in
25236 let _2 : (
25237 # 85 "parser_cocci_menhir.mly"
25238 (Data.clt)
25239 # 25240 "parser_cocci_menhir.ml"
25240 ) = Obj.magic _2 in
25241 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25242 let _startpos = _startpos__1_ in
25243 let _endpos = _endpos__2_ in
25244 let _v : 'tv_postfix_expr_expr_invalid_ =
25245 # 1325 "parser_cocci_menhir.mly"
25246 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25247 # 25248 "parser_cocci_menhir.ml"
25248 in
25249 _menhir_env.MenhirLib.EngineTypes.stack <- {
25250 MenhirLib.EngineTypes.state = _menhir_s;
25251 MenhirLib.EngineTypes.semv = Obj.repr _v;
25252 MenhirLib.EngineTypes.startp = _startpos;
25253 MenhirLib.EngineTypes.endp = _endpos;
25254 MenhirLib.EngineTypes.next = _menhir_stack;
25255 });
25256 (fun _menhir_env ->
25257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25258 let {
25259 MenhirLib.EngineTypes.semv = _2;
25260 MenhirLib.EngineTypes.startp = _startpos__2_;
25261 MenhirLib.EngineTypes.endp = _endpos__2_;
25262 MenhirLib.EngineTypes.next = {
25263 MenhirLib.EngineTypes.state = _menhir_s;
25264 MenhirLib.EngineTypes.semv = _1;
25265 MenhirLib.EngineTypes.startp = _startpos__1_;
25266 MenhirLib.EngineTypes.endp = _endpos__1_;
25267 MenhirLib.EngineTypes.next = _menhir_stack;
25268 };
25269 } = _menhir_stack in
25270 let _2 : (
25271 # 85 "parser_cocci_menhir.mly"
25272 (Data.clt)
25273 # 25274 "parser_cocci_menhir.ml"
25274 ) = Obj.magic _2 in
25275 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25276 let _startpos = _startpos__1_ in
25277 let _endpos = _endpos__2_ in
25278 let _v : 'tv_postfix_expr_expr_invalid_ =
25279 # 1327 "parser_cocci_menhir.mly"
25280 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25281 # 25282 "parser_cocci_menhir.ml"
25282 in
25283 _menhir_env.MenhirLib.EngineTypes.stack <- {
25284 MenhirLib.EngineTypes.state = _menhir_s;
25285 MenhirLib.EngineTypes.semv = Obj.repr _v;
25286 MenhirLib.EngineTypes.startp = _startpos;
25287 MenhirLib.EngineTypes.endp = _endpos;
25288 MenhirLib.EngineTypes.next = _menhir_stack;
25289 });
25290 (fun _menhir_env ->
25291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25292 let {
25293 MenhirLib.EngineTypes.semv = _4;
25294 MenhirLib.EngineTypes.startp = _startpos__4_;
25295 MenhirLib.EngineTypes.endp = _endpos__4_;
25296 MenhirLib.EngineTypes.next = {
25297 MenhirLib.EngineTypes.semv = _3;
25298 MenhirLib.EngineTypes.startp = _startpos__3_;
25299 MenhirLib.EngineTypes.endp = _endpos__3_;
25300 MenhirLib.EngineTypes.next = {
25301 MenhirLib.EngineTypes.semv = _2;
25302 MenhirLib.EngineTypes.startp = _startpos__2_;
25303 MenhirLib.EngineTypes.endp = _endpos__2_;
25304 MenhirLib.EngineTypes.next = {
25305 MenhirLib.EngineTypes.state = _menhir_s;
25306 MenhirLib.EngineTypes.semv = _1;
25307 MenhirLib.EngineTypes.startp = _startpos__1_;
25308 MenhirLib.EngineTypes.endp = _endpos__1_;
25309 MenhirLib.EngineTypes.next = _menhir_stack;
25310 };
25311 };
25312 };
25313 } = _menhir_stack in
25314 let _4 : (
25315 # 77 "parser_cocci_menhir.mly"
25316 (Data.clt)
25317 # 25318 "parser_cocci_menhir.ml"
25318 ) = Obj.magic _4 in
25319 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25320 let _2 : (
25321 # 76 "parser_cocci_menhir.mly"
25322 (Data.clt)
25323 # 25324 "parser_cocci_menhir.ml"
25324 ) = Obj.magic _2 in
25325 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25326 let _startpos = _startpos__1_ in
25327 let _endpos = _endpos__4_ in
25328 let _v : 'tv_postfix_expr_expr_invalid_ =
25329 # 1329 "parser_cocci_menhir.mly"
25330 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25331 _3,
25332 P.clt2mcode ")" _4)) )
25333 # 25334 "parser_cocci_menhir.ml"
25334 in
25335 _menhir_env.MenhirLib.EngineTypes.stack <- {
25336 MenhirLib.EngineTypes.state = _menhir_s;
25337 MenhirLib.EngineTypes.semv = Obj.repr _v;
25338 MenhirLib.EngineTypes.startp = _startpos;
25339 MenhirLib.EngineTypes.endp = _endpos;
25340 MenhirLib.EngineTypes.next = _menhir_stack;
25341 });
25342 (fun _menhir_env ->
25343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25344 let {
25345 MenhirLib.EngineTypes.state = _menhir_s;
25346 MenhirLib.EngineTypes.semv = _1;
25347 MenhirLib.EngineTypes.startp = _startpos__1_;
25348 MenhirLib.EngineTypes.endp = _endpos__1_;
25349 MenhirLib.EngineTypes.next = _menhir_stack;
25350 } = _menhir_stack in
25351 let _1 : 'tv_func_ident = Obj.magic _1 in
25352 let _startpos = _startpos__1_ in
25353 let _endpos = _endpos__1_ in
25354 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25355 # 1334 "parser_cocci_menhir.mly"
25356 ( Ast0.wrap(Ast0.Ident(_1)) )
25357 # 25358 "parser_cocci_menhir.ml"
25358 in
25359 _menhir_env.MenhirLib.EngineTypes.stack <- {
25360 MenhirLib.EngineTypes.state = _menhir_s;
25361 MenhirLib.EngineTypes.semv = Obj.repr _v;
25362 MenhirLib.EngineTypes.startp = _startpos;
25363 MenhirLib.EngineTypes.endp = _endpos;
25364 MenhirLib.EngineTypes.next = _menhir_stack;
25365 });
25366 (fun _menhir_env ->
25367 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25368 let {
25369 MenhirLib.EngineTypes.state = _menhir_s;
25370 MenhirLib.EngineTypes.semv = _1;
25371 MenhirLib.EngineTypes.startp = _startpos__1_;
25372 MenhirLib.EngineTypes.endp = _endpos__1_;
25373 MenhirLib.EngineTypes.next = _menhir_stack;
25374 } = _menhir_stack in
25375 let _1 : (
25376 # 87 "parser_cocci_menhir.mly"
25377 (string * Data.clt)
25378 # 25379 "parser_cocci_menhir.ml"
25379 ) = Obj.magic _1 in
25380 let _startpos = _startpos__1_ in
25381 let _endpos = _endpos__1_ in
25382 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25383 # 1336 "parser_cocci_menhir.mly"
25384 ( let (x,clt) = _1 in
25385 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25386 # 25387 "parser_cocci_menhir.ml"
25387 in
25388 _menhir_env.MenhirLib.EngineTypes.stack <- {
25389 MenhirLib.EngineTypes.state = _menhir_s;
25390 MenhirLib.EngineTypes.semv = Obj.repr _v;
25391 MenhirLib.EngineTypes.startp = _startpos;
25392 MenhirLib.EngineTypes.endp = _endpos;
25393 MenhirLib.EngineTypes.next = _menhir_stack;
25394 });
25395 (fun _menhir_env ->
25396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25397 let {
25398 MenhirLib.EngineTypes.state = _menhir_s;
25399 MenhirLib.EngineTypes.semv = _1;
25400 MenhirLib.EngineTypes.startp = _startpos__1_;
25401 MenhirLib.EngineTypes.endp = _endpos__1_;
25402 MenhirLib.EngineTypes.next = _menhir_stack;
25403 } = _menhir_stack in
25404 let _1 : (
25405 # 87 "parser_cocci_menhir.mly"
25406 (string * Data.clt)
25407 # 25408 "parser_cocci_menhir.ml"
25408 ) = Obj.magic _1 in
25409 let _startpos = _startpos__1_ in
25410 let _endpos = _endpos__1_ in
25411 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25412 # 1339 "parser_cocci_menhir.mly"
25413 ( let (x,clt) = _1 in
25414 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25415 # 25416 "parser_cocci_menhir.ml"
25416 in
25417 _menhir_env.MenhirLib.EngineTypes.stack <- {
25418 MenhirLib.EngineTypes.state = _menhir_s;
25419 MenhirLib.EngineTypes.semv = Obj.repr _v;
25420 MenhirLib.EngineTypes.startp = _startpos;
25421 MenhirLib.EngineTypes.endp = _endpos;
25422 MenhirLib.EngineTypes.next = _menhir_stack;
25423 });
25424 (fun _menhir_env ->
25425 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25426 let {
25427 MenhirLib.EngineTypes.state = _menhir_s;
25428 MenhirLib.EngineTypes.semv = _1;
25429 MenhirLib.EngineTypes.startp = _startpos__1_;
25430 MenhirLib.EngineTypes.endp = _endpos__1_;
25431 MenhirLib.EngineTypes.next = _menhir_stack;
25432 } = _menhir_stack in
25433 let _1 : (
25434 # 87 "parser_cocci_menhir.mly"
25435 (string * Data.clt)
25436 # 25437 "parser_cocci_menhir.ml"
25437 ) = Obj.magic _1 in
25438 let _startpos = _startpos__1_ in
25439 let _endpos = _endpos__1_ in
25440 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25441 # 1342 "parser_cocci_menhir.mly"
25442 ( let (x,clt) = _1 in
25443 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25444 # 25445 "parser_cocci_menhir.ml"
25445 in
25446 _menhir_env.MenhirLib.EngineTypes.stack <- {
25447 MenhirLib.EngineTypes.state = _menhir_s;
25448 MenhirLib.EngineTypes.semv = Obj.repr _v;
25449 MenhirLib.EngineTypes.startp = _startpos;
25450 MenhirLib.EngineTypes.endp = _endpos;
25451 MenhirLib.EngineTypes.next = _menhir_stack;
25452 });
25453 (fun _menhir_env ->
25454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25455 let {
25456 MenhirLib.EngineTypes.state = _menhir_s;
25457 MenhirLib.EngineTypes.semv = _1;
25458 MenhirLib.EngineTypes.startp = _startpos__1_;
25459 MenhirLib.EngineTypes.endp = _endpos__1_;
25460 MenhirLib.EngineTypes.next = _menhir_stack;
25461 } = _menhir_stack in
25462 let _1 : (
25463 # 87 "parser_cocci_menhir.mly"
25464 (string * Data.clt)
25465 # 25466 "parser_cocci_menhir.ml"
25466 ) = Obj.magic _1 in
25467 let _startpos = _startpos__1_ in
25468 let _endpos = _endpos__1_ in
25469 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25470 # 1345 "parser_cocci_menhir.mly"
25471 ( let (x,clt) = _1 in
25472 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25473 # 25474 "parser_cocci_menhir.ml"
25474 in
25475 _menhir_env.MenhirLib.EngineTypes.stack <- {
25476 MenhirLib.EngineTypes.state = _menhir_s;
25477 MenhirLib.EngineTypes.semv = Obj.repr _v;
25478 MenhirLib.EngineTypes.startp = _startpos;
25479 MenhirLib.EngineTypes.endp = _endpos;
25480 MenhirLib.EngineTypes.next = _menhir_stack;
25481 });
25482 (fun _menhir_env ->
25483 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25484 let {
25485 MenhirLib.EngineTypes.state = _menhir_s;
25486 MenhirLib.EngineTypes.semv = _1;
25487 MenhirLib.EngineTypes.startp = _startpos__1_;
25488 MenhirLib.EngineTypes.endp = _endpos__1_;
25489 MenhirLib.EngineTypes.next = _menhir_stack;
25490 } = _menhir_stack in
25491 let _1 : (
25492 # 67 "parser_cocci_menhir.mly"
25493 (Parse_aux.typed_expinfo)
25494 # 25495 "parser_cocci_menhir.ml"
25495 ) = Obj.magic _1 in
25496 let _startpos = _startpos__1_ in
25497 let _endpos = _endpos__1_ in
25498 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25499 # 1348 "parser_cocci_menhir.mly"
25500 ( let (nm,constraints,pure,ty,clt) = _1 in
25501 Ast0.wrap
25502 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25503 # 25504 "parser_cocci_menhir.ml"
25504 in
25505 _menhir_env.MenhirLib.EngineTypes.stack <- {
25506 MenhirLib.EngineTypes.state = _menhir_s;
25507 MenhirLib.EngineTypes.semv = Obj.repr _v;
25508 MenhirLib.EngineTypes.startp = _startpos;
25509 MenhirLib.EngineTypes.endp = _endpos;
25510 MenhirLib.EngineTypes.next = _menhir_stack;
25511 });
25512 (fun _menhir_env ->
25513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25514 let {
25515 MenhirLib.EngineTypes.state = _menhir_s;
25516 MenhirLib.EngineTypes.semv = _1;
25517 MenhirLib.EngineTypes.startp = _startpos__1_;
25518 MenhirLib.EngineTypes.endp = _endpos__1_;
25519 MenhirLib.EngineTypes.next = _menhir_stack;
25520 } = _menhir_stack in
25521 let _1 : (
25522 # 63 "parser_cocci_menhir.mly"
25523 (Parse_aux.expinfo)
25524 # 25525 "parser_cocci_menhir.ml"
25525 ) = Obj.magic _1 in
25526 let _startpos = _startpos__1_ in
25527 let _endpos = _endpos__1_ in
25528 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25529 # 1352 "parser_cocci_menhir.mly"
25530 ( let (nm,constraints,pure,clt) = _1 in
25531 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25532 # 25533 "parser_cocci_menhir.ml"
25533 in
25534 _menhir_env.MenhirLib.EngineTypes.stack <- {
25535 MenhirLib.EngineTypes.state = _menhir_s;
25536 MenhirLib.EngineTypes.semv = Obj.repr _v;
25537 MenhirLib.EngineTypes.startp = _startpos;
25538 MenhirLib.EngineTypes.endp = _endpos;
25539 MenhirLib.EngineTypes.next = _menhir_stack;
25540 });
25541 (fun _menhir_env ->
25542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25543 let {
25544 MenhirLib.EngineTypes.state = _menhir_s;
25545 MenhirLib.EngineTypes.semv = _1;
25546 MenhirLib.EngineTypes.startp = _startpos__1_;
25547 MenhirLib.EngineTypes.endp = _endpos__1_;
25548 MenhirLib.EngineTypes.next = _menhir_stack;
25549 } = _menhir_stack in
25550 let _1 : (
25551 # 67 "parser_cocci_menhir.mly"
25552 (Parse_aux.typed_expinfo)
25553 # 25554 "parser_cocci_menhir.ml"
25554 ) = Obj.magic _1 in
25555 let _startpos = _startpos__1_ in
25556 let _endpos = _endpos__1_ in
25557 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25558 # 1355 "parser_cocci_menhir.mly"
25559 ( let (nm,constraints,pure,ty,clt) = _1 in
25560 Ast0.wrap
25561 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25562 # 25563 "parser_cocci_menhir.ml"
25563 in
25564 _menhir_env.MenhirLib.EngineTypes.stack <- {
25565 MenhirLib.EngineTypes.state = _menhir_s;
25566 MenhirLib.EngineTypes.semv = Obj.repr _v;
25567 MenhirLib.EngineTypes.startp = _startpos;
25568 MenhirLib.EngineTypes.endp = _endpos;
25569 MenhirLib.EngineTypes.next = _menhir_stack;
25570 });
25571 (fun _menhir_env ->
25572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25573 let {
25574 MenhirLib.EngineTypes.state = _menhir_s;
25575 MenhirLib.EngineTypes.semv = _1;
25576 MenhirLib.EngineTypes.startp = _startpos__1_;
25577 MenhirLib.EngineTypes.endp = _endpos__1_;
25578 MenhirLib.EngineTypes.next = _menhir_stack;
25579 } = _menhir_stack in
25580 let _1 : (
25581 # 67 "parser_cocci_menhir.mly"
25582 (Parse_aux.typed_expinfo)
25583 # 25584 "parser_cocci_menhir.ml"
25584 ) = Obj.magic _1 in
25585 let _startpos = _startpos__1_ in
25586 let _endpos = _endpos__1_ in
25587 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25588 # 1359 "parser_cocci_menhir.mly"
25589 ( let (nm,constraints,pure,ty,clt) = _1 in
25590 Ast0.wrap
25591 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
25592 # 25593 "parser_cocci_menhir.ml"
25593 in
25594 _menhir_env.MenhirLib.EngineTypes.stack <- {
25595 MenhirLib.EngineTypes.state = _menhir_s;
25596 MenhirLib.EngineTypes.semv = Obj.repr _v;
25597 MenhirLib.EngineTypes.startp = _startpos;
25598 MenhirLib.EngineTypes.endp = _endpos;
25599 MenhirLib.EngineTypes.next = _menhir_stack;
25600 });
25601 (fun _menhir_env ->
25602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25603 let {
25604 MenhirLib.EngineTypes.state = _menhir_s;
25605 MenhirLib.EngineTypes.semv = _1;
25606 MenhirLib.EngineTypes.startp = _startpos__1_;
25607 MenhirLib.EngineTypes.endp = _endpos__1_;
25608 MenhirLib.EngineTypes.next = _menhir_stack;
25609 } = _menhir_stack in
25610 let _1 : (
25611 # 67 "parser_cocci_menhir.mly"
25612 (Parse_aux.typed_expinfo)
25613 # 25614 "parser_cocci_menhir.ml"
25614 ) = Obj.magic _1 in
25615 let _startpos = _startpos__1_ in
25616 let _endpos = _endpos__1_ in
25617 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25618 # 1363 "parser_cocci_menhir.mly"
25619 ( let (nm,constraints,pure,ty,clt) = _1 in
25620 Ast0.wrap
25621 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
25622 # 25623 "parser_cocci_menhir.ml"
25623 in
25624 _menhir_env.MenhirLib.EngineTypes.stack <- {
25625 MenhirLib.EngineTypes.state = _menhir_s;
25626 MenhirLib.EngineTypes.semv = Obj.repr _v;
25627 MenhirLib.EngineTypes.startp = _startpos;
25628 MenhirLib.EngineTypes.endp = _endpos;
25629 MenhirLib.EngineTypes.next = _menhir_stack;
25630 });
25631 (fun _menhir_env ->
25632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25633 let {
25634 MenhirLib.EngineTypes.semv = _3;
25635 MenhirLib.EngineTypes.startp = _startpos__3_;
25636 MenhirLib.EngineTypes.endp = _endpos__3_;
25637 MenhirLib.EngineTypes.next = {
25638 MenhirLib.EngineTypes.semv = _2;
25639 MenhirLib.EngineTypes.startp = _startpos__2_;
25640 MenhirLib.EngineTypes.endp = _endpos__2_;
25641 MenhirLib.EngineTypes.next = {
25642 MenhirLib.EngineTypes.state = _menhir_s;
25643 MenhirLib.EngineTypes.semv = _1;
25644 MenhirLib.EngineTypes.startp = _startpos__1_;
25645 MenhirLib.EngineTypes.endp = _endpos__1_;
25646 MenhirLib.EngineTypes.next = _menhir_stack;
25647 };
25648 };
25649 } = _menhir_stack in
25650 let _3 : (
25651 # 77 "parser_cocci_menhir.mly"
25652 (Data.clt)
25653 # 25654 "parser_cocci_menhir.ml"
25654 ) = Obj.magic _3 in
25655 let _2 : 'tv_eexpr = Obj.magic _2 in
25656 let _1 : (
25657 # 76 "parser_cocci_menhir.mly"
25658 (Data.clt)
25659 # 25660 "parser_cocci_menhir.ml"
25660 ) = Obj.magic _1 in
25661 let _startpos = _startpos__1_ in
25662 let _endpos = _endpos__3_ in
25663 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25664 # 1367 "parser_cocci_menhir.mly"
25665 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
25666 P.clt2mcode ")" _3)) )
25667 # 25668 "parser_cocci_menhir.ml"
25668 in
25669 _menhir_env.MenhirLib.EngineTypes.stack <- {
25670 MenhirLib.EngineTypes.state = _menhir_s;
25671 MenhirLib.EngineTypes.semv = Obj.repr _v;
25672 MenhirLib.EngineTypes.startp = _startpos;
25673 MenhirLib.EngineTypes.endp = _endpos;
25674 MenhirLib.EngineTypes.next = _menhir_stack;
25675 });
25676 (fun _menhir_env ->
25677 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25678 let {
25679 MenhirLib.EngineTypes.semv = _3;
25680 MenhirLib.EngineTypes.startp = _startpos__3_;
25681 MenhirLib.EngineTypes.endp = _endpos__3_;
25682 MenhirLib.EngineTypes.next = {
25683 MenhirLib.EngineTypes.semv = _2;
25684 MenhirLib.EngineTypes.startp = _startpos__2_;
25685 MenhirLib.EngineTypes.endp = _endpos__2_;
25686 MenhirLib.EngineTypes.next = {
25687 MenhirLib.EngineTypes.state = _menhir_s;
25688 MenhirLib.EngineTypes.semv = _1;
25689 MenhirLib.EngineTypes.startp = _startpos__1_;
25690 MenhirLib.EngineTypes.endp = _endpos__1_;
25691 MenhirLib.EngineTypes.next = _menhir_stack;
25692 };
25693 };
25694 } = _menhir_stack in
25695 let _3 : (
25696 # 77 "parser_cocci_menhir.mly"
25697 (Data.clt)
25698 # 25699 "parser_cocci_menhir.ml"
25699 ) = Obj.magic _3 in
25700 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
25701 let _1 : (
25702 # 76 "parser_cocci_menhir.mly"
25703 (Data.clt)
25704 # 25705 "parser_cocci_menhir.ml"
25705 ) = Obj.magic _1 in
25706 let _startpos = _startpos__1_ in
25707 let _endpos = _endpos__3_ in
25708 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25709 # 1370 "parser_cocci_menhir.mly"
25710 ( let (mids,code) = _2 in
25711 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
25712 code, mids,
25713 P.clt2mcode ")" _3)) )
25714 # 25715 "parser_cocci_menhir.ml"
25715 in
25716 _menhir_env.MenhirLib.EngineTypes.stack <- {
25717 MenhirLib.EngineTypes.state = _menhir_s;
25718 MenhirLib.EngineTypes.semv = Obj.repr _v;
25719 MenhirLib.EngineTypes.startp = _startpos;
25720 MenhirLib.EngineTypes.endp = _endpos;
25721 MenhirLib.EngineTypes.next = _menhir_stack;
25722 });
25723 (fun _menhir_env ->
25724 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25725 let {
25726 MenhirLib.EngineTypes.state = _menhir_s;
25727 MenhirLib.EngineTypes.semv = _1;
25728 MenhirLib.EngineTypes.startp = _startpos__1_;
25729 MenhirLib.EngineTypes.endp = _endpos__1_;
25730 MenhirLib.EngineTypes.next = _menhir_stack;
25731 } = _menhir_stack in
25732 let _1 : 'tv_dot_expressions = Obj.magic _1 in
25733 let _startpos = _startpos__1_ in
25734 let _endpos = _endpos__1_ in
25735 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25736 # 1374 "parser_cocci_menhir.mly"
25737 ( _1 )
25738 # 25739 "parser_cocci_menhir.ml"
25739 in
25740 _menhir_env.MenhirLib.EngineTypes.stack <- {
25741 MenhirLib.EngineTypes.state = _menhir_s;
25742 MenhirLib.EngineTypes.semv = Obj.repr _v;
25743 MenhirLib.EngineTypes.startp = _startpos;
25744 MenhirLib.EngineTypes.endp = _endpos;
25745 MenhirLib.EngineTypes.next = _menhir_stack;
25746 });
25747 (fun _menhir_env ->
25748 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25749 let {
25750 MenhirLib.EngineTypes.state = _menhir_s;
25751 MenhirLib.EngineTypes.semv = _1;
25752 MenhirLib.EngineTypes.startp = _startpos__1_;
25753 MenhirLib.EngineTypes.endp = _endpos__1_;
25754 MenhirLib.EngineTypes.next = _menhir_stack;
25755 } = _menhir_stack in
25756 let _1 : 'tv_func_ident = Obj.magic _1 in
25757 let _startpos = _startpos__1_ in
25758 let _endpos = _endpos__1_ in
25759 let _v : 'tv_primary_expr_eexpr_invalid_ =
25760 # 1334 "parser_cocci_menhir.mly"
25761 ( Ast0.wrap(Ast0.Ident(_1)) )
25762 # 25763 "parser_cocci_menhir.ml"
25763 in
25764 _menhir_env.MenhirLib.EngineTypes.stack <- {
25765 MenhirLib.EngineTypes.state = _menhir_s;
25766 MenhirLib.EngineTypes.semv = Obj.repr _v;
25767 MenhirLib.EngineTypes.startp = _startpos;
25768 MenhirLib.EngineTypes.endp = _endpos;
25769 MenhirLib.EngineTypes.next = _menhir_stack;
25770 });
25771 (fun _menhir_env ->
25772 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25773 let {
25774 MenhirLib.EngineTypes.state = _menhir_s;
25775 MenhirLib.EngineTypes.semv = _1;
25776 MenhirLib.EngineTypes.startp = _startpos__1_;
25777 MenhirLib.EngineTypes.endp = _endpos__1_;
25778 MenhirLib.EngineTypes.next = _menhir_stack;
25779 } = _menhir_stack in
25780 let _1 : (
25781 # 87 "parser_cocci_menhir.mly"
25782 (string * Data.clt)
25783 # 25784 "parser_cocci_menhir.ml"
25784 ) = Obj.magic _1 in
25785 let _startpos = _startpos__1_ in
25786 let _endpos = _endpos__1_ in
25787 let _v : 'tv_primary_expr_eexpr_invalid_ =
25788 # 1336 "parser_cocci_menhir.mly"
25789 ( let (x,clt) = _1 in
25790 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25791 # 25792 "parser_cocci_menhir.ml"
25792 in
25793 _menhir_env.MenhirLib.EngineTypes.stack <- {
25794 MenhirLib.EngineTypes.state = _menhir_s;
25795 MenhirLib.EngineTypes.semv = Obj.repr _v;
25796 MenhirLib.EngineTypes.startp = _startpos;
25797 MenhirLib.EngineTypes.endp = _endpos;
25798 MenhirLib.EngineTypes.next = _menhir_stack;
25799 });
25800 (fun _menhir_env ->
25801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25802 let {
25803 MenhirLib.EngineTypes.state = _menhir_s;
25804 MenhirLib.EngineTypes.semv = _1;
25805 MenhirLib.EngineTypes.startp = _startpos__1_;
25806 MenhirLib.EngineTypes.endp = _endpos__1_;
25807 MenhirLib.EngineTypes.next = _menhir_stack;
25808 } = _menhir_stack in
25809 let _1 : (
25810 # 87 "parser_cocci_menhir.mly"
25811 (string * Data.clt)
25812 # 25813 "parser_cocci_menhir.ml"
25813 ) = Obj.magic _1 in
25814 let _startpos = _startpos__1_ in
25815 let _endpos = _endpos__1_ in
25816 let _v : 'tv_primary_expr_eexpr_invalid_ =
25817 # 1339 "parser_cocci_menhir.mly"
25818 ( let (x,clt) = _1 in
25819 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25820 # 25821 "parser_cocci_menhir.ml"
25821 in
25822 _menhir_env.MenhirLib.EngineTypes.stack <- {
25823 MenhirLib.EngineTypes.state = _menhir_s;
25824 MenhirLib.EngineTypes.semv = Obj.repr _v;
25825 MenhirLib.EngineTypes.startp = _startpos;
25826 MenhirLib.EngineTypes.endp = _endpos;
25827 MenhirLib.EngineTypes.next = _menhir_stack;
25828 });
25829 (fun _menhir_env ->
25830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25831 let {
25832 MenhirLib.EngineTypes.state = _menhir_s;
25833 MenhirLib.EngineTypes.semv = _1;
25834 MenhirLib.EngineTypes.startp = _startpos__1_;
25835 MenhirLib.EngineTypes.endp = _endpos__1_;
25836 MenhirLib.EngineTypes.next = _menhir_stack;
25837 } = _menhir_stack in
25838 let _1 : (
25839 # 87 "parser_cocci_menhir.mly"
25840 (string * Data.clt)
25841 # 25842 "parser_cocci_menhir.ml"
25842 ) = Obj.magic _1 in
25843 let _startpos = _startpos__1_ in
25844 let _endpos = _endpos__1_ in
25845 let _v : 'tv_primary_expr_eexpr_invalid_ =
25846 # 1342 "parser_cocci_menhir.mly"
25847 ( let (x,clt) = _1 in
25848 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25849 # 25850 "parser_cocci_menhir.ml"
25850 in
25851 _menhir_env.MenhirLib.EngineTypes.stack <- {
25852 MenhirLib.EngineTypes.state = _menhir_s;
25853 MenhirLib.EngineTypes.semv = Obj.repr _v;
25854 MenhirLib.EngineTypes.startp = _startpos;
25855 MenhirLib.EngineTypes.endp = _endpos;
25856 MenhirLib.EngineTypes.next = _menhir_stack;
25857 });
25858 (fun _menhir_env ->
25859 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25860 let {
25861 MenhirLib.EngineTypes.state = _menhir_s;
25862 MenhirLib.EngineTypes.semv = _1;
25863 MenhirLib.EngineTypes.startp = _startpos__1_;
25864 MenhirLib.EngineTypes.endp = _endpos__1_;
25865 MenhirLib.EngineTypes.next = _menhir_stack;
25866 } = _menhir_stack in
25867 let _1 : (
25868 # 87 "parser_cocci_menhir.mly"
25869 (string * Data.clt)
25870 # 25871 "parser_cocci_menhir.ml"
25871 ) = Obj.magic _1 in
25872 let _startpos = _startpos__1_ in
25873 let _endpos = _endpos__1_ in
25874 let _v : 'tv_primary_expr_eexpr_invalid_ =
25875 # 1345 "parser_cocci_menhir.mly"
25876 ( let (x,clt) = _1 in
25877 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25878 # 25879 "parser_cocci_menhir.ml"
25879 in
25880 _menhir_env.MenhirLib.EngineTypes.stack <- {
25881 MenhirLib.EngineTypes.state = _menhir_s;
25882 MenhirLib.EngineTypes.semv = Obj.repr _v;
25883 MenhirLib.EngineTypes.startp = _startpos;
25884 MenhirLib.EngineTypes.endp = _endpos;
25885 MenhirLib.EngineTypes.next = _menhir_stack;
25886 });
25887 (fun _menhir_env ->
25888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25889 let {
25890 MenhirLib.EngineTypes.state = _menhir_s;
25891 MenhirLib.EngineTypes.semv = _1;
25892 MenhirLib.EngineTypes.startp = _startpos__1_;
25893 MenhirLib.EngineTypes.endp = _endpos__1_;
25894 MenhirLib.EngineTypes.next = _menhir_stack;
25895 } = _menhir_stack in
25896 let _1 : (
25897 # 67 "parser_cocci_menhir.mly"
25898 (Parse_aux.typed_expinfo)
25899 # 25900 "parser_cocci_menhir.ml"
25900 ) = Obj.magic _1 in
25901 let _startpos = _startpos__1_ in
25902 let _endpos = _endpos__1_ in
25903 let _v : 'tv_primary_expr_eexpr_invalid_ =
25904 # 1348 "parser_cocci_menhir.mly"
25905 ( let (nm,constraints,pure,ty,clt) = _1 in
25906 Ast0.wrap
25907 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25908 # 25909 "parser_cocci_menhir.ml"
25909 in
25910 _menhir_env.MenhirLib.EngineTypes.stack <- {
25911 MenhirLib.EngineTypes.state = _menhir_s;
25912 MenhirLib.EngineTypes.semv = Obj.repr _v;
25913 MenhirLib.EngineTypes.startp = _startpos;
25914 MenhirLib.EngineTypes.endp = _endpos;
25915 MenhirLib.EngineTypes.next = _menhir_stack;
25916 });
25917 (fun _menhir_env ->
25918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25919 let {
25920 MenhirLib.EngineTypes.state = _menhir_s;
25921 MenhirLib.EngineTypes.semv = _1;
25922 MenhirLib.EngineTypes.startp = _startpos__1_;
25923 MenhirLib.EngineTypes.endp = _endpos__1_;
25924 MenhirLib.EngineTypes.next = _menhir_stack;
25925 } = _menhir_stack in
25926 let _1 : (
25927 # 63 "parser_cocci_menhir.mly"
25928 (Parse_aux.expinfo)
25929 # 25930 "parser_cocci_menhir.ml"
25930 ) = Obj.magic _1 in
25931 let _startpos = _startpos__1_ in
25932 let _endpos = _endpos__1_ in
25933 let _v : 'tv_primary_expr_eexpr_invalid_ =
25934 # 1352 "parser_cocci_menhir.mly"
25935 ( let (nm,constraints,pure,clt) = _1 in
25936 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25937 # 25938 "parser_cocci_menhir.ml"
25938 in
25939 _menhir_env.MenhirLib.EngineTypes.stack <- {
25940 MenhirLib.EngineTypes.state = _menhir_s;
25941 MenhirLib.EngineTypes.semv = Obj.repr _v;
25942 MenhirLib.EngineTypes.startp = _startpos;
25943 MenhirLib.EngineTypes.endp = _endpos;
25944 MenhirLib.EngineTypes.next = _menhir_stack;
25945 });
25946 (fun _menhir_env ->
25947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25948 let {
25949 MenhirLib.EngineTypes.state = _menhir_s;
25950 MenhirLib.EngineTypes.semv = _1;
25951 MenhirLib.EngineTypes.startp = _startpos__1_;
25952 MenhirLib.EngineTypes.endp = _endpos__1_;
25953 MenhirLib.EngineTypes.next = _menhir_stack;
25954 } = _menhir_stack in
25955 let _1 : (
25956 # 67 "parser_cocci_menhir.mly"
25957 (Parse_aux.typed_expinfo)
25958 # 25959 "parser_cocci_menhir.ml"
25959 ) = Obj.magic _1 in
25960 let _startpos = _startpos__1_ in
25961 let _endpos = _endpos__1_ in
25962 let _v : 'tv_primary_expr_eexpr_invalid_ =
25963 # 1355 "parser_cocci_menhir.mly"
25964 ( let (nm,constraints,pure,ty,clt) = _1 in
25965 Ast0.wrap
25966 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25967 # 25968 "parser_cocci_menhir.ml"
25968 in
25969 _menhir_env.MenhirLib.EngineTypes.stack <- {
25970 MenhirLib.EngineTypes.state = _menhir_s;
25971 MenhirLib.EngineTypes.semv = Obj.repr _v;
25972 MenhirLib.EngineTypes.startp = _startpos;
25973 MenhirLib.EngineTypes.endp = _endpos;
25974 MenhirLib.EngineTypes.next = _menhir_stack;
25975 });
25976 (fun _menhir_env ->
25977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25978 let {
25979 MenhirLib.EngineTypes.state = _menhir_s;
25980 MenhirLib.EngineTypes.semv = _1;
25981 MenhirLib.EngineTypes.startp = _startpos__1_;
25982 MenhirLib.EngineTypes.endp = _endpos__1_;
25983 MenhirLib.EngineTypes.next = _menhir_stack;
25984 } = _menhir_stack in
25985 let _1 : (
25986 # 67 "parser_cocci_menhir.mly"
25987 (Parse_aux.typed_expinfo)
25988 # 25989 "parser_cocci_menhir.ml"
25989 ) = Obj.magic _1 in
25990 let _startpos = _startpos__1_ in
25991 let _endpos = _endpos__1_ in
25992 let _v : 'tv_primary_expr_eexpr_invalid_ =
25993 # 1359 "parser_cocci_menhir.mly"
25994 ( let (nm,constraints,pure,ty,clt) = _1 in
25995 Ast0.wrap
25996 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
25997 # 25998 "parser_cocci_menhir.ml"
25998 in
25999 _menhir_env.MenhirLib.EngineTypes.stack <- {
26000 MenhirLib.EngineTypes.state = _menhir_s;
26001 MenhirLib.EngineTypes.semv = Obj.repr _v;
26002 MenhirLib.EngineTypes.startp = _startpos;
26003 MenhirLib.EngineTypes.endp = _endpos;
26004 MenhirLib.EngineTypes.next = _menhir_stack;
26005 });
26006 (fun _menhir_env ->
26007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26008 let {
26009 MenhirLib.EngineTypes.state = _menhir_s;
26010 MenhirLib.EngineTypes.semv = _1;
26011 MenhirLib.EngineTypes.startp = _startpos__1_;
26012 MenhirLib.EngineTypes.endp = _endpos__1_;
26013 MenhirLib.EngineTypes.next = _menhir_stack;
26014 } = _menhir_stack in
26015 let _1 : (
26016 # 67 "parser_cocci_menhir.mly"
26017 (Parse_aux.typed_expinfo)
26018 # 26019 "parser_cocci_menhir.ml"
26019 ) = Obj.magic _1 in
26020 let _startpos = _startpos__1_ in
26021 let _endpos = _endpos__1_ in
26022 let _v : 'tv_primary_expr_eexpr_invalid_ =
26023 # 1363 "parser_cocci_menhir.mly"
26024 ( let (nm,constraints,pure,ty,clt) = _1 in
26025 Ast0.wrap
26026 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26027 # 26028 "parser_cocci_menhir.ml"
26028 in
26029 _menhir_env.MenhirLib.EngineTypes.stack <- {
26030 MenhirLib.EngineTypes.state = _menhir_s;
26031 MenhirLib.EngineTypes.semv = Obj.repr _v;
26032 MenhirLib.EngineTypes.startp = _startpos;
26033 MenhirLib.EngineTypes.endp = _endpos;
26034 MenhirLib.EngineTypes.next = _menhir_stack;
26035 });
26036 (fun _menhir_env ->
26037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26038 let {
26039 MenhirLib.EngineTypes.semv = _3;
26040 MenhirLib.EngineTypes.startp = _startpos__3_;
26041 MenhirLib.EngineTypes.endp = _endpos__3_;
26042 MenhirLib.EngineTypes.next = {
26043 MenhirLib.EngineTypes.semv = _2;
26044 MenhirLib.EngineTypes.startp = _startpos__2_;
26045 MenhirLib.EngineTypes.endp = _endpos__2_;
26046 MenhirLib.EngineTypes.next = {
26047 MenhirLib.EngineTypes.state = _menhir_s;
26048 MenhirLib.EngineTypes.semv = _1;
26049 MenhirLib.EngineTypes.startp = _startpos__1_;
26050 MenhirLib.EngineTypes.endp = _endpos__1_;
26051 MenhirLib.EngineTypes.next = _menhir_stack;
26052 };
26053 };
26054 } = _menhir_stack in
26055 let _3 : (
26056 # 77 "parser_cocci_menhir.mly"
26057 (Data.clt)
26058 # 26059 "parser_cocci_menhir.ml"
26059 ) = Obj.magic _3 in
26060 let _2 : 'tv_eexpr = Obj.magic _2 in
26061 let _1 : (
26062 # 76 "parser_cocci_menhir.mly"
26063 (Data.clt)
26064 # 26065 "parser_cocci_menhir.ml"
26065 ) = Obj.magic _1 in
26066 let _startpos = _startpos__1_ in
26067 let _endpos = _endpos__3_ in
26068 let _v : 'tv_primary_expr_eexpr_invalid_ =
26069 # 1367 "parser_cocci_menhir.mly"
26070 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26071 P.clt2mcode ")" _3)) )
26072 # 26073 "parser_cocci_menhir.ml"
26073 in
26074 _menhir_env.MenhirLib.EngineTypes.stack <- {
26075 MenhirLib.EngineTypes.state = _menhir_s;
26076 MenhirLib.EngineTypes.semv = Obj.repr _v;
26077 MenhirLib.EngineTypes.startp = _startpos;
26078 MenhirLib.EngineTypes.endp = _endpos;
26079 MenhirLib.EngineTypes.next = _menhir_stack;
26080 });
26081 (fun _menhir_env ->
26082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26083 let {
26084 MenhirLib.EngineTypes.semv = _3;
26085 MenhirLib.EngineTypes.startp = _startpos__3_;
26086 MenhirLib.EngineTypes.endp = _endpos__3_;
26087 MenhirLib.EngineTypes.next = {
26088 MenhirLib.EngineTypes.semv = _2;
26089 MenhirLib.EngineTypes.startp = _startpos__2_;
26090 MenhirLib.EngineTypes.endp = _endpos__2_;
26091 MenhirLib.EngineTypes.next = {
26092 MenhirLib.EngineTypes.state = _menhir_s;
26093 MenhirLib.EngineTypes.semv = _1;
26094 MenhirLib.EngineTypes.startp = _startpos__1_;
26095 MenhirLib.EngineTypes.endp = _endpos__1_;
26096 MenhirLib.EngineTypes.next = _menhir_stack;
26097 };
26098 };
26099 } = _menhir_stack in
26100 let _3 : (
26101 # 77 "parser_cocci_menhir.mly"
26102 (Data.clt)
26103 # 26104 "parser_cocci_menhir.ml"
26104 ) = Obj.magic _3 in
26105 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26106 let _1 : (
26107 # 76 "parser_cocci_menhir.mly"
26108 (Data.clt)
26109 # 26110 "parser_cocci_menhir.ml"
26110 ) = Obj.magic _1 in
26111 let _startpos = _startpos__1_ in
26112 let _endpos = _endpos__3_ in
26113 let _v : 'tv_primary_expr_eexpr_invalid_ =
26114 # 1370 "parser_cocci_menhir.mly"
26115 ( let (mids,code) = _2 in
26116 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26117 code, mids,
26118 P.clt2mcode ")" _3)) )
26119 # 26120 "parser_cocci_menhir.ml"
26120 in
26121 _menhir_env.MenhirLib.EngineTypes.stack <- {
26122 MenhirLib.EngineTypes.state = _menhir_s;
26123 MenhirLib.EngineTypes.semv = Obj.repr _v;
26124 MenhirLib.EngineTypes.startp = _startpos;
26125 MenhirLib.EngineTypes.endp = _endpos;
26126 MenhirLib.EngineTypes.next = _menhir_stack;
26127 });
26128 (fun _menhir_env ->
26129 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26130 let {
26131 MenhirLib.EngineTypes.state = _menhir_s;
26132 MenhirLib.EngineTypes.semv = _1;
26133 MenhirLib.EngineTypes.startp = _startpos__1_;
26134 MenhirLib.EngineTypes.endp = _endpos__1_;
26135 MenhirLib.EngineTypes.next = _menhir_stack;
26136 } = _menhir_stack in
26137 let _1 : 'tv_invalid = Obj.magic _1 in
26138 let _startpos = _startpos__1_ in
26139 let _endpos = _endpos__1_ in
26140 let _v : 'tv_primary_expr_eexpr_invalid_ =
26141 # 1374 "parser_cocci_menhir.mly"
26142 ( _1 )
26143 # 26144 "parser_cocci_menhir.ml"
26144 in
26145 _menhir_env.MenhirLib.EngineTypes.stack <- {
26146 MenhirLib.EngineTypes.state = _menhir_s;
26147 MenhirLib.EngineTypes.semv = Obj.repr _v;
26148 MenhirLib.EngineTypes.startp = _startpos;
26149 MenhirLib.EngineTypes.endp = _endpos;
26150 MenhirLib.EngineTypes.next = _menhir_stack;
26151 });
26152 (fun _menhir_env ->
26153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26154 let {
26155 MenhirLib.EngineTypes.state = _menhir_s;
26156 MenhirLib.EngineTypes.semv = _1;
26157 MenhirLib.EngineTypes.startp = _startpos__1_;
26158 MenhirLib.EngineTypes.endp = _endpos__1_;
26159 MenhirLib.EngineTypes.next = _menhir_stack;
26160 } = _menhir_stack in
26161 let _1 : 'tv_func_ident = Obj.magic _1 in
26162 let _startpos = _startpos__1_ in
26163 let _endpos = _endpos__1_ in
26164 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26165 # 1334 "parser_cocci_menhir.mly"
26166 ( Ast0.wrap(Ast0.Ident(_1)) )
26167 # 26168 "parser_cocci_menhir.ml"
26168 in
26169 _menhir_env.MenhirLib.EngineTypes.stack <- {
26170 MenhirLib.EngineTypes.state = _menhir_s;
26171 MenhirLib.EngineTypes.semv = Obj.repr _v;
26172 MenhirLib.EngineTypes.startp = _startpos;
26173 MenhirLib.EngineTypes.endp = _endpos;
26174 MenhirLib.EngineTypes.next = _menhir_stack;
26175 });
26176 (fun _menhir_env ->
26177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26178 let {
26179 MenhirLib.EngineTypes.state = _menhir_s;
26180 MenhirLib.EngineTypes.semv = _1;
26181 MenhirLib.EngineTypes.startp = _startpos__1_;
26182 MenhirLib.EngineTypes.endp = _endpos__1_;
26183 MenhirLib.EngineTypes.next = _menhir_stack;
26184 } = _menhir_stack in
26185 let _1 : (
26186 # 87 "parser_cocci_menhir.mly"
26187 (string * Data.clt)
26188 # 26189 "parser_cocci_menhir.ml"
26189 ) = Obj.magic _1 in
26190 let _startpos = _startpos__1_ in
26191 let _endpos = _endpos__1_ in
26192 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26193 # 1336 "parser_cocci_menhir.mly"
26194 ( let (x,clt) = _1 in
26195 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26196 # 26197 "parser_cocci_menhir.ml"
26197 in
26198 _menhir_env.MenhirLib.EngineTypes.stack <- {
26199 MenhirLib.EngineTypes.state = _menhir_s;
26200 MenhirLib.EngineTypes.semv = Obj.repr _v;
26201 MenhirLib.EngineTypes.startp = _startpos;
26202 MenhirLib.EngineTypes.endp = _endpos;
26203 MenhirLib.EngineTypes.next = _menhir_stack;
26204 });
26205 (fun _menhir_env ->
26206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26207 let {
26208 MenhirLib.EngineTypes.state = _menhir_s;
26209 MenhirLib.EngineTypes.semv = _1;
26210 MenhirLib.EngineTypes.startp = _startpos__1_;
26211 MenhirLib.EngineTypes.endp = _endpos__1_;
26212 MenhirLib.EngineTypes.next = _menhir_stack;
26213 } = _menhir_stack in
26214 let _1 : (
26215 # 87 "parser_cocci_menhir.mly"
26216 (string * Data.clt)
26217 # 26218 "parser_cocci_menhir.ml"
26218 ) = Obj.magic _1 in
26219 let _startpos = _startpos__1_ in
26220 let _endpos = _endpos__1_ in
26221 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26222 # 1339 "parser_cocci_menhir.mly"
26223 ( let (x,clt) = _1 in
26224 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26225 # 26226 "parser_cocci_menhir.ml"
26226 in
26227 _menhir_env.MenhirLib.EngineTypes.stack <- {
26228 MenhirLib.EngineTypes.state = _menhir_s;
26229 MenhirLib.EngineTypes.semv = Obj.repr _v;
26230 MenhirLib.EngineTypes.startp = _startpos;
26231 MenhirLib.EngineTypes.endp = _endpos;
26232 MenhirLib.EngineTypes.next = _menhir_stack;
26233 });
26234 (fun _menhir_env ->
26235 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26236 let {
26237 MenhirLib.EngineTypes.state = _menhir_s;
26238 MenhirLib.EngineTypes.semv = _1;
26239 MenhirLib.EngineTypes.startp = _startpos__1_;
26240 MenhirLib.EngineTypes.endp = _endpos__1_;
26241 MenhirLib.EngineTypes.next = _menhir_stack;
26242 } = _menhir_stack in
26243 let _1 : (
26244 # 87 "parser_cocci_menhir.mly"
26245 (string * Data.clt)
26246 # 26247 "parser_cocci_menhir.ml"
26247 ) = Obj.magic _1 in
26248 let _startpos = _startpos__1_ in
26249 let _endpos = _endpos__1_ in
26250 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26251 # 1342 "parser_cocci_menhir.mly"
26252 ( let (x,clt) = _1 in
26253 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26254 # 26255 "parser_cocci_menhir.ml"
26255 in
26256 _menhir_env.MenhirLib.EngineTypes.stack <- {
26257 MenhirLib.EngineTypes.state = _menhir_s;
26258 MenhirLib.EngineTypes.semv = Obj.repr _v;
26259 MenhirLib.EngineTypes.startp = _startpos;
26260 MenhirLib.EngineTypes.endp = _endpos;
26261 MenhirLib.EngineTypes.next = _menhir_stack;
26262 });
26263 (fun _menhir_env ->
26264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26265 let {
26266 MenhirLib.EngineTypes.state = _menhir_s;
26267 MenhirLib.EngineTypes.semv = _1;
26268 MenhirLib.EngineTypes.startp = _startpos__1_;
26269 MenhirLib.EngineTypes.endp = _endpos__1_;
26270 MenhirLib.EngineTypes.next = _menhir_stack;
26271 } = _menhir_stack in
26272 let _1 : (
26273 # 87 "parser_cocci_menhir.mly"
26274 (string * Data.clt)
26275 # 26276 "parser_cocci_menhir.ml"
26276 ) = Obj.magic _1 in
26277 let _startpos = _startpos__1_ in
26278 let _endpos = _endpos__1_ in
26279 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26280 # 1345 "parser_cocci_menhir.mly"
26281 ( let (x,clt) = _1 in
26282 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26283 # 26284 "parser_cocci_menhir.ml"
26284 in
26285 _menhir_env.MenhirLib.EngineTypes.stack <- {
26286 MenhirLib.EngineTypes.state = _menhir_s;
26287 MenhirLib.EngineTypes.semv = Obj.repr _v;
26288 MenhirLib.EngineTypes.startp = _startpos;
26289 MenhirLib.EngineTypes.endp = _endpos;
26290 MenhirLib.EngineTypes.next = _menhir_stack;
26291 });
26292 (fun _menhir_env ->
26293 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26294 let {
26295 MenhirLib.EngineTypes.state = _menhir_s;
26296 MenhirLib.EngineTypes.semv = _1;
26297 MenhirLib.EngineTypes.startp = _startpos__1_;
26298 MenhirLib.EngineTypes.endp = _endpos__1_;
26299 MenhirLib.EngineTypes.next = _menhir_stack;
26300 } = _menhir_stack in
26301 let _1 : (
26302 # 67 "parser_cocci_menhir.mly"
26303 (Parse_aux.typed_expinfo)
26304 # 26305 "parser_cocci_menhir.ml"
26305 ) = Obj.magic _1 in
26306 let _startpos = _startpos__1_ in
26307 let _endpos = _endpos__1_ in
26308 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26309 # 1348 "parser_cocci_menhir.mly"
26310 ( let (nm,constraints,pure,ty,clt) = _1 in
26311 Ast0.wrap
26312 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26313 # 26314 "parser_cocci_menhir.ml"
26314 in
26315 _menhir_env.MenhirLib.EngineTypes.stack <- {
26316 MenhirLib.EngineTypes.state = _menhir_s;
26317 MenhirLib.EngineTypes.semv = Obj.repr _v;
26318 MenhirLib.EngineTypes.startp = _startpos;
26319 MenhirLib.EngineTypes.endp = _endpos;
26320 MenhirLib.EngineTypes.next = _menhir_stack;
26321 });
26322 (fun _menhir_env ->
26323 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26324 let {
26325 MenhirLib.EngineTypes.state = _menhir_s;
26326 MenhirLib.EngineTypes.semv = _1;
26327 MenhirLib.EngineTypes.startp = _startpos__1_;
26328 MenhirLib.EngineTypes.endp = _endpos__1_;
26329 MenhirLib.EngineTypes.next = _menhir_stack;
26330 } = _menhir_stack in
26331 let _1 : (
26332 # 63 "parser_cocci_menhir.mly"
26333 (Parse_aux.expinfo)
26334 # 26335 "parser_cocci_menhir.ml"
26335 ) = Obj.magic _1 in
26336 let _startpos = _startpos__1_ in
26337 let _endpos = _endpos__1_ in
26338 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26339 # 1352 "parser_cocci_menhir.mly"
26340 ( let (nm,constraints,pure,clt) = _1 in
26341 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26342 # 26343 "parser_cocci_menhir.ml"
26343 in
26344 _menhir_env.MenhirLib.EngineTypes.stack <- {
26345 MenhirLib.EngineTypes.state = _menhir_s;
26346 MenhirLib.EngineTypes.semv = Obj.repr _v;
26347 MenhirLib.EngineTypes.startp = _startpos;
26348 MenhirLib.EngineTypes.endp = _endpos;
26349 MenhirLib.EngineTypes.next = _menhir_stack;
26350 });
26351 (fun _menhir_env ->
26352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26353 let {
26354 MenhirLib.EngineTypes.state = _menhir_s;
26355 MenhirLib.EngineTypes.semv = _1;
26356 MenhirLib.EngineTypes.startp = _startpos__1_;
26357 MenhirLib.EngineTypes.endp = _endpos__1_;
26358 MenhirLib.EngineTypes.next = _menhir_stack;
26359 } = _menhir_stack in
26360 let _1 : (
26361 # 67 "parser_cocci_menhir.mly"
26362 (Parse_aux.typed_expinfo)
26363 # 26364 "parser_cocci_menhir.ml"
26364 ) = Obj.magic _1 in
26365 let _startpos = _startpos__1_ in
26366 let _endpos = _endpos__1_ in
26367 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26368 # 1355 "parser_cocci_menhir.mly"
26369 ( let (nm,constraints,pure,ty,clt) = _1 in
26370 Ast0.wrap
26371 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26372 # 26373 "parser_cocci_menhir.ml"
26373 in
26374 _menhir_env.MenhirLib.EngineTypes.stack <- {
26375 MenhirLib.EngineTypes.state = _menhir_s;
26376 MenhirLib.EngineTypes.semv = Obj.repr _v;
26377 MenhirLib.EngineTypes.startp = _startpos;
26378 MenhirLib.EngineTypes.endp = _endpos;
26379 MenhirLib.EngineTypes.next = _menhir_stack;
26380 });
26381 (fun _menhir_env ->
26382 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26383 let {
26384 MenhirLib.EngineTypes.state = _menhir_s;
26385 MenhirLib.EngineTypes.semv = _1;
26386 MenhirLib.EngineTypes.startp = _startpos__1_;
26387 MenhirLib.EngineTypes.endp = _endpos__1_;
26388 MenhirLib.EngineTypes.next = _menhir_stack;
26389 } = _menhir_stack in
26390 let _1 : (
26391 # 67 "parser_cocci_menhir.mly"
26392 (Parse_aux.typed_expinfo)
26393 # 26394 "parser_cocci_menhir.ml"
26394 ) = Obj.magic _1 in
26395 let _startpos = _startpos__1_ in
26396 let _endpos = _endpos__1_ in
26397 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26398 # 1359 "parser_cocci_menhir.mly"
26399 ( let (nm,constraints,pure,ty,clt) = _1 in
26400 Ast0.wrap
26401 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26402 # 26403 "parser_cocci_menhir.ml"
26403 in
26404 _menhir_env.MenhirLib.EngineTypes.stack <- {
26405 MenhirLib.EngineTypes.state = _menhir_s;
26406 MenhirLib.EngineTypes.semv = Obj.repr _v;
26407 MenhirLib.EngineTypes.startp = _startpos;
26408 MenhirLib.EngineTypes.endp = _endpos;
26409 MenhirLib.EngineTypes.next = _menhir_stack;
26410 });
26411 (fun _menhir_env ->
26412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26413 let {
26414 MenhirLib.EngineTypes.state = _menhir_s;
26415 MenhirLib.EngineTypes.semv = _1;
26416 MenhirLib.EngineTypes.startp = _startpos__1_;
26417 MenhirLib.EngineTypes.endp = _endpos__1_;
26418 MenhirLib.EngineTypes.next = _menhir_stack;
26419 } = _menhir_stack in
26420 let _1 : (
26421 # 67 "parser_cocci_menhir.mly"
26422 (Parse_aux.typed_expinfo)
26423 # 26424 "parser_cocci_menhir.ml"
26424 ) = Obj.magic _1 in
26425 let _startpos = _startpos__1_ in
26426 let _endpos = _endpos__1_ in
26427 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26428 # 1363 "parser_cocci_menhir.mly"
26429 ( let (nm,constraints,pure,ty,clt) = _1 in
26430 Ast0.wrap
26431 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26432 # 26433 "parser_cocci_menhir.ml"
26433 in
26434 _menhir_env.MenhirLib.EngineTypes.stack <- {
26435 MenhirLib.EngineTypes.state = _menhir_s;
26436 MenhirLib.EngineTypes.semv = Obj.repr _v;
26437 MenhirLib.EngineTypes.startp = _startpos;
26438 MenhirLib.EngineTypes.endp = _endpos;
26439 MenhirLib.EngineTypes.next = _menhir_stack;
26440 });
26441 (fun _menhir_env ->
26442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26443 let {
26444 MenhirLib.EngineTypes.semv = _3;
26445 MenhirLib.EngineTypes.startp = _startpos__3_;
26446 MenhirLib.EngineTypes.endp = _endpos__3_;
26447 MenhirLib.EngineTypes.next = {
26448 MenhirLib.EngineTypes.semv = _2;
26449 MenhirLib.EngineTypes.startp = _startpos__2_;
26450 MenhirLib.EngineTypes.endp = _endpos__2_;
26451 MenhirLib.EngineTypes.next = {
26452 MenhirLib.EngineTypes.state = _menhir_s;
26453 MenhirLib.EngineTypes.semv = _1;
26454 MenhirLib.EngineTypes.startp = _startpos__1_;
26455 MenhirLib.EngineTypes.endp = _endpos__1_;
26456 MenhirLib.EngineTypes.next = _menhir_stack;
26457 };
26458 };
26459 } = _menhir_stack in
26460 let _3 : (
26461 # 77 "parser_cocci_menhir.mly"
26462 (Data.clt)
26463 # 26464 "parser_cocci_menhir.ml"
26464 ) = Obj.magic _3 in
26465 let _2 : 'tv_eexpr = Obj.magic _2 in
26466 let _1 : (
26467 # 76 "parser_cocci_menhir.mly"
26468 (Data.clt)
26469 # 26470 "parser_cocci_menhir.ml"
26470 ) = Obj.magic _1 in
26471 let _startpos = _startpos__1_ in
26472 let _endpos = _endpos__3_ in
26473 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26474 # 1367 "parser_cocci_menhir.mly"
26475 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26476 P.clt2mcode ")" _3)) )
26477 # 26478 "parser_cocci_menhir.ml"
26478 in
26479 _menhir_env.MenhirLib.EngineTypes.stack <- {
26480 MenhirLib.EngineTypes.state = _menhir_s;
26481 MenhirLib.EngineTypes.semv = Obj.repr _v;
26482 MenhirLib.EngineTypes.startp = _startpos;
26483 MenhirLib.EngineTypes.endp = _endpos;
26484 MenhirLib.EngineTypes.next = _menhir_stack;
26485 });
26486 (fun _menhir_env ->
26487 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26488 let {
26489 MenhirLib.EngineTypes.semv = _3;
26490 MenhirLib.EngineTypes.startp = _startpos__3_;
26491 MenhirLib.EngineTypes.endp = _endpos__3_;
26492 MenhirLib.EngineTypes.next = {
26493 MenhirLib.EngineTypes.semv = _2;
26494 MenhirLib.EngineTypes.startp = _startpos__2_;
26495 MenhirLib.EngineTypes.endp = _endpos__2_;
26496 MenhirLib.EngineTypes.next = {
26497 MenhirLib.EngineTypes.state = _menhir_s;
26498 MenhirLib.EngineTypes.semv = _1;
26499 MenhirLib.EngineTypes.startp = _startpos__1_;
26500 MenhirLib.EngineTypes.endp = _endpos__1_;
26501 MenhirLib.EngineTypes.next = _menhir_stack;
26502 };
26503 };
26504 } = _menhir_stack in
26505 let _3 : (
26506 # 77 "parser_cocci_menhir.mly"
26507 (Data.clt)
26508 # 26509 "parser_cocci_menhir.ml"
26509 ) = Obj.magic _3 in
26510 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26511 let _1 : (
26512 # 76 "parser_cocci_menhir.mly"
26513 (Data.clt)
26514 # 26515 "parser_cocci_menhir.ml"
26515 ) = Obj.magic _1 in
26516 let _startpos = _startpos__1_ in
26517 let _endpos = _endpos__3_ in
26518 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26519 # 1370 "parser_cocci_menhir.mly"
26520 ( let (mids,code) = _2 in
26521 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26522 code, mids,
26523 P.clt2mcode ")" _3)) )
26524 # 26525 "parser_cocci_menhir.ml"
26525 in
26526 _menhir_env.MenhirLib.EngineTypes.stack <- {
26527 MenhirLib.EngineTypes.state = _menhir_s;
26528 MenhirLib.EngineTypes.semv = Obj.repr _v;
26529 MenhirLib.EngineTypes.startp = _startpos;
26530 MenhirLib.EngineTypes.endp = _endpos;
26531 MenhirLib.EngineTypes.next = _menhir_stack;
26532 });
26533 (fun _menhir_env ->
26534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26535 let {
26536 MenhirLib.EngineTypes.state = _menhir_s;
26537 MenhirLib.EngineTypes.semv = _1;
26538 MenhirLib.EngineTypes.startp = _startpos__1_;
26539 MenhirLib.EngineTypes.endp = _endpos__1_;
26540 MenhirLib.EngineTypes.next = _menhir_stack;
26541 } = _menhir_stack in
26542 let _1 : 'tv_nest_expressions = Obj.magic _1 in
26543 let _startpos = _startpos__1_ in
26544 let _endpos = _endpos__1_ in
26545 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26546 # 1374 "parser_cocci_menhir.mly"
26547 ( _1 )
26548 # 26549 "parser_cocci_menhir.ml"
26549 in
26550 _menhir_env.MenhirLib.EngineTypes.stack <- {
26551 MenhirLib.EngineTypes.state = _menhir_s;
26552 MenhirLib.EngineTypes.semv = Obj.repr _v;
26553 MenhirLib.EngineTypes.startp = _startpos;
26554 MenhirLib.EngineTypes.endp = _endpos;
26555 MenhirLib.EngineTypes.next = _menhir_stack;
26556 });
26557 (fun _menhir_env ->
26558 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26559 let {
26560 MenhirLib.EngineTypes.state = _menhir_s;
26561 MenhirLib.EngineTypes.semv = _1;
26562 MenhirLib.EngineTypes.startp = _startpos__1_;
26563 MenhirLib.EngineTypes.endp = _endpos__1_;
26564 MenhirLib.EngineTypes.next = _menhir_stack;
26565 } = _menhir_stack in
26566 let _1 : 'tv_func_ident = Obj.magic _1 in
26567 let _startpos = _startpos__1_ in
26568 let _endpos = _endpos__1_ in
26569 let _v : 'tv_primary_expr_expr_invalid_ =
26570 # 1334 "parser_cocci_menhir.mly"
26571 ( Ast0.wrap(Ast0.Ident(_1)) )
26572 # 26573 "parser_cocci_menhir.ml"
26573 in
26574 _menhir_env.MenhirLib.EngineTypes.stack <- {
26575 MenhirLib.EngineTypes.state = _menhir_s;
26576 MenhirLib.EngineTypes.semv = Obj.repr _v;
26577 MenhirLib.EngineTypes.startp = _startpos;
26578 MenhirLib.EngineTypes.endp = _endpos;
26579 MenhirLib.EngineTypes.next = _menhir_stack;
26580 });
26581 (fun _menhir_env ->
26582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26583 let {
26584 MenhirLib.EngineTypes.state = _menhir_s;
26585 MenhirLib.EngineTypes.semv = _1;
26586 MenhirLib.EngineTypes.startp = _startpos__1_;
26587 MenhirLib.EngineTypes.endp = _endpos__1_;
26588 MenhirLib.EngineTypes.next = _menhir_stack;
26589 } = _menhir_stack in
26590 let _1 : (
26591 # 87 "parser_cocci_menhir.mly"
26592 (string * Data.clt)
26593 # 26594 "parser_cocci_menhir.ml"
26594 ) = Obj.magic _1 in
26595 let _startpos = _startpos__1_ in
26596 let _endpos = _endpos__1_ in
26597 let _v : 'tv_primary_expr_expr_invalid_ =
26598 # 1336 "parser_cocci_menhir.mly"
26599 ( let (x,clt) = _1 in
26600 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26601 # 26602 "parser_cocci_menhir.ml"
26602 in
26603 _menhir_env.MenhirLib.EngineTypes.stack <- {
26604 MenhirLib.EngineTypes.state = _menhir_s;
26605 MenhirLib.EngineTypes.semv = Obj.repr _v;
26606 MenhirLib.EngineTypes.startp = _startpos;
26607 MenhirLib.EngineTypes.endp = _endpos;
26608 MenhirLib.EngineTypes.next = _menhir_stack;
26609 });
26610 (fun _menhir_env ->
26611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26612 let {
26613 MenhirLib.EngineTypes.state = _menhir_s;
26614 MenhirLib.EngineTypes.semv = _1;
26615 MenhirLib.EngineTypes.startp = _startpos__1_;
26616 MenhirLib.EngineTypes.endp = _endpos__1_;
26617 MenhirLib.EngineTypes.next = _menhir_stack;
26618 } = _menhir_stack in
26619 let _1 : (
26620 # 87 "parser_cocci_menhir.mly"
26621 (string * Data.clt)
26622 # 26623 "parser_cocci_menhir.ml"
26623 ) = Obj.magic _1 in
26624 let _startpos = _startpos__1_ in
26625 let _endpos = _endpos__1_ in
26626 let _v : 'tv_primary_expr_expr_invalid_ =
26627 # 1339 "parser_cocci_menhir.mly"
26628 ( let (x,clt) = _1 in
26629 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26630 # 26631 "parser_cocci_menhir.ml"
26631 in
26632 _menhir_env.MenhirLib.EngineTypes.stack <- {
26633 MenhirLib.EngineTypes.state = _menhir_s;
26634 MenhirLib.EngineTypes.semv = Obj.repr _v;
26635 MenhirLib.EngineTypes.startp = _startpos;
26636 MenhirLib.EngineTypes.endp = _endpos;
26637 MenhirLib.EngineTypes.next = _menhir_stack;
26638 });
26639 (fun _menhir_env ->
26640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26641 let {
26642 MenhirLib.EngineTypes.state = _menhir_s;
26643 MenhirLib.EngineTypes.semv = _1;
26644 MenhirLib.EngineTypes.startp = _startpos__1_;
26645 MenhirLib.EngineTypes.endp = _endpos__1_;
26646 MenhirLib.EngineTypes.next = _menhir_stack;
26647 } = _menhir_stack in
26648 let _1 : (
26649 # 87 "parser_cocci_menhir.mly"
26650 (string * Data.clt)
26651 # 26652 "parser_cocci_menhir.ml"
26652 ) = Obj.magic _1 in
26653 let _startpos = _startpos__1_ in
26654 let _endpos = _endpos__1_ in
26655 let _v : 'tv_primary_expr_expr_invalid_ =
26656 # 1342 "parser_cocci_menhir.mly"
26657 ( let (x,clt) = _1 in
26658 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26659 # 26660 "parser_cocci_menhir.ml"
26660 in
26661 _menhir_env.MenhirLib.EngineTypes.stack <- {
26662 MenhirLib.EngineTypes.state = _menhir_s;
26663 MenhirLib.EngineTypes.semv = Obj.repr _v;
26664 MenhirLib.EngineTypes.startp = _startpos;
26665 MenhirLib.EngineTypes.endp = _endpos;
26666 MenhirLib.EngineTypes.next = _menhir_stack;
26667 });
26668 (fun _menhir_env ->
26669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26670 let {
26671 MenhirLib.EngineTypes.state = _menhir_s;
26672 MenhirLib.EngineTypes.semv = _1;
26673 MenhirLib.EngineTypes.startp = _startpos__1_;
26674 MenhirLib.EngineTypes.endp = _endpos__1_;
26675 MenhirLib.EngineTypes.next = _menhir_stack;
26676 } = _menhir_stack in
26677 let _1 : (
26678 # 87 "parser_cocci_menhir.mly"
26679 (string * Data.clt)
26680 # 26681 "parser_cocci_menhir.ml"
26681 ) = Obj.magic _1 in
26682 let _startpos = _startpos__1_ in
26683 let _endpos = _endpos__1_ in
26684 let _v : 'tv_primary_expr_expr_invalid_ =
26685 # 1345 "parser_cocci_menhir.mly"
26686 ( let (x,clt) = _1 in
26687 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26688 # 26689 "parser_cocci_menhir.ml"
26689 in
26690 _menhir_env.MenhirLib.EngineTypes.stack <- {
26691 MenhirLib.EngineTypes.state = _menhir_s;
26692 MenhirLib.EngineTypes.semv = Obj.repr _v;
26693 MenhirLib.EngineTypes.startp = _startpos;
26694 MenhirLib.EngineTypes.endp = _endpos;
26695 MenhirLib.EngineTypes.next = _menhir_stack;
26696 });
26697 (fun _menhir_env ->
26698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26699 let {
26700 MenhirLib.EngineTypes.state = _menhir_s;
26701 MenhirLib.EngineTypes.semv = _1;
26702 MenhirLib.EngineTypes.startp = _startpos__1_;
26703 MenhirLib.EngineTypes.endp = _endpos__1_;
26704 MenhirLib.EngineTypes.next = _menhir_stack;
26705 } = _menhir_stack in
26706 let _1 : (
26707 # 67 "parser_cocci_menhir.mly"
26708 (Parse_aux.typed_expinfo)
26709 # 26710 "parser_cocci_menhir.ml"
26710 ) = Obj.magic _1 in
26711 let _startpos = _startpos__1_ in
26712 let _endpos = _endpos__1_ in
26713 let _v : 'tv_primary_expr_expr_invalid_ =
26714 # 1348 "parser_cocci_menhir.mly"
26715 ( let (nm,constraints,pure,ty,clt) = _1 in
26716 Ast0.wrap
26717 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26718 # 26719 "parser_cocci_menhir.ml"
26719 in
26720 _menhir_env.MenhirLib.EngineTypes.stack <- {
26721 MenhirLib.EngineTypes.state = _menhir_s;
26722 MenhirLib.EngineTypes.semv = Obj.repr _v;
26723 MenhirLib.EngineTypes.startp = _startpos;
26724 MenhirLib.EngineTypes.endp = _endpos;
26725 MenhirLib.EngineTypes.next = _menhir_stack;
26726 });
26727 (fun _menhir_env ->
26728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26729 let {
26730 MenhirLib.EngineTypes.state = _menhir_s;
26731 MenhirLib.EngineTypes.semv = _1;
26732 MenhirLib.EngineTypes.startp = _startpos__1_;
26733 MenhirLib.EngineTypes.endp = _endpos__1_;
26734 MenhirLib.EngineTypes.next = _menhir_stack;
26735 } = _menhir_stack in
26736 let _1 : (
26737 # 63 "parser_cocci_menhir.mly"
26738 (Parse_aux.expinfo)
26739 # 26740 "parser_cocci_menhir.ml"
26740 ) = Obj.magic _1 in
26741 let _startpos = _startpos__1_ in
26742 let _endpos = _endpos__1_ in
26743 let _v : 'tv_primary_expr_expr_invalid_ =
26744 # 1352 "parser_cocci_menhir.mly"
26745 ( let (nm,constraints,pure,clt) = _1 in
26746 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26747 # 26748 "parser_cocci_menhir.ml"
26748 in
26749 _menhir_env.MenhirLib.EngineTypes.stack <- {
26750 MenhirLib.EngineTypes.state = _menhir_s;
26751 MenhirLib.EngineTypes.semv = Obj.repr _v;
26752 MenhirLib.EngineTypes.startp = _startpos;
26753 MenhirLib.EngineTypes.endp = _endpos;
26754 MenhirLib.EngineTypes.next = _menhir_stack;
26755 });
26756 (fun _menhir_env ->
26757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26758 let {
26759 MenhirLib.EngineTypes.state = _menhir_s;
26760 MenhirLib.EngineTypes.semv = _1;
26761 MenhirLib.EngineTypes.startp = _startpos__1_;
26762 MenhirLib.EngineTypes.endp = _endpos__1_;
26763 MenhirLib.EngineTypes.next = _menhir_stack;
26764 } = _menhir_stack in
26765 let _1 : (
26766 # 67 "parser_cocci_menhir.mly"
26767 (Parse_aux.typed_expinfo)
26768 # 26769 "parser_cocci_menhir.ml"
26769 ) = Obj.magic _1 in
26770 let _startpos = _startpos__1_ in
26771 let _endpos = _endpos__1_ in
26772 let _v : 'tv_primary_expr_expr_invalid_ =
26773 # 1355 "parser_cocci_menhir.mly"
26774 ( let (nm,constraints,pure,ty,clt) = _1 in
26775 Ast0.wrap
26776 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26777 # 26778 "parser_cocci_menhir.ml"
26778 in
26779 _menhir_env.MenhirLib.EngineTypes.stack <- {
26780 MenhirLib.EngineTypes.state = _menhir_s;
26781 MenhirLib.EngineTypes.semv = Obj.repr _v;
26782 MenhirLib.EngineTypes.startp = _startpos;
26783 MenhirLib.EngineTypes.endp = _endpos;
26784 MenhirLib.EngineTypes.next = _menhir_stack;
26785 });
26786 (fun _menhir_env ->
26787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26788 let {
26789 MenhirLib.EngineTypes.state = _menhir_s;
26790 MenhirLib.EngineTypes.semv = _1;
26791 MenhirLib.EngineTypes.startp = _startpos__1_;
26792 MenhirLib.EngineTypes.endp = _endpos__1_;
26793 MenhirLib.EngineTypes.next = _menhir_stack;
26794 } = _menhir_stack in
26795 let _1 : (
26796 # 67 "parser_cocci_menhir.mly"
26797 (Parse_aux.typed_expinfo)
26798 # 26799 "parser_cocci_menhir.ml"
26799 ) = Obj.magic _1 in
26800 let _startpos = _startpos__1_ in
26801 let _endpos = _endpos__1_ in
26802 let _v : 'tv_primary_expr_expr_invalid_ =
26803 # 1359 "parser_cocci_menhir.mly"
26804 ( let (nm,constraints,pure,ty,clt) = _1 in
26805 Ast0.wrap
26806 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26807 # 26808 "parser_cocci_menhir.ml"
26808 in
26809 _menhir_env.MenhirLib.EngineTypes.stack <- {
26810 MenhirLib.EngineTypes.state = _menhir_s;
26811 MenhirLib.EngineTypes.semv = Obj.repr _v;
26812 MenhirLib.EngineTypes.startp = _startpos;
26813 MenhirLib.EngineTypes.endp = _endpos;
26814 MenhirLib.EngineTypes.next = _menhir_stack;
26815 });
26816 (fun _menhir_env ->
26817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26818 let {
26819 MenhirLib.EngineTypes.state = _menhir_s;
26820 MenhirLib.EngineTypes.semv = _1;
26821 MenhirLib.EngineTypes.startp = _startpos__1_;
26822 MenhirLib.EngineTypes.endp = _endpos__1_;
26823 MenhirLib.EngineTypes.next = _menhir_stack;
26824 } = _menhir_stack in
26825 let _1 : (
26826 # 67 "parser_cocci_menhir.mly"
26827 (Parse_aux.typed_expinfo)
26828 # 26829 "parser_cocci_menhir.ml"
26829 ) = Obj.magic _1 in
26830 let _startpos = _startpos__1_ in
26831 let _endpos = _endpos__1_ in
26832 let _v : 'tv_primary_expr_expr_invalid_ =
26833 # 1363 "parser_cocci_menhir.mly"
26834 ( let (nm,constraints,pure,ty,clt) = _1 in
26835 Ast0.wrap
26836 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26837 # 26838 "parser_cocci_menhir.ml"
26838 in
26839 _menhir_env.MenhirLib.EngineTypes.stack <- {
26840 MenhirLib.EngineTypes.state = _menhir_s;
26841 MenhirLib.EngineTypes.semv = Obj.repr _v;
26842 MenhirLib.EngineTypes.startp = _startpos;
26843 MenhirLib.EngineTypes.endp = _endpos;
26844 MenhirLib.EngineTypes.next = _menhir_stack;
26845 });
26846 (fun _menhir_env ->
26847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26848 let {
26849 MenhirLib.EngineTypes.semv = _3;
26850 MenhirLib.EngineTypes.startp = _startpos__3_;
26851 MenhirLib.EngineTypes.endp = _endpos__3_;
26852 MenhirLib.EngineTypes.next = {
26853 MenhirLib.EngineTypes.semv = _2;
26854 MenhirLib.EngineTypes.startp = _startpos__2_;
26855 MenhirLib.EngineTypes.endp = _endpos__2_;
26856 MenhirLib.EngineTypes.next = {
26857 MenhirLib.EngineTypes.state = _menhir_s;
26858 MenhirLib.EngineTypes.semv = _1;
26859 MenhirLib.EngineTypes.startp = _startpos__1_;
26860 MenhirLib.EngineTypes.endp = _endpos__1_;
26861 MenhirLib.EngineTypes.next = _menhir_stack;
26862 };
26863 };
26864 } = _menhir_stack in
26865 let _3 : (
26866 # 77 "parser_cocci_menhir.mly"
26867 (Data.clt)
26868 # 26869 "parser_cocci_menhir.ml"
26869 ) = Obj.magic _3 in
26870 let _2 : 'tv_eexpr = Obj.magic _2 in
26871 let _1 : (
26872 # 76 "parser_cocci_menhir.mly"
26873 (Data.clt)
26874 # 26875 "parser_cocci_menhir.ml"
26875 ) = Obj.magic _1 in
26876 let _startpos = _startpos__1_ in
26877 let _endpos = _endpos__3_ in
26878 let _v : 'tv_primary_expr_expr_invalid_ =
26879 # 1367 "parser_cocci_menhir.mly"
26880 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26881 P.clt2mcode ")" _3)) )
26882 # 26883 "parser_cocci_menhir.ml"
26883 in
26884 _menhir_env.MenhirLib.EngineTypes.stack <- {
26885 MenhirLib.EngineTypes.state = _menhir_s;
26886 MenhirLib.EngineTypes.semv = Obj.repr _v;
26887 MenhirLib.EngineTypes.startp = _startpos;
26888 MenhirLib.EngineTypes.endp = _endpos;
26889 MenhirLib.EngineTypes.next = _menhir_stack;
26890 });
26891 (fun _menhir_env ->
26892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26893 let {
26894 MenhirLib.EngineTypes.semv = _3;
26895 MenhirLib.EngineTypes.startp = _startpos__3_;
26896 MenhirLib.EngineTypes.endp = _endpos__3_;
26897 MenhirLib.EngineTypes.next = {
26898 MenhirLib.EngineTypes.semv = _2;
26899 MenhirLib.EngineTypes.startp = _startpos__2_;
26900 MenhirLib.EngineTypes.endp = _endpos__2_;
26901 MenhirLib.EngineTypes.next = {
26902 MenhirLib.EngineTypes.state = _menhir_s;
26903 MenhirLib.EngineTypes.semv = _1;
26904 MenhirLib.EngineTypes.startp = _startpos__1_;
26905 MenhirLib.EngineTypes.endp = _endpos__1_;
26906 MenhirLib.EngineTypes.next = _menhir_stack;
26907 };
26908 };
26909 } = _menhir_stack in
26910 let _3 : (
26911 # 77 "parser_cocci_menhir.mly"
26912 (Data.clt)
26913 # 26914 "parser_cocci_menhir.ml"
26914 ) = Obj.magic _3 in
26915 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
26916 let _1 : (
26917 # 76 "parser_cocci_menhir.mly"
26918 (Data.clt)
26919 # 26920 "parser_cocci_menhir.ml"
26920 ) = Obj.magic _1 in
26921 let _startpos = _startpos__1_ in
26922 let _endpos = _endpos__3_ in
26923 let _v : 'tv_primary_expr_expr_invalid_ =
26924 # 1370 "parser_cocci_menhir.mly"
26925 ( let (mids,code) = _2 in
26926 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26927 code, mids,
26928 P.clt2mcode ")" _3)) )
26929 # 26930 "parser_cocci_menhir.ml"
26930 in
26931 _menhir_env.MenhirLib.EngineTypes.stack <- {
26932 MenhirLib.EngineTypes.state = _menhir_s;
26933 MenhirLib.EngineTypes.semv = Obj.repr _v;
26934 MenhirLib.EngineTypes.startp = _startpos;
26935 MenhirLib.EngineTypes.endp = _endpos;
26936 MenhirLib.EngineTypes.next = _menhir_stack;
26937 });
26938 (fun _menhir_env ->
26939 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26940 let {
26941 MenhirLib.EngineTypes.state = _menhir_s;
26942 MenhirLib.EngineTypes.semv = _1;
26943 MenhirLib.EngineTypes.startp = _startpos__1_;
26944 MenhirLib.EngineTypes.endp = _endpos__1_;
26945 MenhirLib.EngineTypes.next = _menhir_stack;
26946 } = _menhir_stack in
26947 let _1 : 'tv_invalid = Obj.magic _1 in
26948 let _startpos = _startpos__1_ in
26949 let _endpos = _endpos__1_ in
26950 let _v : 'tv_primary_expr_expr_invalid_ =
26951 # 1374 "parser_cocci_menhir.mly"
26952 ( _1 )
26953 # 26954 "parser_cocci_menhir.ml"
26954 in
26955 _menhir_env.MenhirLib.EngineTypes.stack <- {
26956 MenhirLib.EngineTypes.state = _menhir_s;
26957 MenhirLib.EngineTypes.semv = Obj.repr _v;
26958 MenhirLib.EngineTypes.startp = _startpos;
26959 MenhirLib.EngineTypes.endp = _endpos;
26960 MenhirLib.EngineTypes.next = _menhir_stack;
26961 });
26962 (fun _menhir_env ->
26963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26964 let {
26965 MenhirLib.EngineTypes.state = _menhir_s;
26966 MenhirLib.EngineTypes.startp = _startpos__1_;
26967 MenhirLib.EngineTypes.endp = _endpos__1_;
26968 MenhirLib.EngineTypes.next = _menhir_stack;
26969 } = _menhir_stack in
26970 let _startpos = _startpos__1_ in
26971 let _endpos = _endpos__1_ in
26972 let _v : 'tv_pure =
26973 # 190 "parser_cocci_menhir.mly"
26974 ( Ast0.Pure )
26975 # 26976 "parser_cocci_menhir.ml"
26976 in
26977 _menhir_env.MenhirLib.EngineTypes.stack <- {
26978 MenhirLib.EngineTypes.state = _menhir_s;
26979 MenhirLib.EngineTypes.semv = Obj.repr _v;
26980 MenhirLib.EngineTypes.startp = _startpos;
26981 MenhirLib.EngineTypes.endp = _endpos;
26982 MenhirLib.EngineTypes.next = _menhir_stack;
26983 });
26984 (fun _menhir_env ->
26985 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26986 let {
26987 MenhirLib.EngineTypes.state = _menhir_s;
26988 MenhirLib.EngineTypes.startp = _startpos__1_;
26989 MenhirLib.EngineTypes.endp = _endpos__1_;
26990 MenhirLib.EngineTypes.next = _menhir_stack;
26991 } = _menhir_stack in
26992 let _startpos = _startpos__1_ in
26993 let _endpos = _endpos__1_ in
26994 let _v : 'tv_pure =
26995 # 191 "parser_cocci_menhir.mly"
26996 ( Ast0.Context )
26997 # 26998 "parser_cocci_menhir.ml"
26998 in
26999 _menhir_env.MenhirLib.EngineTypes.stack <- {
27000 MenhirLib.EngineTypes.state = _menhir_s;
27001 MenhirLib.EngineTypes.semv = Obj.repr _v;
27002 MenhirLib.EngineTypes.startp = _startpos;
27003 MenhirLib.EngineTypes.endp = _endpos;
27004 MenhirLib.EngineTypes.next = _menhir_stack;
27005 });
27006 (fun _menhir_env ->
27007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27008 let {
27009 MenhirLib.EngineTypes.startp = _startpos__2_;
27010 MenhirLib.EngineTypes.endp = _endpos__2_;
27011 MenhirLib.EngineTypes.next = {
27012 MenhirLib.EngineTypes.state = _menhir_s;
27013 MenhirLib.EngineTypes.startp = _startpos__1_;
27014 MenhirLib.EngineTypes.endp = _endpos__1_;
27015 MenhirLib.EngineTypes.next = _menhir_stack;
27016 };
27017 } = _menhir_stack in
27018 let _startpos = _startpos__1_ in
27019 let _endpos = _endpos__2_ in
27020 let _v : 'tv_pure =
27021 # 192 "parser_cocci_menhir.mly"
27022 ( Ast0.PureContext )
27023 # 27024 "parser_cocci_menhir.ml"
27024 in
27025 _menhir_env.MenhirLib.EngineTypes.stack <- {
27026 MenhirLib.EngineTypes.state = _menhir_s;
27027 MenhirLib.EngineTypes.semv = Obj.repr _v;
27028 MenhirLib.EngineTypes.startp = _startpos;
27029 MenhirLib.EngineTypes.endp = _endpos;
27030 MenhirLib.EngineTypes.next = _menhir_stack;
27031 });
27032 (fun _menhir_env ->
27033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27034 let {
27035 MenhirLib.EngineTypes.startp = _startpos__2_;
27036 MenhirLib.EngineTypes.endp = _endpos__2_;
27037 MenhirLib.EngineTypes.next = {
27038 MenhirLib.EngineTypes.state = _menhir_s;
27039 MenhirLib.EngineTypes.startp = _startpos__1_;
27040 MenhirLib.EngineTypes.endp = _endpos__1_;
27041 MenhirLib.EngineTypes.next = _menhir_stack;
27042 };
27043 } = _menhir_stack in
27044 let _startpos = _startpos__1_ in
27045 let _endpos = _endpos__2_ in
27046 let _v : 'tv_pure =
27047 # 193 "parser_cocci_menhir.mly"
27048 ( Ast0.PureContext )
27049 # 27050 "parser_cocci_menhir.ml"
27050 in
27051 _menhir_env.MenhirLib.EngineTypes.stack <- {
27052 MenhirLib.EngineTypes.state = _menhir_s;
27053 MenhirLib.EngineTypes.semv = Obj.repr _v;
27054 MenhirLib.EngineTypes.startp = _startpos;
27055 MenhirLib.EngineTypes.endp = _endpos;
27056 MenhirLib.EngineTypes.next = _menhir_stack;
27057 });
27058 (fun _menhir_env ->
27059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27060 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27061 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27062 let _endpos = _startpos in
27063 let _v : 'tv_pure =
27064 # 194 "parser_cocci_menhir.mly"
27065 ( Ast0.Impure )
27066 # 27067 "parser_cocci_menhir.ml"
27067 in
27068 _menhir_env.MenhirLib.EngineTypes.stack <- {
27069 MenhirLib.EngineTypes.state = _menhir_s;
27070 MenhirLib.EngineTypes.semv = Obj.repr _v;
27071 MenhirLib.EngineTypes.startp = _startpos;
27072 MenhirLib.EngineTypes.endp = _endpos;
27073 MenhirLib.EngineTypes.next = _menhir_stack;
27074 });
27075 (fun _menhir_env ->
27076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27077 let {
27078 MenhirLib.EngineTypes.state = _menhir_s;
27079 MenhirLib.EngineTypes.semv = _1;
27080 MenhirLib.EngineTypes.startp = _startpos__1_;
27081 MenhirLib.EngineTypes.endp = _endpos__1_;
27082 MenhirLib.EngineTypes.next = _menhir_stack;
27083 } = _menhir_stack in
27084 let _1 : (
27085 # 59 "parser_cocci_menhir.mly"
27086 (string * Data.clt)
27087 # 27088 "parser_cocci_menhir.ml"
27088 ) = Obj.magic _1 in
27089 let _startpos = _startpos__1_ in
27090 let _endpos = _endpos__1_ in
27091 let _v : 'tv_pure_ident =
27092 # 1388 "parser_cocci_menhir.mly"
27093 ( _1 )
27094 # 27095 "parser_cocci_menhir.ml"
27095 in
27096 _menhir_env.MenhirLib.EngineTypes.stack <- {
27097 MenhirLib.EngineTypes.state = _menhir_s;
27098 MenhirLib.EngineTypes.semv = Obj.repr _v;
27099 MenhirLib.EngineTypes.startp = _startpos;
27100 MenhirLib.EngineTypes.endp = _endpos;
27101 MenhirLib.EngineTypes.next = _menhir_stack;
27102 });
27103 (fun _menhir_env ->
27104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27105 let {
27106 MenhirLib.EngineTypes.state = _menhir_s;
27107 MenhirLib.EngineTypes.semv = _1;
27108 MenhirLib.EngineTypes.startp = _startpos__1_;
27109 MenhirLib.EngineTypes.endp = _endpos__1_;
27110 MenhirLib.EngineTypes.next = _menhir_stack;
27111 } = _menhir_stack in
27112 let _1 : 'tv_pure_ident = Obj.magic _1 in
27113 let _startpos = _startpos__1_ in
27114 let _endpos = _endpos__1_ in
27115 let _v : 'tv_pure_ident_or_meta_ident =
27116 # 1394 "parser_cocci_menhir.mly"
27117 ( (None,P.id2name _1) )
27118 # 27119 "parser_cocci_menhir.ml"
27119 in
27120 _menhir_env.MenhirLib.EngineTypes.stack <- {
27121 MenhirLib.EngineTypes.state = _menhir_s;
27122 MenhirLib.EngineTypes.semv = Obj.repr _v;
27123 MenhirLib.EngineTypes.startp = _startpos;
27124 MenhirLib.EngineTypes.endp = _endpos;
27125 MenhirLib.EngineTypes.next = _menhir_stack;
27126 });
27127 (fun _menhir_env ->
27128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27129 let {
27130 MenhirLib.EngineTypes.state = _menhir_s;
27131 MenhirLib.EngineTypes.semv = _1;
27132 MenhirLib.EngineTypes.startp = _startpos__1_;
27133 MenhirLib.EngineTypes.endp = _endpos__1_;
27134 MenhirLib.EngineTypes.next = _menhir_stack;
27135 } = _menhir_stack in
27136 let _1 : 'tv_meta_ident = Obj.magic _1 in
27137 let _startpos = _startpos__1_ in
27138 let _endpos = _endpos__1_ in
27139 let _v : 'tv_pure_ident_or_meta_ident =
27140 # 1395 "parser_cocci_menhir.mly"
27141 ( _1 )
27142 # 27143 "parser_cocci_menhir.ml"
27143 in
27144 _menhir_env.MenhirLib.EngineTypes.stack <- {
27145 MenhirLib.EngineTypes.state = _menhir_s;
27146 MenhirLib.EngineTypes.semv = Obj.repr _v;
27147 MenhirLib.EngineTypes.startp = _startpos;
27148 MenhirLib.EngineTypes.endp = _endpos;
27149 MenhirLib.EngineTypes.next = _menhir_stack;
27150 });
27151 (fun _menhir_env ->
27152 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27153 let {
27154 MenhirLib.EngineTypes.state = _menhir_s;
27155 MenhirLib.EngineTypes.startp = _startpos__1_;
27156 MenhirLib.EngineTypes.endp = _endpos__1_;
27157 MenhirLib.EngineTypes.next = _menhir_stack;
27158 } = _menhir_stack in
27159 let _startpos = _startpos__1_ in
27160 let _endpos = _endpos__1_ in
27161 let _v : 'tv_pure_ident_or_meta_ident =
27162 # 1396 "parser_cocci_menhir.mly"
27163 ( (None, "identifier") )
27164 # 27165 "parser_cocci_menhir.ml"
27165 in
27166 _menhir_env.MenhirLib.EngineTypes.stack <- {
27167 MenhirLib.EngineTypes.state = _menhir_s;
27168 MenhirLib.EngineTypes.semv = Obj.repr _v;
27169 MenhirLib.EngineTypes.startp = _startpos;
27170 MenhirLib.EngineTypes.endp = _endpos;
27171 MenhirLib.EngineTypes.next = _menhir_stack;
27172 });
27173 (fun _menhir_env ->
27174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27175 let {
27176 MenhirLib.EngineTypes.state = _menhir_s;
27177 MenhirLib.EngineTypes.startp = _startpos__1_;
27178 MenhirLib.EngineTypes.endp = _endpos__1_;
27179 MenhirLib.EngineTypes.next = _menhir_stack;
27180 } = _menhir_stack in
27181 let _startpos = _startpos__1_ in
27182 let _endpos = _endpos__1_ in
27183 let _v : 'tv_pure_ident_or_meta_ident =
27184 # 1397 "parser_cocci_menhir.mly"
27185 ( (None, "expression") )
27186 # 27187 "parser_cocci_menhir.ml"
27187 in
27188 _menhir_env.MenhirLib.EngineTypes.stack <- {
27189 MenhirLib.EngineTypes.state = _menhir_s;
27190 MenhirLib.EngineTypes.semv = Obj.repr _v;
27191 MenhirLib.EngineTypes.startp = _startpos;
27192 MenhirLib.EngineTypes.endp = _endpos;
27193 MenhirLib.EngineTypes.next = _menhir_stack;
27194 });
27195 (fun _menhir_env ->
27196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27197 let {
27198 MenhirLib.EngineTypes.state = _menhir_s;
27199 MenhirLib.EngineTypes.startp = _startpos__1_;
27200 MenhirLib.EngineTypes.endp = _endpos__1_;
27201 MenhirLib.EngineTypes.next = _menhir_stack;
27202 } = _menhir_stack in
27203 let _startpos = _startpos__1_ in
27204 let _endpos = _endpos__1_ in
27205 let _v : 'tv_pure_ident_or_meta_ident =
27206 # 1398 "parser_cocci_menhir.mly"
27207 ( (None, "statement") )
27208 # 27209 "parser_cocci_menhir.ml"
27209 in
27210 _menhir_env.MenhirLib.EngineTypes.stack <- {
27211 MenhirLib.EngineTypes.state = _menhir_s;
27212 MenhirLib.EngineTypes.semv = Obj.repr _v;
27213 MenhirLib.EngineTypes.startp = _startpos;
27214 MenhirLib.EngineTypes.endp = _endpos;
27215 MenhirLib.EngineTypes.next = _menhir_stack;
27216 });
27217 (fun _menhir_env ->
27218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27219 let {
27220 MenhirLib.EngineTypes.state = _menhir_s;
27221 MenhirLib.EngineTypes.startp = _startpos__1_;
27222 MenhirLib.EngineTypes.endp = _endpos__1_;
27223 MenhirLib.EngineTypes.next = _menhir_stack;
27224 } = _menhir_stack in
27225 let _startpos = _startpos__1_ in
27226 let _endpos = _endpos__1_ in
27227 let _v : 'tv_pure_ident_or_meta_ident =
27228 # 1399 "parser_cocci_menhir.mly"
27229 ( (None, "function") )
27230 # 27231 "parser_cocci_menhir.ml"
27231 in
27232 _menhir_env.MenhirLib.EngineTypes.stack <- {
27233 MenhirLib.EngineTypes.state = _menhir_s;
27234 MenhirLib.EngineTypes.semv = Obj.repr _v;
27235 MenhirLib.EngineTypes.startp = _startpos;
27236 MenhirLib.EngineTypes.endp = _endpos;
27237 MenhirLib.EngineTypes.next = _menhir_stack;
27238 });
27239 (fun _menhir_env ->
27240 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27241 let {
27242 MenhirLib.EngineTypes.state = _menhir_s;
27243 MenhirLib.EngineTypes.startp = _startpos__1_;
27244 MenhirLib.EngineTypes.endp = _endpos__1_;
27245 MenhirLib.EngineTypes.next = _menhir_stack;
27246 } = _menhir_stack in
27247 let _startpos = _startpos__1_ in
27248 let _endpos = _endpos__1_ in
27249 let _v : 'tv_pure_ident_or_meta_ident =
27250 # 1400 "parser_cocci_menhir.mly"
27251 ( (None, "local") )
27252 # 27253 "parser_cocci_menhir.ml"
27253 in
27254 _menhir_env.MenhirLib.EngineTypes.stack <- {
27255 MenhirLib.EngineTypes.state = _menhir_s;
27256 MenhirLib.EngineTypes.semv = Obj.repr _v;
27257 MenhirLib.EngineTypes.startp = _startpos;
27258 MenhirLib.EngineTypes.endp = _endpos;
27259 MenhirLib.EngineTypes.next = _menhir_stack;
27260 });
27261 (fun _menhir_env ->
27262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27263 let {
27264 MenhirLib.EngineTypes.state = _menhir_s;
27265 MenhirLib.EngineTypes.startp = _startpos__1_;
27266 MenhirLib.EngineTypes.endp = _endpos__1_;
27267 MenhirLib.EngineTypes.next = _menhir_stack;
27268 } = _menhir_stack in
27269 let _startpos = _startpos__1_ in
27270 let _endpos = _endpos__1_ in
27271 let _v : 'tv_pure_ident_or_meta_ident =
27272 # 1401 "parser_cocci_menhir.mly"
27273 ( (None, "type") )
27274 # 27275 "parser_cocci_menhir.ml"
27275 in
27276 _menhir_env.MenhirLib.EngineTypes.stack <- {
27277 MenhirLib.EngineTypes.state = _menhir_s;
27278 MenhirLib.EngineTypes.semv = Obj.repr _v;
27279 MenhirLib.EngineTypes.startp = _startpos;
27280 MenhirLib.EngineTypes.endp = _endpos;
27281 MenhirLib.EngineTypes.next = _menhir_stack;
27282 });
27283 (fun _menhir_env ->
27284 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27285 let {
27286 MenhirLib.EngineTypes.state = _menhir_s;
27287 MenhirLib.EngineTypes.startp = _startpos__1_;
27288 MenhirLib.EngineTypes.endp = _endpos__1_;
27289 MenhirLib.EngineTypes.next = _menhir_stack;
27290 } = _menhir_stack in
27291 let _startpos = _startpos__1_ in
27292 let _endpos = _endpos__1_ in
27293 let _v : 'tv_pure_ident_or_meta_ident =
27294 # 1402 "parser_cocci_menhir.mly"
27295 ( (None, "parameter") )
27296 # 27297 "parser_cocci_menhir.ml"
27297 in
27298 _menhir_env.MenhirLib.EngineTypes.stack <- {
27299 MenhirLib.EngineTypes.state = _menhir_s;
27300 MenhirLib.EngineTypes.semv = Obj.repr _v;
27301 MenhirLib.EngineTypes.startp = _startpos;
27302 MenhirLib.EngineTypes.endp = _endpos;
27303 MenhirLib.EngineTypes.next = _menhir_stack;
27304 });
27305 (fun _menhir_env ->
27306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27307 let {
27308 MenhirLib.EngineTypes.state = _menhir_s;
27309 MenhirLib.EngineTypes.startp = _startpos__1_;
27310 MenhirLib.EngineTypes.endp = _endpos__1_;
27311 MenhirLib.EngineTypes.next = _menhir_stack;
27312 } = _menhir_stack in
27313 let _startpos = _startpos__1_ in
27314 let _endpos = _endpos__1_ in
27315 let _v : 'tv_pure_ident_or_meta_ident =
27316 # 1403 "parser_cocci_menhir.mly"
27317 ( (None, "idexpression") )
27318 # 27319 "parser_cocci_menhir.ml"
27319 in
27320 _menhir_env.MenhirLib.EngineTypes.stack <- {
27321 MenhirLib.EngineTypes.state = _menhir_s;
27322 MenhirLib.EngineTypes.semv = Obj.repr _v;
27323 MenhirLib.EngineTypes.startp = _startpos;
27324 MenhirLib.EngineTypes.endp = _endpos;
27325 MenhirLib.EngineTypes.next = _menhir_stack;
27326 });
27327 (fun _menhir_env ->
27328 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27329 let {
27330 MenhirLib.EngineTypes.state = _menhir_s;
27331 MenhirLib.EngineTypes.startp = _startpos__1_;
27332 MenhirLib.EngineTypes.endp = _endpos__1_;
27333 MenhirLib.EngineTypes.next = _menhir_stack;
27334 } = _menhir_stack in
27335 let _startpos = _startpos__1_ in
27336 let _endpos = _endpos__1_ in
27337 let _v : 'tv_pure_ident_or_meta_ident =
27338 # 1404 "parser_cocci_menhir.mly"
27339 ( (None, "initialiser") )
27340 # 27341 "parser_cocci_menhir.ml"
27341 in
27342 _menhir_env.MenhirLib.EngineTypes.stack <- {
27343 MenhirLib.EngineTypes.state = _menhir_s;
27344 MenhirLib.EngineTypes.semv = Obj.repr _v;
27345 MenhirLib.EngineTypes.startp = _startpos;
27346 MenhirLib.EngineTypes.endp = _endpos;
27347 MenhirLib.EngineTypes.next = _menhir_stack;
27348 });
27349 (fun _menhir_env ->
27350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27351 let {
27352 MenhirLib.EngineTypes.state = _menhir_s;
27353 MenhirLib.EngineTypes.startp = _startpos__1_;
27354 MenhirLib.EngineTypes.endp = _endpos__1_;
27355 MenhirLib.EngineTypes.next = _menhir_stack;
27356 } = _menhir_stack in
27357 let _startpos = _startpos__1_ in
27358 let _endpos = _endpos__1_ in
27359 let _v : 'tv_pure_ident_or_meta_ident =
27360 # 1405 "parser_cocci_menhir.mly"
27361 ( (None, "list") )
27362 # 27363 "parser_cocci_menhir.ml"
27363 in
27364 _menhir_env.MenhirLib.EngineTypes.stack <- {
27365 MenhirLib.EngineTypes.state = _menhir_s;
27366 MenhirLib.EngineTypes.semv = Obj.repr _v;
27367 MenhirLib.EngineTypes.startp = _startpos;
27368 MenhirLib.EngineTypes.endp = _endpos;
27369 MenhirLib.EngineTypes.next = _menhir_stack;
27370 });
27371 (fun _menhir_env ->
27372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27373 let {
27374 MenhirLib.EngineTypes.state = _menhir_s;
27375 MenhirLib.EngineTypes.startp = _startpos__1_;
27376 MenhirLib.EngineTypes.endp = _endpos__1_;
27377 MenhirLib.EngineTypes.next = _menhir_stack;
27378 } = _menhir_stack in
27379 let _startpos = _startpos__1_ in
27380 let _endpos = _endpos__1_ in
27381 let _v : 'tv_pure_ident_or_meta_ident =
27382 # 1406 "parser_cocci_menhir.mly"
27383 ( (None, "fresh") )
27384 # 27385 "parser_cocci_menhir.ml"
27385 in
27386 _menhir_env.MenhirLib.EngineTypes.stack <- {
27387 MenhirLib.EngineTypes.state = _menhir_s;
27388 MenhirLib.EngineTypes.semv = Obj.repr _v;
27389 MenhirLib.EngineTypes.startp = _startpos;
27390 MenhirLib.EngineTypes.endp = _endpos;
27391 MenhirLib.EngineTypes.next = _menhir_stack;
27392 });
27393 (fun _menhir_env ->
27394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27395 let {
27396 MenhirLib.EngineTypes.state = _menhir_s;
27397 MenhirLib.EngineTypes.startp = _startpos__1_;
27398 MenhirLib.EngineTypes.endp = _endpos__1_;
27399 MenhirLib.EngineTypes.next = _menhir_stack;
27400 } = _menhir_stack in
27401 let _startpos = _startpos__1_ in
27402 let _endpos = _endpos__1_ in
27403 let _v : 'tv_pure_ident_or_meta_ident =
27404 # 1407 "parser_cocci_menhir.mly"
27405 ( (None, "constant") )
27406 # 27407 "parser_cocci_menhir.ml"
27407 in
27408 _menhir_env.MenhirLib.EngineTypes.stack <- {
27409 MenhirLib.EngineTypes.state = _menhir_s;
27410 MenhirLib.EngineTypes.semv = Obj.repr _v;
27411 MenhirLib.EngineTypes.startp = _startpos;
27412 MenhirLib.EngineTypes.endp = _endpos;
27413 MenhirLib.EngineTypes.next = _menhir_stack;
27414 });
27415 (fun _menhir_env ->
27416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27417 let {
27418 MenhirLib.EngineTypes.state = _menhir_s;
27419 MenhirLib.EngineTypes.startp = _startpos__1_;
27420 MenhirLib.EngineTypes.endp = _endpos__1_;
27421 MenhirLib.EngineTypes.next = _menhir_stack;
27422 } = _menhir_stack in
27423 let _startpos = _startpos__1_ in
27424 let _endpos = _endpos__1_ in
27425 let _v : 'tv_pure_ident_or_meta_ident =
27426 # 1408 "parser_cocci_menhir.mly"
27427 ( (None, "error") )
27428 # 27429 "parser_cocci_menhir.ml"
27429 in
27430 _menhir_env.MenhirLib.EngineTypes.stack <- {
27431 MenhirLib.EngineTypes.state = _menhir_s;
27432 MenhirLib.EngineTypes.semv = Obj.repr _v;
27433 MenhirLib.EngineTypes.startp = _startpos;
27434 MenhirLib.EngineTypes.endp = _endpos;
27435 MenhirLib.EngineTypes.next = _menhir_stack;
27436 });
27437 (fun _menhir_env ->
27438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27439 let {
27440 MenhirLib.EngineTypes.state = _menhir_s;
27441 MenhirLib.EngineTypes.startp = _startpos__1_;
27442 MenhirLib.EngineTypes.endp = _endpos__1_;
27443 MenhirLib.EngineTypes.next = _menhir_stack;
27444 } = _menhir_stack in
27445 let _startpos = _startpos__1_ in
27446 let _endpos = _endpos__1_ in
27447 let _v : 'tv_pure_ident_or_meta_ident =
27448 # 1409 "parser_cocci_menhir.mly"
27449 ( (None, "words") )
27450 # 27451 "parser_cocci_menhir.ml"
27451 in
27452 _menhir_env.MenhirLib.EngineTypes.stack <- {
27453 MenhirLib.EngineTypes.state = _menhir_s;
27454 MenhirLib.EngineTypes.semv = Obj.repr _v;
27455 MenhirLib.EngineTypes.startp = _startpos;
27456 MenhirLib.EngineTypes.endp = _endpos;
27457 MenhirLib.EngineTypes.next = _menhir_stack;
27458 });
27459 (fun _menhir_env ->
27460 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27461 let {
27462 MenhirLib.EngineTypes.state = _menhir_s;
27463 MenhirLib.EngineTypes.startp = _startpos__1_;
27464 MenhirLib.EngineTypes.endp = _endpos__1_;
27465 MenhirLib.EngineTypes.next = _menhir_stack;
27466 } = _menhir_stack in
27467 let _startpos = _startpos__1_ in
27468 let _endpos = _endpos__1_ in
27469 let _v : 'tv_pure_ident_or_meta_ident =
27470 # 1410 "parser_cocci_menhir.mly"
27471 ( (None, "pure") )
27472 # 27473 "parser_cocci_menhir.ml"
27473 in
27474 _menhir_env.MenhirLib.EngineTypes.stack <- {
27475 MenhirLib.EngineTypes.state = _menhir_s;
27476 MenhirLib.EngineTypes.semv = Obj.repr _v;
27477 MenhirLib.EngineTypes.startp = _startpos;
27478 MenhirLib.EngineTypes.endp = _endpos;
27479 MenhirLib.EngineTypes.next = _menhir_stack;
27480 });
27481 (fun _menhir_env ->
27482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27483 let {
27484 MenhirLib.EngineTypes.state = _menhir_s;
27485 MenhirLib.EngineTypes.startp = _startpos__1_;
27486 MenhirLib.EngineTypes.endp = _endpos__1_;
27487 MenhirLib.EngineTypes.next = _menhir_stack;
27488 } = _menhir_stack in
27489 let _startpos = _startpos__1_ in
27490 let _endpos = _endpos__1_ in
27491 let _v : 'tv_pure_ident_or_meta_ident =
27492 # 1411 "parser_cocci_menhir.mly"
27493 ( (None, "context") )
27494 # 27495 "parser_cocci_menhir.ml"
27495 in
27496 _menhir_env.MenhirLib.EngineTypes.stack <- {
27497 MenhirLib.EngineTypes.state = _menhir_s;
27498 MenhirLib.EngineTypes.semv = Obj.repr _v;
27499 MenhirLib.EngineTypes.startp = _startpos;
27500 MenhirLib.EngineTypes.endp = _endpos;
27501 MenhirLib.EngineTypes.next = _menhir_stack;
27502 });
27503 (fun _menhir_env ->
27504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27505 let {
27506 MenhirLib.EngineTypes.state = _menhir_s;
27507 MenhirLib.EngineTypes.startp = _startpos__1_;
27508 MenhirLib.EngineTypes.endp = _endpos__1_;
27509 MenhirLib.EngineTypes.next = _menhir_stack;
27510 } = _menhir_stack in
27511 let _startpos = _startpos__1_ in
27512 let _endpos = _endpos__1_ in
27513 let _v : 'tv_pure_ident_or_meta_ident =
27514 # 1412 "parser_cocci_menhir.mly"
27515 ( (None, "generated") )
27516 # 27517 "parser_cocci_menhir.ml"
27517 in
27518 _menhir_env.MenhirLib.EngineTypes.stack <- {
27519 MenhirLib.EngineTypes.state = _menhir_s;
27520 MenhirLib.EngineTypes.semv = Obj.repr _v;
27521 MenhirLib.EngineTypes.startp = _startpos;
27522 MenhirLib.EngineTypes.endp = _endpos;
27523 MenhirLib.EngineTypes.next = _menhir_stack;
27524 });
27525 (fun _menhir_env ->
27526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27527 let {
27528 MenhirLib.EngineTypes.state = _menhir_s;
27529 MenhirLib.EngineTypes.startp = _startpos__1_;
27530 MenhirLib.EngineTypes.endp = _endpos__1_;
27531 MenhirLib.EngineTypes.next = _menhir_stack;
27532 } = _menhir_stack in
27533 let _startpos = _startpos__1_ in
27534 let _endpos = _endpos__1_ in
27535 let _v : 'tv_pure_ident_or_meta_ident =
27536 # 1413 "parser_cocci_menhir.mly"
27537 ( (None, "typedef") )
27538 # 27539 "parser_cocci_menhir.ml"
27539 in
27540 _menhir_env.MenhirLib.EngineTypes.stack <- {
27541 MenhirLib.EngineTypes.state = _menhir_s;
27542 MenhirLib.EngineTypes.semv = Obj.repr _v;
27543 MenhirLib.EngineTypes.startp = _startpos;
27544 MenhirLib.EngineTypes.endp = _endpos;
27545 MenhirLib.EngineTypes.next = _menhir_stack;
27546 });
27547 (fun _menhir_env ->
27548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27549 let {
27550 MenhirLib.EngineTypes.state = _menhir_s;
27551 MenhirLib.EngineTypes.startp = _startpos__1_;
27552 MenhirLib.EngineTypes.endp = _endpos__1_;
27553 MenhirLib.EngineTypes.next = _menhir_stack;
27554 } = _menhir_stack in
27555 let _startpos = _startpos__1_ in
27556 let _endpos = _endpos__1_ in
27557 let _v : 'tv_pure_ident_or_meta_ident =
27558 # 1414 "parser_cocci_menhir.mly"
27559 ( (None, "declarer") )
27560 # 27561 "parser_cocci_menhir.ml"
27561 in
27562 _menhir_env.MenhirLib.EngineTypes.stack <- {
27563 MenhirLib.EngineTypes.state = _menhir_s;
27564 MenhirLib.EngineTypes.semv = Obj.repr _v;
27565 MenhirLib.EngineTypes.startp = _startpos;
27566 MenhirLib.EngineTypes.endp = _endpos;
27567 MenhirLib.EngineTypes.next = _menhir_stack;
27568 });
27569 (fun _menhir_env ->
27570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27571 let {
27572 MenhirLib.EngineTypes.state = _menhir_s;
27573 MenhirLib.EngineTypes.startp = _startpos__1_;
27574 MenhirLib.EngineTypes.endp = _endpos__1_;
27575 MenhirLib.EngineTypes.next = _menhir_stack;
27576 } = _menhir_stack in
27577 let _startpos = _startpos__1_ in
27578 let _endpos = _endpos__1_ in
27579 let _v : 'tv_pure_ident_or_meta_ident =
27580 # 1415 "parser_cocci_menhir.mly"
27581 ( (None, "iterator") )
27582 # 27583 "parser_cocci_menhir.ml"
27583 in
27584 _menhir_env.MenhirLib.EngineTypes.stack <- {
27585 MenhirLib.EngineTypes.state = _menhir_s;
27586 MenhirLib.EngineTypes.semv = Obj.repr _v;
27587 MenhirLib.EngineTypes.startp = _startpos;
27588 MenhirLib.EngineTypes.endp = _endpos;
27589 MenhirLib.EngineTypes.next = _menhir_stack;
27590 });
27591 (fun _menhir_env ->
27592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27593 let {
27594 MenhirLib.EngineTypes.state = _menhir_s;
27595 MenhirLib.EngineTypes.startp = _startpos__1_;
27596 MenhirLib.EngineTypes.endp = _endpos__1_;
27597 MenhirLib.EngineTypes.next = _menhir_stack;
27598 } = _menhir_stack in
27599 let _startpos = _startpos__1_ in
27600 let _endpos = _endpos__1_ in
27601 let _v : 'tv_pure_ident_or_meta_ident =
27602 # 1416 "parser_cocci_menhir.mly"
27603 ( (None, "name") )
27604 # 27605 "parser_cocci_menhir.ml"
27605 in
27606 _menhir_env.MenhirLib.EngineTypes.stack <- {
27607 MenhirLib.EngineTypes.state = _menhir_s;
27608 MenhirLib.EngineTypes.semv = Obj.repr _v;
27609 MenhirLib.EngineTypes.startp = _startpos;
27610 MenhirLib.EngineTypes.endp = _endpos;
27611 MenhirLib.EngineTypes.next = _menhir_stack;
27612 });
27613 (fun _menhir_env ->
27614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27615 let {
27616 MenhirLib.EngineTypes.state = _menhir_s;
27617 MenhirLib.EngineTypes.startp = _startpos__1_;
27618 MenhirLib.EngineTypes.endp = _endpos__1_;
27619 MenhirLib.EngineTypes.next = _menhir_stack;
27620 } = _menhir_stack in
27621 let _startpos = _startpos__1_ in
27622 let _endpos = _endpos__1_ in
27623 let _v : 'tv_pure_ident_or_meta_ident =
27624 # 1417 "parser_cocci_menhir.mly"
27625 ( (None, "position") )
27626 # 27627 "parser_cocci_menhir.ml"
27627 in
27628 _menhir_env.MenhirLib.EngineTypes.stack <- {
27629 MenhirLib.EngineTypes.state = _menhir_s;
27630 MenhirLib.EngineTypes.semv = Obj.repr _v;
27631 MenhirLib.EngineTypes.startp = _startpos;
27632 MenhirLib.EngineTypes.endp = _endpos;
27633 MenhirLib.EngineTypes.next = _menhir_stack;
27634 });
27635 (fun _menhir_env ->
27636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27637 let {
27638 MenhirLib.EngineTypes.semv = optc;
27639 MenhirLib.EngineTypes.startp = _startpos_optc_;
27640 MenhirLib.EngineTypes.endp = _endpos_optc_;
27641 MenhirLib.EngineTypes.next = {
27642 MenhirLib.EngineTypes.state = _menhir_s;
27643 MenhirLib.EngineTypes.semv = i;
27644 MenhirLib.EngineTypes.startp = _startpos_i_;
27645 MenhirLib.EngineTypes.endp = _endpos_i_;
27646 MenhirLib.EngineTypes.next = _menhir_stack;
27647 };
27648 } = _menhir_stack in
27649 let optc : 'tv_option_re_or_not_eqe_ = Obj.magic optc in
27650 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27651 let _startpos = _startpos_i_ in
27652 let _endpos = _endpos_optc_ in
27653 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ =
27654 # 1443 "parser_cocci_menhir.mly"
27655 (
27656 match optc with
27657 None -> (i, Ast0.NoConstraint)
27658 | Some c -> (i, c)
27659 )
27660 # 27661 "parser_cocci_menhir.ml"
27661 in
27662 _menhir_env.MenhirLib.EngineTypes.stack <- {
27663 MenhirLib.EngineTypes.state = _menhir_s;
27664 MenhirLib.EngineTypes.semv = Obj.repr _v;
27665 MenhirLib.EngineTypes.startp = _startpos;
27666 MenhirLib.EngineTypes.endp = _endpos;
27667 MenhirLib.EngineTypes.next = _menhir_stack;
27668 });
27669 (fun _menhir_env ->
27670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27671 let {
27672 MenhirLib.EngineTypes.semv = c;
27673 MenhirLib.EngineTypes.startp = _startpos_c_;
27674 MenhirLib.EngineTypes.endp = _endpos_c_;
27675 MenhirLib.EngineTypes.next = {
27676 MenhirLib.EngineTypes.state = _menhir_s;
27677 MenhirLib.EngineTypes.semv = i;
27678 MenhirLib.EngineTypes.startp = _startpos_i_;
27679 MenhirLib.EngineTypes.endp = _endpos_i_;
27680 MenhirLib.EngineTypes.next = _menhir_stack;
27681 };
27682 } = _menhir_stack in
27683 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
27684 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27685 let _startpos = _startpos_i_ in
27686 let _endpos = _endpos_c_ in
27687 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
27688 # 1451 "parser_cocci_menhir.mly"
27689 (
27690 match c with
27691 None -> (i, Ast.IdNoConstraint)
27692 | Some constraint_ -> (i,constraint_)
27693 )
27694 # 27695 "parser_cocci_menhir.ml"
27695 in
27696 _menhir_env.MenhirLib.EngineTypes.stack <- {
27697 MenhirLib.EngineTypes.state = _menhir_s;
27698 MenhirLib.EngineTypes.semv = Obj.repr _v;
27699 MenhirLib.EngineTypes.startp = _startpos;
27700 MenhirLib.EngineTypes.endp = _endpos;
27701 MenhirLib.EngineTypes.next = _menhir_stack;
27702 });
27703 (fun _menhir_env ->
27704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27705 let {
27706 MenhirLib.EngineTypes.state = _menhir_s;
27707 MenhirLib.EngineTypes.semv = _1;
27708 MenhirLib.EngineTypes.startp = _startpos__1_;
27709 MenhirLib.EngineTypes.endp = _endpos__1_;
27710 MenhirLib.EngineTypes.next = _menhir_stack;
27711 } = _menhir_stack in
27712 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
27713 let _startpos = _startpos__1_ in
27714 let _endpos = _endpos__1_ in
27715 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
27716 # 1420 "parser_cocci_menhir.mly"
27717 ( (_1,Ast.NoVal) )
27718 # 27719 "parser_cocci_menhir.ml"
27719 in
27720 _menhir_env.MenhirLib.EngineTypes.stack <- {
27721 MenhirLib.EngineTypes.state = _menhir_s;
27722 MenhirLib.EngineTypes.semv = Obj.repr _v;
27723 MenhirLib.EngineTypes.startp = _startpos;
27724 MenhirLib.EngineTypes.endp = _endpos;
27725 MenhirLib.EngineTypes.next = _menhir_stack;
27726 });
27727 (fun _menhir_env ->
27728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27729 let {
27730 MenhirLib.EngineTypes.semv = _3;
27731 MenhirLib.EngineTypes.startp = _startpos__3_;
27732 MenhirLib.EngineTypes.endp = _endpos__3_;
27733 MenhirLib.EngineTypes.next = {
27734 MenhirLib.EngineTypes.startp = _startpos__2_;
27735 MenhirLib.EngineTypes.endp = _endpos__2_;
27736 MenhirLib.EngineTypes.next = {
27737 MenhirLib.EngineTypes.state = _menhir_s;
27738 MenhirLib.EngineTypes.semv = _1;
27739 MenhirLib.EngineTypes.startp = _startpos__1_;
27740 MenhirLib.EngineTypes.endp = _endpos__1_;
27741 MenhirLib.EngineTypes.next = _menhir_stack;
27742 };
27743 };
27744 } = _menhir_stack in
27745 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
27746 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
27747 let _startpos = _startpos__1_ in
27748 let _endpos = _endpos__3_ in
27749 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
27750 # 1423 "parser_cocci_menhir.mly"
27751 ( match _3 with
27752 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
27753 | _ -> (_1,Ast.ListSeed _3) )
27754 # 27755 "parser_cocci_menhir.ml"
27755 in
27756 _menhir_env.MenhirLib.EngineTypes.stack <- {
27757 MenhirLib.EngineTypes.state = _menhir_s;
27758 MenhirLib.EngineTypes.semv = Obj.repr _v;
27759 MenhirLib.EngineTypes.startp = _startpos;
27760 MenhirLib.EngineTypes.endp = _endpos;
27761 MenhirLib.EngineTypes.next = _menhir_stack;
27762 });
27763 (fun _menhir_env ->
27764 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27765 let {
27766 MenhirLib.EngineTypes.semv = l;
27767 MenhirLib.EngineTypes.startp = _startpos_l_;
27768 MenhirLib.EngineTypes.endp = _endpos_l_;
27769 MenhirLib.EngineTypes.next = {
27770 MenhirLib.EngineTypes.state = _menhir_s;
27771 MenhirLib.EngineTypes.semv = i;
27772 MenhirLib.EngineTypes.startp = _startpos_i_;
27773 MenhirLib.EngineTypes.endp = _endpos_i_;
27774 MenhirLib.EngineTypes.next = _menhir_stack;
27775 };
27776 } = _menhir_stack in
27777 let l : 'tv_loption_not_ceq_ = Obj.magic l in
27778 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27779 let _startpos = _startpos_i_ in
27780 let _endpos = _endpos_l_ in
27781 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ =
27782 # 1437 "parser_cocci_menhir.mly"
27783 (
27784 (i, l)
27785 )
27786 # 27787 "parser_cocci_menhir.ml"
27787 in
27788 _menhir_env.MenhirLib.EngineTypes.stack <- {
27789 MenhirLib.EngineTypes.state = _menhir_s;
27790 MenhirLib.EngineTypes.semv = Obj.repr _v;
27791 MenhirLib.EngineTypes.startp = _startpos;
27792 MenhirLib.EngineTypes.endp = _endpos;
27793 MenhirLib.EngineTypes.next = _menhir_stack;
27794 });
27795 (fun _menhir_env ->
27796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27797 let {
27798 MenhirLib.EngineTypes.semv = l;
27799 MenhirLib.EngineTypes.startp = _startpos_l_;
27800 MenhirLib.EngineTypes.endp = _endpos_l_;
27801 MenhirLib.EngineTypes.next = {
27802 MenhirLib.EngineTypes.state = _menhir_s;
27803 MenhirLib.EngineTypes.semv = i;
27804 MenhirLib.EngineTypes.startp = _startpos_i_;
27805 MenhirLib.EngineTypes.endp = _endpos_i_;
27806 MenhirLib.EngineTypes.next = _menhir_stack;
27807 };
27808 } = _menhir_stack in
27809 let l : 'tv_loption_not_pos_ = Obj.magic l in
27810 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27811 let _startpos = _startpos_i_ in
27812 let _endpos = _endpos_l_ in
27813 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
27814 # 1437 "parser_cocci_menhir.mly"
27815 (
27816 (i, l)
27817 )
27818 # 27819 "parser_cocci_menhir.ml"
27819 in
27820 _menhir_env.MenhirLib.EngineTypes.stack <- {
27821 MenhirLib.EngineTypes.state = _menhir_s;
27822 MenhirLib.EngineTypes.semv = Obj.repr _v;
27823 MenhirLib.EngineTypes.startp = _startpos;
27824 MenhirLib.EngineTypes.endp = _endpos;
27825 MenhirLib.EngineTypes.next = _menhir_stack;
27826 });
27827 (fun _menhir_env ->
27828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27829 let {
27830 MenhirLib.EngineTypes.state = _menhir_s;
27831 MenhirLib.EngineTypes.semv = re;
27832 MenhirLib.EngineTypes.startp = _startpos_re_;
27833 MenhirLib.EngineTypes.endp = _endpos_re_;
27834 MenhirLib.EngineTypes.next = _menhir_stack;
27835 } = _menhir_stack in
27836 let re : 'tv_regexp_eqid = Obj.magic re in
27837 let _startpos = _startpos_re_ in
27838 let _endpos = _endpos_re_ in
27839 let _v : 'tv_re_or_not_eqe =
27840 # 1495 "parser_cocci_menhir.mly"
27841 (Ast0.NotIdCstrt (re))
27842 # 27843 "parser_cocci_menhir.ml"
27843 in
27844 _menhir_env.MenhirLib.EngineTypes.stack <- {
27845 MenhirLib.EngineTypes.state = _menhir_s;
27846 MenhirLib.EngineTypes.semv = Obj.repr _v;
27847 MenhirLib.EngineTypes.startp = _startpos;
27848 MenhirLib.EngineTypes.endp = _endpos;
27849 MenhirLib.EngineTypes.next = _menhir_stack;
27850 });
27851 (fun _menhir_env ->
27852 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27853 let {
27854 MenhirLib.EngineTypes.state = _menhir_s;
27855 MenhirLib.EngineTypes.semv = ne;
27856 MenhirLib.EngineTypes.startp = _startpos_ne_;
27857 MenhirLib.EngineTypes.endp = _endpos_ne_;
27858 MenhirLib.EngineTypes.next = _menhir_stack;
27859 } = _menhir_stack in
27860 let ne : 'tv_not_eqe = Obj.magic ne in
27861 let _startpos = _startpos_ne_ in
27862 let _endpos = _endpos_ne_ in
27863 let _v : 'tv_re_or_not_eqe =
27864 # 1496 "parser_cocci_menhir.mly"
27865 (Ast0.NotExpCstrt (ne))
27866 # 27867 "parser_cocci_menhir.ml"
27867 in
27868 _menhir_env.MenhirLib.EngineTypes.stack <- {
27869 MenhirLib.EngineTypes.state = _menhir_s;
27870 MenhirLib.EngineTypes.semv = Obj.repr _v;
27871 MenhirLib.EngineTypes.startp = _startpos;
27872 MenhirLib.EngineTypes.endp = _endpos;
27873 MenhirLib.EngineTypes.next = _menhir_stack;
27874 });
27875 (fun _menhir_env ->
27876 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27877 let {
27878 MenhirLib.EngineTypes.state = _menhir_s;
27879 MenhirLib.EngineTypes.semv = re;
27880 MenhirLib.EngineTypes.startp = _startpos_re_;
27881 MenhirLib.EngineTypes.endp = _endpos_re_;
27882 MenhirLib.EngineTypes.next = _menhir_stack;
27883 } = _menhir_stack in
27884 let re : 'tv_regexp_eqid = Obj.magic re in
27885 let _startpos = _startpos_re_ in
27886 let _endpos = _endpos_re_ in
27887 let _v : 'tv_re_or_not_eqid =
27888 # 1458 "parser_cocci_menhir.mly"
27889 (re)
27890 # 27891 "parser_cocci_menhir.ml"
27891 in
27892 _menhir_env.MenhirLib.EngineTypes.stack <- {
27893 MenhirLib.EngineTypes.state = _menhir_s;
27894 MenhirLib.EngineTypes.semv = Obj.repr _v;
27895 MenhirLib.EngineTypes.startp = _startpos;
27896 MenhirLib.EngineTypes.endp = _endpos;
27897 MenhirLib.EngineTypes.next = _menhir_stack;
27898 });
27899 (fun _menhir_env ->
27900 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27901 let {
27902 MenhirLib.EngineTypes.state = _menhir_s;
27903 MenhirLib.EngineTypes.semv = ne;
27904 MenhirLib.EngineTypes.startp = _startpos_ne_;
27905 MenhirLib.EngineTypes.endp = _endpos_ne_;
27906 MenhirLib.EngineTypes.next = _menhir_stack;
27907 } = _menhir_stack in
27908 let ne : 'tv_not_eqid = Obj.magic ne in
27909 let _startpos = _startpos_ne_ in
27910 let _endpos = _endpos_ne_ in
27911 let _v : 'tv_re_or_not_eqid =
27912 # 1459 "parser_cocci_menhir.mly"
27913 (ne)
27914 # 27915 "parser_cocci_menhir.ml"
27915 in
27916 _menhir_env.MenhirLib.EngineTypes.stack <- {
27917 MenhirLib.EngineTypes.state = _menhir_s;
27918 MenhirLib.EngineTypes.semv = Obj.repr _v;
27919 MenhirLib.EngineTypes.startp = _startpos;
27920 MenhirLib.EngineTypes.endp = _endpos;
27921 MenhirLib.EngineTypes.next = _menhir_stack;
27922 });
27923 (fun _menhir_env ->
27924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27925 let {
27926 MenhirLib.EngineTypes.semv = re;
27927 MenhirLib.EngineTypes.startp = _startpos_re_;
27928 MenhirLib.EngineTypes.endp = _endpos_re_;
27929 MenhirLib.EngineTypes.next = {
27930 MenhirLib.EngineTypes.state = _menhir_s;
27931 MenhirLib.EngineTypes.startp = _startpos__1_;
27932 MenhirLib.EngineTypes.endp = _endpos__1_;
27933 MenhirLib.EngineTypes.next = _menhir_stack;
27934 };
27935 } = _menhir_stack in
27936 let re : (
27937 # 87 "parser_cocci_menhir.mly"
27938 (string * Data.clt)
27939 # 27940 "parser_cocci_menhir.ml"
27940 ) = Obj.magic re in
27941 let _startpos = _startpos__1_ in
27942 let _endpos = _endpos_re_ in
27943 let _v : 'tv_regexp_eqid =
27944 # 1463 "parser_cocci_menhir.mly"
27945 ( (if !Data.in_iso
27946 then failwith "constraints not allowed in iso file");
27947 (if !Data.in_generating
27948 then failwith "constraints not allowed in a generated rule file");
27949 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
27950 )
27951 # 27952 "parser_cocci_menhir.ml"
27952 in
27953 _menhir_env.MenhirLib.EngineTypes.stack <- {
27954 MenhirLib.EngineTypes.state = _menhir_s;
27955 MenhirLib.EngineTypes.semv = Obj.repr _v;
27956 MenhirLib.EngineTypes.startp = _startpos;
27957 MenhirLib.EngineTypes.endp = _endpos;
27958 MenhirLib.EngineTypes.next = _menhir_stack;
27959 });
27960 (fun _menhir_env ->
27961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27962 let {
27963 MenhirLib.EngineTypes.semv = re;
27964 MenhirLib.EngineTypes.startp = _startpos_re_;
27965 MenhirLib.EngineTypes.endp = _endpos_re_;
27966 MenhirLib.EngineTypes.next = {
27967 MenhirLib.EngineTypes.state = _menhir_s;
27968 MenhirLib.EngineTypes.startp = _startpos__1_;
27969 MenhirLib.EngineTypes.endp = _endpos__1_;
27970 MenhirLib.EngineTypes.next = _menhir_stack;
27971 };
27972 } = _menhir_stack in
27973 let re : (
27974 # 87 "parser_cocci_menhir.mly"
27975 (string * Data.clt)
27976 # 27977 "parser_cocci_menhir.ml"
27977 ) = Obj.magic re in
27978 let _startpos = _startpos__1_ in
27979 let _endpos = _endpos_re_ in
27980 let _v : 'tv_regexp_eqid =
27981 # 1470 "parser_cocci_menhir.mly"
27982 ( (if !Data.in_iso
27983 then failwith "constraints not allowed in iso file");
27984 (if !Data.in_generating
27985 then failwith "constraints not allowed in a generated rule file");
27986 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
27987 )
27988 # 27989 "parser_cocci_menhir.ml"
27989 in
27990 _menhir_env.MenhirLib.EngineTypes.stack <- {
27991 MenhirLib.EngineTypes.state = _menhir_s;
27992 MenhirLib.EngineTypes.semv = Obj.repr _v;
27993 MenhirLib.EngineTypes.startp = _startpos;
27994 MenhirLib.EngineTypes.endp = _endpos;
27995 MenhirLib.EngineTypes.next = _menhir_stack;
27996 });
27997 (fun _menhir_env ->
27998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27999 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28000 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28001 let _endpos = _startpos in
28002 let _v : (
28003 # 131 "parser_cocci_menhir.mly"
28004 (unit)
28005 # 28006 "parser_cocci_menhir.ml"
28006 ) =
28007 # 172 "parser_cocci_menhir.mly"
28008 ( )
28009 # 28010 "parser_cocci_menhir.ml"
28010 in
28011 _menhir_env.MenhirLib.EngineTypes.stack <- {
28012 MenhirLib.EngineTypes.state = _menhir_s;
28013 MenhirLib.EngineTypes.semv = Obj.repr _v;
28014 MenhirLib.EngineTypes.startp = _startpos;
28015 MenhirLib.EngineTypes.endp = _endpos;
28016 MenhirLib.EngineTypes.next = _menhir_stack;
28017 });
28018 (fun _menhir_env ->
28019 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28020 let {
28021 MenhirLib.EngineTypes.state = _menhir_s;
28022 MenhirLib.EngineTypes.semv = _1;
28023 MenhirLib.EngineTypes.startp = _startpos__1_;
28024 MenhirLib.EngineTypes.endp = _endpos__1_;
28025 MenhirLib.EngineTypes.next = _menhir_stack;
28026 } = _menhir_stack in
28027 let _1 : 'tv_one_decl_var = Obj.magic _1 in
28028 let _startpos = _startpos__1_ in
28029 let _endpos = _endpos__1_ in
28030 let _v : 'tv_rule_elem_statement =
28031 # 900 "parser_cocci_menhir.mly"
28032 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
28033 # 28034 "parser_cocci_menhir.ml"
28034 in
28035 _menhir_env.MenhirLib.EngineTypes.stack <- {
28036 MenhirLib.EngineTypes.state = _menhir_s;
28037 MenhirLib.EngineTypes.semv = Obj.repr _v;
28038 MenhirLib.EngineTypes.startp = _startpos;
28039 MenhirLib.EngineTypes.endp = _endpos;
28040 MenhirLib.EngineTypes.next = _menhir_stack;
28041 });
28042 (fun _menhir_env ->
28043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28044 let {
28045 MenhirLib.EngineTypes.semv = _2;
28046 MenhirLib.EngineTypes.startp = _startpos__2_;
28047 MenhirLib.EngineTypes.endp = _endpos__2_;
28048 MenhirLib.EngineTypes.next = {
28049 MenhirLib.EngineTypes.state = _menhir_s;
28050 MenhirLib.EngineTypes.semv = _1;
28051 MenhirLib.EngineTypes.startp = _startpos__1_;
28052 MenhirLib.EngineTypes.endp = _endpos__1_;
28053 MenhirLib.EngineTypes.next = _menhir_stack;
28054 };
28055 } = _menhir_stack in
28056 let _2 : (
28057 # 107 "parser_cocci_menhir.mly"
28058 (Data.clt)
28059 # 28060 "parser_cocci_menhir.ml"
28060 ) = Obj.magic _2 in
28061 let _1 : 'tv_expr = Obj.magic _1 in
28062 let _startpos = _startpos__1_ in
28063 let _endpos = _endpos__2_ in
28064 let _v : 'tv_rule_elem_statement =
28065 # 901 "parser_cocci_menhir.mly"
28066 ( P.exp_stm _1 _2 )
28067 # 28068 "parser_cocci_menhir.ml"
28068 in
28069 _menhir_env.MenhirLib.EngineTypes.stack <- {
28070 MenhirLib.EngineTypes.state = _menhir_s;
28071 MenhirLib.EngineTypes.semv = Obj.repr _v;
28072 MenhirLib.EngineTypes.startp = _startpos;
28073 MenhirLib.EngineTypes.endp = _endpos;
28074 MenhirLib.EngineTypes.next = _menhir_stack;
28075 });
28076 (fun _menhir_env ->
28077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28078 let {
28079 MenhirLib.EngineTypes.semv = _3;
28080 MenhirLib.EngineTypes.startp = _startpos__3_;
28081 MenhirLib.EngineTypes.endp = _endpos__3_;
28082 MenhirLib.EngineTypes.next = {
28083 MenhirLib.EngineTypes.semv = _2;
28084 MenhirLib.EngineTypes.startp = _startpos__2_;
28085 MenhirLib.EngineTypes.endp = _endpos__2_;
28086 MenhirLib.EngineTypes.next = {
28087 MenhirLib.EngineTypes.state = _menhir_s;
28088 MenhirLib.EngineTypes.semv = _1;
28089 MenhirLib.EngineTypes.startp = _startpos__1_;
28090 MenhirLib.EngineTypes.endp = _endpos__1_;
28091 MenhirLib.EngineTypes.next = _menhir_stack;
28092 };
28093 };
28094 } = _menhir_stack in
28095 let _3 : (
28096 # 107 "parser_cocci_menhir.mly"
28097 (Data.clt)
28098 # 28099 "parser_cocci_menhir.ml"
28099 ) = Obj.magic _3 in
28100 let _2 : 'tv_eexpr = Obj.magic _2 in
28101 let _1 : (
28102 # 57 "parser_cocci_menhir.mly"
28103 (Data.clt)
28104 # 28105 "parser_cocci_menhir.ml"
28105 ) = Obj.magic _1 in
28106 let _startpos = _startpos__1_ in
28107 let _endpos = _endpos__3_ in
28108 let _v : 'tv_rule_elem_statement =
28109 # 902 "parser_cocci_menhir.mly"
28110 ( P.ret_exp _1 _2 _3 )
28111 # 28112 "parser_cocci_menhir.ml"
28112 in
28113 _menhir_env.MenhirLib.EngineTypes.stack <- {
28114 MenhirLib.EngineTypes.state = _menhir_s;
28115 MenhirLib.EngineTypes.semv = Obj.repr _v;
28116 MenhirLib.EngineTypes.startp = _startpos;
28117 MenhirLib.EngineTypes.endp = _endpos;
28118 MenhirLib.EngineTypes.next = _menhir_stack;
28119 });
28120 (fun _menhir_env ->
28121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28122 let {
28123 MenhirLib.EngineTypes.semv = _2;
28124 MenhirLib.EngineTypes.startp = _startpos__2_;
28125 MenhirLib.EngineTypes.endp = _endpos__2_;
28126 MenhirLib.EngineTypes.next = {
28127 MenhirLib.EngineTypes.state = _menhir_s;
28128 MenhirLib.EngineTypes.semv = _1;
28129 MenhirLib.EngineTypes.startp = _startpos__1_;
28130 MenhirLib.EngineTypes.endp = _endpos__1_;
28131 MenhirLib.EngineTypes.next = _menhir_stack;
28132 };
28133 } = _menhir_stack in
28134 let _2 : (
28135 # 107 "parser_cocci_menhir.mly"
28136 (Data.clt)
28137 # 28138 "parser_cocci_menhir.ml"
28138 ) = Obj.magic _2 in
28139 let _1 : (
28140 # 57 "parser_cocci_menhir.mly"
28141 (Data.clt)
28142 # 28143 "parser_cocci_menhir.ml"
28143 ) = Obj.magic _1 in
28144 let _startpos = _startpos__1_ in
28145 let _endpos = _endpos__2_ in
28146 let _v : 'tv_rule_elem_statement =
28147 # 903 "parser_cocci_menhir.mly"
28148 ( P.ret _1 _2 )
28149 # 28150 "parser_cocci_menhir.ml"
28150 in
28151 _menhir_env.MenhirLib.EngineTypes.stack <- {
28152 MenhirLib.EngineTypes.state = _menhir_s;
28153 MenhirLib.EngineTypes.semv = Obj.repr _v;
28154 MenhirLib.EngineTypes.startp = _startpos;
28155 MenhirLib.EngineTypes.endp = _endpos;
28156 MenhirLib.EngineTypes.next = _menhir_stack;
28157 });
28158 (fun _menhir_env ->
28159 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28160 let {
28161 MenhirLib.EngineTypes.semv = _2;
28162 MenhirLib.EngineTypes.startp = _startpos__2_;
28163 MenhirLib.EngineTypes.endp = _endpos__2_;
28164 MenhirLib.EngineTypes.next = {
28165 MenhirLib.EngineTypes.state = _menhir_s;
28166 MenhirLib.EngineTypes.semv = _1;
28167 MenhirLib.EngineTypes.startp = _startpos__1_;
28168 MenhirLib.EngineTypes.endp = _endpos__1_;
28169 MenhirLib.EngineTypes.next = _menhir_stack;
28170 };
28171 } = _menhir_stack in
28172 let _2 : (
28173 # 107 "parser_cocci_menhir.mly"
28174 (Data.clt)
28175 # 28176 "parser_cocci_menhir.ml"
28176 ) = Obj.magic _2 in
28177 let _1 : (
28178 # 58 "parser_cocci_menhir.mly"
28179 (Data.clt)
28180 # 28181 "parser_cocci_menhir.ml"
28181 ) = Obj.magic _1 in
28182 let _startpos = _startpos__1_ in
28183 let _endpos = _endpos__2_ in
28184 let _v : 'tv_rule_elem_statement =
28185 # 904 "parser_cocci_menhir.mly"
28186 ( P.break _1 _2 )
28187 # 28188 "parser_cocci_menhir.ml"
28188 in
28189 _menhir_env.MenhirLib.EngineTypes.stack <- {
28190 MenhirLib.EngineTypes.state = _menhir_s;
28191 MenhirLib.EngineTypes.semv = Obj.repr _v;
28192 MenhirLib.EngineTypes.startp = _startpos;
28193 MenhirLib.EngineTypes.endp = _endpos;
28194 MenhirLib.EngineTypes.next = _menhir_stack;
28195 });
28196 (fun _menhir_env ->
28197 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28198 let {
28199 MenhirLib.EngineTypes.semv = _2;
28200 MenhirLib.EngineTypes.startp = _startpos__2_;
28201 MenhirLib.EngineTypes.endp = _endpos__2_;
28202 MenhirLib.EngineTypes.next = {
28203 MenhirLib.EngineTypes.state = _menhir_s;
28204 MenhirLib.EngineTypes.semv = _1;
28205 MenhirLib.EngineTypes.startp = _startpos__1_;
28206 MenhirLib.EngineTypes.endp = _endpos__1_;
28207 MenhirLib.EngineTypes.next = _menhir_stack;
28208 };
28209 } = _menhir_stack in
28210 let _2 : (
28211 # 107 "parser_cocci_menhir.mly"
28212 (Data.clt)
28213 # 28214 "parser_cocci_menhir.ml"
28214 ) = Obj.magic _2 in
28215 let _1 : (
28216 # 58 "parser_cocci_menhir.mly"
28217 (Data.clt)
28218 # 28219 "parser_cocci_menhir.ml"
28219 ) = Obj.magic _1 in
28220 let _startpos = _startpos__1_ in
28221 let _endpos = _endpos__2_ in
28222 let _v : 'tv_rule_elem_statement =
28223 # 905 "parser_cocci_menhir.mly"
28224 ( P.cont _1 _2 )
28225 # 28226 "parser_cocci_menhir.ml"
28226 in
28227 _menhir_env.MenhirLib.EngineTypes.stack <- {
28228 MenhirLib.EngineTypes.state = _menhir_s;
28229 MenhirLib.EngineTypes.semv = Obj.repr _v;
28230 MenhirLib.EngineTypes.startp = _startpos;
28231 MenhirLib.EngineTypes.endp = _endpos;
28232 MenhirLib.EngineTypes.next = _menhir_stack;
28233 });
28234 (fun _menhir_env ->
28235 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28236 let {
28237 MenhirLib.EngineTypes.semv = _3;
28238 MenhirLib.EngineTypes.startp = _startpos__3_;
28239 MenhirLib.EngineTypes.endp = _endpos__3_;
28240 MenhirLib.EngineTypes.next = {
28241 MenhirLib.EngineTypes.semv = _2;
28242 MenhirLib.EngineTypes.startp = _startpos__2_;
28243 MenhirLib.EngineTypes.endp = _endpos__2_;
28244 MenhirLib.EngineTypes.next = {
28245 MenhirLib.EngineTypes.state = _menhir_s;
28246 MenhirLib.EngineTypes.semv = _1;
28247 MenhirLib.EngineTypes.startp = _startpos__1_;
28248 MenhirLib.EngineTypes.endp = _endpos__1_;
28249 MenhirLib.EngineTypes.next = _menhir_stack;
28250 };
28251 };
28252 } = _menhir_stack in
28253 let _3 : (
28254 # 77 "parser_cocci_menhir.mly"
28255 (Data.clt)
28256 # 28257 "parser_cocci_menhir.ml"
28257 ) = Obj.magic _3 in
28258 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
28259 let _1 : (
28260 # 76 "parser_cocci_menhir.mly"
28261 (Data.clt)
28262 # 28263 "parser_cocci_menhir.ml"
28263 ) = Obj.magic _1 in
28264 let _startpos = _startpos__1_ in
28265 let _endpos = _endpos__3_ in
28266 let _v : 'tv_rule_elem_statement =
28267 # 907 "parser_cocci_menhir.mly"
28268 ( let (mids,code) = _2 in
28269 Ast0.wrap
28270 (Ast0.Disj(P.clt2mcode "(" _1,
28271 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
28272 mids, P.clt2mcode ")" _3)) )
28273 # 28274 "parser_cocci_menhir.ml"
28274 in
28275 _menhir_env.MenhirLib.EngineTypes.stack <- {
28276 MenhirLib.EngineTypes.state = _menhir_s;
28277 MenhirLib.EngineTypes.semv = Obj.repr _v;
28278 MenhirLib.EngineTypes.startp = _startpos;
28279 MenhirLib.EngineTypes.endp = _endpos;
28280 MenhirLib.EngineTypes.next = _menhir_stack;
28281 });
28282 (fun _menhir_env ->
28283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28284 let {
28285 MenhirLib.EngineTypes.startp = _startpos__7_;
28286 MenhirLib.EngineTypes.endp = _endpos__7_;
28287 MenhirLib.EngineTypes.next = {
28288 MenhirLib.EngineTypes.semv = ee;
28289 MenhirLib.EngineTypes.startp = _startpos_ee_;
28290 MenhirLib.EngineTypes.endp = _endpos_ee_;
28291 MenhirLib.EngineTypes.next = {
28292 MenhirLib.EngineTypes.semv = e;
28293 MenhirLib.EngineTypes.startp = _startpos_e_;
28294 MenhirLib.EngineTypes.endp = _endpos_e_;
28295 MenhirLib.EngineTypes.next = {
28296 MenhirLib.EngineTypes.semv = a;
28297 MenhirLib.EngineTypes.startp = _startpos_a_;
28298 MenhirLib.EngineTypes.endp = _endpos_a_;
28299 MenhirLib.EngineTypes.next = {
28300 MenhirLib.EngineTypes.semv = i;
28301 MenhirLib.EngineTypes.startp = _startpos_i_;
28302 MenhirLib.EngineTypes.endp = _endpos_i_;
28303 MenhirLib.EngineTypes.next = {
28304 MenhirLib.EngineTypes.semv = d;
28305 MenhirLib.EngineTypes.startp = _startpos_d_;
28306 MenhirLib.EngineTypes.endp = _endpos_d_;
28307 MenhirLib.EngineTypes.next = {
28308 MenhirLib.EngineTypes.state = _menhir_s;
28309 MenhirLib.EngineTypes.startp = _startpos__1_;
28310 MenhirLib.EngineTypes.endp = _endpos__1_;
28311 MenhirLib.EngineTypes.next = _menhir_stack;
28312 };
28313 };
28314 };
28315 };
28316 };
28317 };
28318 } = _menhir_stack in
28319 let ee : 'tv_is_expression = Obj.magic ee in
28320 let e : 'tv_exists = Obj.magic e in
28321 let a : 'tv_loption_disable_ = Obj.magic a in
28322 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28323 let d : 'tv_depends = Obj.magic d in
28324 let _startpos = _startpos__1_ in
28325 let _endpos = _endpos__7_ in
28326 let _v : (
28327 # 153 "parser_cocci_menhir.mly"
28328 (Ast_cocci.rulename)
28329 # 28330 "parser_cocci_menhir.ml"
28330 ) = let nm =
28331
28332 # 39 "standard.mly"
28333 ( None )
28334 # 28335 "parser_cocci_menhir.ml"
28335
28336 in
28337
28338 # 202 "parser_cocci_menhir.mly"
28339 ( P.make_cocci_rule_name_result nm d i a e ee )
28340 # 28341 "parser_cocci_menhir.ml"
28341 in
28342 _menhir_env.MenhirLib.EngineTypes.stack <- {
28343 MenhirLib.EngineTypes.state = _menhir_s;
28344 MenhirLib.EngineTypes.semv = Obj.repr _v;
28345 MenhirLib.EngineTypes.startp = _startpos;
28346 MenhirLib.EngineTypes.endp = _endpos;
28347 MenhirLib.EngineTypes.next = _menhir_stack;
28348 });
28349 (fun _menhir_env ->
28350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28351 let {
28352 MenhirLib.EngineTypes.startp = _startpos__8_;
28353 MenhirLib.EngineTypes.endp = _endpos__8_;
28354 MenhirLib.EngineTypes.next = {
28355 MenhirLib.EngineTypes.semv = ee;
28356 MenhirLib.EngineTypes.startp = _startpos_ee_;
28357 MenhirLib.EngineTypes.endp = _endpos_ee_;
28358 MenhirLib.EngineTypes.next = {
28359 MenhirLib.EngineTypes.semv = e;
28360 MenhirLib.EngineTypes.startp = _startpos_e_;
28361 MenhirLib.EngineTypes.endp = _endpos_e_;
28362 MenhirLib.EngineTypes.next = {
28363 MenhirLib.EngineTypes.semv = a;
28364 MenhirLib.EngineTypes.startp = _startpos_a_;
28365 MenhirLib.EngineTypes.endp = _endpos_a_;
28366 MenhirLib.EngineTypes.next = {
28367 MenhirLib.EngineTypes.semv = i;
28368 MenhirLib.EngineTypes.startp = _startpos_i_;
28369 MenhirLib.EngineTypes.endp = _endpos_i_;
28370 MenhirLib.EngineTypes.next = {
28371 MenhirLib.EngineTypes.semv = d;
28372 MenhirLib.EngineTypes.startp = _startpos_d_;
28373 MenhirLib.EngineTypes.endp = _endpos_d_;
28374 MenhirLib.EngineTypes.next = {
28375 MenhirLib.EngineTypes.startp = _startpos__2_;
28376 MenhirLib.EngineTypes.endp = _endpos__2_;
28377 MenhirLib.EngineTypes.next = {
28378 MenhirLib.EngineTypes.state = _menhir_s;
28379 MenhirLib.EngineTypes.semv = x0;
28380 MenhirLib.EngineTypes.startp = _startpos_x0_;
28381 MenhirLib.EngineTypes.endp = _endpos_x0_;
28382 MenhirLib.EngineTypes.next = _menhir_stack;
28383 };
28384 };
28385 };
28386 };
28387 };
28388 };
28389 };
28390 } = _menhir_stack in
28391 let ee : 'tv_is_expression = Obj.magic ee in
28392 let e : 'tv_exists = Obj.magic e in
28393 let a : 'tv_loption_disable_ = Obj.magic a in
28394 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28395 let d : 'tv_depends = Obj.magic d in
28396 let x0 : 'tv_pure_ident = Obj.magic x0 in
28397 let _startpos = _startpos_x0_ in
28398 let _endpos = _endpos__8_ in
28399 let _v : (
28400 # 153 "parser_cocci_menhir.mly"
28401 (Ast_cocci.rulename)
28402 # 28403 "parser_cocci_menhir.ml"
28403 ) = let nm =
28404 let x = x0 in
28405
28406 # 41 "standard.mly"
28407 ( Some x )
28408 # 28409 "parser_cocci_menhir.ml"
28409
28410 in
28411
28412 # 202 "parser_cocci_menhir.mly"
28413 ( P.make_cocci_rule_name_result nm d i a e ee )
28414 # 28415 "parser_cocci_menhir.ml"
28415 in
28416 _menhir_env.MenhirLib.EngineTypes.stack <- {
28417 MenhirLib.EngineTypes.state = _menhir_s;
28418 MenhirLib.EngineTypes.semv = Obj.repr _v;
28419 MenhirLib.EngineTypes.startp = _startpos;
28420 MenhirLib.EngineTypes.endp = _endpos;
28421 MenhirLib.EngineTypes.next = _menhir_stack;
28422 });
28423 (fun _menhir_env ->
28424 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28425 let {
28426 MenhirLib.EngineTypes.startp = _startpos__8_;
28427 MenhirLib.EngineTypes.endp = _endpos__8_;
28428 MenhirLib.EngineTypes.next = {
28429 MenhirLib.EngineTypes.semv = ee;
28430 MenhirLib.EngineTypes.startp = _startpos_ee_;
28431 MenhirLib.EngineTypes.endp = _endpos_ee_;
28432 MenhirLib.EngineTypes.next = {
28433 MenhirLib.EngineTypes.semv = e;
28434 MenhirLib.EngineTypes.startp = _startpos_e_;
28435 MenhirLib.EngineTypes.endp = _endpos_e_;
28436 MenhirLib.EngineTypes.next = {
28437 MenhirLib.EngineTypes.semv = a;
28438 MenhirLib.EngineTypes.startp = _startpos_a_;
28439 MenhirLib.EngineTypes.endp = _endpos_a_;
28440 MenhirLib.EngineTypes.next = {
28441 MenhirLib.EngineTypes.semv = i;
28442 MenhirLib.EngineTypes.startp = _startpos_i_;
28443 MenhirLib.EngineTypes.endp = _endpos_i_;
28444 MenhirLib.EngineTypes.next = {
28445 MenhirLib.EngineTypes.semv = d;
28446 MenhirLib.EngineTypes.startp = _startpos_d_;
28447 MenhirLib.EngineTypes.endp = _endpos_d_;
28448 MenhirLib.EngineTypes.next = {
28449 MenhirLib.EngineTypes.startp = _startpos__2_;
28450 MenhirLib.EngineTypes.endp = _endpos__2_;
28451 MenhirLib.EngineTypes.next = {
28452 MenhirLib.EngineTypes.state = _menhir_s;
28453 MenhirLib.EngineTypes.startp = _startpos__1_;
28454 MenhirLib.EngineTypes.endp = _endpos__1_;
28455 MenhirLib.EngineTypes.next = _menhir_stack;
28456 };
28457 };
28458 };
28459 };
28460 };
28461 };
28462 };
28463 } = _menhir_stack in
28464 let ee : 'tv_is_expression = Obj.magic ee in
28465 let e : 'tv_exists = Obj.magic e in
28466 let a : 'tv_loption_disable_ = Obj.magic a in
28467 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28468 let d : 'tv_depends = Obj.magic d in
28469 let _startpos = _startpos__1_ in
28470 let _endpos = _endpos__8_ in
28471 let _v : (
28472 # 153 "parser_cocci_menhir.mly"
28473 (Ast_cocci.rulename)
28474 # 28475 "parser_cocci_menhir.ml"
28475 ) =
28476 # 207 "parser_cocci_menhir.mly"
28477 ( P.make_generated_rule_name_result None d i a e ee )
28478 # 28479 "parser_cocci_menhir.ml"
28479 in
28480 _menhir_env.MenhirLib.EngineTypes.stack <- {
28481 MenhirLib.EngineTypes.state = _menhir_s;
28482 MenhirLib.EngineTypes.semv = Obj.repr _v;
28483 MenhirLib.EngineTypes.startp = _startpos;
28484 MenhirLib.EngineTypes.endp = _endpos;
28485 MenhirLib.EngineTypes.next = _menhir_stack;
28486 });
28487 (fun _menhir_env ->
28488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28489 let {
28490 MenhirLib.EngineTypes.startp = _startpos__5_;
28491 MenhirLib.EngineTypes.endp = _endpos__5_;
28492 MenhirLib.EngineTypes.next = {
28493 MenhirLib.EngineTypes.semv = d;
28494 MenhirLib.EngineTypes.startp = _startpos_d_;
28495 MenhirLib.EngineTypes.endp = _endpos_d_;
28496 MenhirLib.EngineTypes.next = {
28497 MenhirLib.EngineTypes.semv = lang;
28498 MenhirLib.EngineTypes.startp = _startpos_lang_;
28499 MenhirLib.EngineTypes.endp = _endpos_lang_;
28500 MenhirLib.EngineTypes.next = {
28501 MenhirLib.EngineTypes.startp = _startpos__2_;
28502 MenhirLib.EngineTypes.endp = _endpos__2_;
28503 MenhirLib.EngineTypes.next = {
28504 MenhirLib.EngineTypes.state = _menhir_s;
28505 MenhirLib.EngineTypes.startp = _startpos__1_;
28506 MenhirLib.EngineTypes.endp = _endpos__1_;
28507 MenhirLib.EngineTypes.next = _menhir_stack;
28508 };
28509 };
28510 };
28511 };
28512 } = _menhir_stack in
28513 let d : 'tv_depends = Obj.magic d in
28514 let lang : 'tv_pure_ident = Obj.magic lang in
28515 let _startpos = _startpos__1_ in
28516 let _endpos = _endpos__5_ in
28517 let _v : (
28518 # 153 "parser_cocci_menhir.mly"
28519 (Ast_cocci.rulename)
28520 # 28521 "parser_cocci_menhir.ml"
28521 ) =
28522 # 209 "parser_cocci_menhir.mly"
28523 ( P.make_script_rule_name_result lang d )
28524 # 28525 "parser_cocci_menhir.ml"
28525 in
28526 _menhir_env.MenhirLib.EngineTypes.stack <- {
28527 MenhirLib.EngineTypes.state = _menhir_s;
28528 MenhirLib.EngineTypes.semv = Obj.repr _v;
28529 MenhirLib.EngineTypes.startp = _startpos;
28530 MenhirLib.EngineTypes.endp = _endpos;
28531 MenhirLib.EngineTypes.next = _menhir_stack;
28532 });
28533 (fun _menhir_env ->
28534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28535 let {
28536 MenhirLib.EngineTypes.startp = _startpos__4_;
28537 MenhirLib.EngineTypes.endp = _endpos__4_;
28538 MenhirLib.EngineTypes.next = {
28539 MenhirLib.EngineTypes.semv = lang;
28540 MenhirLib.EngineTypes.startp = _startpos_lang_;
28541 MenhirLib.EngineTypes.endp = _endpos_lang_;
28542 MenhirLib.EngineTypes.next = {
28543 MenhirLib.EngineTypes.startp = _startpos__2_;
28544 MenhirLib.EngineTypes.endp = _endpos__2_;
28545 MenhirLib.EngineTypes.next = {
28546 MenhirLib.EngineTypes.state = _menhir_s;
28547 MenhirLib.EngineTypes.startp = _startpos__1_;
28548 MenhirLib.EngineTypes.endp = _endpos__1_;
28549 MenhirLib.EngineTypes.next = _menhir_stack;
28550 };
28551 };
28552 };
28553 } = _menhir_stack in
28554 let lang : 'tv_pure_ident = Obj.magic lang in
28555 let _startpos = _startpos__1_ in
28556 let _endpos = _endpos__4_ in
28557 let _v : (
28558 # 153 "parser_cocci_menhir.mly"
28559 (Ast_cocci.rulename)
28560 # 28561 "parser_cocci_menhir.ml"
28561 ) =
28562 # 211 "parser_cocci_menhir.mly"
28563 ( P.make_initial_script_rule_name_result lang )
28564 # 28565 "parser_cocci_menhir.ml"
28565 in
28566 _menhir_env.MenhirLib.EngineTypes.stack <- {
28567 MenhirLib.EngineTypes.state = _menhir_s;
28568 MenhirLib.EngineTypes.semv = Obj.repr _v;
28569 MenhirLib.EngineTypes.startp = _startpos;
28570 MenhirLib.EngineTypes.endp = _endpos;
28571 MenhirLib.EngineTypes.next = _menhir_stack;
28572 });
28573 (fun _menhir_env ->
28574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28575 let {
28576 MenhirLib.EngineTypes.startp = _startpos__4_;
28577 MenhirLib.EngineTypes.endp = _endpos__4_;
28578 MenhirLib.EngineTypes.next = {
28579 MenhirLib.EngineTypes.semv = lang;
28580 MenhirLib.EngineTypes.startp = _startpos_lang_;
28581 MenhirLib.EngineTypes.endp = _endpos_lang_;
28582 MenhirLib.EngineTypes.next = {
28583 MenhirLib.EngineTypes.startp = _startpos__2_;
28584 MenhirLib.EngineTypes.endp = _endpos__2_;
28585 MenhirLib.EngineTypes.next = {
28586 MenhirLib.EngineTypes.state = _menhir_s;
28587 MenhirLib.EngineTypes.startp = _startpos__1_;
28588 MenhirLib.EngineTypes.endp = _endpos__1_;
28589 MenhirLib.EngineTypes.next = _menhir_stack;
28590 };
28591 };
28592 };
28593 } = _menhir_stack in
28594 let lang : 'tv_pure_ident = Obj.magic lang in
28595 let _startpos = _startpos__1_ in
28596 let _endpos = _endpos__4_ in
28597 let _v : (
28598 # 153 "parser_cocci_menhir.mly"
28599 (Ast_cocci.rulename)
28600 # 28601 "parser_cocci_menhir.ml"
28601 ) =
28602 # 213 "parser_cocci_menhir.mly"
28603 ( P.make_final_script_rule_name_result lang )
28604 # 28605 "parser_cocci_menhir.ml"
28605 in
28606 _menhir_env.MenhirLib.EngineTypes.stack <- {
28607 MenhirLib.EngineTypes.state = _menhir_s;
28608 MenhirLib.EngineTypes.semv = Obj.repr _v;
28609 MenhirLib.EngineTypes.startp = _startpos;
28610 MenhirLib.EngineTypes.endp = _endpos;
28611 MenhirLib.EngineTypes.next = _menhir_stack;
28612 });
28613 (fun _menhir_env ->
28614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28615 let {
28616 MenhirLib.EngineTypes.startp = _startpos__6_;
28617 MenhirLib.EngineTypes.endp = _endpos__6_;
28618 MenhirLib.EngineTypes.next = {
28619 MenhirLib.EngineTypes.semv = cocci;
28620 MenhirLib.EngineTypes.startp = _startpos_cocci_;
28621 MenhirLib.EngineTypes.endp = _endpos_cocci_;
28622 MenhirLib.EngineTypes.next = {
28623 MenhirLib.EngineTypes.startp = _startpos__4_;
28624 MenhirLib.EngineTypes.endp = _endpos__4_;
28625 MenhirLib.EngineTypes.next = {
28626 MenhirLib.EngineTypes.semv = _3;
28627 MenhirLib.EngineTypes.startp = _startpos__3_;
28628 MenhirLib.EngineTypes.endp = _endpos__3_;
28629 MenhirLib.EngineTypes.next = {
28630 MenhirLib.EngineTypes.startp = _startpos__2_;
28631 MenhirLib.EngineTypes.endp = _endpos__2_;
28632 MenhirLib.EngineTypes.next = {
28633 MenhirLib.EngineTypes.state = _menhir_s;
28634 MenhirLib.EngineTypes.semv = py;
28635 MenhirLib.EngineTypes.startp = _startpos_py_;
28636 MenhirLib.EngineTypes.endp = _endpos_py_;
28637 MenhirLib.EngineTypes.next = _menhir_stack;
28638 };
28639 };
28640 };
28641 };
28642 };
28643 } = _menhir_stack in
28644 let cocci : 'tv_pure_ident = Obj.magic cocci in
28645 let _3 : (
28646 # 47 "parser_cocci_menhir.mly"
28647 (string)
28648 # 28649 "parser_cocci_menhir.ml"
28649 ) = Obj.magic _3 in
28650 let py : 'tv_pure_ident = Obj.magic py in
28651 let _startpos = _startpos_py_ in
28652 let _endpos = _endpos__6_ in
28653 let _v : (
28654 # 159 "parser_cocci_menhir.mly"
28655 (string * (string * string))
28656 # 28657 "parser_cocci_menhir.ml"
28657 ) =
28658 # 1948 "parser_cocci_menhir.mly"
28659 ( (P.id2name py, (_3, P.id2name cocci)) )
28660 # 28661 "parser_cocci_menhir.ml"
28661 in
28662 _menhir_env.MenhirLib.EngineTypes.stack <- {
28663 MenhirLib.EngineTypes.state = _menhir_s;
28664 MenhirLib.EngineTypes.semv = Obj.repr _v;
28665 MenhirLib.EngineTypes.startp = _startpos;
28666 MenhirLib.EngineTypes.endp = _endpos;
28667 MenhirLib.EngineTypes.next = _menhir_stack;
28668 });
28669 (fun _menhir_env ->
28670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28671 let {
28672 MenhirLib.EngineTypes.state = _menhir_s;
28673 MenhirLib.EngineTypes.semv = _1;
28674 MenhirLib.EngineTypes.startp = _startpos__1_;
28675 MenhirLib.EngineTypes.endp = _endpos__1_;
28676 MenhirLib.EngineTypes.next = _menhir_stack;
28677 } = _menhir_stack in
28678 let _1 : (
28679 # 87 "parser_cocci_menhir.mly"
28680 (string * Data.clt)
28681 # 28682 "parser_cocci_menhir.ml"
28682 ) = Obj.magic _1 in
28683 let _startpos = _startpos__1_ in
28684 let _endpos = _endpos__1_ in
28685 let _v : 'tv_seed_elem =
28686 # 1428 "parser_cocci_menhir.mly"
28687 ( let (x,_) = _1 in Ast.SeedString x )
28688 # 28689 "parser_cocci_menhir.ml"
28689 in
28690 _menhir_env.MenhirLib.EngineTypes.stack <- {
28691 MenhirLib.EngineTypes.state = _menhir_s;
28692 MenhirLib.EngineTypes.semv = Obj.repr _v;
28693 MenhirLib.EngineTypes.startp = _startpos;
28694 MenhirLib.EngineTypes.endp = _endpos;
28695 MenhirLib.EngineTypes.next = _menhir_stack;
28696 });
28697 (fun _menhir_env ->
28698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28699 let {
28700 MenhirLib.EngineTypes.state = _menhir_s;
28701 MenhirLib.EngineTypes.semv = _1;
28702 MenhirLib.EngineTypes.startp = _startpos__1_;
28703 MenhirLib.EngineTypes.endp = _endpos__1_;
28704 MenhirLib.EngineTypes.next = _menhir_stack;
28705 } = _menhir_stack in
28706 let _1 : (
28707 # 61 "parser_cocci_menhir.mly"
28708 (Parse_aux.idinfo)
28709 # 28710 "parser_cocci_menhir.ml"
28710 ) = Obj.magic _1 in
28711 let _startpos = _startpos__1_ in
28712 let _endpos = _endpos__1_ in
28713 let _v : 'tv_seed_elem =
28714 # 1429 "parser_cocci_menhir.mly"
28715 ( let (x,_,_,_) = _1 in Ast.SeedId x )
28716 # 28717 "parser_cocci_menhir.ml"
28717 in
28718 _menhir_env.MenhirLib.EngineTypes.stack <- {
28719 MenhirLib.EngineTypes.state = _menhir_s;
28720 MenhirLib.EngineTypes.semv = Obj.repr _v;
28721 MenhirLib.EngineTypes.startp = _startpos;
28722 MenhirLib.EngineTypes.endp = _endpos;
28723 MenhirLib.EngineTypes.next = _menhir_stack;
28724 });
28725 (fun _menhir_env ->
28726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28727 let {
28728 MenhirLib.EngineTypes.semv = _3;
28729 MenhirLib.EngineTypes.startp = _startpos__3_;
28730 MenhirLib.EngineTypes.endp = _endpos__3_;
28731 MenhirLib.EngineTypes.next = {
28732 MenhirLib.EngineTypes.startp = _startpos__2_;
28733 MenhirLib.EngineTypes.endp = _endpos__2_;
28734 MenhirLib.EngineTypes.next = {
28735 MenhirLib.EngineTypes.state = _menhir_s;
28736 MenhirLib.EngineTypes.semv = _1;
28737 MenhirLib.EngineTypes.startp = _startpos__1_;
28738 MenhirLib.EngineTypes.endp = _endpos__1_;
28739 MenhirLib.EngineTypes.next = _menhir_stack;
28740 };
28741 };
28742 } = _menhir_stack in
28743 let _3 : 'tv_pure_ident = Obj.magic _3 in
28744 let _1 : (
28745 # 47 "parser_cocci_menhir.mly"
28746 (string)
28747 # 28748 "parser_cocci_menhir.ml"
28748 ) = Obj.magic _1 in
28749 let _startpos = _startpos__1_ in
28750 let _endpos = _endpos__3_ in
28751 let _v : 'tv_seed_elem =
28752 # 1431 "parser_cocci_menhir.mly"
28753 ( let nm = (_1,P.id2name _3) in
28754 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
28755 Ast.SeedId nm )
28756 # 28757 "parser_cocci_menhir.ml"
28757 in
28758 _menhir_env.MenhirLib.EngineTypes.stack <- {
28759 MenhirLib.EngineTypes.state = _menhir_s;
28760 MenhirLib.EngineTypes.semv = Obj.repr _v;
28761 MenhirLib.EngineTypes.startp = _startpos;
28762 MenhirLib.EngineTypes.endp = _endpos;
28763 MenhirLib.EngineTypes.next = _menhir_stack;
28764 });
28765 (fun _menhir_env ->
28766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28767 let {
28768 MenhirLib.EngineTypes.state = _menhir_s;
28769 MenhirLib.EngineTypes.semv = x;
28770 MenhirLib.EngineTypes.startp = _startpos_x_;
28771 MenhirLib.EngineTypes.endp = _endpos_x_;
28772 MenhirLib.EngineTypes.next = _menhir_stack;
28773 } = _menhir_stack in
28774 let x : (
28775 # 87 "parser_cocci_menhir.mly"
28776 (string * Data.clt)
28777 # 28778 "parser_cocci_menhir.ml"
28778 ) = Obj.magic x in
28779 let _startpos = _startpos_x_ in
28780 let _endpos = _endpos_x_ in
28781 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
28782 # 144 "standard.mly"
28783 ( [ x ] )
28784 # 28785 "parser_cocci_menhir.ml"
28785 in
28786 _menhir_env.MenhirLib.EngineTypes.stack <- {
28787 MenhirLib.EngineTypes.state = _menhir_s;
28788 MenhirLib.EngineTypes.semv = Obj.repr _v;
28789 MenhirLib.EngineTypes.startp = _startpos;
28790 MenhirLib.EngineTypes.endp = _endpos;
28791 MenhirLib.EngineTypes.next = _menhir_stack;
28792 });
28793 (fun _menhir_env ->
28794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28795 let {
28796 MenhirLib.EngineTypes.semv = xs;
28797 MenhirLib.EngineTypes.startp = _startpos_xs_;
28798 MenhirLib.EngineTypes.endp = _endpos_xs_;
28799 MenhirLib.EngineTypes.next = {
28800 MenhirLib.EngineTypes.startp = _startpos__2_;
28801 MenhirLib.EngineTypes.endp = _endpos__2_;
28802 MenhirLib.EngineTypes.next = {
28803 MenhirLib.EngineTypes.state = _menhir_s;
28804 MenhirLib.EngineTypes.semv = x;
28805 MenhirLib.EngineTypes.startp = _startpos_x_;
28806 MenhirLib.EngineTypes.endp = _endpos_x_;
28807 MenhirLib.EngineTypes.next = _menhir_stack;
28808 };
28809 };
28810 } = _menhir_stack in
28811 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
28812 let x : (
28813 # 87 "parser_cocci_menhir.mly"
28814 (string * Data.clt)
28815 # 28816 "parser_cocci_menhir.ml"
28816 ) = Obj.magic x in
28817 let _startpos = _startpos_x_ in
28818 let _endpos = _endpos_xs_ in
28819 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
28820 # 146 "standard.mly"
28821 ( x :: xs )
28822 # 28823 "parser_cocci_menhir.ml"
28823 in
28824 _menhir_env.MenhirLib.EngineTypes.stack <- {
28825 MenhirLib.EngineTypes.state = _menhir_s;
28826 MenhirLib.EngineTypes.semv = Obj.repr _v;
28827 MenhirLib.EngineTypes.startp = _startpos;
28828 MenhirLib.EngineTypes.endp = _endpos;
28829 MenhirLib.EngineTypes.next = _menhir_stack;
28830 });
28831 (fun _menhir_env ->
28832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28833 let {
28834 MenhirLib.EngineTypes.state = _menhir_s;
28835 MenhirLib.EngineTypes.semv = x;
28836 MenhirLib.EngineTypes.startp = _startpos_x_;
28837 MenhirLib.EngineTypes.endp = _endpos_x_;
28838 MenhirLib.EngineTypes.next = _menhir_stack;
28839 } = _menhir_stack in
28840 let x : 'tv_any_strict = Obj.magic x in
28841 let _startpos = _startpos_x_ in
28842 let _endpos = _endpos_x_ in
28843 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
28844 # 144 "standard.mly"
28845 ( [ x ] )
28846 # 28847 "parser_cocci_menhir.ml"
28847 in
28848 _menhir_env.MenhirLib.EngineTypes.stack <- {
28849 MenhirLib.EngineTypes.state = _menhir_s;
28850 MenhirLib.EngineTypes.semv = Obj.repr _v;
28851 MenhirLib.EngineTypes.startp = _startpos;
28852 MenhirLib.EngineTypes.endp = _endpos;
28853 MenhirLib.EngineTypes.next = _menhir_stack;
28854 });
28855 (fun _menhir_env ->
28856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28857 let {
28858 MenhirLib.EngineTypes.semv = xs;
28859 MenhirLib.EngineTypes.startp = _startpos_xs_;
28860 MenhirLib.EngineTypes.endp = _endpos_xs_;
28861 MenhirLib.EngineTypes.next = {
28862 MenhirLib.EngineTypes.startp = _startpos__2_;
28863 MenhirLib.EngineTypes.endp = _endpos__2_;
28864 MenhirLib.EngineTypes.next = {
28865 MenhirLib.EngineTypes.state = _menhir_s;
28866 MenhirLib.EngineTypes.semv = x;
28867 MenhirLib.EngineTypes.startp = _startpos_x_;
28868 MenhirLib.EngineTypes.endp = _endpos_x_;
28869 MenhirLib.EngineTypes.next = _menhir_stack;
28870 };
28871 };
28872 } = _menhir_stack in
28873 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
28874 let x : 'tv_any_strict = Obj.magic x in
28875 let _startpos = _startpos_x_ in
28876 let _endpos = _endpos_xs_ in
28877 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
28878 # 146 "standard.mly"
28879 ( x :: xs )
28880 # 28881 "parser_cocci_menhir.ml"
28881 in
28882 _menhir_env.MenhirLib.EngineTypes.stack <- {
28883 MenhirLib.EngineTypes.state = _menhir_s;
28884 MenhirLib.EngineTypes.semv = Obj.repr _v;
28885 MenhirLib.EngineTypes.startp = _startpos;
28886 MenhirLib.EngineTypes.endp = _endpos;
28887 MenhirLib.EngineTypes.next = _menhir_stack;
28888 });
28889 (fun _menhir_env ->
28890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28891 let {
28892 MenhirLib.EngineTypes.state = _menhir_s;
28893 MenhirLib.EngineTypes.semv = x;
28894 MenhirLib.EngineTypes.startp = _startpos_x_;
28895 MenhirLib.EngineTypes.endp = _endpos_x_;
28896 MenhirLib.EngineTypes.next = _menhir_stack;
28897 } = _menhir_stack in
28898 let x : 'tv_ctype = Obj.magic x in
28899 let _startpos = _startpos_x_ in
28900 let _endpos = _endpos_x_ in
28901 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
28902 # 144 "standard.mly"
28903 ( [ x ] )
28904 # 28905 "parser_cocci_menhir.ml"
28905 in
28906 _menhir_env.MenhirLib.EngineTypes.stack <- {
28907 MenhirLib.EngineTypes.state = _menhir_s;
28908 MenhirLib.EngineTypes.semv = Obj.repr _v;
28909 MenhirLib.EngineTypes.startp = _startpos;
28910 MenhirLib.EngineTypes.endp = _endpos;
28911 MenhirLib.EngineTypes.next = _menhir_stack;
28912 });
28913 (fun _menhir_env ->
28914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28915 let {
28916 MenhirLib.EngineTypes.semv = xs;
28917 MenhirLib.EngineTypes.startp = _startpos_xs_;
28918 MenhirLib.EngineTypes.endp = _endpos_xs_;
28919 MenhirLib.EngineTypes.next = {
28920 MenhirLib.EngineTypes.startp = _startpos__2_;
28921 MenhirLib.EngineTypes.endp = _endpos__2_;
28922 MenhirLib.EngineTypes.next = {
28923 MenhirLib.EngineTypes.state = _menhir_s;
28924 MenhirLib.EngineTypes.semv = x;
28925 MenhirLib.EngineTypes.startp = _startpos_x_;
28926 MenhirLib.EngineTypes.endp = _endpos_x_;
28927 MenhirLib.EngineTypes.next = _menhir_stack;
28928 };
28929 };
28930 } = _menhir_stack in
28931 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
28932 let x : 'tv_ctype = Obj.magic x in
28933 let _startpos = _startpos_x_ in
28934 let _endpos = _endpos_xs_ in
28935 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
28936 # 146 "standard.mly"
28937 ( x :: xs )
28938 # 28939 "parser_cocci_menhir.ml"
28939 in
28940 _menhir_env.MenhirLib.EngineTypes.stack <- {
28941 MenhirLib.EngineTypes.state = _menhir_s;
28942 MenhirLib.EngineTypes.semv = Obj.repr _v;
28943 MenhirLib.EngineTypes.startp = _startpos;
28944 MenhirLib.EngineTypes.endp = _endpos;
28945 MenhirLib.EngineTypes.next = _menhir_stack;
28946 });
28947 (fun _menhir_env ->
28948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28949 let {
28950 MenhirLib.EngineTypes.state = _menhir_s;
28951 MenhirLib.EngineTypes.semv = x;
28952 MenhirLib.EngineTypes.startp = _startpos_x_;
28953 MenhirLib.EngineTypes.endp = _endpos_x_;
28954 MenhirLib.EngineTypes.next = _menhir_stack;
28955 } = _menhir_stack in
28956 let x : 'tv_d_ident = Obj.magic x in
28957 let _startpos = _startpos_x_ in
28958 let _endpos = _endpos_x_ in
28959 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
28960 # 144 "standard.mly"
28961 ( [ x ] )
28962 # 28963 "parser_cocci_menhir.ml"
28963 in
28964 _menhir_env.MenhirLib.EngineTypes.stack <- {
28965 MenhirLib.EngineTypes.state = _menhir_s;
28966 MenhirLib.EngineTypes.semv = Obj.repr _v;
28967 MenhirLib.EngineTypes.startp = _startpos;
28968 MenhirLib.EngineTypes.endp = _endpos;
28969 MenhirLib.EngineTypes.next = _menhir_stack;
28970 });
28971 (fun _menhir_env ->
28972 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28973 let {
28974 MenhirLib.EngineTypes.semv = xs;
28975 MenhirLib.EngineTypes.startp = _startpos_xs_;
28976 MenhirLib.EngineTypes.endp = _endpos_xs_;
28977 MenhirLib.EngineTypes.next = {
28978 MenhirLib.EngineTypes.startp = _startpos__2_;
28979 MenhirLib.EngineTypes.endp = _endpos__2_;
28980 MenhirLib.EngineTypes.next = {
28981 MenhirLib.EngineTypes.state = _menhir_s;
28982 MenhirLib.EngineTypes.semv = x;
28983 MenhirLib.EngineTypes.startp = _startpos_x_;
28984 MenhirLib.EngineTypes.endp = _endpos_x_;
28985 MenhirLib.EngineTypes.next = _menhir_stack;
28986 };
28987 };
28988 } = _menhir_stack in
28989 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
28990 let x : 'tv_d_ident = Obj.magic x in
28991 let _startpos = _startpos_x_ in
28992 let _endpos = _endpos_xs_ in
28993 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
28994 # 146 "standard.mly"
28995 ( x :: xs )
28996 # 28997 "parser_cocci_menhir.ml"
28997 in
28998 _menhir_env.MenhirLib.EngineTypes.stack <- {
28999 MenhirLib.EngineTypes.state = _menhir_s;
29000 MenhirLib.EngineTypes.semv = Obj.repr _v;
29001 MenhirLib.EngineTypes.startp = _startpos;
29002 MenhirLib.EngineTypes.endp = _endpos;
29003 MenhirLib.EngineTypes.next = _menhir_stack;
29004 });
29005 (fun _menhir_env ->
29006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29007 let {
29008 MenhirLib.EngineTypes.state = _menhir_s;
29009 MenhirLib.EngineTypes.semv = x;
29010 MenhirLib.EngineTypes.startp = _startpos_x_;
29011 MenhirLib.EngineTypes.endp = _endpos_x_;
29012 MenhirLib.EngineTypes.next = _menhir_stack;
29013 } = _menhir_stack in
29014 let x : 'tv_ident_or_const = Obj.magic x in
29015 let _startpos = _startpos_x_ in
29016 let _endpos = _endpos_x_ in
29017 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29018 # 144 "standard.mly"
29019 ( [ x ] )
29020 # 29021 "parser_cocci_menhir.ml"
29021 in
29022 _menhir_env.MenhirLib.EngineTypes.stack <- {
29023 MenhirLib.EngineTypes.state = _menhir_s;
29024 MenhirLib.EngineTypes.semv = Obj.repr _v;
29025 MenhirLib.EngineTypes.startp = _startpos;
29026 MenhirLib.EngineTypes.endp = _endpos;
29027 MenhirLib.EngineTypes.next = _menhir_stack;
29028 });
29029 (fun _menhir_env ->
29030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29031 let {
29032 MenhirLib.EngineTypes.semv = xs;
29033 MenhirLib.EngineTypes.startp = _startpos_xs_;
29034 MenhirLib.EngineTypes.endp = _endpos_xs_;
29035 MenhirLib.EngineTypes.next = {
29036 MenhirLib.EngineTypes.startp = _startpos__2_;
29037 MenhirLib.EngineTypes.endp = _endpos__2_;
29038 MenhirLib.EngineTypes.next = {
29039 MenhirLib.EngineTypes.state = _menhir_s;
29040 MenhirLib.EngineTypes.semv = x;
29041 MenhirLib.EngineTypes.startp = _startpos_x_;
29042 MenhirLib.EngineTypes.endp = _endpos_x_;
29043 MenhirLib.EngineTypes.next = _menhir_stack;
29044 };
29045 };
29046 } = _menhir_stack in
29047 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
29048 let x : 'tv_ident_or_const = Obj.magic x in
29049 let _startpos = _startpos_x_ in
29050 let _endpos = _endpos_xs_ in
29051 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29052 # 146 "standard.mly"
29053 ( x :: xs )
29054 # 29055 "parser_cocci_menhir.ml"
29055 in
29056 _menhir_env.MenhirLib.EngineTypes.stack <- {
29057 MenhirLib.EngineTypes.state = _menhir_s;
29058 MenhirLib.EngineTypes.semv = Obj.repr _v;
29059 MenhirLib.EngineTypes.startp = _startpos;
29060 MenhirLib.EngineTypes.endp = _endpos;
29061 MenhirLib.EngineTypes.next = _menhir_stack;
29062 });
29063 (fun _menhir_env ->
29064 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29065 let {
29066 MenhirLib.EngineTypes.state = _menhir_s;
29067 MenhirLib.EngineTypes.semv = x;
29068 MenhirLib.EngineTypes.startp = _startpos_x_;
29069 MenhirLib.EngineTypes.endp = _endpos_x_;
29070 MenhirLib.EngineTypes.next = _menhir_stack;
29071 } = _menhir_stack in
29072 let x : 'tv_meta_ident = Obj.magic x in
29073 let _startpos = _startpos_x_ in
29074 let _endpos = _endpos_x_ in
29075 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29076 # 144 "standard.mly"
29077 ( [ x ] )
29078 # 29079 "parser_cocci_menhir.ml"
29079 in
29080 _menhir_env.MenhirLib.EngineTypes.stack <- {
29081 MenhirLib.EngineTypes.state = _menhir_s;
29082 MenhirLib.EngineTypes.semv = Obj.repr _v;
29083 MenhirLib.EngineTypes.startp = _startpos;
29084 MenhirLib.EngineTypes.endp = _endpos;
29085 MenhirLib.EngineTypes.next = _menhir_stack;
29086 });
29087 (fun _menhir_env ->
29088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29089 let {
29090 MenhirLib.EngineTypes.semv = xs;
29091 MenhirLib.EngineTypes.startp = _startpos_xs_;
29092 MenhirLib.EngineTypes.endp = _endpos_xs_;
29093 MenhirLib.EngineTypes.next = {
29094 MenhirLib.EngineTypes.startp = _startpos__2_;
29095 MenhirLib.EngineTypes.endp = _endpos__2_;
29096 MenhirLib.EngineTypes.next = {
29097 MenhirLib.EngineTypes.state = _menhir_s;
29098 MenhirLib.EngineTypes.semv = x;
29099 MenhirLib.EngineTypes.startp = _startpos_x_;
29100 MenhirLib.EngineTypes.endp = _endpos_x_;
29101 MenhirLib.EngineTypes.next = _menhir_stack;
29102 };
29103 };
29104 } = _menhir_stack in
29105 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
29106 let x : 'tv_meta_ident = Obj.magic x in
29107 let _startpos = _startpos_x_ in
29108 let _endpos = _endpos_xs_ in
29109 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29110 # 146 "standard.mly"
29111 ( x :: xs )
29112 # 29113 "parser_cocci_menhir.ml"
29113 in
29114 _menhir_env.MenhirLib.EngineTypes.stack <- {
29115 MenhirLib.EngineTypes.state = _menhir_s;
29116 MenhirLib.EngineTypes.semv = Obj.repr _v;
29117 MenhirLib.EngineTypes.startp = _startpos;
29118 MenhirLib.EngineTypes.endp = _endpos;
29119 MenhirLib.EngineTypes.next = _menhir_stack;
29120 });
29121 (fun _menhir_env ->
29122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29123 let {
29124 MenhirLib.EngineTypes.state = _menhir_s;
29125 MenhirLib.EngineTypes.semv = x;
29126 MenhirLib.EngineTypes.startp = _startpos_x_;
29127 MenhirLib.EngineTypes.endp = _endpos_x_;
29128 MenhirLib.EngineTypes.next = _menhir_stack;
29129 } = _menhir_stack in
29130 let x : 'tv_pure_ident = Obj.magic x in
29131 let _startpos = _startpos_x_ in
29132 let _endpos = _endpos_x_ in
29133 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29134 # 144 "standard.mly"
29135 ( [ x ] )
29136 # 29137 "parser_cocci_menhir.ml"
29137 in
29138 _menhir_env.MenhirLib.EngineTypes.stack <- {
29139 MenhirLib.EngineTypes.state = _menhir_s;
29140 MenhirLib.EngineTypes.semv = Obj.repr _v;
29141 MenhirLib.EngineTypes.startp = _startpos;
29142 MenhirLib.EngineTypes.endp = _endpos;
29143 MenhirLib.EngineTypes.next = _menhir_stack;
29144 });
29145 (fun _menhir_env ->
29146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29147 let {
29148 MenhirLib.EngineTypes.semv = xs;
29149 MenhirLib.EngineTypes.startp = _startpos_xs_;
29150 MenhirLib.EngineTypes.endp = _endpos_xs_;
29151 MenhirLib.EngineTypes.next = {
29152 MenhirLib.EngineTypes.startp = _startpos__2_;
29153 MenhirLib.EngineTypes.endp = _endpos__2_;
29154 MenhirLib.EngineTypes.next = {
29155 MenhirLib.EngineTypes.state = _menhir_s;
29156 MenhirLib.EngineTypes.semv = x;
29157 MenhirLib.EngineTypes.startp = _startpos_x_;
29158 MenhirLib.EngineTypes.endp = _endpos_x_;
29159 MenhirLib.EngineTypes.next = _menhir_stack;
29160 };
29161 };
29162 } = _menhir_stack in
29163 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
29164 let x : 'tv_pure_ident = Obj.magic x in
29165 let _startpos = _startpos_x_ in
29166 let _endpos = _endpos_xs_ in
29167 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29168 # 146 "standard.mly"
29169 ( x :: xs )
29170 # 29171 "parser_cocci_menhir.ml"
29171 in
29172 _menhir_env.MenhirLib.EngineTypes.stack <- {
29173 MenhirLib.EngineTypes.state = _menhir_s;
29174 MenhirLib.EngineTypes.semv = Obj.repr _v;
29175 MenhirLib.EngineTypes.startp = _startpos;
29176 MenhirLib.EngineTypes.endp = _endpos;
29177 MenhirLib.EngineTypes.next = _menhir_stack;
29178 });
29179 (fun _menhir_env ->
29180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29181 let {
29182 MenhirLib.EngineTypes.state = _menhir_s;
29183 MenhirLib.EngineTypes.semv = x;
29184 MenhirLib.EngineTypes.startp = _startpos_x_;
29185 MenhirLib.EngineTypes.endp = _endpos_x_;
29186 MenhirLib.EngineTypes.next = _menhir_stack;
29187 } = _menhir_stack in
29188 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29189 let _startpos = _startpos_x_ in
29190 let _endpos = _endpos_x_ in
29191 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29192 # 144 "standard.mly"
29193 ( [ x ] )
29194 # 29195 "parser_cocci_menhir.ml"
29195 in
29196 _menhir_env.MenhirLib.EngineTypes.stack <- {
29197 MenhirLib.EngineTypes.state = _menhir_s;
29198 MenhirLib.EngineTypes.semv = Obj.repr _v;
29199 MenhirLib.EngineTypes.startp = _startpos;
29200 MenhirLib.EngineTypes.endp = _endpos;
29201 MenhirLib.EngineTypes.next = _menhir_stack;
29202 });
29203 (fun _menhir_env ->
29204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29205 let {
29206 MenhirLib.EngineTypes.semv = xs;
29207 MenhirLib.EngineTypes.startp = _startpos_xs_;
29208 MenhirLib.EngineTypes.endp = _endpos_xs_;
29209 MenhirLib.EngineTypes.next = {
29210 MenhirLib.EngineTypes.startp = _startpos__2_;
29211 MenhirLib.EngineTypes.endp = _endpos__2_;
29212 MenhirLib.EngineTypes.next = {
29213 MenhirLib.EngineTypes.state = _menhir_s;
29214 MenhirLib.EngineTypes.semv = x;
29215 MenhirLib.EngineTypes.startp = _startpos_x_;
29216 MenhirLib.EngineTypes.endp = _endpos_x_;
29217 MenhirLib.EngineTypes.next = _menhir_stack;
29218 };
29219 };
29220 } = _menhir_stack in
29221 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
29222 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29223 let _startpos = _startpos_x_ in
29224 let _endpos = _endpos_xs_ in
29225 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29226 # 146 "standard.mly"
29227 ( x :: xs )
29228 # 29229 "parser_cocci_menhir.ml"
29229 in
29230 _menhir_env.MenhirLib.EngineTypes.stack <- {
29231 MenhirLib.EngineTypes.state = _menhir_s;
29232 MenhirLib.EngineTypes.semv = Obj.repr _v;
29233 MenhirLib.EngineTypes.startp = _startpos;
29234 MenhirLib.EngineTypes.endp = _endpos;
29235 MenhirLib.EngineTypes.next = _menhir_stack;
29236 });
29237 (fun _menhir_env ->
29238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29239 let {
29240 MenhirLib.EngineTypes.state = _menhir_s;
29241 MenhirLib.EngineTypes.semv = x;
29242 MenhirLib.EngineTypes.startp = _startpos_x_;
29243 MenhirLib.EngineTypes.endp = _endpos_x_;
29244 MenhirLib.EngineTypes.next = _menhir_stack;
29245 } = _menhir_stack in
29246 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
29247 let _startpos = _startpos_x_ in
29248 let _endpos = _endpos_x_ in
29249 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
29250 # 144 "standard.mly"
29251 ( [ x ] )
29252 # 29253 "parser_cocci_menhir.ml"
29253 in
29254 _menhir_env.MenhirLib.EngineTypes.stack <- {
29255 MenhirLib.EngineTypes.state = _menhir_s;
29256 MenhirLib.EngineTypes.semv = Obj.repr _v;
29257 MenhirLib.EngineTypes.startp = _startpos;
29258 MenhirLib.EngineTypes.endp = _endpos;
29259 MenhirLib.EngineTypes.next = _menhir_stack;
29260 });
29261 (fun _menhir_env ->
29262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29263 let {
29264 MenhirLib.EngineTypes.semv = xs;
29265 MenhirLib.EngineTypes.startp = _startpos_xs_;
29266 MenhirLib.EngineTypes.endp = _endpos_xs_;
29267 MenhirLib.EngineTypes.next = {
29268 MenhirLib.EngineTypes.startp = _startpos__2_;
29269 MenhirLib.EngineTypes.endp = _endpos__2_;
29270 MenhirLib.EngineTypes.next = {
29271 MenhirLib.EngineTypes.state = _menhir_s;
29272 MenhirLib.EngineTypes.semv = x;
29273 MenhirLib.EngineTypes.startp = _startpos_x_;
29274 MenhirLib.EngineTypes.endp = _endpos_x_;
29275 MenhirLib.EngineTypes.next = _menhir_stack;
29276 };
29277 };
29278 } = _menhir_stack in
29279 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic xs in
29280 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
29281 let _startpos = _startpos_x_ in
29282 let _endpos = _endpos_xs_ in
29283 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
29284 # 146 "standard.mly"
29285 ( x :: xs )
29286 # 29287 "parser_cocci_menhir.ml"
29287 in
29288 _menhir_env.MenhirLib.EngineTypes.stack <- {
29289 MenhirLib.EngineTypes.state = _menhir_s;
29290 MenhirLib.EngineTypes.semv = Obj.repr _v;
29291 MenhirLib.EngineTypes.startp = _startpos;
29292 MenhirLib.EngineTypes.endp = _endpos;
29293 MenhirLib.EngineTypes.next = _menhir_stack;
29294 });
29295 (fun _menhir_env ->
29296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29297 let {
29298 MenhirLib.EngineTypes.state = _menhir_s;
29299 MenhirLib.EngineTypes.semv = x;
29300 MenhirLib.EngineTypes.startp = _startpos_x_;
29301 MenhirLib.EngineTypes.endp = _endpos_x_;
29302 MenhirLib.EngineTypes.next = _menhir_stack;
29303 } = _menhir_stack in
29304 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29305 let _startpos = _startpos_x_ in
29306 let _endpos = _endpos_x_ in
29307 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29308 # 144 "standard.mly"
29309 ( [ x ] )
29310 # 29311 "parser_cocci_menhir.ml"
29311 in
29312 _menhir_env.MenhirLib.EngineTypes.stack <- {
29313 MenhirLib.EngineTypes.state = _menhir_s;
29314 MenhirLib.EngineTypes.semv = Obj.repr _v;
29315 MenhirLib.EngineTypes.startp = _startpos;
29316 MenhirLib.EngineTypes.endp = _endpos;
29317 MenhirLib.EngineTypes.next = _menhir_stack;
29318 });
29319 (fun _menhir_env ->
29320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29321 let {
29322 MenhirLib.EngineTypes.semv = xs;
29323 MenhirLib.EngineTypes.startp = _startpos_xs_;
29324 MenhirLib.EngineTypes.endp = _endpos_xs_;
29325 MenhirLib.EngineTypes.next = {
29326 MenhirLib.EngineTypes.startp = _startpos__2_;
29327 MenhirLib.EngineTypes.endp = _endpos__2_;
29328 MenhirLib.EngineTypes.next = {
29329 MenhirLib.EngineTypes.state = _menhir_s;
29330 MenhirLib.EngineTypes.semv = x;
29331 MenhirLib.EngineTypes.startp = _startpos_x_;
29332 MenhirLib.EngineTypes.endp = _endpos_x_;
29333 MenhirLib.EngineTypes.next = _menhir_stack;
29334 };
29335 };
29336 } = _menhir_stack in
29337 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
29338 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29339 let _startpos = _startpos_x_ in
29340 let _endpos = _endpos_xs_ in
29341 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29342 # 146 "standard.mly"
29343 ( x :: xs )
29344 # 29345 "parser_cocci_menhir.ml"
29345 in
29346 _menhir_env.MenhirLib.EngineTypes.stack <- {
29347 MenhirLib.EngineTypes.state = _menhir_s;
29348 MenhirLib.EngineTypes.semv = Obj.repr _v;
29349 MenhirLib.EngineTypes.startp = _startpos;
29350 MenhirLib.EngineTypes.endp = _endpos;
29351 MenhirLib.EngineTypes.next = _menhir_stack;
29352 });
29353 (fun _menhir_env ->
29354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29355 let {
29356 MenhirLib.EngineTypes.state = _menhir_s;
29357 MenhirLib.EngineTypes.semv = x;
29358 MenhirLib.EngineTypes.startp = _startpos_x_;
29359 MenhirLib.EngineTypes.endp = _endpos_x_;
29360 MenhirLib.EngineTypes.next = _menhir_stack;
29361 } = _menhir_stack in
29362 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29363 let _startpos = _startpos_x_ in
29364 let _endpos = _endpos_x_ in
29365 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29366 # 144 "standard.mly"
29367 ( [ x ] )
29368 # 29369 "parser_cocci_menhir.ml"
29369 in
29370 _menhir_env.MenhirLib.EngineTypes.stack <- {
29371 MenhirLib.EngineTypes.state = _menhir_s;
29372 MenhirLib.EngineTypes.semv = Obj.repr _v;
29373 MenhirLib.EngineTypes.startp = _startpos;
29374 MenhirLib.EngineTypes.endp = _endpos;
29375 MenhirLib.EngineTypes.next = _menhir_stack;
29376 });
29377 (fun _menhir_env ->
29378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29379 let {
29380 MenhirLib.EngineTypes.semv = xs;
29381 MenhirLib.EngineTypes.startp = _startpos_xs_;
29382 MenhirLib.EngineTypes.endp = _endpos_xs_;
29383 MenhirLib.EngineTypes.next = {
29384 MenhirLib.EngineTypes.startp = _startpos__2_;
29385 MenhirLib.EngineTypes.endp = _endpos__2_;
29386 MenhirLib.EngineTypes.next = {
29387 MenhirLib.EngineTypes.state = _menhir_s;
29388 MenhirLib.EngineTypes.semv = x;
29389 MenhirLib.EngineTypes.startp = _startpos_x_;
29390 MenhirLib.EngineTypes.endp = _endpos_x_;
29391 MenhirLib.EngineTypes.next = _menhir_stack;
29392 };
29393 };
29394 } = _menhir_stack in
29395 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
29396 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29397 let _startpos = _startpos_x_ in
29398 let _endpos = _endpos_xs_ in
29399 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29400 # 146 "standard.mly"
29401 ( x :: xs )
29402 # 29403 "parser_cocci_menhir.ml"
29403 in
29404 _menhir_env.MenhirLib.EngineTypes.stack <- {
29405 MenhirLib.EngineTypes.state = _menhir_s;
29406 MenhirLib.EngineTypes.semv = Obj.repr _v;
29407 MenhirLib.EngineTypes.startp = _startpos;
29408 MenhirLib.EngineTypes.endp = _endpos;
29409 MenhirLib.EngineTypes.next = _menhir_stack;
29410 });
29411 (fun _menhir_env ->
29412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29413 let {
29414 MenhirLib.EngineTypes.state = _menhir_s;
29415 MenhirLib.EngineTypes.semv = x;
29416 MenhirLib.EngineTypes.startp = _startpos_x_;
29417 MenhirLib.EngineTypes.endp = _endpos_x_;
29418 MenhirLib.EngineTypes.next = _menhir_stack;
29419 } = _menhir_stack in
29420 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
29421 let _startpos = _startpos_x_ in
29422 let _endpos = _endpos_x_ in
29423 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
29424 # 144 "standard.mly"
29425 ( [ x ] )
29426 # 29427 "parser_cocci_menhir.ml"
29427 in
29428 _menhir_env.MenhirLib.EngineTypes.stack <- {
29429 MenhirLib.EngineTypes.state = _menhir_s;
29430 MenhirLib.EngineTypes.semv = Obj.repr _v;
29431 MenhirLib.EngineTypes.startp = _startpos;
29432 MenhirLib.EngineTypes.endp = _endpos;
29433 MenhirLib.EngineTypes.next = _menhir_stack;
29434 });
29435 (fun _menhir_env ->
29436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29437 let {
29438 MenhirLib.EngineTypes.semv = xs;
29439 MenhirLib.EngineTypes.startp = _startpos_xs_;
29440 MenhirLib.EngineTypes.endp = _endpos_xs_;
29441 MenhirLib.EngineTypes.next = {
29442 MenhirLib.EngineTypes.startp = _startpos__2_;
29443 MenhirLib.EngineTypes.endp = _endpos__2_;
29444 MenhirLib.EngineTypes.next = {
29445 MenhirLib.EngineTypes.state = _menhir_s;
29446 MenhirLib.EngineTypes.semv = x;
29447 MenhirLib.EngineTypes.startp = _startpos_x_;
29448 MenhirLib.EngineTypes.endp = _endpos_x_;
29449 MenhirLib.EngineTypes.next = _menhir_stack;
29450 };
29451 };
29452 } = _menhir_stack in
29453 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic xs in
29454 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
29455 let _startpos = _startpos_x_ in
29456 let _endpos = _endpos_xs_ in
29457 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
29458 # 146 "standard.mly"
29459 ( x :: xs )
29460 # 29461 "parser_cocci_menhir.ml"
29461 in
29462 _menhir_env.MenhirLib.EngineTypes.stack <- {
29463 MenhirLib.EngineTypes.state = _menhir_s;
29464 MenhirLib.EngineTypes.semv = Obj.repr _v;
29465 MenhirLib.EngineTypes.startp = _startpos;
29466 MenhirLib.EngineTypes.endp = _endpos;
29467 MenhirLib.EngineTypes.next = _menhir_stack;
29468 });
29469 (fun _menhir_env ->
29470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29471 let {
29472 MenhirLib.EngineTypes.state = _menhir_s;
29473 MenhirLib.EngineTypes.semv = x;
29474 MenhirLib.EngineTypes.startp = _startpos_x_;
29475 MenhirLib.EngineTypes.endp = _endpos_x_;
29476 MenhirLib.EngineTypes.next = _menhir_stack;
29477 } = _menhir_stack in
29478 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29479 let _startpos = _startpos_x_ in
29480 let _endpos = _endpos_x_ in
29481 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29482 # 144 "standard.mly"
29483 ( [ x ] )
29484 # 29485 "parser_cocci_menhir.ml"
29485 in
29486 _menhir_env.MenhirLib.EngineTypes.stack <- {
29487 MenhirLib.EngineTypes.state = _menhir_s;
29488 MenhirLib.EngineTypes.semv = Obj.repr _v;
29489 MenhirLib.EngineTypes.startp = _startpos;
29490 MenhirLib.EngineTypes.endp = _endpos;
29491 MenhirLib.EngineTypes.next = _menhir_stack;
29492 });
29493 (fun _menhir_env ->
29494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29495 let {
29496 MenhirLib.EngineTypes.semv = xs;
29497 MenhirLib.EngineTypes.startp = _startpos_xs_;
29498 MenhirLib.EngineTypes.endp = _endpos_xs_;
29499 MenhirLib.EngineTypes.next = {
29500 MenhirLib.EngineTypes.startp = _startpos__2_;
29501 MenhirLib.EngineTypes.endp = _endpos__2_;
29502 MenhirLib.EngineTypes.next = {
29503 MenhirLib.EngineTypes.state = _menhir_s;
29504 MenhirLib.EngineTypes.semv = x;
29505 MenhirLib.EngineTypes.startp = _startpos_x_;
29506 MenhirLib.EngineTypes.endp = _endpos_x_;
29507 MenhirLib.EngineTypes.next = _menhir_stack;
29508 };
29509 };
29510 } = _menhir_stack in
29511 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
29512 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29513 let _startpos = _startpos_x_ in
29514 let _endpos = _endpos_xs_ in
29515 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29516 # 146 "standard.mly"
29517 ( x :: xs )
29518 # 29519 "parser_cocci_menhir.ml"
29519 in
29520 _menhir_env.MenhirLib.EngineTypes.stack <- {
29521 MenhirLib.EngineTypes.state = _menhir_s;
29522 MenhirLib.EngineTypes.semv = Obj.repr _v;
29523 MenhirLib.EngineTypes.startp = _startpos;
29524 MenhirLib.EngineTypes.endp = _endpos;
29525 MenhirLib.EngineTypes.next = _menhir_stack;
29526 });
29527 (fun _menhir_env ->
29528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29529 let {
29530 MenhirLib.EngineTypes.state = _menhir_s;
29531 MenhirLib.EngineTypes.semv = x;
29532 MenhirLib.EngineTypes.startp = _startpos_x_;
29533 MenhirLib.EngineTypes.endp = _endpos_x_;
29534 MenhirLib.EngineTypes.next = _menhir_stack;
29535 } = _menhir_stack in
29536 let x : 'tv_typedef_ident = Obj.magic x in
29537 let _startpos = _startpos_x_ in
29538 let _endpos = _endpos_x_ in
29539 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
29540 # 144 "standard.mly"
29541 ( [ x ] )
29542 # 29543 "parser_cocci_menhir.ml"
29543 in
29544 _menhir_env.MenhirLib.EngineTypes.stack <- {
29545 MenhirLib.EngineTypes.state = _menhir_s;
29546 MenhirLib.EngineTypes.semv = Obj.repr _v;
29547 MenhirLib.EngineTypes.startp = _startpos;
29548 MenhirLib.EngineTypes.endp = _endpos;
29549 MenhirLib.EngineTypes.next = _menhir_stack;
29550 });
29551 (fun _menhir_env ->
29552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29553 let {
29554 MenhirLib.EngineTypes.semv = xs;
29555 MenhirLib.EngineTypes.startp = _startpos_xs_;
29556 MenhirLib.EngineTypes.endp = _endpos_xs_;
29557 MenhirLib.EngineTypes.next = {
29558 MenhirLib.EngineTypes.startp = _startpos__2_;
29559 MenhirLib.EngineTypes.endp = _endpos__2_;
29560 MenhirLib.EngineTypes.next = {
29561 MenhirLib.EngineTypes.state = _menhir_s;
29562 MenhirLib.EngineTypes.semv = x;
29563 MenhirLib.EngineTypes.startp = _startpos_x_;
29564 MenhirLib.EngineTypes.endp = _endpos_x_;
29565 MenhirLib.EngineTypes.next = _menhir_stack;
29566 };
29567 };
29568 } = _menhir_stack in
29569 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
29570 let x : 'tv_typedef_ident = Obj.magic x in
29571 let _startpos = _startpos_x_ in
29572 let _endpos = _endpos_xs_ in
29573 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
29574 # 146 "standard.mly"
29575 ( x :: xs )
29576 # 29577 "parser_cocci_menhir.ml"
29577 in
29578 _menhir_env.MenhirLib.EngineTypes.stack <- {
29579 MenhirLib.EngineTypes.state = _menhir_s;
29580 MenhirLib.EngineTypes.semv = Obj.repr _v;
29581 MenhirLib.EngineTypes.startp = _startpos;
29582 MenhirLib.EngineTypes.endp = _endpos;
29583 MenhirLib.EngineTypes.next = _menhir_stack;
29584 });
29585 (fun _menhir_env ->
29586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29587 let {
29588 MenhirLib.EngineTypes.state = _menhir_s;
29589 MenhirLib.EngineTypes.semv = x;
29590 MenhirLib.EngineTypes.startp = _startpos_x_;
29591 MenhirLib.EngineTypes.endp = _endpos_x_;
29592 MenhirLib.EngineTypes.next = _menhir_stack;
29593 } = _menhir_stack in
29594 let x : 'tv_seed_elem = Obj.magic x in
29595 let _startpos = _startpos_x_ in
29596 let _endpos = _endpos_x_ in
29597 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
29598 # 144 "standard.mly"
29599 ( [ x ] )
29600 # 29601 "parser_cocci_menhir.ml"
29601 in
29602 _menhir_env.MenhirLib.EngineTypes.stack <- {
29603 MenhirLib.EngineTypes.state = _menhir_s;
29604 MenhirLib.EngineTypes.semv = Obj.repr _v;
29605 MenhirLib.EngineTypes.startp = _startpos;
29606 MenhirLib.EngineTypes.endp = _endpos;
29607 MenhirLib.EngineTypes.next = _menhir_stack;
29608 });
29609 (fun _menhir_env ->
29610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29611 let {
29612 MenhirLib.EngineTypes.semv = xs;
29613 MenhirLib.EngineTypes.startp = _startpos_xs_;
29614 MenhirLib.EngineTypes.endp = _endpos_xs_;
29615 MenhirLib.EngineTypes.next = {
29616 MenhirLib.EngineTypes.startp = _startpos__2_;
29617 MenhirLib.EngineTypes.endp = _endpos__2_;
29618 MenhirLib.EngineTypes.next = {
29619 MenhirLib.EngineTypes.state = _menhir_s;
29620 MenhirLib.EngineTypes.semv = x;
29621 MenhirLib.EngineTypes.startp = _startpos_x_;
29622 MenhirLib.EngineTypes.endp = _endpos_x_;
29623 MenhirLib.EngineTypes.next = _menhir_stack;
29624 };
29625 };
29626 } = _menhir_stack in
29627 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
29628 let x : 'tv_seed_elem = Obj.magic x in
29629 let _startpos = _startpos_x_ in
29630 let _endpos = _endpos_xs_ in
29631 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
29632 # 146 "standard.mly"
29633 ( x :: xs )
29634 # 29635 "parser_cocci_menhir.ml"
29635 in
29636 _menhir_env.MenhirLib.EngineTypes.stack <- {
29637 MenhirLib.EngineTypes.state = _menhir_s;
29638 MenhirLib.EngineTypes.semv = Obj.repr _v;
29639 MenhirLib.EngineTypes.startp = _startpos;
29640 MenhirLib.EngineTypes.endp = _endpos;
29641 MenhirLib.EngineTypes.next = _menhir_stack;
29642 });
29643 (fun _menhir_env ->
29644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29645 let {
29646 MenhirLib.EngineTypes.state = _menhir_s;
29647 MenhirLib.EngineTypes.semv = _1;
29648 MenhirLib.EngineTypes.startp = _startpos__1_;
29649 MenhirLib.EngineTypes.endp = _endpos__1_;
29650 MenhirLib.EngineTypes.next = _menhir_stack;
29651 } = _menhir_stack in
29652 let _1 : 'tv_statement = Obj.magic _1 in
29653 let _startpos = _startpos__1_ in
29654 let _endpos = _endpos__1_ in
29655 let _v : 'tv_single_statement =
29656 # 915 "parser_cocci_menhir.mly"
29657 ( _1 )
29658 # 29659 "parser_cocci_menhir.ml"
29659 in
29660 _menhir_env.MenhirLib.EngineTypes.stack <- {
29661 MenhirLib.EngineTypes.state = _menhir_s;
29662 MenhirLib.EngineTypes.semv = Obj.repr _v;
29663 MenhirLib.EngineTypes.startp = _startpos;
29664 MenhirLib.EngineTypes.endp = _endpos;
29665 MenhirLib.EngineTypes.next = _menhir_stack;
29666 });
29667 (fun _menhir_env ->
29668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29669 let {
29670 MenhirLib.EngineTypes.semv = _3;
29671 MenhirLib.EngineTypes.startp = _startpos__3_;
29672 MenhirLib.EngineTypes.endp = _endpos__3_;
29673 MenhirLib.EngineTypes.next = {
29674 MenhirLib.EngineTypes.semv = _2;
29675 MenhirLib.EngineTypes.startp = _startpos__2_;
29676 MenhirLib.EngineTypes.endp = _endpos__2_;
29677 MenhirLib.EngineTypes.next = {
29678 MenhirLib.EngineTypes.state = _menhir_s;
29679 MenhirLib.EngineTypes.semv = _1;
29680 MenhirLib.EngineTypes.startp = _startpos__1_;
29681 MenhirLib.EngineTypes.endp = _endpos__1_;
29682 MenhirLib.EngineTypes.next = _menhir_stack;
29683 };
29684 };
29685 } = _menhir_stack in
29686 let _3 : (
29687 # 77 "parser_cocci_menhir.mly"
29688 (Data.clt)
29689 # 29690 "parser_cocci_menhir.ml"
29690 ) = Obj.magic _3 in
29691 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
29692 let _1 : (
29693 # 76 "parser_cocci_menhir.mly"
29694 (Data.clt)
29695 # 29696 "parser_cocci_menhir.ml"
29696 ) = Obj.magic _1 in
29697 let _startpos = _startpos__1_ in
29698 let _endpos = _endpos__3_ in
29699 let _v : 'tv_single_statement =
29700 # 919 "parser_cocci_menhir.mly"
29701 ( let (mids,code) = _2 in
29702 Ast0.wrap
29703 (Ast0.Disj(P.clt2mcode "(" _1,
29704 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
29705 mids, P.clt2mcode ")" _3)) )
29706 # 29707 "parser_cocci_menhir.ml"
29707 in
29708 _menhir_env.MenhirLib.EngineTypes.stack <- {
29709 MenhirLib.EngineTypes.state = _menhir_s;
29710 MenhirLib.EngineTypes.semv = Obj.repr _v;
29711 MenhirLib.EngineTypes.startp = _startpos;
29712 MenhirLib.EngineTypes.endp = _endpos;
29713 MenhirLib.EngineTypes.next = _menhir_stack;
29714 });
29715 (fun _menhir_env ->
29716 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29717 let {
29718 MenhirLib.EngineTypes.state = _menhir_s;
29719 MenhirLib.EngineTypes.semv = _1;
29720 MenhirLib.EngineTypes.startp = _startpos__1_;
29721 MenhirLib.EngineTypes.endp = _endpos__1_;
29722 MenhirLib.EngineTypes.next = _menhir_stack;
29723 } = _menhir_stack in
29724 let _1 : 'tv_includes = Obj.magic _1 in
29725 let _startpos = _startpos__1_ in
29726 let _endpos = _endpos__1_ in
29727 let _v : 'tv_statement =
29728 # 842 "parser_cocci_menhir.mly"
29729 ( _1 )
29730 # 29731 "parser_cocci_menhir.ml"
29731 in
29732 _menhir_env.MenhirLib.EngineTypes.stack <- {
29733 MenhirLib.EngineTypes.state = _menhir_s;
29734 MenhirLib.EngineTypes.semv = Obj.repr _v;
29735 MenhirLib.EngineTypes.startp = _startpos;
29736 MenhirLib.EngineTypes.endp = _endpos;
29737 MenhirLib.EngineTypes.next = _menhir_stack;
29738 });
29739 (fun _menhir_env ->
29740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29741 let {
29742 MenhirLib.EngineTypes.state = _menhir_s;
29743 MenhirLib.EngineTypes.semv = _1;
29744 MenhirLib.EngineTypes.startp = _startpos__1_;
29745 MenhirLib.EngineTypes.endp = _endpos__1_;
29746 MenhirLib.EngineTypes.next = _menhir_stack;
29747 } = _menhir_stack in
29748 let _1 : (
29749 # 64 "parser_cocci_menhir.mly"
29750 (Parse_aux.info)
29751 # 29752 "parser_cocci_menhir.ml"
29752 ) = Obj.magic _1 in
29753 let _startpos = _startpos__1_ in
29754 let _endpos = _endpos__1_ in
29755 let _v : 'tv_statement =
29756 # 844 "parser_cocci_menhir.mly"
29757 ( P.meta_stm _1 )
29758 # 29759 "parser_cocci_menhir.ml"
29759 in
29760 _menhir_env.MenhirLib.EngineTypes.stack <- {
29761 MenhirLib.EngineTypes.state = _menhir_s;
29762 MenhirLib.EngineTypes.semv = Obj.repr _v;
29763 MenhirLib.EngineTypes.startp = _startpos;
29764 MenhirLib.EngineTypes.endp = _endpos;
29765 MenhirLib.EngineTypes.next = _menhir_stack;
29766 });
29767 (fun _menhir_env ->
29768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29769 let {
29770 MenhirLib.EngineTypes.semv = _2;
29771 MenhirLib.EngineTypes.startp = _startpos__2_;
29772 MenhirLib.EngineTypes.endp = _endpos__2_;
29773 MenhirLib.EngineTypes.next = {
29774 MenhirLib.EngineTypes.state = _menhir_s;
29775 MenhirLib.EngineTypes.semv = _1;
29776 MenhirLib.EngineTypes.startp = _startpos__1_;
29777 MenhirLib.EngineTypes.endp = _endpos__1_;
29778 MenhirLib.EngineTypes.next = _menhir_stack;
29779 };
29780 } = _menhir_stack in
29781 let _2 : (
29782 # 107 "parser_cocci_menhir.mly"
29783 (Data.clt)
29784 # 29785 "parser_cocci_menhir.ml"
29785 ) = Obj.magic _2 in
29786 let _1 : 'tv_expr = Obj.magic _1 in
29787 let _startpos = _startpos__1_ in
29788 let _endpos = _endpos__2_ in
29789 let _v : 'tv_statement =
29790 # 846 "parser_cocci_menhir.mly"
29791 ( P.exp_stm _1 _2 )
29792 # 29793 "parser_cocci_menhir.ml"
29793 in
29794 _menhir_env.MenhirLib.EngineTypes.stack <- {
29795 MenhirLib.EngineTypes.state = _menhir_s;
29796 MenhirLib.EngineTypes.semv = Obj.repr _v;
29797 MenhirLib.EngineTypes.startp = _startpos;
29798 MenhirLib.EngineTypes.endp = _endpos;
29799 MenhirLib.EngineTypes.next = _menhir_stack;
29800 });
29801 (fun _menhir_env ->
29802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29803 let {
29804 MenhirLib.EngineTypes.semv = _5;
29805 MenhirLib.EngineTypes.startp = _startpos__5_;
29806 MenhirLib.EngineTypes.endp = _endpos__5_;
29807 MenhirLib.EngineTypes.next = {
29808 MenhirLib.EngineTypes.semv = _4;
29809 MenhirLib.EngineTypes.startp = _startpos__4_;
29810 MenhirLib.EngineTypes.endp = _endpos__4_;
29811 MenhirLib.EngineTypes.next = {
29812 MenhirLib.EngineTypes.semv = _3;
29813 MenhirLib.EngineTypes.startp = _startpos__3_;
29814 MenhirLib.EngineTypes.endp = _endpos__3_;
29815 MenhirLib.EngineTypes.next = {
29816 MenhirLib.EngineTypes.semv = _2;
29817 MenhirLib.EngineTypes.startp = _startpos__2_;
29818 MenhirLib.EngineTypes.endp = _endpos__2_;
29819 MenhirLib.EngineTypes.next = {
29820 MenhirLib.EngineTypes.state = _menhir_s;
29821 MenhirLib.EngineTypes.semv = _1;
29822 MenhirLib.EngineTypes.startp = _startpos__1_;
29823 MenhirLib.EngineTypes.endp = _endpos__1_;
29824 MenhirLib.EngineTypes.next = _menhir_stack;
29825 };
29826 };
29827 };
29828 };
29829 } = _menhir_stack in
29830 let _5 : 'tv_single_statement = Obj.magic _5 in
29831 let _4 : (
29832 # 77 "parser_cocci_menhir.mly"
29833 (Data.clt)
29834 # 29835 "parser_cocci_menhir.ml"
29835 ) = Obj.magic _4 in
29836 let _3 : 'tv_eexpr = Obj.magic _3 in
29837 let _2 : (
29838 # 76 "parser_cocci_menhir.mly"
29839 (Data.clt)
29840 # 29841 "parser_cocci_menhir.ml"
29841 ) = Obj.magic _2 in
29842 let _1 : (
29843 # 57 "parser_cocci_menhir.mly"
29844 (Data.clt)
29845 # 29846 "parser_cocci_menhir.ml"
29846 ) = Obj.magic _1 in
29847 let _startpos = _startpos__1_ in
29848 let _endpos = _endpos__5_ in
29849 let _v : 'tv_statement =
29850 # 848 "parser_cocci_menhir.mly"
29851 ( P.ifthen _1 _2 _3 _4 _5 )
29852 # 29853 "parser_cocci_menhir.ml"
29853 in
29854 _menhir_env.MenhirLib.EngineTypes.stack <- {
29855 MenhirLib.EngineTypes.state = _menhir_s;
29856 MenhirLib.EngineTypes.semv = Obj.repr _v;
29857 MenhirLib.EngineTypes.startp = _startpos;
29858 MenhirLib.EngineTypes.endp = _endpos;
29859 MenhirLib.EngineTypes.next = _menhir_stack;
29860 });
29861 (fun _menhir_env ->
29862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29863 let {
29864 MenhirLib.EngineTypes.semv = _7;
29865 MenhirLib.EngineTypes.startp = _startpos__7_;
29866 MenhirLib.EngineTypes.endp = _endpos__7_;
29867 MenhirLib.EngineTypes.next = {
29868 MenhirLib.EngineTypes.semv = _6;
29869 MenhirLib.EngineTypes.startp = _startpos__6_;
29870 MenhirLib.EngineTypes.endp = _endpos__6_;
29871 MenhirLib.EngineTypes.next = {
29872 MenhirLib.EngineTypes.semv = _5;
29873 MenhirLib.EngineTypes.startp = _startpos__5_;
29874 MenhirLib.EngineTypes.endp = _endpos__5_;
29875 MenhirLib.EngineTypes.next = {
29876 MenhirLib.EngineTypes.semv = _4;
29877 MenhirLib.EngineTypes.startp = _startpos__4_;
29878 MenhirLib.EngineTypes.endp = _endpos__4_;
29879 MenhirLib.EngineTypes.next = {
29880 MenhirLib.EngineTypes.semv = _3;
29881 MenhirLib.EngineTypes.startp = _startpos__3_;
29882 MenhirLib.EngineTypes.endp = _endpos__3_;
29883 MenhirLib.EngineTypes.next = {
29884 MenhirLib.EngineTypes.semv = _2;
29885 MenhirLib.EngineTypes.startp = _startpos__2_;
29886 MenhirLib.EngineTypes.endp = _endpos__2_;
29887 MenhirLib.EngineTypes.next = {
29888 MenhirLib.EngineTypes.state = _menhir_s;
29889 MenhirLib.EngineTypes.semv = _1;
29890 MenhirLib.EngineTypes.startp = _startpos__1_;
29891 MenhirLib.EngineTypes.endp = _endpos__1_;
29892 MenhirLib.EngineTypes.next = _menhir_stack;
29893 };
29894 };
29895 };
29896 };
29897 };
29898 };
29899 } = _menhir_stack in
29900 let _7 : 'tv_single_statement = Obj.magic _7 in
29901 let _6 : (
29902 # 57 "parser_cocci_menhir.mly"
29903 (Data.clt)
29904 # 29905 "parser_cocci_menhir.ml"
29905 ) = Obj.magic _6 in
29906 let _5 : 'tv_single_statement = Obj.magic _5 in
29907 let _4 : (
29908 # 77 "parser_cocci_menhir.mly"
29909 (Data.clt)
29910 # 29911 "parser_cocci_menhir.ml"
29911 ) = Obj.magic _4 in
29912 let _3 : 'tv_eexpr = Obj.magic _3 in
29913 let _2 : (
29914 # 76 "parser_cocci_menhir.mly"
29915 (Data.clt)
29916 # 29917 "parser_cocci_menhir.ml"
29917 ) = Obj.magic _2 in
29918 let _1 : (
29919 # 57 "parser_cocci_menhir.mly"
29920 (Data.clt)
29921 # 29922 "parser_cocci_menhir.ml"
29922 ) = Obj.magic _1 in
29923 let _startpos = _startpos__1_ in
29924 let _endpos = _endpos__7_ in
29925 let _v : 'tv_statement =
29926 # 850 "parser_cocci_menhir.mly"
29927 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
29928 # 29929 "parser_cocci_menhir.ml"
29929 in
29930 _menhir_env.MenhirLib.EngineTypes.stack <- {
29931 MenhirLib.EngineTypes.state = _menhir_s;
29932 MenhirLib.EngineTypes.semv = Obj.repr _v;
29933 MenhirLib.EngineTypes.startp = _startpos;
29934 MenhirLib.EngineTypes.endp = _endpos;
29935 MenhirLib.EngineTypes.next = _menhir_stack;
29936 });
29937 (fun _menhir_env ->
29938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29939 let {
29940 MenhirLib.EngineTypes.semv = _9;
29941 MenhirLib.EngineTypes.startp = _startpos__9_;
29942 MenhirLib.EngineTypes.endp = _endpos__9_;
29943 MenhirLib.EngineTypes.next = {
29944 MenhirLib.EngineTypes.semv = _8;
29945 MenhirLib.EngineTypes.startp = _startpos__8_;
29946 MenhirLib.EngineTypes.endp = _endpos__8_;
29947 MenhirLib.EngineTypes.next = {
29948 MenhirLib.EngineTypes.semv = _7;
29949 MenhirLib.EngineTypes.startp = _startpos__7_;
29950 MenhirLib.EngineTypes.endp = _endpos__7_;
29951 MenhirLib.EngineTypes.next = {
29952 MenhirLib.EngineTypes.semv = _6;
29953 MenhirLib.EngineTypes.startp = _startpos__6_;
29954 MenhirLib.EngineTypes.endp = _endpos__6_;
29955 MenhirLib.EngineTypes.next = {
29956 MenhirLib.EngineTypes.semv = _5;
29957 MenhirLib.EngineTypes.startp = _startpos__5_;
29958 MenhirLib.EngineTypes.endp = _endpos__5_;
29959 MenhirLib.EngineTypes.next = {
29960 MenhirLib.EngineTypes.semv = _4;
29961 MenhirLib.EngineTypes.startp = _startpos__4_;
29962 MenhirLib.EngineTypes.endp = _endpos__4_;
29963 MenhirLib.EngineTypes.next = {
29964 MenhirLib.EngineTypes.semv = _3;
29965 MenhirLib.EngineTypes.startp = _startpos__3_;
29966 MenhirLib.EngineTypes.endp = _endpos__3_;
29967 MenhirLib.EngineTypes.next = {
29968 MenhirLib.EngineTypes.semv = _2;
29969 MenhirLib.EngineTypes.startp = _startpos__2_;
29970 MenhirLib.EngineTypes.endp = _endpos__2_;
29971 MenhirLib.EngineTypes.next = {
29972 MenhirLib.EngineTypes.state = _menhir_s;
29973 MenhirLib.EngineTypes.semv = _1;
29974 MenhirLib.EngineTypes.startp = _startpos__1_;
29975 MenhirLib.EngineTypes.endp = _endpos__1_;
29976 MenhirLib.EngineTypes.next = _menhir_stack;
29977 };
29978 };
29979 };
29980 };
29981 };
29982 };
29983 };
29984 };
29985 } = _menhir_stack in
29986 let _9 : 'tv_single_statement = Obj.magic _9 in
29987 let _8 : (
29988 # 77 "parser_cocci_menhir.mly"
29989 (Data.clt)
29990 # 29991 "parser_cocci_menhir.ml"
29991 ) = Obj.magic _8 in
29992 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
29993 let _6 : (
29994 # 107 "parser_cocci_menhir.mly"
29995 (Data.clt)
29996 # 29997 "parser_cocci_menhir.ml"
29997 ) = Obj.magic _6 in
29998 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
29999 let _4 : (
30000 # 107 "parser_cocci_menhir.mly"
30001 (Data.clt)
30002 # 30003 "parser_cocci_menhir.ml"
30003 ) = Obj.magic _4 in
30004 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
30005 let _2 : (
30006 # 76 "parser_cocci_menhir.mly"
30007 (Data.clt)
30008 # 30009 "parser_cocci_menhir.ml"
30009 ) = Obj.magic _2 in
30010 let _1 : (
30011 # 57 "parser_cocci_menhir.mly"
30012 (Data.clt)
30013 # 30014 "parser_cocci_menhir.ml"
30014 ) = Obj.magic _1 in
30015 let _startpos = _startpos__1_ in
30016 let _endpos = _endpos__9_ in
30017 let _v : 'tv_statement =
30018 # 853 "parser_cocci_menhir.mly"
30019 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
30020 # 30021 "parser_cocci_menhir.ml"
30021 in
30022 _menhir_env.MenhirLib.EngineTypes.stack <- {
30023 MenhirLib.EngineTypes.state = _menhir_s;
30024 MenhirLib.EngineTypes.semv = Obj.repr _v;
30025 MenhirLib.EngineTypes.startp = _startpos;
30026 MenhirLib.EngineTypes.endp = _endpos;
30027 MenhirLib.EngineTypes.next = _menhir_stack;
30028 });
30029 (fun _menhir_env ->
30030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30031 let {
30032 MenhirLib.EngineTypes.semv = _5;
30033 MenhirLib.EngineTypes.startp = _startpos__5_;
30034 MenhirLib.EngineTypes.endp = _endpos__5_;
30035 MenhirLib.EngineTypes.next = {
30036 MenhirLib.EngineTypes.semv = _4;
30037 MenhirLib.EngineTypes.startp = _startpos__4_;
30038 MenhirLib.EngineTypes.endp = _endpos__4_;
30039 MenhirLib.EngineTypes.next = {
30040 MenhirLib.EngineTypes.semv = _3;
30041 MenhirLib.EngineTypes.startp = _startpos__3_;
30042 MenhirLib.EngineTypes.endp = _endpos__3_;
30043 MenhirLib.EngineTypes.next = {
30044 MenhirLib.EngineTypes.semv = _2;
30045 MenhirLib.EngineTypes.startp = _startpos__2_;
30046 MenhirLib.EngineTypes.endp = _endpos__2_;
30047 MenhirLib.EngineTypes.next = {
30048 MenhirLib.EngineTypes.state = _menhir_s;
30049 MenhirLib.EngineTypes.semv = _1;
30050 MenhirLib.EngineTypes.startp = _startpos__1_;
30051 MenhirLib.EngineTypes.endp = _endpos__1_;
30052 MenhirLib.EngineTypes.next = _menhir_stack;
30053 };
30054 };
30055 };
30056 };
30057 } = _menhir_stack in
30058 let _5 : 'tv_single_statement = Obj.magic _5 in
30059 let _4 : (
30060 # 77 "parser_cocci_menhir.mly"
30061 (Data.clt)
30062 # 30063 "parser_cocci_menhir.ml"
30063 ) = Obj.magic _4 in
30064 let _3 : 'tv_eexpr = Obj.magic _3 in
30065 let _2 : (
30066 # 76 "parser_cocci_menhir.mly"
30067 (Data.clt)
30068 # 30069 "parser_cocci_menhir.ml"
30069 ) = Obj.magic _2 in
30070 let _1 : (
30071 # 57 "parser_cocci_menhir.mly"
30072 (Data.clt)
30073 # 30074 "parser_cocci_menhir.ml"
30074 ) = Obj.magic _1 in
30075 let _startpos = _startpos__1_ in
30076 let _endpos = _endpos__5_ in
30077 let _v : 'tv_statement =
30078 # 855 "parser_cocci_menhir.mly"
30079 ( P.whileloop _1 _2 _3 _4 _5 )
30080 # 30081 "parser_cocci_menhir.ml"
30081 in
30082 _menhir_env.MenhirLib.EngineTypes.stack <- {
30083 MenhirLib.EngineTypes.state = _menhir_s;
30084 MenhirLib.EngineTypes.semv = Obj.repr _v;
30085 MenhirLib.EngineTypes.startp = _startpos;
30086 MenhirLib.EngineTypes.endp = _endpos;
30087 MenhirLib.EngineTypes.next = _menhir_stack;
30088 });
30089 (fun _menhir_env ->
30090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30091 let {
30092 MenhirLib.EngineTypes.semv = _7;
30093 MenhirLib.EngineTypes.startp = _startpos__7_;
30094 MenhirLib.EngineTypes.endp = _endpos__7_;
30095 MenhirLib.EngineTypes.next = {
30096 MenhirLib.EngineTypes.semv = _6;
30097 MenhirLib.EngineTypes.startp = _startpos__6_;
30098 MenhirLib.EngineTypes.endp = _endpos__6_;
30099 MenhirLib.EngineTypes.next = {
30100 MenhirLib.EngineTypes.semv = _5;
30101 MenhirLib.EngineTypes.startp = _startpos__5_;
30102 MenhirLib.EngineTypes.endp = _endpos__5_;
30103 MenhirLib.EngineTypes.next = {
30104 MenhirLib.EngineTypes.semv = _4;
30105 MenhirLib.EngineTypes.startp = _startpos__4_;
30106 MenhirLib.EngineTypes.endp = _endpos__4_;
30107 MenhirLib.EngineTypes.next = {
30108 MenhirLib.EngineTypes.semv = _3;
30109 MenhirLib.EngineTypes.startp = _startpos__3_;
30110 MenhirLib.EngineTypes.endp = _endpos__3_;
30111 MenhirLib.EngineTypes.next = {
30112 MenhirLib.EngineTypes.semv = _2;
30113 MenhirLib.EngineTypes.startp = _startpos__2_;
30114 MenhirLib.EngineTypes.endp = _endpos__2_;
30115 MenhirLib.EngineTypes.next = {
30116 MenhirLib.EngineTypes.state = _menhir_s;
30117 MenhirLib.EngineTypes.semv = _1;
30118 MenhirLib.EngineTypes.startp = _startpos__1_;
30119 MenhirLib.EngineTypes.endp = _endpos__1_;
30120 MenhirLib.EngineTypes.next = _menhir_stack;
30121 };
30122 };
30123 };
30124 };
30125 };
30126 };
30127 } = _menhir_stack in
30128 let _7 : (
30129 # 107 "parser_cocci_menhir.mly"
30130 (Data.clt)
30131 # 30132 "parser_cocci_menhir.ml"
30132 ) = Obj.magic _7 in
30133 let _6 : (
30134 # 77 "parser_cocci_menhir.mly"
30135 (Data.clt)
30136 # 30137 "parser_cocci_menhir.ml"
30137 ) = Obj.magic _6 in
30138 let _5 : 'tv_eexpr = Obj.magic _5 in
30139 let _4 : (
30140 # 76 "parser_cocci_menhir.mly"
30141 (Data.clt)
30142 # 30143 "parser_cocci_menhir.ml"
30143 ) = Obj.magic _4 in
30144 let _3 : (
30145 # 57 "parser_cocci_menhir.mly"
30146 (Data.clt)
30147 # 30148 "parser_cocci_menhir.ml"
30148 ) = Obj.magic _3 in
30149 let _2 : 'tv_single_statement = Obj.magic _2 in
30150 let _1 : (
30151 # 57 "parser_cocci_menhir.mly"
30152 (Data.clt)
30153 # 30154 "parser_cocci_menhir.ml"
30154 ) = Obj.magic _1 in
30155 let _startpos = _startpos__1_ in
30156 let _endpos = _endpos__7_ in
30157 let _v : 'tv_statement =
30158 # 857 "parser_cocci_menhir.mly"
30159 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
30160 # 30161 "parser_cocci_menhir.ml"
30161 in
30162 _menhir_env.MenhirLib.EngineTypes.stack <- {
30163 MenhirLib.EngineTypes.state = _menhir_s;
30164 MenhirLib.EngineTypes.semv = Obj.repr _v;
30165 MenhirLib.EngineTypes.startp = _startpos;
30166 MenhirLib.EngineTypes.endp = _endpos;
30167 MenhirLib.EngineTypes.next = _menhir_stack;
30168 });
30169 (fun _menhir_env ->
30170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30171 let {
30172 MenhirLib.EngineTypes.semv = _5;
30173 MenhirLib.EngineTypes.startp = _startpos__5_;
30174 MenhirLib.EngineTypes.endp = _endpos__5_;
30175 MenhirLib.EngineTypes.next = {
30176 MenhirLib.EngineTypes.semv = _4;
30177 MenhirLib.EngineTypes.startp = _startpos__4_;
30178 MenhirLib.EngineTypes.endp = _endpos__4_;
30179 MenhirLib.EngineTypes.next = {
30180 MenhirLib.EngineTypes.semv = _3;
30181 MenhirLib.EngineTypes.startp = _startpos__3_;
30182 MenhirLib.EngineTypes.endp = _endpos__3_;
30183 MenhirLib.EngineTypes.next = {
30184 MenhirLib.EngineTypes.semv = _2;
30185 MenhirLib.EngineTypes.startp = _startpos__2_;
30186 MenhirLib.EngineTypes.endp = _endpos__2_;
30187 MenhirLib.EngineTypes.next = {
30188 MenhirLib.EngineTypes.state = _menhir_s;
30189 MenhirLib.EngineTypes.semv = _1;
30190 MenhirLib.EngineTypes.startp = _startpos__1_;
30191 MenhirLib.EngineTypes.endp = _endpos__1_;
30192 MenhirLib.EngineTypes.next = _menhir_stack;
30193 };
30194 };
30195 };
30196 };
30197 } = _menhir_stack in
30198 let _5 : 'tv_single_statement = Obj.magic _5 in
30199 let _4 : (
30200 # 77 "parser_cocci_menhir.mly"
30201 (Data.clt)
30202 # 30203 "parser_cocci_menhir.ml"
30203 ) = Obj.magic _4 in
30204 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
30205 let _2 : (
30206 # 76 "parser_cocci_menhir.mly"
30207 (Data.clt)
30208 # 30209 "parser_cocci_menhir.ml"
30209 ) = Obj.magic _2 in
30210 let _1 : 'tv_iter_ident = Obj.magic _1 in
30211 let _startpos = _startpos__1_ in
30212 let _endpos = _endpos__5_ in
30213 let _v : 'tv_statement =
30214 # 859 "parser_cocci_menhir.mly"
30215 ( P.iterator _1 _2 _3 _4 _5 )
30216 # 30217 "parser_cocci_menhir.ml"
30217 in
30218 _menhir_env.MenhirLib.EngineTypes.stack <- {
30219 MenhirLib.EngineTypes.state = _menhir_s;
30220 MenhirLib.EngineTypes.semv = Obj.repr _v;
30221 MenhirLib.EngineTypes.startp = _startpos;
30222 MenhirLib.EngineTypes.endp = _endpos;
30223 MenhirLib.EngineTypes.next = _menhir_stack;
30224 });
30225 (fun _menhir_env ->
30226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30227 let {
30228 MenhirLib.EngineTypes.semv = _8;
30229 MenhirLib.EngineTypes.startp = _startpos__8_;
30230 MenhirLib.EngineTypes.endp = _endpos__8_;
30231 MenhirLib.EngineTypes.next = {
30232 MenhirLib.EngineTypes.semv = _7;
30233 MenhirLib.EngineTypes.startp = _startpos__7_;
30234 MenhirLib.EngineTypes.endp = _endpos__7_;
30235 MenhirLib.EngineTypes.next = {
30236 MenhirLib.EngineTypes.semv = _6;
30237 MenhirLib.EngineTypes.startp = _startpos__6_;
30238 MenhirLib.EngineTypes.endp = _endpos__6_;
30239 MenhirLib.EngineTypes.next = {
30240 MenhirLib.EngineTypes.semv = _5;
30241 MenhirLib.EngineTypes.startp = _startpos__5_;
30242 MenhirLib.EngineTypes.endp = _endpos__5_;
30243 MenhirLib.EngineTypes.next = {
30244 MenhirLib.EngineTypes.semv = _4;
30245 MenhirLib.EngineTypes.startp = _startpos__4_;
30246 MenhirLib.EngineTypes.endp = _endpos__4_;
30247 MenhirLib.EngineTypes.next = {
30248 MenhirLib.EngineTypes.semv = _3;
30249 MenhirLib.EngineTypes.startp = _startpos__3_;
30250 MenhirLib.EngineTypes.endp = _endpos__3_;
30251 MenhirLib.EngineTypes.next = {
30252 MenhirLib.EngineTypes.semv = _2;
30253 MenhirLib.EngineTypes.startp = _startpos__2_;
30254 MenhirLib.EngineTypes.endp = _endpos__2_;
30255 MenhirLib.EngineTypes.next = {
30256 MenhirLib.EngineTypes.state = _menhir_s;
30257 MenhirLib.EngineTypes.semv = _1;
30258 MenhirLib.EngineTypes.startp = _startpos__1_;
30259 MenhirLib.EngineTypes.endp = _endpos__1_;
30260 MenhirLib.EngineTypes.next = _menhir_stack;
30261 };
30262 };
30263 };
30264 };
30265 };
30266 };
30267 };
30268 } = _menhir_stack in
30269 let _8 : (
30270 # 101 "parser_cocci_menhir.mly"
30271 (Data.clt)
30272 # 30273 "parser_cocci_menhir.ml"
30273 ) = Obj.magic _8 in
30274 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
30275 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
30276 let _5 : (
30277 # 101 "parser_cocci_menhir.mly"
30278 (Data.clt)
30279 # 30280 "parser_cocci_menhir.ml"
30280 ) = Obj.magic _5 in
30281 let _4 : (
30282 # 77 "parser_cocci_menhir.mly"
30283 (Data.clt)
30284 # 30285 "parser_cocci_menhir.ml"
30285 ) = Obj.magic _4 in
30286 let _3 : 'tv_eexpr = Obj.magic _3 in
30287 let _2 : (
30288 # 76 "parser_cocci_menhir.mly"
30289 (Data.clt)
30290 # 30291 "parser_cocci_menhir.ml"
30291 ) = Obj.magic _2 in
30292 let _1 : (
30293 # 57 "parser_cocci_menhir.mly"
30294 (Data.clt)
30295 # 30296 "parser_cocci_menhir.ml"
30296 ) = Obj.magic _1 in
30297 let _startpos = _startpos__1_ in
30298 let _endpos = _endpos__8_ in
30299 let _v : 'tv_statement =
30300 # 861 "parser_cocci_menhir.mly"
30301 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
30302 # 30303 "parser_cocci_menhir.ml"
30303 in
30304 _menhir_env.MenhirLib.EngineTypes.stack <- {
30305 MenhirLib.EngineTypes.state = _menhir_s;
30306 MenhirLib.EngineTypes.semv = Obj.repr _v;
30307 MenhirLib.EngineTypes.startp = _startpos;
30308 MenhirLib.EngineTypes.endp = _endpos;
30309 MenhirLib.EngineTypes.next = _menhir_stack;
30310 });
30311 (fun _menhir_env ->
30312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30313 let {
30314 MenhirLib.EngineTypes.semv = _3;
30315 MenhirLib.EngineTypes.startp = _startpos__3_;
30316 MenhirLib.EngineTypes.endp = _endpos__3_;
30317 MenhirLib.EngineTypes.next = {
30318 MenhirLib.EngineTypes.semv = _2;
30319 MenhirLib.EngineTypes.startp = _startpos__2_;
30320 MenhirLib.EngineTypes.endp = _endpos__2_;
30321 MenhirLib.EngineTypes.next = {
30322 MenhirLib.EngineTypes.state = _menhir_s;
30323 MenhirLib.EngineTypes.semv = _1;
30324 MenhirLib.EngineTypes.startp = _startpos__1_;
30325 MenhirLib.EngineTypes.endp = _endpos__1_;
30326 MenhirLib.EngineTypes.next = _menhir_stack;
30327 };
30328 };
30329 } = _menhir_stack in
30330 let _3 : (
30331 # 107 "parser_cocci_menhir.mly"
30332 (Data.clt)
30333 # 30334 "parser_cocci_menhir.ml"
30334 ) = Obj.magic _3 in
30335 let _2 : 'tv_eexpr = Obj.magic _2 in
30336 let _1 : (
30337 # 57 "parser_cocci_menhir.mly"
30338 (Data.clt)
30339 # 30340 "parser_cocci_menhir.ml"
30340 ) = Obj.magic _1 in
30341 let _startpos = _startpos__1_ in
30342 let _endpos = _endpos__3_ in
30343 let _v : 'tv_statement =
30344 # 862 "parser_cocci_menhir.mly"
30345 ( P.ret_exp _1 _2 _3 )
30346 # 30347 "parser_cocci_menhir.ml"
30347 in
30348 _menhir_env.MenhirLib.EngineTypes.stack <- {
30349 MenhirLib.EngineTypes.state = _menhir_s;
30350 MenhirLib.EngineTypes.semv = Obj.repr _v;
30351 MenhirLib.EngineTypes.startp = _startpos;
30352 MenhirLib.EngineTypes.endp = _endpos;
30353 MenhirLib.EngineTypes.next = _menhir_stack;
30354 });
30355 (fun _menhir_env ->
30356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30357 let {
30358 MenhirLib.EngineTypes.semv = _2;
30359 MenhirLib.EngineTypes.startp = _startpos__2_;
30360 MenhirLib.EngineTypes.endp = _endpos__2_;
30361 MenhirLib.EngineTypes.next = {
30362 MenhirLib.EngineTypes.state = _menhir_s;
30363 MenhirLib.EngineTypes.semv = _1;
30364 MenhirLib.EngineTypes.startp = _startpos__1_;
30365 MenhirLib.EngineTypes.endp = _endpos__1_;
30366 MenhirLib.EngineTypes.next = _menhir_stack;
30367 };
30368 } = _menhir_stack in
30369 let _2 : (
30370 # 107 "parser_cocci_menhir.mly"
30371 (Data.clt)
30372 # 30373 "parser_cocci_menhir.ml"
30373 ) = Obj.magic _2 in
30374 let _1 : (
30375 # 57 "parser_cocci_menhir.mly"
30376 (Data.clt)
30377 # 30378 "parser_cocci_menhir.ml"
30378 ) = Obj.magic _1 in
30379 let _startpos = _startpos__1_ in
30380 let _endpos = _endpos__2_ in
30381 let _v : 'tv_statement =
30382 # 863 "parser_cocci_menhir.mly"
30383 ( P.ret _1 _2 )
30384 # 30385 "parser_cocci_menhir.ml"
30385 in
30386 _menhir_env.MenhirLib.EngineTypes.stack <- {
30387 MenhirLib.EngineTypes.state = _menhir_s;
30388 MenhirLib.EngineTypes.semv = Obj.repr _v;
30389 MenhirLib.EngineTypes.startp = _startpos;
30390 MenhirLib.EngineTypes.endp = _endpos;
30391 MenhirLib.EngineTypes.next = _menhir_stack;
30392 });
30393 (fun _menhir_env ->
30394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30395 let {
30396 MenhirLib.EngineTypes.semv = _2;
30397 MenhirLib.EngineTypes.startp = _startpos__2_;
30398 MenhirLib.EngineTypes.endp = _endpos__2_;
30399 MenhirLib.EngineTypes.next = {
30400 MenhirLib.EngineTypes.state = _menhir_s;
30401 MenhirLib.EngineTypes.semv = _1;
30402 MenhirLib.EngineTypes.startp = _startpos__1_;
30403 MenhirLib.EngineTypes.endp = _endpos__1_;
30404 MenhirLib.EngineTypes.next = _menhir_stack;
30405 };
30406 } = _menhir_stack in
30407 let _2 : (
30408 # 107 "parser_cocci_menhir.mly"
30409 (Data.clt)
30410 # 30411 "parser_cocci_menhir.ml"
30411 ) = Obj.magic _2 in
30412 let _1 : (
30413 # 58 "parser_cocci_menhir.mly"
30414 (Data.clt)
30415 # 30416 "parser_cocci_menhir.ml"
30416 ) = Obj.magic _1 in
30417 let _startpos = _startpos__1_ in
30418 let _endpos = _endpos__2_ in
30419 let _v : 'tv_statement =
30420 # 864 "parser_cocci_menhir.mly"
30421 ( P.break _1 _2 )
30422 # 30423 "parser_cocci_menhir.ml"
30423 in
30424 _menhir_env.MenhirLib.EngineTypes.stack <- {
30425 MenhirLib.EngineTypes.state = _menhir_s;
30426 MenhirLib.EngineTypes.semv = Obj.repr _v;
30427 MenhirLib.EngineTypes.startp = _startpos;
30428 MenhirLib.EngineTypes.endp = _endpos;
30429 MenhirLib.EngineTypes.next = _menhir_stack;
30430 });
30431 (fun _menhir_env ->
30432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30433 let {
30434 MenhirLib.EngineTypes.semv = _2;
30435 MenhirLib.EngineTypes.startp = _startpos__2_;
30436 MenhirLib.EngineTypes.endp = _endpos__2_;
30437 MenhirLib.EngineTypes.next = {
30438 MenhirLib.EngineTypes.state = _menhir_s;
30439 MenhirLib.EngineTypes.semv = _1;
30440 MenhirLib.EngineTypes.startp = _startpos__1_;
30441 MenhirLib.EngineTypes.endp = _endpos__1_;
30442 MenhirLib.EngineTypes.next = _menhir_stack;
30443 };
30444 } = _menhir_stack in
30445 let _2 : (
30446 # 107 "parser_cocci_menhir.mly"
30447 (Data.clt)
30448 # 30449 "parser_cocci_menhir.ml"
30449 ) = Obj.magic _2 in
30450 let _1 : (
30451 # 58 "parser_cocci_menhir.mly"
30452 (Data.clt)
30453 # 30454 "parser_cocci_menhir.ml"
30454 ) = Obj.magic _1 in
30455 let _startpos = _startpos__1_ in
30456 let _endpos = _endpos__2_ in
30457 let _v : 'tv_statement =
30458 # 865 "parser_cocci_menhir.mly"
30459 ( P.cont _1 _2 )
30460 # 30461 "parser_cocci_menhir.ml"
30461 in
30462 _menhir_env.MenhirLib.EngineTypes.stack <- {
30463 MenhirLib.EngineTypes.state = _menhir_s;
30464 MenhirLib.EngineTypes.semv = Obj.repr _v;
30465 MenhirLib.EngineTypes.startp = _startpos;
30466 MenhirLib.EngineTypes.endp = _endpos;
30467 MenhirLib.EngineTypes.next = _menhir_stack;
30468 });
30469 (fun _menhir_env ->
30470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30471 let {
30472 MenhirLib.EngineTypes.semv = _2;
30473 MenhirLib.EngineTypes.startp = _startpos__2_;
30474 MenhirLib.EngineTypes.endp = _endpos__2_;
30475 MenhirLib.EngineTypes.next = {
30476 MenhirLib.EngineTypes.state = _menhir_s;
30477 MenhirLib.EngineTypes.semv = _1;
30478 MenhirLib.EngineTypes.startp = _startpos__1_;
30479 MenhirLib.EngineTypes.endp = _endpos__1_;
30480 MenhirLib.EngineTypes.next = _menhir_stack;
30481 };
30482 } = _menhir_stack in
30483 let _2 : (
30484 # 76 "parser_cocci_menhir.mly"
30485 (Data.clt)
30486 # 30487 "parser_cocci_menhir.ml"
30487 ) = Obj.magic _2 in
30488 let _1 : 'tv_ident = Obj.magic _1 in
30489 let _startpos = _startpos__1_ in
30490 let _endpos = _endpos__2_ in
30491 let _v : 'tv_statement =
30492 # 866 "parser_cocci_menhir.mly"
30493 ( P.label _1 _2 )
30494 # 30495 "parser_cocci_menhir.ml"
30495 in
30496 _menhir_env.MenhirLib.EngineTypes.stack <- {
30497 MenhirLib.EngineTypes.state = _menhir_s;
30498 MenhirLib.EngineTypes.semv = Obj.repr _v;
30499 MenhirLib.EngineTypes.startp = _startpos;
30500 MenhirLib.EngineTypes.endp = _endpos;
30501 MenhirLib.EngineTypes.next = _menhir_stack;
30502 });
30503 (fun _menhir_env ->
30504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30505 let {
30506 MenhirLib.EngineTypes.semv = _3;
30507 MenhirLib.EngineTypes.startp = _startpos__3_;
30508 MenhirLib.EngineTypes.endp = _endpos__3_;
30509 MenhirLib.EngineTypes.next = {
30510 MenhirLib.EngineTypes.semv = _2;
30511 MenhirLib.EngineTypes.startp = _startpos__2_;
30512 MenhirLib.EngineTypes.endp = _endpos__2_;
30513 MenhirLib.EngineTypes.next = {
30514 MenhirLib.EngineTypes.state = _menhir_s;
30515 MenhirLib.EngineTypes.semv = _1;
30516 MenhirLib.EngineTypes.startp = _startpos__1_;
30517 MenhirLib.EngineTypes.endp = _endpos__1_;
30518 MenhirLib.EngineTypes.next = _menhir_stack;
30519 };
30520 };
30521 } = _menhir_stack in
30522 let _3 : (
30523 # 107 "parser_cocci_menhir.mly"
30524 (Data.clt)
30525 # 30526 "parser_cocci_menhir.ml"
30526 ) = Obj.magic _3 in
30527 let _2 : 'tv_ident = Obj.magic _2 in
30528 let _1 : (
30529 # 58 "parser_cocci_menhir.mly"
30530 (Data.clt)
30531 # 30532 "parser_cocci_menhir.ml"
30532 ) = Obj.magic _1 in
30533 let _startpos = _startpos__1_ in
30534 let _endpos = _endpos__3_ in
30535 let _v : 'tv_statement =
30536 # 867 "parser_cocci_menhir.mly"
30537 ( P.goto _1 _2 _3 )
30538 # 30539 "parser_cocci_menhir.ml"
30539 in
30540 _menhir_env.MenhirLib.EngineTypes.stack <- {
30541 MenhirLib.EngineTypes.state = _menhir_s;
30542 MenhirLib.EngineTypes.semv = Obj.repr _v;
30543 MenhirLib.EngineTypes.startp = _startpos;
30544 MenhirLib.EngineTypes.endp = _endpos;
30545 MenhirLib.EngineTypes.next = _menhir_stack;
30546 });
30547 (fun _menhir_env ->
30548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30549 let {
30550 MenhirLib.EngineTypes.semv = _3;
30551 MenhirLib.EngineTypes.startp = _startpos__3_;
30552 MenhirLib.EngineTypes.endp = _endpos__3_;
30553 MenhirLib.EngineTypes.next = {
30554 MenhirLib.EngineTypes.semv = _2;
30555 MenhirLib.EngineTypes.startp = _startpos__2_;
30556 MenhirLib.EngineTypes.endp = _endpos__2_;
30557 MenhirLib.EngineTypes.next = {
30558 MenhirLib.EngineTypes.state = _menhir_s;
30559 MenhirLib.EngineTypes.semv = _1;
30560 MenhirLib.EngineTypes.startp = _startpos__1_;
30561 MenhirLib.EngineTypes.endp = _endpos__1_;
30562 MenhirLib.EngineTypes.next = _menhir_stack;
30563 };
30564 };
30565 } = _menhir_stack in
30566 let _3 : (
30567 # 101 "parser_cocci_menhir.mly"
30568 (Data.clt)
30569 # 30570 "parser_cocci_menhir.ml"
30570 ) = Obj.magic _3 in
30571 let _2 : 'tv_fun_start = Obj.magic _2 in
30572 let _1 : (
30573 # 101 "parser_cocci_menhir.mly"
30574 (Data.clt)
30575 # 30576 "parser_cocci_menhir.ml"
30576 ) = Obj.magic _1 in
30577 let _startpos = _startpos__1_ in
30578 let _endpos = _endpos__3_ in
30579 let _v : 'tv_statement =
30580 # 869 "parser_cocci_menhir.mly"
30581 ( P.seq _1 _2 _3 )
30582 # 30583 "parser_cocci_menhir.ml"
30583 in
30584 _menhir_env.MenhirLib.EngineTypes.stack <- {
30585 MenhirLib.EngineTypes.state = _menhir_s;
30586 MenhirLib.EngineTypes.semv = Obj.repr _v;
30587 MenhirLib.EngineTypes.startp = _startpos;
30588 MenhirLib.EngineTypes.endp = _endpos;
30589 MenhirLib.EngineTypes.next = _menhir_stack;
30590 });
30591 (fun _menhir_env ->
30592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30593 let {
30594 MenhirLib.EngineTypes.semv = w;
30595 MenhirLib.EngineTypes.startp = _startpos_w_;
30596 MenhirLib.EngineTypes.endp = _endpos_w_;
30597 MenhirLib.EngineTypes.next = {
30598 MenhirLib.EngineTypes.state = _menhir_s;
30599 MenhirLib.EngineTypes.semv = _1;
30600 MenhirLib.EngineTypes.startp = _startpos__1_;
30601 MenhirLib.EngineTypes.endp = _endpos__1_;
30602 MenhirLib.EngineTypes.next = _menhir_stack;
30603 };
30604 } = _menhir_stack in
30605 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30606 let _1 : (
30607 # 73 "parser_cocci_menhir.mly"
30608 (Data.clt)
30609 # 30610 "parser_cocci_menhir.ml"
30610 ) = Obj.magic _1 in
30611 let _startpos = _startpos__1_ in
30612 let _endpos = _endpos_w_ in
30613 let _v : 'tv_stm_dots =
30614 # 873 "parser_cocci_menhir.mly"
30615 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
30616 # 30617 "parser_cocci_menhir.ml"
30617 in
30618 _menhir_env.MenhirLib.EngineTypes.stack <- {
30619 MenhirLib.EngineTypes.state = _menhir_s;
30620 MenhirLib.EngineTypes.semv = Obj.repr _v;
30621 MenhirLib.EngineTypes.startp = _startpos;
30622 MenhirLib.EngineTypes.endp = _endpos;
30623 MenhirLib.EngineTypes.next = _menhir_stack;
30624 });
30625 (fun _menhir_env ->
30626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30627 let {
30628 MenhirLib.EngineTypes.semv = c;
30629 MenhirLib.EngineTypes.startp = _startpos_c_;
30630 MenhirLib.EngineTypes.endp = _endpos_c_;
30631 MenhirLib.EngineTypes.next = {
30632 MenhirLib.EngineTypes.semv = b;
30633 MenhirLib.EngineTypes.startp = _startpos_b_;
30634 MenhirLib.EngineTypes.endp = _endpos_b_;
30635 MenhirLib.EngineTypes.next = {
30636 MenhirLib.EngineTypes.semv = w;
30637 MenhirLib.EngineTypes.startp = _startpos_w_;
30638 MenhirLib.EngineTypes.endp = _endpos_w_;
30639 MenhirLib.EngineTypes.next = {
30640 MenhirLib.EngineTypes.state = _menhir_s;
30641 MenhirLib.EngineTypes.semv = _1;
30642 MenhirLib.EngineTypes.startp = _startpos__1_;
30643 MenhirLib.EngineTypes.endp = _endpos__1_;
30644 MenhirLib.EngineTypes.next = _menhir_stack;
30645 };
30646 };
30647 };
30648 } = _menhir_stack in
30649 let c : (
30650 # 73 "parser_cocci_menhir.mly"
30651 (Data.clt)
30652 # 30653 "parser_cocci_menhir.ml"
30653 ) = Obj.magic c in
30654 let b : 'tv_nest_start = Obj.magic b in
30655 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30656 let _1 : (
30657 # 73 "parser_cocci_menhir.mly"
30658 (Data.clt)
30659 # 30660 "parser_cocci_menhir.ml"
30660 ) = Obj.magic _1 in
30661 let _startpos = _startpos__1_ in
30662 let _endpos = _endpos_c_ in
30663 let _v : 'tv_stm_dots =
30664 # 875 "parser_cocci_menhir.mly"
30665 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
30666 P.clt2mcode "...>" c, List.concat w, false)) )
30667 # 30668 "parser_cocci_menhir.ml"
30668 in
30669 _menhir_env.MenhirLib.EngineTypes.stack <- {
30670 MenhirLib.EngineTypes.state = _menhir_s;
30671 MenhirLib.EngineTypes.semv = Obj.repr _v;
30672 MenhirLib.EngineTypes.startp = _startpos;
30673 MenhirLib.EngineTypes.endp = _endpos;
30674 MenhirLib.EngineTypes.next = _menhir_stack;
30675 });
30676 (fun _menhir_env ->
30677 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30678 let {
30679 MenhirLib.EngineTypes.semv = c;
30680 MenhirLib.EngineTypes.startp = _startpos_c_;
30681 MenhirLib.EngineTypes.endp = _endpos_c_;
30682 MenhirLib.EngineTypes.next = {
30683 MenhirLib.EngineTypes.semv = b;
30684 MenhirLib.EngineTypes.startp = _startpos_b_;
30685 MenhirLib.EngineTypes.endp = _endpos_b_;
30686 MenhirLib.EngineTypes.next = {
30687 MenhirLib.EngineTypes.semv = w;
30688 MenhirLib.EngineTypes.startp = _startpos_w_;
30689 MenhirLib.EngineTypes.endp = _endpos_w_;
30690 MenhirLib.EngineTypes.next = {
30691 MenhirLib.EngineTypes.state = _menhir_s;
30692 MenhirLib.EngineTypes.semv = _1;
30693 MenhirLib.EngineTypes.startp = _startpos__1_;
30694 MenhirLib.EngineTypes.endp = _endpos__1_;
30695 MenhirLib.EngineTypes.next = _menhir_stack;
30696 };
30697 };
30698 };
30699 } = _menhir_stack in
30700 let c : (
30701 # 73 "parser_cocci_menhir.mly"
30702 (Data.clt)
30703 # 30704 "parser_cocci_menhir.ml"
30704 ) = Obj.magic c in
30705 let b : 'tv_nest_start = Obj.magic b in
30706 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30707 let _1 : (
30708 # 73 "parser_cocci_menhir.mly"
30709 (Data.clt)
30710 # 30711 "parser_cocci_menhir.ml"
30711 ) = Obj.magic _1 in
30712 let _startpos = _startpos__1_ in
30713 let _endpos = _endpos_c_ in
30714 let _v : 'tv_stm_dots =
30715 # 878 "parser_cocci_menhir.mly"
30716 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
30717 P.clt2mcode "...+>" c, List.concat w, true)) )
30718 # 30719 "parser_cocci_menhir.ml"
30719 in
30720 _menhir_env.MenhirLib.EngineTypes.stack <- {
30721 MenhirLib.EngineTypes.state = _menhir_s;
30722 MenhirLib.EngineTypes.semv = Obj.repr _v;
30723 MenhirLib.EngineTypes.startp = _startpos;
30724 MenhirLib.EngineTypes.endp = _endpos;
30725 MenhirLib.EngineTypes.next = _menhir_stack;
30726 });
30727 (fun _menhir_env ->
30728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30729 let {
30730 MenhirLib.EngineTypes.state = _menhir_s;
30731 MenhirLib.EngineTypes.semv = s;
30732 MenhirLib.EngineTypes.startp = _startpos_s_;
30733 MenhirLib.EngineTypes.endp = _endpos_s_;
30734 MenhirLib.EngineTypes.next = _menhir_stack;
30735 } = _menhir_stack in
30736 let s : (
30737 # 53 "parser_cocci_menhir.mly"
30738 (Data.clt)
30739 # 30740 "parser_cocci_menhir.ml"
30740 ) = Obj.magic s in
30741 let _startpos = _startpos_s_ in
30742 let _endpos = _endpos_s_ in
30743 let _v : 'tv_storage =
30744 # 804 "parser_cocci_menhir.mly"
30745 ( P.clt2mcode Ast.Static s )
30746 # 30747 "parser_cocci_menhir.ml"
30747 in
30748 _menhir_env.MenhirLib.EngineTypes.stack <- {
30749 MenhirLib.EngineTypes.state = _menhir_s;
30750 MenhirLib.EngineTypes.semv = Obj.repr _v;
30751 MenhirLib.EngineTypes.startp = _startpos;
30752 MenhirLib.EngineTypes.endp = _endpos;
30753 MenhirLib.EngineTypes.next = _menhir_stack;
30754 });
30755 (fun _menhir_env ->
30756 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30757 let {
30758 MenhirLib.EngineTypes.state = _menhir_s;
30759 MenhirLib.EngineTypes.semv = s;
30760 MenhirLib.EngineTypes.startp = _startpos_s_;
30761 MenhirLib.EngineTypes.endp = _endpos_s_;
30762 MenhirLib.EngineTypes.next = _menhir_stack;
30763 } = _menhir_stack in
30764 let s : (
30765 # 53 "parser_cocci_menhir.mly"
30766 (Data.clt)
30767 # 30768 "parser_cocci_menhir.ml"
30768 ) = Obj.magic s in
30769 let _startpos = _startpos_s_ in
30770 let _endpos = _endpos_s_ in
30771 let _v : 'tv_storage =
30772 # 805 "parser_cocci_menhir.mly"
30773 ( P.clt2mcode Ast.Auto s )
30774 # 30775 "parser_cocci_menhir.ml"
30775 in
30776 _menhir_env.MenhirLib.EngineTypes.stack <- {
30777 MenhirLib.EngineTypes.state = _menhir_s;
30778 MenhirLib.EngineTypes.semv = Obj.repr _v;
30779 MenhirLib.EngineTypes.startp = _startpos;
30780 MenhirLib.EngineTypes.endp = _endpos;
30781 MenhirLib.EngineTypes.next = _menhir_stack;
30782 });
30783 (fun _menhir_env ->
30784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30785 let {
30786 MenhirLib.EngineTypes.state = _menhir_s;
30787 MenhirLib.EngineTypes.semv = s;
30788 MenhirLib.EngineTypes.startp = _startpos_s_;
30789 MenhirLib.EngineTypes.endp = _endpos_s_;
30790 MenhirLib.EngineTypes.next = _menhir_stack;
30791 } = _menhir_stack in
30792 let s : (
30793 # 53 "parser_cocci_menhir.mly"
30794 (Data.clt)
30795 # 30796 "parser_cocci_menhir.ml"
30796 ) = Obj.magic s in
30797 let _startpos = _startpos_s_ in
30798 let _endpos = _endpos_s_ in
30799 let _v : 'tv_storage =
30800 # 806 "parser_cocci_menhir.mly"
30801 ( P.clt2mcode Ast.Register s )
30802 # 30803 "parser_cocci_menhir.ml"
30803 in
30804 _menhir_env.MenhirLib.EngineTypes.stack <- {
30805 MenhirLib.EngineTypes.state = _menhir_s;
30806 MenhirLib.EngineTypes.semv = Obj.repr _v;
30807 MenhirLib.EngineTypes.startp = _startpos;
30808 MenhirLib.EngineTypes.endp = _endpos;
30809 MenhirLib.EngineTypes.next = _menhir_stack;
30810 });
30811 (fun _menhir_env ->
30812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30813 let {
30814 MenhirLib.EngineTypes.state = _menhir_s;
30815 MenhirLib.EngineTypes.semv = s;
30816 MenhirLib.EngineTypes.startp = _startpos_s_;
30817 MenhirLib.EngineTypes.endp = _endpos_s_;
30818 MenhirLib.EngineTypes.next = _menhir_stack;
30819 } = _menhir_stack in
30820 let s : (
30821 # 53 "parser_cocci_menhir.mly"
30822 (Data.clt)
30823 # 30824 "parser_cocci_menhir.ml"
30824 ) = Obj.magic s in
30825 let _startpos = _startpos_s_ in
30826 let _endpos = _endpos_s_ in
30827 let _v : 'tv_storage =
30828 # 807 "parser_cocci_menhir.mly"
30829 ( P.clt2mcode Ast.Extern s )
30830 # 30831 "parser_cocci_menhir.ml"
30831 in
30832 _menhir_env.MenhirLib.EngineTypes.stack <- {
30833 MenhirLib.EngineTypes.state = _menhir_s;
30834 MenhirLib.EngineTypes.semv = Obj.repr _v;
30835 MenhirLib.EngineTypes.startp = _startpos;
30836 MenhirLib.EngineTypes.endp = _endpos;
30837 MenhirLib.EngineTypes.next = _menhir_stack;
30838 });
30839 (fun _menhir_env ->
30840 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30841 let {
30842 MenhirLib.EngineTypes.state = _menhir_s;
30843 MenhirLib.EngineTypes.startp = _startpos__1_;
30844 MenhirLib.EngineTypes.endp = _endpos__1_;
30845 MenhirLib.EngineTypes.next = _menhir_stack;
30846 } = _menhir_stack in
30847 let _startpos = _startpos__1_ in
30848 let _endpos = _endpos__1_ in
30849 let _v : 'tv_struct_decl =
30850 # 562 "parser_cocci_menhir.mly"
30851 ( [] )
30852 # 30853 "parser_cocci_menhir.ml"
30853 in
30854 _menhir_env.MenhirLib.EngineTypes.stack <- {
30855 MenhirLib.EngineTypes.state = _menhir_s;
30856 MenhirLib.EngineTypes.semv = Obj.repr _v;
30857 MenhirLib.EngineTypes.startp = _startpos;
30858 MenhirLib.EngineTypes.endp = _endpos;
30859 MenhirLib.EngineTypes.next = _menhir_stack;
30860 });
30861 (fun _menhir_env ->
30862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30863 let {
30864 MenhirLib.EngineTypes.semv = pv;
30865 MenhirLib.EngineTypes.startp = _startpos_pv_;
30866 MenhirLib.EngineTypes.endp = _endpos_pv_;
30867 MenhirLib.EngineTypes.next = {
30868 MenhirLib.EngineTypes.semv = d;
30869 MenhirLib.EngineTypes.startp = _startpos_d_;
30870 MenhirLib.EngineTypes.endp = _endpos_d_;
30871 MenhirLib.EngineTypes.next = {
30872 MenhirLib.EngineTypes.state = _menhir_s;
30873 MenhirLib.EngineTypes.semv = t;
30874 MenhirLib.EngineTypes.startp = _startpos_t_;
30875 MenhirLib.EngineTypes.endp = _endpos_t_;
30876 MenhirLib.EngineTypes.next = _menhir_stack;
30877 };
30878 };
30879 } = _menhir_stack in
30880 let pv : (
30881 # 107 "parser_cocci_menhir.mly"
30882 (Data.clt)
30883 # 30884 "parser_cocci_menhir.ml"
30884 ) = Obj.magic pv in
30885 let d : 'tv_d_ident = Obj.magic d in
30886 let t : 'tv_ctype = Obj.magic t in
30887 let _startpos = _startpos_t_ in
30888 let _endpos = _endpos_pv_ in
30889 let _v : 'tv_struct_decl =
30890 # 564 "parser_cocci_menhir.mly"
30891 ( let (id,fn) = d in
30892 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
30893 # 30894 "parser_cocci_menhir.ml"
30894 in
30895 _menhir_env.MenhirLib.EngineTypes.stack <- {
30896 MenhirLib.EngineTypes.state = _menhir_s;
30897 MenhirLib.EngineTypes.semv = Obj.repr _v;
30898 MenhirLib.EngineTypes.startp = _startpos;
30899 MenhirLib.EngineTypes.endp = _endpos;
30900 MenhirLib.EngineTypes.next = _menhir_stack;
30901 });
30902 (fun _menhir_env ->
30903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30904 let {
30905 MenhirLib.EngineTypes.semv = pv;
30906 MenhirLib.EngineTypes.startp = _startpos_pv_;
30907 MenhirLib.EngineTypes.endp = _endpos_pv_;
30908 MenhirLib.EngineTypes.next = {
30909 MenhirLib.EngineTypes.semv = rp2;
30910 MenhirLib.EngineTypes.startp = _startpos_rp2_;
30911 MenhirLib.EngineTypes.endp = _endpos_rp2_;
30912 MenhirLib.EngineTypes.next = {
30913 MenhirLib.EngineTypes.semv = p;
30914 MenhirLib.EngineTypes.startp = _startpos_p_;
30915 MenhirLib.EngineTypes.endp = _endpos_p_;
30916 MenhirLib.EngineTypes.next = {
30917 MenhirLib.EngineTypes.semv = lp2;
30918 MenhirLib.EngineTypes.startp = _startpos_lp2_;
30919 MenhirLib.EngineTypes.endp = _endpos_lp2_;
30920 MenhirLib.EngineTypes.next = {
30921 MenhirLib.EngineTypes.semv = rp1;
30922 MenhirLib.EngineTypes.startp = _startpos_rp1_;
30923 MenhirLib.EngineTypes.endp = _endpos_rp1_;
30924 MenhirLib.EngineTypes.next = {
30925 MenhirLib.EngineTypes.semv = d;
30926 MenhirLib.EngineTypes.startp = _startpos_d_;
30927 MenhirLib.EngineTypes.endp = _endpos_d_;
30928 MenhirLib.EngineTypes.next = {
30929 MenhirLib.EngineTypes.semv = st;
30930 MenhirLib.EngineTypes.startp = _startpos_st_;
30931 MenhirLib.EngineTypes.endp = _endpos_st_;
30932 MenhirLib.EngineTypes.next = {
30933 MenhirLib.EngineTypes.semv = lp1;
30934 MenhirLib.EngineTypes.startp = _startpos_lp1_;
30935 MenhirLib.EngineTypes.endp = _endpos_lp1_;
30936 MenhirLib.EngineTypes.next = {
30937 MenhirLib.EngineTypes.state = _menhir_s;
30938 MenhirLib.EngineTypes.semv = t;
30939 MenhirLib.EngineTypes.startp = _startpos_t_;
30940 MenhirLib.EngineTypes.endp = _endpos_t_;
30941 MenhirLib.EngineTypes.next = _menhir_stack;
30942 };
30943 };
30944 };
30945 };
30946 };
30947 };
30948 };
30949 };
30950 } = _menhir_stack in
30951 let pv : (
30952 # 107 "parser_cocci_menhir.mly"
30953 (Data.clt)
30954 # 30955 "parser_cocci_menhir.ml"
30955 ) = Obj.magic pv in
30956 let rp2 : (
30957 # 77 "parser_cocci_menhir.mly"
30958 (Data.clt)
30959 # 30960 "parser_cocci_menhir.ml"
30960 ) = Obj.magic rp2 in
30961 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
30962 let lp2 : (
30963 # 76 "parser_cocci_menhir.mly"
30964 (Data.clt)
30965 # 30966 "parser_cocci_menhir.ml"
30966 ) = Obj.magic lp2 in
30967 let rp1 : (
30968 # 77 "parser_cocci_menhir.mly"
30969 (Data.clt)
30970 # 30971 "parser_cocci_menhir.ml"
30971 ) = Obj.magic rp1 in
30972 let d : 'tv_d_ident = Obj.magic d in
30973 let st : (
30974 # 99 "parser_cocci_menhir.mly"
30975 (Data.clt)
30976 # 30977 "parser_cocci_menhir.ml"
30977 ) = Obj.magic st in
30978 let lp1 : (
30979 # 76 "parser_cocci_menhir.mly"
30980 (Data.clt)
30981 # 30982 "parser_cocci_menhir.ml"
30982 ) = Obj.magic lp1 in
30983 let t : 'tv_ctype = Obj.magic t in
30984 let _startpos = _startpos_t_ in
30985 let _endpos = _endpos_pv_ in
30986 let _v : 'tv_struct_decl =
30987 # 568 "parser_cocci_menhir.mly"
30988 ( let (id,fn) = d in
30989 let t =
30990 Ast0.wrap
30991 (Ast0.FunctionPointer
30992 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
30993 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
30994 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
30995 # 30996 "parser_cocci_menhir.ml"
30996 in
30997 _menhir_env.MenhirLib.EngineTypes.stack <- {
30998 MenhirLib.EngineTypes.state = _menhir_s;
30999 MenhirLib.EngineTypes.semv = Obj.repr _v;
31000 MenhirLib.EngineTypes.startp = _startpos;
31001 MenhirLib.EngineTypes.endp = _endpos;
31002 MenhirLib.EngineTypes.next = _menhir_stack;
31003 });
31004 (fun _menhir_env ->
31005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31006 let {
31007 MenhirLib.EngineTypes.semv = pv;
31008 MenhirLib.EngineTypes.startp = _startpos_pv_;
31009 MenhirLib.EngineTypes.endp = _endpos_pv_;
31010 MenhirLib.EngineTypes.next = {
31011 MenhirLib.EngineTypes.semv = d;
31012 MenhirLib.EngineTypes.startp = _startpos_d_;
31013 MenhirLib.EngineTypes.endp = _endpos_d_;
31014 MenhirLib.EngineTypes.next = {
31015 MenhirLib.EngineTypes.state = _menhir_s;
31016 MenhirLib.EngineTypes.semv = i;
31017 MenhirLib.EngineTypes.startp = _startpos_i_;
31018 MenhirLib.EngineTypes.endp = _endpos_i_;
31019 MenhirLib.EngineTypes.next = _menhir_stack;
31020 };
31021 };
31022 } = _menhir_stack in
31023 let pv : (
31024 # 107 "parser_cocci_menhir.mly"
31025 (Data.clt)
31026 # 31027 "parser_cocci_menhir.ml"
31027 ) = Obj.magic pv in
31028 let d : 'tv_d_ident = Obj.magic d in
31029 let i : 'tv_pure_ident = Obj.magic i in
31030 let _startpos = _startpos_i_ in
31031 let _endpos = _endpos_pv_ in
31032 let _v : 'tv_struct_decl = let cv =
31033
31034 # 39 "standard.mly"
31035 ( None )
31036 # 31037 "parser_cocci_menhir.ml"
31037
31038 in
31039
31040 # 576 "parser_cocci_menhir.mly"
31041 ( let (id,fn) = d in
31042 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31043 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31044 # 31045 "parser_cocci_menhir.ml"
31045 in
31046 _menhir_env.MenhirLib.EngineTypes.stack <- {
31047 MenhirLib.EngineTypes.state = _menhir_s;
31048 MenhirLib.EngineTypes.semv = Obj.repr _v;
31049 MenhirLib.EngineTypes.startp = _startpos;
31050 MenhirLib.EngineTypes.endp = _endpos;
31051 MenhirLib.EngineTypes.next = _menhir_stack;
31052 });
31053 (fun _menhir_env ->
31054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31055 let {
31056 MenhirLib.EngineTypes.semv = pv;
31057 MenhirLib.EngineTypes.startp = _startpos_pv_;
31058 MenhirLib.EngineTypes.endp = _endpos_pv_;
31059 MenhirLib.EngineTypes.next = {
31060 MenhirLib.EngineTypes.semv = d;
31061 MenhirLib.EngineTypes.startp = _startpos_d_;
31062 MenhirLib.EngineTypes.endp = _endpos_d_;
31063 MenhirLib.EngineTypes.next = {
31064 MenhirLib.EngineTypes.semv = i;
31065 MenhirLib.EngineTypes.startp = _startpos_i_;
31066 MenhirLib.EngineTypes.endp = _endpos_i_;
31067 MenhirLib.EngineTypes.next = {
31068 MenhirLib.EngineTypes.state = _menhir_s;
31069 MenhirLib.EngineTypes.semv = x0;
31070 MenhirLib.EngineTypes.startp = _startpos_x0_;
31071 MenhirLib.EngineTypes.endp = _endpos_x0_;
31072 MenhirLib.EngineTypes.next = _menhir_stack;
31073 };
31074 };
31075 };
31076 } = _menhir_stack in
31077 let pv : (
31078 # 107 "parser_cocci_menhir.mly"
31079 (Data.clt)
31080 # 31081 "parser_cocci_menhir.ml"
31081 ) = Obj.magic pv in
31082 let d : 'tv_d_ident = Obj.magic d in
31083 let i : 'tv_pure_ident = Obj.magic i in
31084 let x0 : 'tv_const_vol = Obj.magic x0 in
31085 let _startpos = _startpos_x0_ in
31086 let _endpos = _endpos_pv_ in
31087 let _v : 'tv_struct_decl = let cv =
31088 let x = x0 in
31089
31090 # 41 "standard.mly"
31091 ( Some x )
31092 # 31093 "parser_cocci_menhir.ml"
31093
31094 in
31095
31096 # 576 "parser_cocci_menhir.mly"
31097 ( let (id,fn) = d in
31098 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31099 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31100 # 31101 "parser_cocci_menhir.ml"
31101 in
31102 _menhir_env.MenhirLib.EngineTypes.stack <- {
31103 MenhirLib.EngineTypes.state = _menhir_s;
31104 MenhirLib.EngineTypes.semv = Obj.repr _v;
31105 MenhirLib.EngineTypes.startp = _startpos;
31106 MenhirLib.EngineTypes.endp = _endpos;
31107 MenhirLib.EngineTypes.next = _menhir_stack;
31108 });
31109 (fun _menhir_env ->
31110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31111 let {
31112 MenhirLib.EngineTypes.state = _menhir_s;
31113 MenhirLib.EngineTypes.semv = _1;
31114 MenhirLib.EngineTypes.startp = _startpos__1_;
31115 MenhirLib.EngineTypes.endp = _endpos__1_;
31116 MenhirLib.EngineTypes.next = _menhir_stack;
31117 } = _menhir_stack in
31118 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
31119 let _startpos = _startpos__1_ in
31120 let _endpos = _endpos__1_ in
31121 let _v : 'tv_struct_decl_list =
31122 # 581 "parser_cocci_menhir.mly"
31123 ( Ast0.wrap(Ast0.DOTS(_1)) )
31124 # 31125 "parser_cocci_menhir.ml"
31125 in
31126 _menhir_env.MenhirLib.EngineTypes.stack <- {
31127 MenhirLib.EngineTypes.state = _menhir_s;
31128 MenhirLib.EngineTypes.semv = Obj.repr _v;
31129 MenhirLib.EngineTypes.startp = _startpos;
31130 MenhirLib.EngineTypes.endp = _endpos;
31131 MenhirLib.EngineTypes.next = _menhir_stack;
31132 });
31133 (fun _menhir_env ->
31134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31135 let {
31136 MenhirLib.EngineTypes.state = _menhir_s;
31137 MenhirLib.EngineTypes.semv = _1;
31138 MenhirLib.EngineTypes.startp = _startpos__1_;
31139 MenhirLib.EngineTypes.endp = _endpos__1_;
31140 MenhirLib.EngineTypes.next = _menhir_stack;
31141 } = _menhir_stack in
31142 let _1 : 'tv_struct_decl = Obj.magic _1 in
31143 let _startpos = _startpos__1_ in
31144 let _endpos = _endpos__1_ in
31145 let _v : 'tv_struct_decl_list_start =
31146 # 584 "parser_cocci_menhir.mly"
31147 ( _1 )
31148 # 31149 "parser_cocci_menhir.ml"
31149 in
31150 _menhir_env.MenhirLib.EngineTypes.stack <- {
31151 MenhirLib.EngineTypes.state = _menhir_s;
31152 MenhirLib.EngineTypes.semv = Obj.repr _v;
31153 MenhirLib.EngineTypes.startp = _startpos;
31154 MenhirLib.EngineTypes.endp = _endpos;
31155 MenhirLib.EngineTypes.next = _menhir_stack;
31156 });
31157 (fun _menhir_env ->
31158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31159 let {
31160 MenhirLib.EngineTypes.semv = _2;
31161 MenhirLib.EngineTypes.startp = _startpos__2_;
31162 MenhirLib.EngineTypes.endp = _endpos__2_;
31163 MenhirLib.EngineTypes.next = {
31164 MenhirLib.EngineTypes.state = _menhir_s;
31165 MenhirLib.EngineTypes.semv = _1;
31166 MenhirLib.EngineTypes.startp = _startpos__1_;
31167 MenhirLib.EngineTypes.endp = _endpos__1_;
31168 MenhirLib.EngineTypes.next = _menhir_stack;
31169 };
31170 } = _menhir_stack in
31171 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
31172 let _1 : 'tv_struct_decl = Obj.magic _1 in
31173 let _startpos = _startpos__1_ in
31174 let _endpos = _endpos__2_ in
31175 let _v : 'tv_struct_decl_list_start =
31176 # 585 "parser_cocci_menhir.mly"
31177 ( _1@_2 )
31178 # 31179 "parser_cocci_menhir.ml"
31179 in
31180 _menhir_env.MenhirLib.EngineTypes.stack <- {
31181 MenhirLib.EngineTypes.state = _menhir_s;
31182 MenhirLib.EngineTypes.semv = Obj.repr _v;
31183 MenhirLib.EngineTypes.startp = _startpos;
31184 MenhirLib.EngineTypes.endp = _endpos;
31185 MenhirLib.EngineTypes.next = _menhir_stack;
31186 });
31187 (fun _menhir_env ->
31188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31189 let {
31190 MenhirLib.EngineTypes.semv = r;
31191 MenhirLib.EngineTypes.startp = _startpos_r_;
31192 MenhirLib.EngineTypes.endp = _endpos_r_;
31193 MenhirLib.EngineTypes.next = {
31194 MenhirLib.EngineTypes.state = _menhir_s;
31195 MenhirLib.EngineTypes.semv = d;
31196 MenhirLib.EngineTypes.startp = _startpos_d_;
31197 MenhirLib.EngineTypes.endp = _endpos_d_;
31198 MenhirLib.EngineTypes.next = _menhir_stack;
31199 };
31200 } = _menhir_stack in
31201 let r : 'tv_continue_struct_decl_list = Obj.magic r in
31202 let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
31203 let _startpos = _startpos_d_ in
31204 let _endpos = _endpos_r_ in
31205 let _v : 'tv_struct_decl_list_start =
31206 # 587 "parser_cocci_menhir.mly"
31207 ( (P.mkddots "..." d)::r )
31208 # 31209 "parser_cocci_menhir.ml"
31209 in
31210 _menhir_env.MenhirLib.EngineTypes.stack <- {
31211 MenhirLib.EngineTypes.state = _menhir_s;
31212 MenhirLib.EngineTypes.semv = Obj.repr _v;
31213 MenhirLib.EngineTypes.startp = _startpos;
31214 MenhirLib.EngineTypes.endp = _endpos;
31215 MenhirLib.EngineTypes.next = _menhir_stack;
31216 });
31217 (fun _menhir_env ->
31218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31219 let {
31220 MenhirLib.EngineTypes.state = _menhir_s;
31221 MenhirLib.EngineTypes.semv = s;
31222 MenhirLib.EngineTypes.startp = _startpos_s_;
31223 MenhirLib.EngineTypes.endp = _endpos_s_;
31224 MenhirLib.EngineTypes.next = _menhir_stack;
31225 } = _menhir_stack in
31226 let s : (
31227 # 50 "parser_cocci_menhir.mly"
31228 (Data.clt)
31229 # 31230 "parser_cocci_menhir.ml"
31230 ) = Obj.magic s in
31231 let _startpos = _startpos_s_ in
31232 let _endpos = _endpos_s_ in
31233 let _v : 'tv_struct_or_union =
31234 # 558 "parser_cocci_menhir.mly"
31235 ( P.clt2mcode Ast.Struct s )
31236 # 31237 "parser_cocci_menhir.ml"
31237 in
31238 _menhir_env.MenhirLib.EngineTypes.stack <- {
31239 MenhirLib.EngineTypes.state = _menhir_s;
31240 MenhirLib.EngineTypes.semv = Obj.repr _v;
31241 MenhirLib.EngineTypes.startp = _startpos;
31242 MenhirLib.EngineTypes.endp = _endpos;
31243 MenhirLib.EngineTypes.next = _menhir_stack;
31244 });
31245 (fun _menhir_env ->
31246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31247 let {
31248 MenhirLib.EngineTypes.state = _menhir_s;
31249 MenhirLib.EngineTypes.semv = u;
31250 MenhirLib.EngineTypes.startp = _startpos_u_;
31251 MenhirLib.EngineTypes.endp = _endpos_u_;
31252 MenhirLib.EngineTypes.next = _menhir_stack;
31253 } = _menhir_stack in
31254 let u : (
31255 # 50 "parser_cocci_menhir.mly"
31256 (Data.clt)
31257 # 31258 "parser_cocci_menhir.ml"
31258 ) = Obj.magic u in
31259 let _startpos = _startpos_u_ in
31260 let _endpos = _endpos_u_ in
31261 let _v : 'tv_struct_or_union =
31262 # 559 "parser_cocci_menhir.mly"
31263 ( P.clt2mcode Ast.Union u )
31264 # 31265 "parser_cocci_menhir.ml"
31265 in
31266 _menhir_env.MenhirLib.EngineTypes.stack <- {
31267 MenhirLib.EngineTypes.state = _menhir_s;
31268 MenhirLib.EngineTypes.semv = Obj.repr _v;
31269 MenhirLib.EngineTypes.startp = _startpos;
31270 MenhirLib.EngineTypes.endp = _endpos;
31271 MenhirLib.EngineTypes.next = _menhir_stack;
31272 });
31273 (fun _menhir_env ->
31274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31275 let {
31276 MenhirLib.EngineTypes.state = _menhir_s;
31277 MenhirLib.EngineTypes.semv = _1;
31278 MenhirLib.EngineTypes.startp = _startpos__1_;
31279 MenhirLib.EngineTypes.endp = _endpos__1_;
31280 MenhirLib.EngineTypes.next = _menhir_stack;
31281 } = _menhir_stack in
31282 let _1 : 'tv_eexpr = Obj.magic _1 in
31283 let _startpos = _startpos__1_ in
31284 let _endpos = _endpos__1_ in
31285 let _v : 'tv_top_eexpr =
31286 # 1202 "parser_cocci_menhir.mly"
31287 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
31288 # 31289 "parser_cocci_menhir.ml"
31289 in
31290 _menhir_env.MenhirLib.EngineTypes.stack <- {
31291 MenhirLib.EngineTypes.state = _menhir_s;
31292 MenhirLib.EngineTypes.semv = Obj.repr _v;
31293 MenhirLib.EngineTypes.startp = _startpos;
31294 MenhirLib.EngineTypes.endp = _endpos;
31295 MenhirLib.EngineTypes.next = _menhir_stack;
31296 });
31297 (fun _menhir_env ->
31298 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31299 let {
31300 MenhirLib.EngineTypes.semv = _3;
31301 MenhirLib.EngineTypes.startp = _startpos__3_;
31302 MenhirLib.EngineTypes.endp = _endpos__3_;
31303 MenhirLib.EngineTypes.next = {
31304 MenhirLib.EngineTypes.semv = _2;
31305 MenhirLib.EngineTypes.startp = _startpos__2_;
31306 MenhirLib.EngineTypes.endp = _endpos__2_;
31307 MenhirLib.EngineTypes.next = {
31308 MenhirLib.EngineTypes.state = _menhir_s;
31309 MenhirLib.EngineTypes.semv = _1;
31310 MenhirLib.EngineTypes.startp = _startpos__1_;
31311 MenhirLib.EngineTypes.endp = _endpos__1_;
31312 MenhirLib.EngineTypes.next = _menhir_stack;
31313 };
31314 };
31315 } = _menhir_stack in
31316 let _3 : (
31317 # 101 "parser_cocci_menhir.mly"
31318 (Data.clt)
31319 # 31320 "parser_cocci_menhir.ml"
31320 ) = Obj.magic _3 in
31321 let _2 : 'tv_initialize_list = Obj.magic _2 in
31322 let _1 : (
31323 # 101 "parser_cocci_menhir.mly"
31324 (Data.clt)
31325 # 31326 "parser_cocci_menhir.ml"
31326 ) = Obj.magic _1 in
31327 let _startpos = _startpos__1_ in
31328 let _endpos = _endpos__3_ in
31329 let _v : 'tv_top_init =
31330 # 1726 "parser_cocci_menhir.mly"
31331 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
31332 # 31333 "parser_cocci_menhir.ml"
31333 in
31334 _menhir_env.MenhirLib.EngineTypes.stack <- {
31335 MenhirLib.EngineTypes.state = _menhir_s;
31336 MenhirLib.EngineTypes.semv = Obj.repr _v;
31337 MenhirLib.EngineTypes.startp = _startpos;
31338 MenhirLib.EngineTypes.endp = _endpos;
31339 MenhirLib.EngineTypes.next = _menhir_stack;
31340 });
31341 (fun _menhir_env ->
31342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31343 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31344 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31345 let _endpos = _startpos in
31346 let _v : 'tv_toplevel_after_dots =
31347 # 1714 "parser_cocci_menhir.mly"
31348 ([])
31349 # 31350 "parser_cocci_menhir.ml"
31350 in
31351 _menhir_env.MenhirLib.EngineTypes.stack <- {
31352 MenhirLib.EngineTypes.state = _menhir_s;
31353 MenhirLib.EngineTypes.semv = Obj.repr _v;
31354 MenhirLib.EngineTypes.startp = _startpos;
31355 MenhirLib.EngineTypes.endp = _endpos;
31356 MenhirLib.EngineTypes.next = _menhir_stack;
31357 });
31358 (fun _menhir_env ->
31359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31360 let {
31361 MenhirLib.EngineTypes.semv = _2;
31362 MenhirLib.EngineTypes.startp = _startpos__2_;
31363 MenhirLib.EngineTypes.endp = _endpos__2_;
31364 MenhirLib.EngineTypes.next = {
31365 MenhirLib.EngineTypes.state = _menhir_s;
31366 MenhirLib.EngineTypes.startp = _startpos__1_;
31367 MenhirLib.EngineTypes.endp = _endpos__1_;
31368 MenhirLib.EngineTypes.next = _menhir_stack;
31369 };
31370 } = _menhir_stack in
31371 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31372 let _startpos = _startpos__1_ in
31373 let _endpos = _endpos__2_ in
31374 let _v : 'tv_toplevel_after_dots =
31375 # 1715 "parser_cocci_menhir.mly"
31376 (_2)
31377 # 31378 "parser_cocci_menhir.ml"
31378 in
31379 _menhir_env.MenhirLib.EngineTypes.stack <- {
31380 MenhirLib.EngineTypes.state = _menhir_s;
31381 MenhirLib.EngineTypes.semv = Obj.repr _v;
31382 MenhirLib.EngineTypes.startp = _startpos;
31383 MenhirLib.EngineTypes.endp = _endpos;
31384 MenhirLib.EngineTypes.next = _menhir_stack;
31385 });
31386 (fun _menhir_env ->
31387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31388 let {
31389 MenhirLib.EngineTypes.semv = _2;
31390 MenhirLib.EngineTypes.startp = _startpos__2_;
31391 MenhirLib.EngineTypes.endp = _endpos__2_;
31392 MenhirLib.EngineTypes.next = {
31393 MenhirLib.EngineTypes.state = _menhir_s;
31394 MenhirLib.EngineTypes.semv = _1;
31395 MenhirLib.EngineTypes.startp = _startpos__1_;
31396 MenhirLib.EngineTypes.endp = _endpos__1_;
31397 MenhirLib.EngineTypes.next = _menhir_stack;
31398 };
31399 } = _menhir_stack in
31400 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31401 let _1 : 'tv_expr = Obj.magic _1 in
31402 let _startpos = _startpos__1_ in
31403 let _endpos = _endpos__2_ in
31404 let _v : 'tv_toplevel_after_dots =
31405 # 1716 "parser_cocci_menhir.mly"
31406 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31407 # 31408 "parser_cocci_menhir.ml"
31408 in
31409 _menhir_env.MenhirLib.EngineTypes.stack <- {
31410 MenhirLib.EngineTypes.state = _menhir_s;
31411 MenhirLib.EngineTypes.semv = Obj.repr _v;
31412 MenhirLib.EngineTypes.startp = _startpos;
31413 MenhirLib.EngineTypes.endp = _endpos;
31414 MenhirLib.EngineTypes.next = _menhir_stack;
31415 });
31416 (fun _menhir_env ->
31417 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31418 let {
31419 MenhirLib.EngineTypes.semv = _2;
31420 MenhirLib.EngineTypes.startp = _startpos__2_;
31421 MenhirLib.EngineTypes.endp = _endpos__2_;
31422 MenhirLib.EngineTypes.next = {
31423 MenhirLib.EngineTypes.state = _menhir_s;
31424 MenhirLib.EngineTypes.semv = _1;
31425 MenhirLib.EngineTypes.startp = _startpos__1_;
31426 MenhirLib.EngineTypes.endp = _endpos__1_;
31427 MenhirLib.EngineTypes.next = _menhir_stack;
31428 };
31429 } = _menhir_stack in
31430 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31431 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31432 let _startpos = _startpos__1_ in
31433 let _endpos = _endpos__2_ in
31434 let _v : 'tv_toplevel_after_dots =
31435 # 1717 "parser_cocci_menhir.mly"
31436 (_1@_2)
31437 # 31438 "parser_cocci_menhir.ml"
31438 in
31439 _menhir_env.MenhirLib.EngineTypes.stack <- {
31440 MenhirLib.EngineTypes.state = _menhir_s;
31441 MenhirLib.EngineTypes.semv = Obj.repr _v;
31442 MenhirLib.EngineTypes.startp = _startpos;
31443 MenhirLib.EngineTypes.endp = _endpos;
31444 MenhirLib.EngineTypes.next = _menhir_stack;
31445 });
31446 (fun _menhir_env ->
31447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31448 let {
31449 MenhirLib.EngineTypes.semv = _2;
31450 MenhirLib.EngineTypes.startp = _startpos__2_;
31451 MenhirLib.EngineTypes.endp = _endpos__2_;
31452 MenhirLib.EngineTypes.next = {
31453 MenhirLib.EngineTypes.state = _menhir_s;
31454 MenhirLib.EngineTypes.startp = _startpos__1_;
31455 MenhirLib.EngineTypes.endp = _endpos__1_;
31456 MenhirLib.EngineTypes.next = _menhir_stack;
31457 };
31458 } = _menhir_stack in
31459 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31460 let _startpos = _startpos__1_ in
31461 let _endpos = _endpos__2_ in
31462 let _v : 'tv_toplevel_after_dots_init =
31463 # 1705 "parser_cocci_menhir.mly"
31464 (_2)
31465 # 31466 "parser_cocci_menhir.ml"
31466 in
31467 _menhir_env.MenhirLib.EngineTypes.stack <- {
31468 MenhirLib.EngineTypes.state = _menhir_s;
31469 MenhirLib.EngineTypes.semv = Obj.repr _v;
31470 MenhirLib.EngineTypes.startp = _startpos;
31471 MenhirLib.EngineTypes.endp = _endpos;
31472 MenhirLib.EngineTypes.next = _menhir_stack;
31473 });
31474 (fun _menhir_env ->
31475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31476 let {
31477 MenhirLib.EngineTypes.semv = _2;
31478 MenhirLib.EngineTypes.startp = _startpos__2_;
31479 MenhirLib.EngineTypes.endp = _endpos__2_;
31480 MenhirLib.EngineTypes.next = {
31481 MenhirLib.EngineTypes.state = _menhir_s;
31482 MenhirLib.EngineTypes.semv = _1;
31483 MenhirLib.EngineTypes.startp = _startpos__1_;
31484 MenhirLib.EngineTypes.endp = _endpos__1_;
31485 MenhirLib.EngineTypes.next = _menhir_stack;
31486 };
31487 } = _menhir_stack in
31488 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31489 let _1 : 'tv_expr = Obj.magic _1 in
31490 let _startpos = _startpos__1_ in
31491 let _endpos = _endpos__2_ in
31492 let _v : 'tv_toplevel_after_dots_init =
31493 # 1706 "parser_cocci_menhir.mly"
31494 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31495 # 31496 "parser_cocci_menhir.ml"
31496 in
31497 _menhir_env.MenhirLib.EngineTypes.stack <- {
31498 MenhirLib.EngineTypes.state = _menhir_s;
31499 MenhirLib.EngineTypes.semv = Obj.repr _v;
31500 MenhirLib.EngineTypes.startp = _startpos;
31501 MenhirLib.EngineTypes.endp = _endpos;
31502 MenhirLib.EngineTypes.next = _menhir_stack;
31503 });
31504 (fun _menhir_env ->
31505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31506 let {
31507 MenhirLib.EngineTypes.semv = _2;
31508 MenhirLib.EngineTypes.startp = _startpos__2_;
31509 MenhirLib.EngineTypes.endp = _endpos__2_;
31510 MenhirLib.EngineTypes.next = {
31511 MenhirLib.EngineTypes.state = _menhir_s;
31512 MenhirLib.EngineTypes.semv = _1;
31513 MenhirLib.EngineTypes.startp = _startpos__1_;
31514 MenhirLib.EngineTypes.endp = _endpos__1_;
31515 MenhirLib.EngineTypes.next = _menhir_stack;
31516 };
31517 } = _menhir_stack in
31518 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31519 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31520 let _startpos = _startpos__1_ in
31521 let _endpos = _endpos__2_ in
31522 let _v : 'tv_toplevel_after_dots_init =
31523 # 1707 "parser_cocci_menhir.mly"
31524 (_1@_2)
31525 # 31526 "parser_cocci_menhir.ml"
31526 in
31527 _menhir_env.MenhirLib.EngineTypes.stack <- {
31528 MenhirLib.EngineTypes.state = _menhir_s;
31529 MenhirLib.EngineTypes.semv = Obj.repr _v;
31530 MenhirLib.EngineTypes.startp = _startpos;
31531 MenhirLib.EngineTypes.endp = _endpos;
31532 MenhirLib.EngineTypes.next = _menhir_stack;
31533 });
31534 (fun _menhir_env ->
31535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31536 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31537 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31538 let _endpos = _startpos in
31539 let _v : 'tv_toplevel_after_exp =
31540 # 1710 "parser_cocci_menhir.mly"
31541 ([])
31542 # 31543 "parser_cocci_menhir.ml"
31543 in
31544 _menhir_env.MenhirLib.EngineTypes.stack <- {
31545 MenhirLib.EngineTypes.state = _menhir_s;
31546 MenhirLib.EngineTypes.semv = Obj.repr _v;
31547 MenhirLib.EngineTypes.startp = _startpos;
31548 MenhirLib.EngineTypes.endp = _endpos;
31549 MenhirLib.EngineTypes.next = _menhir_stack;
31550 });
31551 (fun _menhir_env ->
31552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31553 let {
31554 MenhirLib.EngineTypes.semv = _2;
31555 MenhirLib.EngineTypes.startp = _startpos__2_;
31556 MenhirLib.EngineTypes.endp = _endpos__2_;
31557 MenhirLib.EngineTypes.next = {
31558 MenhirLib.EngineTypes.state = _menhir_s;
31559 MenhirLib.EngineTypes.semv = _1;
31560 MenhirLib.EngineTypes.startp = _startpos__1_;
31561 MenhirLib.EngineTypes.endp = _endpos__1_;
31562 MenhirLib.EngineTypes.next = _menhir_stack;
31563 };
31564 } = _menhir_stack in
31565 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31566 let _1 : 'tv_stm_dots = Obj.magic _1 in
31567 let _startpos = _startpos__1_ in
31568 let _endpos = _endpos__2_ in
31569 let _v : 'tv_toplevel_after_exp =
31570 # 1711 "parser_cocci_menhir.mly"
31571 (_1::_2)
31572 # 31573 "parser_cocci_menhir.ml"
31573 in
31574 _menhir_env.MenhirLib.EngineTypes.stack <- {
31575 MenhirLib.EngineTypes.state = _menhir_s;
31576 MenhirLib.EngineTypes.semv = Obj.repr _v;
31577 MenhirLib.EngineTypes.startp = _startpos;
31578 MenhirLib.EngineTypes.endp = _endpos;
31579 MenhirLib.EngineTypes.next = _menhir_stack;
31580 });
31581 (fun _menhir_env ->
31582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31583 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31584 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31585 let _endpos = _startpos in
31586 let _v : 'tv_toplevel_after_stm =
31587 # 1720 "parser_cocci_menhir.mly"
31588 ([])
31589 # 31590 "parser_cocci_menhir.ml"
31590 in
31591 _menhir_env.MenhirLib.EngineTypes.stack <- {
31592 MenhirLib.EngineTypes.state = _menhir_s;
31593 MenhirLib.EngineTypes.semv = Obj.repr _v;
31594 MenhirLib.EngineTypes.startp = _startpos;
31595 MenhirLib.EngineTypes.endp = _endpos;
31596 MenhirLib.EngineTypes.next = _menhir_stack;
31597 });
31598 (fun _menhir_env ->
31599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31600 let {
31601 MenhirLib.EngineTypes.semv = _2;
31602 MenhirLib.EngineTypes.startp = _startpos__2_;
31603 MenhirLib.EngineTypes.endp = _endpos__2_;
31604 MenhirLib.EngineTypes.next = {
31605 MenhirLib.EngineTypes.state = _menhir_s;
31606 MenhirLib.EngineTypes.semv = _1;
31607 MenhirLib.EngineTypes.startp = _startpos__1_;
31608 MenhirLib.EngineTypes.endp = _endpos__1_;
31609 MenhirLib.EngineTypes.next = _menhir_stack;
31610 };
31611 } = _menhir_stack in
31612 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31613 let _1 : 'tv_stm_dots = Obj.magic _1 in
31614 let _startpos = _startpos__1_ in
31615 let _endpos = _endpos__2_ in
31616 let _v : 'tv_toplevel_after_stm =
31617 # 1721 "parser_cocci_menhir.mly"
31618 (_1::_2)
31619 # 31620 "parser_cocci_menhir.ml"
31620 in
31621 _menhir_env.MenhirLib.EngineTypes.stack <- {
31622 MenhirLib.EngineTypes.state = _menhir_s;
31623 MenhirLib.EngineTypes.semv = Obj.repr _v;
31624 MenhirLib.EngineTypes.startp = _startpos;
31625 MenhirLib.EngineTypes.endp = _endpos;
31626 MenhirLib.EngineTypes.next = _menhir_stack;
31627 });
31628 (fun _menhir_env ->
31629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31630 let {
31631 MenhirLib.EngineTypes.semv = _2;
31632 MenhirLib.EngineTypes.startp = _startpos__2_;
31633 MenhirLib.EngineTypes.endp = _endpos__2_;
31634 MenhirLib.EngineTypes.next = {
31635 MenhirLib.EngineTypes.state = _menhir_s;
31636 MenhirLib.EngineTypes.semv = _1;
31637 MenhirLib.EngineTypes.startp = _startpos__1_;
31638 MenhirLib.EngineTypes.endp = _endpos__1_;
31639 MenhirLib.EngineTypes.next = _menhir_stack;
31640 };
31641 } = _menhir_stack in
31642 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31643 let _1 : 'tv_decl_statement = Obj.magic _1 in
31644 let _startpos = _startpos__1_ in
31645 let _endpos = _endpos__2_ in
31646 let _v : 'tv_toplevel_after_stm =
31647 # 1722 "parser_cocci_menhir.mly"
31648 (_1@_2)
31649 # 31650 "parser_cocci_menhir.ml"
31650 in
31651 _menhir_env.MenhirLib.EngineTypes.stack <- {
31652 MenhirLib.EngineTypes.state = _menhir_s;
31653 MenhirLib.EngineTypes.semv = Obj.repr _v;
31654 MenhirLib.EngineTypes.startp = _startpos;
31655 MenhirLib.EngineTypes.endp = _endpos;
31656 MenhirLib.EngineTypes.next = _menhir_stack;
31657 });
31658 (fun _menhir_env ->
31659 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31660 let {
31661 MenhirLib.EngineTypes.semv = _2;
31662 MenhirLib.EngineTypes.startp = _startpos__2_;
31663 MenhirLib.EngineTypes.endp = _endpos__2_;
31664 MenhirLib.EngineTypes.next = {
31665 MenhirLib.EngineTypes.state = _menhir_s;
31666 MenhirLib.EngineTypes.semv = _1;
31667 MenhirLib.EngineTypes.startp = _startpos__1_;
31668 MenhirLib.EngineTypes.endp = _endpos__1_;
31669 MenhirLib.EngineTypes.next = _menhir_stack;
31670 };
31671 } = _menhir_stack in
31672 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31673 let _1 : 'tv_stm_dots = Obj.magic _1 in
31674 let _startpos = _startpos__1_ in
31675 let _endpos = _endpos__2_ in
31676 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
31677 # 1700 "parser_cocci_menhir.mly"
31678 ( _1::_2 )
31679 # 31680 "parser_cocci_menhir.ml"
31680 in
31681 _menhir_env.MenhirLib.EngineTypes.stack <- {
31682 MenhirLib.EngineTypes.state = _menhir_s;
31683 MenhirLib.EngineTypes.semv = Obj.repr _v;
31684 MenhirLib.EngineTypes.startp = _startpos;
31685 MenhirLib.EngineTypes.endp = _endpos;
31686 MenhirLib.EngineTypes.next = _menhir_stack;
31687 });
31688 (fun _menhir_env ->
31689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31690 let {
31691 MenhirLib.EngineTypes.semv = _2;
31692 MenhirLib.EngineTypes.startp = _startpos__2_;
31693 MenhirLib.EngineTypes.endp = _endpos__2_;
31694 MenhirLib.EngineTypes.next = {
31695 MenhirLib.EngineTypes.state = _menhir_s;
31696 MenhirLib.EngineTypes.semv = _1;
31697 MenhirLib.EngineTypes.startp = _startpos__1_;
31698 MenhirLib.EngineTypes.endp = _endpos__1_;
31699 MenhirLib.EngineTypes.next = _menhir_stack;
31700 };
31701 } = _menhir_stack in
31702 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31703 let _1 : 'tv_expr = Obj.magic _1 in
31704 let _startpos = _startpos__1_ in
31705 let _endpos = _endpos__2_ in
31706 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
31707 # 1701 "parser_cocci_menhir.mly"
31708 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
31709 # 31710 "parser_cocci_menhir.ml"
31710 in
31711 _menhir_env.MenhirLib.EngineTypes.stack <- {
31712 MenhirLib.EngineTypes.state = _menhir_s;
31713 MenhirLib.EngineTypes.semv = Obj.repr _v;
31714 MenhirLib.EngineTypes.startp = _startpos;
31715 MenhirLib.EngineTypes.endp = _endpos;
31716 MenhirLib.EngineTypes.next = _menhir_stack;
31717 });
31718 (fun _menhir_env ->
31719 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31720 let {
31721 MenhirLib.EngineTypes.semv = _2;
31722 MenhirLib.EngineTypes.startp = _startpos__2_;
31723 MenhirLib.EngineTypes.endp = _endpos__2_;
31724 MenhirLib.EngineTypes.next = {
31725 MenhirLib.EngineTypes.state = _menhir_s;
31726 MenhirLib.EngineTypes.semv = _1;
31727 MenhirLib.EngineTypes.startp = _startpos__1_;
31728 MenhirLib.EngineTypes.endp = _endpos__1_;
31729 MenhirLib.EngineTypes.next = _menhir_stack;
31730 };
31731 } = _menhir_stack in
31732 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31733 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31734 let _startpos = _startpos__1_ in
31735 let _endpos = _endpos__2_ in
31736 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
31737 # 1702 "parser_cocci_menhir.mly"
31738 ( _1@_2 )
31739 # 31740 "parser_cocci_menhir.ml"
31740 in
31741 _menhir_env.MenhirLib.EngineTypes.stack <- {
31742 MenhirLib.EngineTypes.state = _menhir_s;
31743 MenhirLib.EngineTypes.semv = Obj.repr _v;
31744 MenhirLib.EngineTypes.startp = _startpos;
31745 MenhirLib.EngineTypes.endp = _endpos;
31746 MenhirLib.EngineTypes.next = _menhir_stack;
31747 });
31748 (fun _menhir_env ->
31749 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31750 let {
31751 MenhirLib.EngineTypes.semv = b;
31752 MenhirLib.EngineTypes.startp = _startpos_b_;
31753 MenhirLib.EngineTypes.endp = _endpos_b_;
31754 MenhirLib.EngineTypes.next = {
31755 MenhirLib.EngineTypes.semv = w0;
31756 MenhirLib.EngineTypes.startp = _startpos_w0_;
31757 MenhirLib.EngineTypes.endp = _endpos_w0_;
31758 MenhirLib.EngineTypes.next = {
31759 MenhirLib.EngineTypes.state = _menhir_s;
31760 MenhirLib.EngineTypes.semv = a0;
31761 MenhirLib.EngineTypes.startp = _startpos_a0_;
31762 MenhirLib.EngineTypes.endp = _endpos_a0_;
31763 MenhirLib.EngineTypes.next = _menhir_stack;
31764 };
31765 };
31766 } = _menhir_stack in
31767 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
31768 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31769 let a0 : (
31770 # 73 "parser_cocci_menhir.mly"
31771 (Data.clt)
31772 # 31773 "parser_cocci_menhir.ml"
31773 ) = Obj.magic a0 in
31774 let _startpos = _startpos_a0_ in
31775 let _endpos = _endpos_b_ in
31776 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31777 let w = w0 in
31778 let a = a0 in
31779
31780 # 883 "parser_cocci_menhir.mly"
31781 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
31782 # 31783 "parser_cocci_menhir.ml"
31783
31784 in
31785
31786 # 1693 "parser_cocci_menhir.mly"
31787 ( a::b )
31788 # 31789 "parser_cocci_menhir.ml"
31789 in
31790 _menhir_env.MenhirLib.EngineTypes.stack <- {
31791 MenhirLib.EngineTypes.state = _menhir_s;
31792 MenhirLib.EngineTypes.semv = Obj.repr _v;
31793 MenhirLib.EngineTypes.startp = _startpos;
31794 MenhirLib.EngineTypes.endp = _endpos;
31795 MenhirLib.EngineTypes.next = _menhir_stack;
31796 });
31797 (fun _menhir_env ->
31798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31799 let {
31800 MenhirLib.EngineTypes.semv = b;
31801 MenhirLib.EngineTypes.startp = _startpos_b_;
31802 MenhirLib.EngineTypes.endp = _endpos_b_;
31803 MenhirLib.EngineTypes.next = {
31804 MenhirLib.EngineTypes.semv = c0;
31805 MenhirLib.EngineTypes.startp = _startpos_c0_;
31806 MenhirLib.EngineTypes.endp = _endpos_c0_;
31807 MenhirLib.EngineTypes.next = {
31808 MenhirLib.EngineTypes.semv = b0;
31809 MenhirLib.EngineTypes.startp = _startpos_b0_;
31810 MenhirLib.EngineTypes.endp = _endpos_b0_;
31811 MenhirLib.EngineTypes.next = {
31812 MenhirLib.EngineTypes.semv = w0;
31813 MenhirLib.EngineTypes.startp = _startpos_w0_;
31814 MenhirLib.EngineTypes.endp = _endpos_w0_;
31815 MenhirLib.EngineTypes.next = {
31816 MenhirLib.EngineTypes.state = _menhir_s;
31817 MenhirLib.EngineTypes.semv = a0;
31818 MenhirLib.EngineTypes.startp = _startpos_a0_;
31819 MenhirLib.EngineTypes.endp = _endpos_a0_;
31820 MenhirLib.EngineTypes.next = _menhir_stack;
31821 };
31822 };
31823 };
31824 };
31825 } = _menhir_stack in
31826 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
31827 let c0 : (
31828 # 73 "parser_cocci_menhir.mly"
31829 (Data.clt)
31830 # 31831 "parser_cocci_menhir.ml"
31831 ) = Obj.magic c0 in
31832 let b0 : 'tv_nest_start = Obj.magic b0 in
31833 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31834 let a0 : (
31835 # 73 "parser_cocci_menhir.mly"
31836 (Data.clt)
31837 # 31838 "parser_cocci_menhir.ml"
31838 ) = Obj.magic a0 in
31839 let _startpos = _startpos_a0_ in
31840 let _endpos = _endpos_b_ in
31841 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31842 let c = c0 in
31843 let b = b0 in
31844 let w = w0 in
31845 let a = a0 in
31846
31847 # 887 "parser_cocci_menhir.mly"
31848 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
31849 P.clt2mcode "...>" c, List.concat w, false)) )
31850 # 31851 "parser_cocci_menhir.ml"
31851
31852 in
31853
31854 # 1694 "parser_cocci_menhir.mly"
31855 ( a::b )
31856 # 31857 "parser_cocci_menhir.ml"
31857 in
31858 _menhir_env.MenhirLib.EngineTypes.stack <- {
31859 MenhirLib.EngineTypes.state = _menhir_s;
31860 MenhirLib.EngineTypes.semv = Obj.repr _v;
31861 MenhirLib.EngineTypes.startp = _startpos;
31862 MenhirLib.EngineTypes.endp = _endpos;
31863 MenhirLib.EngineTypes.next = _menhir_stack;
31864 });
31865 (fun _menhir_env ->
31866 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31867 let {
31868 MenhirLib.EngineTypes.semv = b;
31869 MenhirLib.EngineTypes.startp = _startpos_b_;
31870 MenhirLib.EngineTypes.endp = _endpos_b_;
31871 MenhirLib.EngineTypes.next = {
31872 MenhirLib.EngineTypes.semv = c0;
31873 MenhirLib.EngineTypes.startp = _startpos_c0_;
31874 MenhirLib.EngineTypes.endp = _endpos_c0_;
31875 MenhirLib.EngineTypes.next = {
31876 MenhirLib.EngineTypes.semv = b0;
31877 MenhirLib.EngineTypes.startp = _startpos_b0_;
31878 MenhirLib.EngineTypes.endp = _endpos_b0_;
31879 MenhirLib.EngineTypes.next = {
31880 MenhirLib.EngineTypes.semv = w0;
31881 MenhirLib.EngineTypes.startp = _startpos_w0_;
31882 MenhirLib.EngineTypes.endp = _endpos_w0_;
31883 MenhirLib.EngineTypes.next = {
31884 MenhirLib.EngineTypes.state = _menhir_s;
31885 MenhirLib.EngineTypes.semv = a0;
31886 MenhirLib.EngineTypes.startp = _startpos_a0_;
31887 MenhirLib.EngineTypes.endp = _endpos_a0_;
31888 MenhirLib.EngineTypes.next = _menhir_stack;
31889 };
31890 };
31891 };
31892 };
31893 } = _menhir_stack in
31894 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
31895 let c0 : (
31896 # 73 "parser_cocci_menhir.mly"
31897 (Data.clt)
31898 # 31899 "parser_cocci_menhir.ml"
31899 ) = Obj.magic c0 in
31900 let b0 : 'tv_nest_start = Obj.magic b0 in
31901 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31902 let a0 : (
31903 # 73 "parser_cocci_menhir.mly"
31904 (Data.clt)
31905 # 31906 "parser_cocci_menhir.ml"
31906 ) = Obj.magic a0 in
31907 let _startpos = _startpos_a0_ in
31908 let _endpos = _endpos_b_ in
31909 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31910 let c = c0 in
31911 let b = b0 in
31912 let w = w0 in
31913 let a = a0 in
31914
31915 # 890 "parser_cocci_menhir.mly"
31916 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
31917 P.clt2mcode "...+>" c, List.concat w, true)) )
31918 # 31919 "parser_cocci_menhir.ml"
31919
31920 in
31921
31922 # 1694 "parser_cocci_menhir.mly"
31923 ( a::b )
31924 # 31925 "parser_cocci_menhir.ml"
31925 in
31926 _menhir_env.MenhirLib.EngineTypes.stack <- {
31927 MenhirLib.EngineTypes.state = _menhir_s;
31928 MenhirLib.EngineTypes.semv = Obj.repr _v;
31929 MenhirLib.EngineTypes.startp = _startpos;
31930 MenhirLib.EngineTypes.endp = _endpos;
31931 MenhirLib.EngineTypes.next = _menhir_stack;
31932 });
31933 (fun _menhir_env ->
31934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31935 let {
31936 MenhirLib.EngineTypes.semv = c0;
31937 MenhirLib.EngineTypes.startp = _startpos_c0_;
31938 MenhirLib.EngineTypes.endp = _endpos_c0_;
31939 MenhirLib.EngineTypes.next = {
31940 MenhirLib.EngineTypes.semv = b0;
31941 MenhirLib.EngineTypes.startp = _startpos_b0_;
31942 MenhirLib.EngineTypes.endp = _endpos_b0_;
31943 MenhirLib.EngineTypes.next = {
31944 MenhirLib.EngineTypes.semv = w0;
31945 MenhirLib.EngineTypes.startp = _startpos_w0_;
31946 MenhirLib.EngineTypes.endp = _endpos_w0_;
31947 MenhirLib.EngineTypes.next = {
31948 MenhirLib.EngineTypes.state = _menhir_s;
31949 MenhirLib.EngineTypes.semv = a0;
31950 MenhirLib.EngineTypes.startp = _startpos_a0_;
31951 MenhirLib.EngineTypes.endp = _endpos_a0_;
31952 MenhirLib.EngineTypes.next = _menhir_stack;
31953 };
31954 };
31955 };
31956 } = _menhir_stack in
31957 let c0 : (
31958 # 73 "parser_cocci_menhir.mly"
31959 (Data.clt)
31960 # 31961 "parser_cocci_menhir.ml"
31961 ) = Obj.magic c0 in
31962 let b0 : 'tv_nest_start = Obj.magic b0 in
31963 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
31964 let a0 : (
31965 # 73 "parser_cocci_menhir.mly"
31966 (Data.clt)
31967 # 31968 "parser_cocci_menhir.ml"
31968 ) = Obj.magic a0 in
31969 let _startpos = _startpos_a0_ in
31970 let _endpos = _endpos_c0_ in
31971 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
31972 let c = c0 in
31973 let b = b0 in
31974 let w = w0 in
31975 let a = a0 in
31976
31977 # 887 "parser_cocci_menhir.mly"
31978 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
31979 P.clt2mcode "...>" c, List.concat w, false)) )
31980 # 31981 "parser_cocci_menhir.ml"
31981
31982 in
31983
31984 # 1695 "parser_cocci_menhir.mly"
31985 ( [a] )
31986 # 31987 "parser_cocci_menhir.ml"
31987 in
31988 _menhir_env.MenhirLib.EngineTypes.stack <- {
31989 MenhirLib.EngineTypes.state = _menhir_s;
31990 MenhirLib.EngineTypes.semv = Obj.repr _v;
31991 MenhirLib.EngineTypes.startp = _startpos;
31992 MenhirLib.EngineTypes.endp = _endpos;
31993 MenhirLib.EngineTypes.next = _menhir_stack;
31994 });
31995 (fun _menhir_env ->
31996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31997 let {
31998 MenhirLib.EngineTypes.semv = c0;
31999 MenhirLib.EngineTypes.startp = _startpos_c0_;
32000 MenhirLib.EngineTypes.endp = _endpos_c0_;
32001 MenhirLib.EngineTypes.next = {
32002 MenhirLib.EngineTypes.semv = b0;
32003 MenhirLib.EngineTypes.startp = _startpos_b0_;
32004 MenhirLib.EngineTypes.endp = _endpos_b0_;
32005 MenhirLib.EngineTypes.next = {
32006 MenhirLib.EngineTypes.semv = w0;
32007 MenhirLib.EngineTypes.startp = _startpos_w0_;
32008 MenhirLib.EngineTypes.endp = _endpos_w0_;
32009 MenhirLib.EngineTypes.next = {
32010 MenhirLib.EngineTypes.state = _menhir_s;
32011 MenhirLib.EngineTypes.semv = a0;
32012 MenhirLib.EngineTypes.startp = _startpos_a0_;
32013 MenhirLib.EngineTypes.endp = _endpos_a0_;
32014 MenhirLib.EngineTypes.next = _menhir_stack;
32015 };
32016 };
32017 };
32018 } = _menhir_stack in
32019 let c0 : (
32020 # 73 "parser_cocci_menhir.mly"
32021 (Data.clt)
32022 # 32023 "parser_cocci_menhir.ml"
32023 ) = Obj.magic c0 in
32024 let b0 : 'tv_nest_start = Obj.magic b0 in
32025 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32026 let a0 : (
32027 # 73 "parser_cocci_menhir.mly"
32028 (Data.clt)
32029 # 32030 "parser_cocci_menhir.ml"
32030 ) = Obj.magic a0 in
32031 let _startpos = _startpos_a0_ in
32032 let _endpos = _endpos_c0_ in
32033 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32034 let c = c0 in
32035 let b = b0 in
32036 let w = w0 in
32037 let a = a0 in
32038
32039 # 890 "parser_cocci_menhir.mly"
32040 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32041 P.clt2mcode "...+>" c, List.concat w, true)) )
32042 # 32043 "parser_cocci_menhir.ml"
32043
32044 in
32045
32046 # 1695 "parser_cocci_menhir.mly"
32047 ( [a] )
32048 # 32049 "parser_cocci_menhir.ml"
32049 in
32050 _menhir_env.MenhirLib.EngineTypes.stack <- {
32051 MenhirLib.EngineTypes.state = _menhir_s;
32052 MenhirLib.EngineTypes.semv = Obj.repr _v;
32053 MenhirLib.EngineTypes.startp = _startpos;
32054 MenhirLib.EngineTypes.endp = _endpos;
32055 MenhirLib.EngineTypes.next = _menhir_stack;
32056 });
32057 (fun _menhir_env ->
32058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32059 let {
32060 MenhirLib.EngineTypes.semv = _2;
32061 MenhirLib.EngineTypes.startp = _startpos__2_;
32062 MenhirLib.EngineTypes.endp = _endpos__2_;
32063 MenhirLib.EngineTypes.next = {
32064 MenhirLib.EngineTypes.state = _menhir_s;
32065 MenhirLib.EngineTypes.semv = _1;
32066 MenhirLib.EngineTypes.startp = _startpos__1_;
32067 MenhirLib.EngineTypes.endp = _endpos__1_;
32068 MenhirLib.EngineTypes.next = _menhir_stack;
32069 };
32070 } = _menhir_stack in
32071 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32072 let _1 : 'tv_expr = Obj.magic _1 in
32073 let _startpos = _startpos__1_ in
32074 let _endpos = _endpos__2_ in
32075 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32076 # 1696 "parser_cocci_menhir.mly"
32077 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32078 # 32079 "parser_cocci_menhir.ml"
32079 in
32080 _menhir_env.MenhirLib.EngineTypes.stack <- {
32081 MenhirLib.EngineTypes.state = _menhir_s;
32082 MenhirLib.EngineTypes.semv = Obj.repr _v;
32083 MenhirLib.EngineTypes.startp = _startpos;
32084 MenhirLib.EngineTypes.endp = _endpos;
32085 MenhirLib.EngineTypes.next = _menhir_stack;
32086 });
32087 (fun _menhir_env ->
32088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32089 let {
32090 MenhirLib.EngineTypes.semv = _2;
32091 MenhirLib.EngineTypes.startp = _startpos__2_;
32092 MenhirLib.EngineTypes.endp = _endpos__2_;
32093 MenhirLib.EngineTypes.next = {
32094 MenhirLib.EngineTypes.state = _menhir_s;
32095 MenhirLib.EngineTypes.semv = _1;
32096 MenhirLib.EngineTypes.startp = _startpos__1_;
32097 MenhirLib.EngineTypes.endp = _endpos__1_;
32098 MenhirLib.EngineTypes.next = _menhir_stack;
32099 };
32100 } = _menhir_stack in
32101 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32102 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32103 let _startpos = _startpos__1_ in
32104 let _endpos = _endpos__2_ in
32105 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32106 # 1697 "parser_cocci_menhir.mly"
32107 ( _1@_2 )
32108 # 32109 "parser_cocci_menhir.ml"
32109 in
32110 _menhir_env.MenhirLib.EngineTypes.stack <- {
32111 MenhirLib.EngineTypes.state = _menhir_s;
32112 MenhirLib.EngineTypes.semv = Obj.repr _v;
32113 MenhirLib.EngineTypes.startp = _startpos;
32114 MenhirLib.EngineTypes.endp = _endpos;
32115 MenhirLib.EngineTypes.next = _menhir_stack;
32116 });
32117 (fun _menhir_env ->
32118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32119 let {
32120 MenhirLib.EngineTypes.semv = m;
32121 MenhirLib.EngineTypes.startp = _startpos_m_;
32122 MenhirLib.EngineTypes.endp = _endpos_m_;
32123 MenhirLib.EngineTypes.next = {
32124 MenhirLib.EngineTypes.semv = ty00;
32125 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32126 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32127 MenhirLib.EngineTypes.next = {
32128 MenhirLib.EngineTypes.state = _menhir_s;
32129 MenhirLib.EngineTypes.semv = r0;
32130 MenhirLib.EngineTypes.startp = _startpos_r0_;
32131 MenhirLib.EngineTypes.endp = _endpos_r0_;
32132 MenhirLib.EngineTypes.next = _menhir_stack;
32133 };
32134 };
32135 } = _menhir_stack in
32136 let m : 'tv_list_TMul_ = Obj.magic m in
32137 let ty00 : (
32138 # 49 "parser_cocci_menhir.mly"
32139 (Data.clt)
32140 # 32141 "parser_cocci_menhir.ml"
32141 ) = Obj.magic ty00 in
32142 let r0 : (
32143 # 51 "parser_cocci_menhir.mly"
32144 (Data.clt)
32145 # 32146 "parser_cocci_menhir.ml"
32146 ) = Obj.magic r0 in
32147 let _startpos = _startpos_r0_ in
32148 let _endpos = _endpos_m_ in
32149 let _v : 'tv_typedef_ctype = let ty =
32150 let ty0 = ty00 in
32151 let r = r0 in
32152 let ty =
32153 let ty = ty0 in
32154
32155 # 476 "parser_cocci_menhir.mly"
32156 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32157 # 32158 "parser_cocci_menhir.ml"
32158
32159 in
32160
32161 # 528 "parser_cocci_menhir.mly"
32162 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32163 # 32164 "parser_cocci_menhir.ml"
32164
32165 in
32166 let cv =
32167
32168 # 39 "standard.mly"
32169 ( None )
32170 # 32171 "parser_cocci_menhir.ml"
32171
32172 in
32173
32174 # 549 "parser_cocci_menhir.mly"
32175 ( P.pointerify (P.make_cv cv ty) m )
32176 # 32177 "parser_cocci_menhir.ml"
32177 in
32178 _menhir_env.MenhirLib.EngineTypes.stack <- {
32179 MenhirLib.EngineTypes.state = _menhir_s;
32180 MenhirLib.EngineTypes.semv = Obj.repr _v;
32181 MenhirLib.EngineTypes.startp = _startpos;
32182 MenhirLib.EngineTypes.endp = _endpos;
32183 MenhirLib.EngineTypes.next = _menhir_stack;
32184 });
32185 (fun _menhir_env ->
32186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32187 let {
32188 MenhirLib.EngineTypes.semv = m;
32189 MenhirLib.EngineTypes.startp = _startpos_m_;
32190 MenhirLib.EngineTypes.endp = _endpos_m_;
32191 MenhirLib.EngineTypes.next = {
32192 MenhirLib.EngineTypes.semv = ty00;
32193 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32194 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32195 MenhirLib.EngineTypes.next = {
32196 MenhirLib.EngineTypes.state = _menhir_s;
32197 MenhirLib.EngineTypes.semv = r0;
32198 MenhirLib.EngineTypes.startp = _startpos_r0_;
32199 MenhirLib.EngineTypes.endp = _endpos_r0_;
32200 MenhirLib.EngineTypes.next = _menhir_stack;
32201 };
32202 };
32203 } = _menhir_stack in
32204 let m : 'tv_list_TMul_ = Obj.magic m in
32205 let ty00 : (
32206 # 49 "parser_cocci_menhir.mly"
32207 (Data.clt)
32208 # 32209 "parser_cocci_menhir.ml"
32209 ) = Obj.magic ty00 in
32210 let r0 : (
32211 # 51 "parser_cocci_menhir.mly"
32212 (Data.clt)
32213 # 32214 "parser_cocci_menhir.ml"
32214 ) = Obj.magic r0 in
32215 let _startpos = _startpos_r0_ in
32216 let _endpos = _endpos_m_ in
32217 let _v : 'tv_typedef_ctype = let ty =
32218 let ty0 = ty00 in
32219 let r = r0 in
32220 let ty =
32221 let ty = ty0 in
32222
32223 # 478 "parser_cocci_menhir.mly"
32224 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32225 # 32226 "parser_cocci_menhir.ml"
32226
32227 in
32228
32229 # 528 "parser_cocci_menhir.mly"
32230 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32231 # 32232 "parser_cocci_menhir.ml"
32232
32233 in
32234 let cv =
32235
32236 # 39 "standard.mly"
32237 ( None )
32238 # 32239 "parser_cocci_menhir.ml"
32239
32240 in
32241
32242 # 549 "parser_cocci_menhir.mly"
32243 ( P.pointerify (P.make_cv cv ty) m )
32244 # 32245 "parser_cocci_menhir.ml"
32245 in
32246 _menhir_env.MenhirLib.EngineTypes.stack <- {
32247 MenhirLib.EngineTypes.state = _menhir_s;
32248 MenhirLib.EngineTypes.semv = Obj.repr _v;
32249 MenhirLib.EngineTypes.startp = _startpos;
32250 MenhirLib.EngineTypes.endp = _endpos;
32251 MenhirLib.EngineTypes.next = _menhir_stack;
32252 });
32253 (fun _menhir_env ->
32254 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32255 let {
32256 MenhirLib.EngineTypes.semv = m;
32257 MenhirLib.EngineTypes.startp = _startpos_m_;
32258 MenhirLib.EngineTypes.endp = _endpos_m_;
32259 MenhirLib.EngineTypes.next = {
32260 MenhirLib.EngineTypes.semv = ty00;
32261 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32262 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32263 MenhirLib.EngineTypes.next = {
32264 MenhirLib.EngineTypes.state = _menhir_s;
32265 MenhirLib.EngineTypes.semv = r0;
32266 MenhirLib.EngineTypes.startp = _startpos_r0_;
32267 MenhirLib.EngineTypes.endp = _endpos_r0_;
32268 MenhirLib.EngineTypes.next = _menhir_stack;
32269 };
32270 };
32271 } = _menhir_stack in
32272 let m : 'tv_list_TMul_ = Obj.magic m in
32273 let ty00 : (
32274 # 49 "parser_cocci_menhir.mly"
32275 (Data.clt)
32276 # 32277 "parser_cocci_menhir.ml"
32277 ) = Obj.magic ty00 in
32278 let r0 : (
32279 # 51 "parser_cocci_menhir.mly"
32280 (Data.clt)
32281 # 32282 "parser_cocci_menhir.ml"
32282 ) = Obj.magic r0 in
32283 let _startpos = _startpos_r0_ in
32284 let _endpos = _endpos_m_ in
32285 let _v : 'tv_typedef_ctype = let ty =
32286 let ty0 = ty00 in
32287 let r = r0 in
32288 let ty =
32289 let ty = ty0 in
32290
32291 # 480 "parser_cocci_menhir.mly"
32292 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32293 # 32294 "parser_cocci_menhir.ml"
32294
32295 in
32296
32297 # 528 "parser_cocci_menhir.mly"
32298 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32299 # 32300 "parser_cocci_menhir.ml"
32300
32301 in
32302 let cv =
32303
32304 # 39 "standard.mly"
32305 ( None )
32306 # 32307 "parser_cocci_menhir.ml"
32307
32308 in
32309
32310 # 549 "parser_cocci_menhir.mly"
32311 ( P.pointerify (P.make_cv cv ty) m )
32312 # 32313 "parser_cocci_menhir.ml"
32313 in
32314 _menhir_env.MenhirLib.EngineTypes.stack <- {
32315 MenhirLib.EngineTypes.state = _menhir_s;
32316 MenhirLib.EngineTypes.semv = Obj.repr _v;
32317 MenhirLib.EngineTypes.startp = _startpos;
32318 MenhirLib.EngineTypes.endp = _endpos;
32319 MenhirLib.EngineTypes.next = _menhir_stack;
32320 });
32321 (fun _menhir_env ->
32322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32323 let {
32324 MenhirLib.EngineTypes.semv = m;
32325 MenhirLib.EngineTypes.startp = _startpos_m_;
32326 MenhirLib.EngineTypes.endp = _endpos_m_;
32327 MenhirLib.EngineTypes.next = {
32328 MenhirLib.EngineTypes.semv = p00;
32329 MenhirLib.EngineTypes.startp = _startpos_p00_;
32330 MenhirLib.EngineTypes.endp = _endpos_p00_;
32331 MenhirLib.EngineTypes.next = {
32332 MenhirLib.EngineTypes.state = _menhir_s;
32333 MenhirLib.EngineTypes.semv = r0;
32334 MenhirLib.EngineTypes.startp = _startpos_r0_;
32335 MenhirLib.EngineTypes.endp = _endpos_r0_;
32336 MenhirLib.EngineTypes.next = _menhir_stack;
32337 };
32338 };
32339 } = _menhir_stack in
32340 let m : 'tv_list_TMul_ = Obj.magic m in
32341 let p00 : (
32342 # 64 "parser_cocci_menhir.mly"
32343 (Parse_aux.info)
32344 # 32345 "parser_cocci_menhir.ml"
32345 ) = Obj.magic p00 in
32346 let r0 : (
32347 # 51 "parser_cocci_menhir.mly"
32348 (Data.clt)
32349 # 32350 "parser_cocci_menhir.ml"
32350 ) = Obj.magic r0 in
32351 let _startpos = _startpos_r0_ in
32352 let _endpos = _endpos_m_ in
32353 let _v : 'tv_typedef_ctype = let ty =
32354 let p0 = p00 in
32355 let r = r0 in
32356 let ty =
32357 let p = p0 in
32358
32359 # 482 "parser_cocci_menhir.mly"
32360 ( let (nm,pure,clt) = p in
32361 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32362 # 32363 "parser_cocci_menhir.ml"
32363
32364 in
32365
32366 # 528 "parser_cocci_menhir.mly"
32367 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32368 # 32369 "parser_cocci_menhir.ml"
32369
32370 in
32371 let cv =
32372
32373 # 39 "standard.mly"
32374 ( None )
32375 # 32376 "parser_cocci_menhir.ml"
32376
32377 in
32378
32379 # 549 "parser_cocci_menhir.mly"
32380 ( P.pointerify (P.make_cv cv ty) m )
32381 # 32382 "parser_cocci_menhir.ml"
32382 in
32383 _menhir_env.MenhirLib.EngineTypes.stack <- {
32384 MenhirLib.EngineTypes.state = _menhir_s;
32385 MenhirLib.EngineTypes.semv = Obj.repr _v;
32386 MenhirLib.EngineTypes.startp = _startpos;
32387 MenhirLib.EngineTypes.endp = _endpos;
32388 MenhirLib.EngineTypes.next = _menhir_stack;
32389 });
32390 (fun _menhir_env ->
32391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32392 let {
32393 MenhirLib.EngineTypes.semv = m;
32394 MenhirLib.EngineTypes.startp = _startpos_m_;
32395 MenhirLib.EngineTypes.endp = _endpos_m_;
32396 MenhirLib.EngineTypes.next = {
32397 MenhirLib.EngineTypes.semv = p00;
32398 MenhirLib.EngineTypes.startp = _startpos_p00_;
32399 MenhirLib.EngineTypes.endp = _endpos_p00_;
32400 MenhirLib.EngineTypes.next = {
32401 MenhirLib.EngineTypes.startp = _startpos__3_;
32402 MenhirLib.EngineTypes.endp = _endpos__3_;
32403 MenhirLib.EngineTypes.next = {
32404 MenhirLib.EngineTypes.semv = r00;
32405 MenhirLib.EngineTypes.startp = _startpos_r00_;
32406 MenhirLib.EngineTypes.endp = _endpos_r00_;
32407 MenhirLib.EngineTypes.next = {
32408 MenhirLib.EngineTypes.state = _menhir_s;
32409 MenhirLib.EngineTypes.semv = r1;
32410 MenhirLib.EngineTypes.startp = _startpos_r1_;
32411 MenhirLib.EngineTypes.endp = _endpos_r1_;
32412 MenhirLib.EngineTypes.next = _menhir_stack;
32413 };
32414 };
32415 };
32416 };
32417 } = _menhir_stack in
32418 let m : 'tv_list_TMul_ = Obj.magic m in
32419 let p00 : (
32420 # 59 "parser_cocci_menhir.mly"
32421 (string * Data.clt)
32422 # 32423 "parser_cocci_menhir.ml"
32423 ) = Obj.magic p00 in
32424 let r00 : (
32425 # 47 "parser_cocci_menhir.mly"
32426 (string)
32427 # 32428 "parser_cocci_menhir.ml"
32428 ) = Obj.magic r00 in
32429 let r1 : (
32430 # 51 "parser_cocci_menhir.mly"
32431 (Data.clt)
32432 # 32433 "parser_cocci_menhir.ml"
32433 ) = Obj.magic r1 in
32434 let _startpos = _startpos_r1_ in
32435 let _endpos = _endpos_m_ in
32436 let _v : 'tv_typedef_ctype = let ty =
32437 let p0 = p00 in
32438 let r0 = r00 in
32439 let r = r1 in
32440 let ty =
32441 let p = p0 in
32442 let r = r0 in
32443
32444 # 485 "parser_cocci_menhir.mly"
32445 ( let nm = (r,P.id2name p) in
32446 (* this is only possible when we are in a metavar decl. Otherwise,
32447 it will be represented already as a MetaType *)
32448 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
32449 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
32450 Ast0.Impure (*will be ignored*))) )
32451 # 32452 "parser_cocci_menhir.ml"
32452
32453 in
32454
32455 # 528 "parser_cocci_menhir.mly"
32456 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32457 # 32458 "parser_cocci_menhir.ml"
32458
32459 in
32460 let cv =
32461
32462 # 39 "standard.mly"
32463 ( None )
32464 # 32465 "parser_cocci_menhir.ml"
32465
32466 in
32467
32468 # 549 "parser_cocci_menhir.mly"
32469 ( P.pointerify (P.make_cv cv ty) m )
32470 # 32471 "parser_cocci_menhir.ml"
32471 in
32472 _menhir_env.MenhirLib.EngineTypes.stack <- {
32473 MenhirLib.EngineTypes.state = _menhir_s;
32474 MenhirLib.EngineTypes.semv = Obj.repr _v;
32475 MenhirLib.EngineTypes.startp = _startpos;
32476 MenhirLib.EngineTypes.endp = _endpos;
32477 MenhirLib.EngineTypes.next = _menhir_stack;
32478 });
32479 (fun _menhir_env ->
32480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32481 let {
32482 MenhirLib.EngineTypes.semv = m;
32483 MenhirLib.EngineTypes.startp = _startpos_m_;
32484 MenhirLib.EngineTypes.endp = _endpos_m_;
32485 MenhirLib.EngineTypes.next = {
32486 MenhirLib.EngineTypes.semv = ty00;
32487 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32488 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32489 MenhirLib.EngineTypes.next = {
32490 MenhirLib.EngineTypes.state = _menhir_s;
32491 MenhirLib.EngineTypes.semv = r0;
32492 MenhirLib.EngineTypes.startp = _startpos_r0_;
32493 MenhirLib.EngineTypes.endp = _endpos_r0_;
32494 MenhirLib.EngineTypes.next = _menhir_stack;
32495 };
32496 };
32497 } = _menhir_stack in
32498 let m : 'tv_list_TMul_ = Obj.magic m in
32499 let ty00 : (
32500 # 49 "parser_cocci_menhir.mly"
32501 (Data.clt)
32502 # 32503 "parser_cocci_menhir.ml"
32503 ) = Obj.magic ty00 in
32504 let r0 : (
32505 # 51 "parser_cocci_menhir.mly"
32506 (Data.clt)
32507 # 32508 "parser_cocci_menhir.ml"
32508 ) = Obj.magic r0 in
32509 let _startpos = _startpos_r0_ in
32510 let _endpos = _endpos_m_ in
32511 let _v : 'tv_typedef_ctype = let ty =
32512 let ty0 = ty00 in
32513 let r = r0 in
32514 let ty =
32515 let ty = ty0 in
32516
32517 # 492 "parser_cocci_menhir.mly"
32518 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
32519 # 32520 "parser_cocci_menhir.ml"
32520
32521 in
32522
32523 # 528 "parser_cocci_menhir.mly"
32524 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32525 # 32526 "parser_cocci_menhir.ml"
32526
32527 in
32528 let cv =
32529
32530 # 39 "standard.mly"
32531 ( None )
32532 # 32533 "parser_cocci_menhir.ml"
32533
32534 in
32535
32536 # 549 "parser_cocci_menhir.mly"
32537 ( P.pointerify (P.make_cv cv ty) m )
32538 # 32539 "parser_cocci_menhir.ml"
32539 in
32540 _menhir_env.MenhirLib.EngineTypes.stack <- {
32541 MenhirLib.EngineTypes.state = _menhir_s;
32542 MenhirLib.EngineTypes.semv = Obj.repr _v;
32543 MenhirLib.EngineTypes.startp = _startpos;
32544 MenhirLib.EngineTypes.endp = _endpos;
32545 MenhirLib.EngineTypes.next = _menhir_stack;
32546 });
32547 (fun _menhir_env ->
32548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32549 let {
32550 MenhirLib.EngineTypes.semv = m;
32551 MenhirLib.EngineTypes.startp = _startpos_m_;
32552 MenhirLib.EngineTypes.endp = _endpos_m_;
32553 MenhirLib.EngineTypes.next = {
32554 MenhirLib.EngineTypes.semv = ty200;
32555 MenhirLib.EngineTypes.startp = _startpos_ty200_;
32556 MenhirLib.EngineTypes.endp = _endpos_ty200_;
32557 MenhirLib.EngineTypes.next = {
32558 MenhirLib.EngineTypes.semv = ty100;
32559 MenhirLib.EngineTypes.startp = _startpos_ty100_;
32560 MenhirLib.EngineTypes.endp = _endpos_ty100_;
32561 MenhirLib.EngineTypes.next = {
32562 MenhirLib.EngineTypes.state = _menhir_s;
32563 MenhirLib.EngineTypes.semv = r0;
32564 MenhirLib.EngineTypes.startp = _startpos_r0_;
32565 MenhirLib.EngineTypes.endp = _endpos_r0_;
32566 MenhirLib.EngineTypes.next = _menhir_stack;
32567 };
32568 };
32569 };
32570 } = _menhir_stack in
32571 let m : 'tv_list_TMul_ = Obj.magic m in
32572 let ty200 : (
32573 # 49 "parser_cocci_menhir.mly"
32574 (Data.clt)
32575 # 32576 "parser_cocci_menhir.ml"
32576 ) = Obj.magic ty200 in
32577 let ty100 : (
32578 # 49 "parser_cocci_menhir.mly"
32579 (Data.clt)
32580 # 32581 "parser_cocci_menhir.ml"
32581 ) = Obj.magic ty100 in
32582 let r0 : (
32583 # 51 "parser_cocci_menhir.mly"
32584 (Data.clt)
32585 # 32586 "parser_cocci_menhir.ml"
32586 ) = Obj.magic r0 in
32587 let _startpos = _startpos_r0_ in
32588 let _endpos = _endpos_m_ in
32589 let _v : 'tv_typedef_ctype = let ty =
32590 let ty20 = ty200 in
32591 let ty10 = ty100 in
32592 let r = r0 in
32593 let ty =
32594 let ty2 = ty20 in
32595 let ty1 = ty10 in
32596
32597 # 494 "parser_cocci_menhir.mly"
32598 ( Ast0.wrap
32599 (Ast0.BaseType
32600 (Ast.LongLongType,
32601 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
32602 # 32603 "parser_cocci_menhir.ml"
32603
32604 in
32605
32606 # 528 "parser_cocci_menhir.mly"
32607 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32608 # 32609 "parser_cocci_menhir.ml"
32609
32610 in
32611 let cv =
32612
32613 # 39 "standard.mly"
32614 ( None )
32615 # 32616 "parser_cocci_menhir.ml"
32616
32617 in
32618
32619 # 549 "parser_cocci_menhir.mly"
32620 ( P.pointerify (P.make_cv cv ty) m )
32621 # 32622 "parser_cocci_menhir.ml"
32622 in
32623 _menhir_env.MenhirLib.EngineTypes.stack <- {
32624 MenhirLib.EngineTypes.state = _menhir_s;
32625 MenhirLib.EngineTypes.semv = Obj.repr _v;
32626 MenhirLib.EngineTypes.startp = _startpos;
32627 MenhirLib.EngineTypes.endp = _endpos;
32628 MenhirLib.EngineTypes.next = _menhir_stack;
32629 });
32630 (fun _menhir_env ->
32631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32632 let {
32633 MenhirLib.EngineTypes.semv = m;
32634 MenhirLib.EngineTypes.startp = _startpos_m_;
32635 MenhirLib.EngineTypes.endp = _endpos_m_;
32636 MenhirLib.EngineTypes.next = {
32637 MenhirLib.EngineTypes.semv = ty00;
32638 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32639 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32640 MenhirLib.EngineTypes.next = {
32641 MenhirLib.EngineTypes.state = _menhir_s;
32642 MenhirLib.EngineTypes.semv = r0;
32643 MenhirLib.EngineTypes.startp = _startpos_r0_;
32644 MenhirLib.EngineTypes.endp = _endpos_r0_;
32645 MenhirLib.EngineTypes.next = _menhir_stack;
32646 };
32647 };
32648 } = _menhir_stack in
32649 let m : 'tv_list_TMul_ = Obj.magic m in
32650 let ty00 : (
32651 # 49 "parser_cocci_menhir.mly"
32652 (Data.clt)
32653 # 32654 "parser_cocci_menhir.ml"
32654 ) = Obj.magic ty00 in
32655 let r0 : (
32656 # 51 "parser_cocci_menhir.mly"
32657 (Data.clt)
32658 # 32659 "parser_cocci_menhir.ml"
32659 ) = Obj.magic r0 in
32660 let _startpos = _startpos_r0_ in
32661 let _endpos = _endpos_m_ in
32662 let _v : 'tv_typedef_ctype = let ty =
32663 let ty0 = ty00 in
32664 let r = r0 in
32665 let ty =
32666 let ty = ty0 in
32667
32668 # 476 "parser_cocci_menhir.mly"
32669 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32670 # 32671 "parser_cocci_menhir.ml"
32671
32672 in
32673
32674 # 530 "parser_cocci_menhir.mly"
32675 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32676 # 32677 "parser_cocci_menhir.ml"
32677
32678 in
32679 let cv =
32680
32681 # 39 "standard.mly"
32682 ( None )
32683 # 32684 "parser_cocci_menhir.ml"
32684
32685 in
32686
32687 # 549 "parser_cocci_menhir.mly"
32688 ( P.pointerify (P.make_cv cv ty) m )
32689 # 32690 "parser_cocci_menhir.ml"
32690 in
32691 _menhir_env.MenhirLib.EngineTypes.stack <- {
32692 MenhirLib.EngineTypes.state = _menhir_s;
32693 MenhirLib.EngineTypes.semv = Obj.repr _v;
32694 MenhirLib.EngineTypes.startp = _startpos;
32695 MenhirLib.EngineTypes.endp = _endpos;
32696 MenhirLib.EngineTypes.next = _menhir_stack;
32697 });
32698 (fun _menhir_env ->
32699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32700 let {
32701 MenhirLib.EngineTypes.semv = m;
32702 MenhirLib.EngineTypes.startp = _startpos_m_;
32703 MenhirLib.EngineTypes.endp = _endpos_m_;
32704 MenhirLib.EngineTypes.next = {
32705 MenhirLib.EngineTypes.semv = ty00;
32706 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32707 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32708 MenhirLib.EngineTypes.next = {
32709 MenhirLib.EngineTypes.state = _menhir_s;
32710 MenhirLib.EngineTypes.semv = r0;
32711 MenhirLib.EngineTypes.startp = _startpos_r0_;
32712 MenhirLib.EngineTypes.endp = _endpos_r0_;
32713 MenhirLib.EngineTypes.next = _menhir_stack;
32714 };
32715 };
32716 } = _menhir_stack in
32717 let m : 'tv_list_TMul_ = Obj.magic m in
32718 let ty00 : (
32719 # 49 "parser_cocci_menhir.mly"
32720 (Data.clt)
32721 # 32722 "parser_cocci_menhir.ml"
32722 ) = Obj.magic ty00 in
32723 let r0 : (
32724 # 51 "parser_cocci_menhir.mly"
32725 (Data.clt)
32726 # 32727 "parser_cocci_menhir.ml"
32727 ) = Obj.magic r0 in
32728 let _startpos = _startpos_r0_ in
32729 let _endpos = _endpos_m_ in
32730 let _v : 'tv_typedef_ctype = let ty =
32731 let ty0 = ty00 in
32732 let r = r0 in
32733 let ty =
32734 let ty = ty0 in
32735
32736 # 478 "parser_cocci_menhir.mly"
32737 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32738 # 32739 "parser_cocci_menhir.ml"
32739
32740 in
32741
32742 # 530 "parser_cocci_menhir.mly"
32743 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32744 # 32745 "parser_cocci_menhir.ml"
32745
32746 in
32747 let cv =
32748
32749 # 39 "standard.mly"
32750 ( None )
32751 # 32752 "parser_cocci_menhir.ml"
32752
32753 in
32754
32755 # 549 "parser_cocci_menhir.mly"
32756 ( P.pointerify (P.make_cv cv ty) m )
32757 # 32758 "parser_cocci_menhir.ml"
32758 in
32759 _menhir_env.MenhirLib.EngineTypes.stack <- {
32760 MenhirLib.EngineTypes.state = _menhir_s;
32761 MenhirLib.EngineTypes.semv = Obj.repr _v;
32762 MenhirLib.EngineTypes.startp = _startpos;
32763 MenhirLib.EngineTypes.endp = _endpos;
32764 MenhirLib.EngineTypes.next = _menhir_stack;
32765 });
32766 (fun _menhir_env ->
32767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32768 let {
32769 MenhirLib.EngineTypes.semv = m;
32770 MenhirLib.EngineTypes.startp = _startpos_m_;
32771 MenhirLib.EngineTypes.endp = _endpos_m_;
32772 MenhirLib.EngineTypes.next = {
32773 MenhirLib.EngineTypes.semv = ty00;
32774 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32775 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32776 MenhirLib.EngineTypes.next = {
32777 MenhirLib.EngineTypes.state = _menhir_s;
32778 MenhirLib.EngineTypes.semv = r0;
32779 MenhirLib.EngineTypes.startp = _startpos_r0_;
32780 MenhirLib.EngineTypes.endp = _endpos_r0_;
32781 MenhirLib.EngineTypes.next = _menhir_stack;
32782 };
32783 };
32784 } = _menhir_stack in
32785 let m : 'tv_list_TMul_ = Obj.magic m in
32786 let ty00 : (
32787 # 49 "parser_cocci_menhir.mly"
32788 (Data.clt)
32789 # 32790 "parser_cocci_menhir.ml"
32790 ) = Obj.magic ty00 in
32791 let r0 : (
32792 # 51 "parser_cocci_menhir.mly"
32793 (Data.clt)
32794 # 32795 "parser_cocci_menhir.ml"
32795 ) = Obj.magic r0 in
32796 let _startpos = _startpos_r0_ in
32797 let _endpos = _endpos_m_ in
32798 let _v : 'tv_typedef_ctype = let ty =
32799 let ty0 = ty00 in
32800 let r = r0 in
32801 let ty =
32802 let ty = ty0 in
32803
32804 # 480 "parser_cocci_menhir.mly"
32805 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32806 # 32807 "parser_cocci_menhir.ml"
32807
32808 in
32809
32810 # 530 "parser_cocci_menhir.mly"
32811 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32812 # 32813 "parser_cocci_menhir.ml"
32813
32814 in
32815 let cv =
32816
32817 # 39 "standard.mly"
32818 ( None )
32819 # 32820 "parser_cocci_menhir.ml"
32820
32821 in
32822
32823 # 549 "parser_cocci_menhir.mly"
32824 ( P.pointerify (P.make_cv cv ty) m )
32825 # 32826 "parser_cocci_menhir.ml"
32826 in
32827 _menhir_env.MenhirLib.EngineTypes.stack <- {
32828 MenhirLib.EngineTypes.state = _menhir_s;
32829 MenhirLib.EngineTypes.semv = Obj.repr _v;
32830 MenhirLib.EngineTypes.startp = _startpos;
32831 MenhirLib.EngineTypes.endp = _endpos;
32832 MenhirLib.EngineTypes.next = _menhir_stack;
32833 });
32834 (fun _menhir_env ->
32835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32836 let {
32837 MenhirLib.EngineTypes.semv = m;
32838 MenhirLib.EngineTypes.startp = _startpos_m_;
32839 MenhirLib.EngineTypes.endp = _endpos_m_;
32840 MenhirLib.EngineTypes.next = {
32841 MenhirLib.EngineTypes.semv = p00;
32842 MenhirLib.EngineTypes.startp = _startpos_p00_;
32843 MenhirLib.EngineTypes.endp = _endpos_p00_;
32844 MenhirLib.EngineTypes.next = {
32845 MenhirLib.EngineTypes.state = _menhir_s;
32846 MenhirLib.EngineTypes.semv = r0;
32847 MenhirLib.EngineTypes.startp = _startpos_r0_;
32848 MenhirLib.EngineTypes.endp = _endpos_r0_;
32849 MenhirLib.EngineTypes.next = _menhir_stack;
32850 };
32851 };
32852 } = _menhir_stack in
32853 let m : 'tv_list_TMul_ = Obj.magic m in
32854 let p00 : (
32855 # 64 "parser_cocci_menhir.mly"
32856 (Parse_aux.info)
32857 # 32858 "parser_cocci_menhir.ml"
32858 ) = Obj.magic p00 in
32859 let r0 : (
32860 # 51 "parser_cocci_menhir.mly"
32861 (Data.clt)
32862 # 32863 "parser_cocci_menhir.ml"
32863 ) = Obj.magic r0 in
32864 let _startpos = _startpos_r0_ in
32865 let _endpos = _endpos_m_ in
32866 let _v : 'tv_typedef_ctype = let ty =
32867 let p0 = p00 in
32868 let r = r0 in
32869 let ty =
32870 let p = p0 in
32871
32872 # 482 "parser_cocci_menhir.mly"
32873 ( let (nm,pure,clt) = p in
32874 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32875 # 32876 "parser_cocci_menhir.ml"
32876
32877 in
32878
32879 # 530 "parser_cocci_menhir.mly"
32880 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32881 # 32882 "parser_cocci_menhir.ml"
32882
32883 in
32884 let cv =
32885
32886 # 39 "standard.mly"
32887 ( None )
32888 # 32889 "parser_cocci_menhir.ml"
32889
32890 in
32891
32892 # 549 "parser_cocci_menhir.mly"
32893 ( P.pointerify (P.make_cv cv ty) m )
32894 # 32895 "parser_cocci_menhir.ml"
32895 in
32896 _menhir_env.MenhirLib.EngineTypes.stack <- {
32897 MenhirLib.EngineTypes.state = _menhir_s;
32898 MenhirLib.EngineTypes.semv = Obj.repr _v;
32899 MenhirLib.EngineTypes.startp = _startpos;
32900 MenhirLib.EngineTypes.endp = _endpos;
32901 MenhirLib.EngineTypes.next = _menhir_stack;
32902 });
32903 (fun _menhir_env ->
32904 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32905 let {
32906 MenhirLib.EngineTypes.semv = m;
32907 MenhirLib.EngineTypes.startp = _startpos_m_;
32908 MenhirLib.EngineTypes.endp = _endpos_m_;
32909 MenhirLib.EngineTypes.next = {
32910 MenhirLib.EngineTypes.semv = p00;
32911 MenhirLib.EngineTypes.startp = _startpos_p00_;
32912 MenhirLib.EngineTypes.endp = _endpos_p00_;
32913 MenhirLib.EngineTypes.next = {
32914 MenhirLib.EngineTypes.startp = _startpos__3_;
32915 MenhirLib.EngineTypes.endp = _endpos__3_;
32916 MenhirLib.EngineTypes.next = {
32917 MenhirLib.EngineTypes.semv = r00;
32918 MenhirLib.EngineTypes.startp = _startpos_r00_;
32919 MenhirLib.EngineTypes.endp = _endpos_r00_;
32920 MenhirLib.EngineTypes.next = {
32921 MenhirLib.EngineTypes.state = _menhir_s;
32922 MenhirLib.EngineTypes.semv = r1;
32923 MenhirLib.EngineTypes.startp = _startpos_r1_;
32924 MenhirLib.EngineTypes.endp = _endpos_r1_;
32925 MenhirLib.EngineTypes.next = _menhir_stack;
32926 };
32927 };
32928 };
32929 };
32930 } = _menhir_stack in
32931 let m : 'tv_list_TMul_ = Obj.magic m in
32932 let p00 : (
32933 # 59 "parser_cocci_menhir.mly"
32934 (string * Data.clt)
32935 # 32936 "parser_cocci_menhir.ml"
32936 ) = Obj.magic p00 in
32937 let r00 : (
32938 # 47 "parser_cocci_menhir.mly"
32939 (string)
32940 # 32941 "parser_cocci_menhir.ml"
32941 ) = Obj.magic r00 in
32942 let r1 : (
32943 # 51 "parser_cocci_menhir.mly"
32944 (Data.clt)
32945 # 32946 "parser_cocci_menhir.ml"
32946 ) = Obj.magic r1 in
32947 let _startpos = _startpos_r1_ in
32948 let _endpos = _endpos_m_ in
32949 let _v : 'tv_typedef_ctype = let ty =
32950 let p0 = p00 in
32951 let r0 = r00 in
32952 let r = r1 in
32953 let ty =
32954 let p = p0 in
32955 let r = r0 in
32956
32957 # 485 "parser_cocci_menhir.mly"
32958 ( let nm = (r,P.id2name p) in
32959 (* this is only possible when we are in a metavar decl. Otherwise,
32960 it will be represented already as a MetaType *)
32961 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
32962 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
32963 Ast0.Impure (*will be ignored*))) )
32964 # 32965 "parser_cocci_menhir.ml"
32965
32966 in
32967
32968 # 530 "parser_cocci_menhir.mly"
32969 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
32970 # 32971 "parser_cocci_menhir.ml"
32971
32972 in
32973 let cv =
32974
32975 # 39 "standard.mly"
32976 ( None )
32977 # 32978 "parser_cocci_menhir.ml"
32978
32979 in
32980
32981 # 549 "parser_cocci_menhir.mly"
32982 ( P.pointerify (P.make_cv cv ty) m )
32983 # 32984 "parser_cocci_menhir.ml"
32984 in
32985 _menhir_env.MenhirLib.EngineTypes.stack <- {
32986 MenhirLib.EngineTypes.state = _menhir_s;
32987 MenhirLib.EngineTypes.semv = Obj.repr _v;
32988 MenhirLib.EngineTypes.startp = _startpos;
32989 MenhirLib.EngineTypes.endp = _endpos;
32990 MenhirLib.EngineTypes.next = _menhir_stack;
32991 });
32992 (fun _menhir_env ->
32993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32994 let {
32995 MenhirLib.EngineTypes.semv = m;
32996 MenhirLib.EngineTypes.startp = _startpos_m_;
32997 MenhirLib.EngineTypes.endp = _endpos_m_;
32998 MenhirLib.EngineTypes.next = {
32999 MenhirLib.EngineTypes.semv = ty00;
33000 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33001 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33002 MenhirLib.EngineTypes.next = {
33003 MenhirLib.EngineTypes.state = _menhir_s;
33004 MenhirLib.EngineTypes.semv = r0;
33005 MenhirLib.EngineTypes.startp = _startpos_r0_;
33006 MenhirLib.EngineTypes.endp = _endpos_r0_;
33007 MenhirLib.EngineTypes.next = _menhir_stack;
33008 };
33009 };
33010 } = _menhir_stack in
33011 let m : 'tv_list_TMul_ = Obj.magic m in
33012 let ty00 : (
33013 # 49 "parser_cocci_menhir.mly"
33014 (Data.clt)
33015 # 33016 "parser_cocci_menhir.ml"
33016 ) = Obj.magic ty00 in
33017 let r0 : (
33018 # 51 "parser_cocci_menhir.mly"
33019 (Data.clt)
33020 # 33021 "parser_cocci_menhir.ml"
33021 ) = Obj.magic r0 in
33022 let _startpos = _startpos_r0_ in
33023 let _endpos = _endpos_m_ in
33024 let _v : 'tv_typedef_ctype = let ty =
33025 let ty0 = ty00 in
33026 let r = r0 in
33027 let ty =
33028 let ty = ty0 in
33029
33030 # 492 "parser_cocci_menhir.mly"
33031 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33032 # 33033 "parser_cocci_menhir.ml"
33033
33034 in
33035
33036 # 530 "parser_cocci_menhir.mly"
33037 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33038 # 33039 "parser_cocci_menhir.ml"
33039
33040 in
33041 let cv =
33042
33043 # 39 "standard.mly"
33044 ( None )
33045 # 33046 "parser_cocci_menhir.ml"
33046
33047 in
33048
33049 # 549 "parser_cocci_menhir.mly"
33050 ( P.pointerify (P.make_cv cv ty) m )
33051 # 33052 "parser_cocci_menhir.ml"
33052 in
33053 _menhir_env.MenhirLib.EngineTypes.stack <- {
33054 MenhirLib.EngineTypes.state = _menhir_s;
33055 MenhirLib.EngineTypes.semv = Obj.repr _v;
33056 MenhirLib.EngineTypes.startp = _startpos;
33057 MenhirLib.EngineTypes.endp = _endpos;
33058 MenhirLib.EngineTypes.next = _menhir_stack;
33059 });
33060 (fun _menhir_env ->
33061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33062 let {
33063 MenhirLib.EngineTypes.semv = m;
33064 MenhirLib.EngineTypes.startp = _startpos_m_;
33065 MenhirLib.EngineTypes.endp = _endpos_m_;
33066 MenhirLib.EngineTypes.next = {
33067 MenhirLib.EngineTypes.semv = ty200;
33068 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33069 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33070 MenhirLib.EngineTypes.next = {
33071 MenhirLib.EngineTypes.semv = ty100;
33072 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33073 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33074 MenhirLib.EngineTypes.next = {
33075 MenhirLib.EngineTypes.state = _menhir_s;
33076 MenhirLib.EngineTypes.semv = r0;
33077 MenhirLib.EngineTypes.startp = _startpos_r0_;
33078 MenhirLib.EngineTypes.endp = _endpos_r0_;
33079 MenhirLib.EngineTypes.next = _menhir_stack;
33080 };
33081 };
33082 };
33083 } = _menhir_stack in
33084 let m : 'tv_list_TMul_ = Obj.magic m in
33085 let ty200 : (
33086 # 49 "parser_cocci_menhir.mly"
33087 (Data.clt)
33088 # 33089 "parser_cocci_menhir.ml"
33089 ) = Obj.magic ty200 in
33090 let ty100 : (
33091 # 49 "parser_cocci_menhir.mly"
33092 (Data.clt)
33093 # 33094 "parser_cocci_menhir.ml"
33094 ) = Obj.magic ty100 in
33095 let r0 : (
33096 # 51 "parser_cocci_menhir.mly"
33097 (Data.clt)
33098 # 33099 "parser_cocci_menhir.ml"
33099 ) = Obj.magic r0 in
33100 let _startpos = _startpos_r0_ in
33101 let _endpos = _endpos_m_ in
33102 let _v : 'tv_typedef_ctype = let ty =
33103 let ty20 = ty200 in
33104 let ty10 = ty100 in
33105 let r = r0 in
33106 let ty =
33107 let ty2 = ty20 in
33108 let ty1 = ty10 in
33109
33110 # 494 "parser_cocci_menhir.mly"
33111 ( Ast0.wrap
33112 (Ast0.BaseType
33113 (Ast.LongLongType,
33114 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33115 # 33116 "parser_cocci_menhir.ml"
33116
33117 in
33118
33119 # 530 "parser_cocci_menhir.mly"
33120 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33121 # 33122 "parser_cocci_menhir.ml"
33122
33123 in
33124 let cv =
33125
33126 # 39 "standard.mly"
33127 ( None )
33128 # 33129 "parser_cocci_menhir.ml"
33129
33130 in
33131
33132 # 549 "parser_cocci_menhir.mly"
33133 ( P.pointerify (P.make_cv cv ty) m )
33134 # 33135 "parser_cocci_menhir.ml"
33135 in
33136 _menhir_env.MenhirLib.EngineTypes.stack <- {
33137 MenhirLib.EngineTypes.state = _menhir_s;
33138 MenhirLib.EngineTypes.semv = Obj.repr _v;
33139 MenhirLib.EngineTypes.startp = _startpos;
33140 MenhirLib.EngineTypes.endp = _endpos;
33141 MenhirLib.EngineTypes.next = _menhir_stack;
33142 });
33143 (fun _menhir_env ->
33144 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33145 let {
33146 MenhirLib.EngineTypes.semv = m;
33147 MenhirLib.EngineTypes.startp = _startpos_m_;
33148 MenhirLib.EngineTypes.endp = _endpos_m_;
33149 MenhirLib.EngineTypes.next = {
33150 MenhirLib.EngineTypes.state = _menhir_s;
33151 MenhirLib.EngineTypes.semv = ty00;
33152 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33153 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33154 MenhirLib.EngineTypes.next = _menhir_stack;
33155 };
33156 } = _menhir_stack in
33157 let m : 'tv_list_TMul_ = Obj.magic m in
33158 let ty00 : (
33159 # 49 "parser_cocci_menhir.mly"
33160 (Data.clt)
33161 # 33162 "parser_cocci_menhir.ml"
33162 ) = Obj.magic ty00 in
33163 let _startpos = _startpos_ty00_ in
33164 let _endpos = _endpos_m_ in
33165 let _v : 'tv_typedef_ctype = let ty =
33166 let ty0 = ty00 in
33167 let ty =
33168 let ty = ty0 in
33169
33170 # 476 "parser_cocci_menhir.mly"
33171 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33172 # 33173 "parser_cocci_menhir.ml"
33173
33174 in
33175
33176 # 531 "parser_cocci_menhir.mly"
33177 ( ty )
33178 # 33179 "parser_cocci_menhir.ml"
33179
33180 in
33181 let cv =
33182
33183 # 39 "standard.mly"
33184 ( None )
33185 # 33186 "parser_cocci_menhir.ml"
33186
33187 in
33188
33189 # 549 "parser_cocci_menhir.mly"
33190 ( P.pointerify (P.make_cv cv ty) m )
33191 # 33192 "parser_cocci_menhir.ml"
33192 in
33193 _menhir_env.MenhirLib.EngineTypes.stack <- {
33194 MenhirLib.EngineTypes.state = _menhir_s;
33195 MenhirLib.EngineTypes.semv = Obj.repr _v;
33196 MenhirLib.EngineTypes.startp = _startpos;
33197 MenhirLib.EngineTypes.endp = _endpos;
33198 MenhirLib.EngineTypes.next = _menhir_stack;
33199 });
33200 (fun _menhir_env ->
33201 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33202 let {
33203 MenhirLib.EngineTypes.semv = m;
33204 MenhirLib.EngineTypes.startp = _startpos_m_;
33205 MenhirLib.EngineTypes.endp = _endpos_m_;
33206 MenhirLib.EngineTypes.next = {
33207 MenhirLib.EngineTypes.state = _menhir_s;
33208 MenhirLib.EngineTypes.semv = ty00;
33209 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33210 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33211 MenhirLib.EngineTypes.next = _menhir_stack;
33212 };
33213 } = _menhir_stack in
33214 let m : 'tv_list_TMul_ = Obj.magic m in
33215 let ty00 : (
33216 # 49 "parser_cocci_menhir.mly"
33217 (Data.clt)
33218 # 33219 "parser_cocci_menhir.ml"
33219 ) = Obj.magic ty00 in
33220 let _startpos = _startpos_ty00_ in
33221 let _endpos = _endpos_m_ in
33222 let _v : 'tv_typedef_ctype = let ty =
33223 let ty0 = ty00 in
33224 let ty =
33225 let ty = ty0 in
33226
33227 # 478 "parser_cocci_menhir.mly"
33228 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33229 # 33230 "parser_cocci_menhir.ml"
33230
33231 in
33232
33233 # 531 "parser_cocci_menhir.mly"
33234 ( ty )
33235 # 33236 "parser_cocci_menhir.ml"
33236
33237 in
33238 let cv =
33239
33240 # 39 "standard.mly"
33241 ( None )
33242 # 33243 "parser_cocci_menhir.ml"
33243
33244 in
33245
33246 # 549 "parser_cocci_menhir.mly"
33247 ( P.pointerify (P.make_cv cv ty) m )
33248 # 33249 "parser_cocci_menhir.ml"
33249 in
33250 _menhir_env.MenhirLib.EngineTypes.stack <- {
33251 MenhirLib.EngineTypes.state = _menhir_s;
33252 MenhirLib.EngineTypes.semv = Obj.repr _v;
33253 MenhirLib.EngineTypes.startp = _startpos;
33254 MenhirLib.EngineTypes.endp = _endpos;
33255 MenhirLib.EngineTypes.next = _menhir_stack;
33256 });
33257 (fun _menhir_env ->
33258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33259 let {
33260 MenhirLib.EngineTypes.semv = m;
33261 MenhirLib.EngineTypes.startp = _startpos_m_;
33262 MenhirLib.EngineTypes.endp = _endpos_m_;
33263 MenhirLib.EngineTypes.next = {
33264 MenhirLib.EngineTypes.state = _menhir_s;
33265 MenhirLib.EngineTypes.semv = ty00;
33266 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33267 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33268 MenhirLib.EngineTypes.next = _menhir_stack;
33269 };
33270 } = _menhir_stack in
33271 let m : 'tv_list_TMul_ = Obj.magic m in
33272 let ty00 : (
33273 # 49 "parser_cocci_menhir.mly"
33274 (Data.clt)
33275 # 33276 "parser_cocci_menhir.ml"
33276 ) = Obj.magic ty00 in
33277 let _startpos = _startpos_ty00_ in
33278 let _endpos = _endpos_m_ in
33279 let _v : 'tv_typedef_ctype = let ty =
33280 let ty0 = ty00 in
33281 let ty =
33282 let ty = ty0 in
33283
33284 # 480 "parser_cocci_menhir.mly"
33285 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33286 # 33287 "parser_cocci_menhir.ml"
33287
33288 in
33289
33290 # 531 "parser_cocci_menhir.mly"
33291 ( ty )
33292 # 33293 "parser_cocci_menhir.ml"
33293
33294 in
33295 let cv =
33296
33297 # 39 "standard.mly"
33298 ( None )
33299 # 33300 "parser_cocci_menhir.ml"
33300
33301 in
33302
33303 # 549 "parser_cocci_menhir.mly"
33304 ( P.pointerify (P.make_cv cv ty) m )
33305 # 33306 "parser_cocci_menhir.ml"
33306 in
33307 _menhir_env.MenhirLib.EngineTypes.stack <- {
33308 MenhirLib.EngineTypes.state = _menhir_s;
33309 MenhirLib.EngineTypes.semv = Obj.repr _v;
33310 MenhirLib.EngineTypes.startp = _startpos;
33311 MenhirLib.EngineTypes.endp = _endpos;
33312 MenhirLib.EngineTypes.next = _menhir_stack;
33313 });
33314 (fun _menhir_env ->
33315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33316 let {
33317 MenhirLib.EngineTypes.semv = m;
33318 MenhirLib.EngineTypes.startp = _startpos_m_;
33319 MenhirLib.EngineTypes.endp = _endpos_m_;
33320 MenhirLib.EngineTypes.next = {
33321 MenhirLib.EngineTypes.state = _menhir_s;
33322 MenhirLib.EngineTypes.semv = p00;
33323 MenhirLib.EngineTypes.startp = _startpos_p00_;
33324 MenhirLib.EngineTypes.endp = _endpos_p00_;
33325 MenhirLib.EngineTypes.next = _menhir_stack;
33326 };
33327 } = _menhir_stack in
33328 let m : 'tv_list_TMul_ = Obj.magic m in
33329 let p00 : (
33330 # 64 "parser_cocci_menhir.mly"
33331 (Parse_aux.info)
33332 # 33333 "parser_cocci_menhir.ml"
33333 ) = Obj.magic p00 in
33334 let _startpos = _startpos_p00_ in
33335 let _endpos = _endpos_m_ in
33336 let _v : 'tv_typedef_ctype = let ty =
33337 let p0 = p00 in
33338 let ty =
33339 let p = p0 in
33340
33341 # 482 "parser_cocci_menhir.mly"
33342 ( let (nm,pure,clt) = p in
33343 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33344 # 33345 "parser_cocci_menhir.ml"
33345
33346 in
33347
33348 # 531 "parser_cocci_menhir.mly"
33349 ( ty )
33350 # 33351 "parser_cocci_menhir.ml"
33351
33352 in
33353 let cv =
33354
33355 # 39 "standard.mly"
33356 ( None )
33357 # 33358 "parser_cocci_menhir.ml"
33358
33359 in
33360
33361 # 549 "parser_cocci_menhir.mly"
33362 ( P.pointerify (P.make_cv cv ty) m )
33363 # 33364 "parser_cocci_menhir.ml"
33364 in
33365 _menhir_env.MenhirLib.EngineTypes.stack <- {
33366 MenhirLib.EngineTypes.state = _menhir_s;
33367 MenhirLib.EngineTypes.semv = Obj.repr _v;
33368 MenhirLib.EngineTypes.startp = _startpos;
33369 MenhirLib.EngineTypes.endp = _endpos;
33370 MenhirLib.EngineTypes.next = _menhir_stack;
33371 });
33372 (fun _menhir_env ->
33373 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33374 let {
33375 MenhirLib.EngineTypes.semv = m;
33376 MenhirLib.EngineTypes.startp = _startpos_m_;
33377 MenhirLib.EngineTypes.endp = _endpos_m_;
33378 MenhirLib.EngineTypes.next = {
33379 MenhirLib.EngineTypes.semv = p00;
33380 MenhirLib.EngineTypes.startp = _startpos_p00_;
33381 MenhirLib.EngineTypes.endp = _endpos_p00_;
33382 MenhirLib.EngineTypes.next = {
33383 MenhirLib.EngineTypes.startp = _startpos__2_;
33384 MenhirLib.EngineTypes.endp = _endpos__2_;
33385 MenhirLib.EngineTypes.next = {
33386 MenhirLib.EngineTypes.state = _menhir_s;
33387 MenhirLib.EngineTypes.semv = r00;
33388 MenhirLib.EngineTypes.startp = _startpos_r00_;
33389 MenhirLib.EngineTypes.endp = _endpos_r00_;
33390 MenhirLib.EngineTypes.next = _menhir_stack;
33391 };
33392 };
33393 };
33394 } = _menhir_stack in
33395 let m : 'tv_list_TMul_ = Obj.magic m in
33396 let p00 : (
33397 # 59 "parser_cocci_menhir.mly"
33398 (string * Data.clt)
33399 # 33400 "parser_cocci_menhir.ml"
33400 ) = Obj.magic p00 in
33401 let r00 : (
33402 # 47 "parser_cocci_menhir.mly"
33403 (string)
33404 # 33405 "parser_cocci_menhir.ml"
33405 ) = Obj.magic r00 in
33406 let _startpos = _startpos_r00_ in
33407 let _endpos = _endpos_m_ in
33408 let _v : 'tv_typedef_ctype = let ty =
33409 let p0 = p00 in
33410 let r0 = r00 in
33411 let ty =
33412 let p = p0 in
33413 let r = r0 in
33414
33415 # 485 "parser_cocci_menhir.mly"
33416 ( let nm = (r,P.id2name p) in
33417 (* this is only possible when we are in a metavar decl. Otherwise,
33418 it will be represented already as a MetaType *)
33419 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33420 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33421 Ast0.Impure (*will be ignored*))) )
33422 # 33423 "parser_cocci_menhir.ml"
33423
33424 in
33425
33426 # 531 "parser_cocci_menhir.mly"
33427 ( ty )
33428 # 33429 "parser_cocci_menhir.ml"
33429
33430 in
33431 let cv =
33432
33433 # 39 "standard.mly"
33434 ( None )
33435 # 33436 "parser_cocci_menhir.ml"
33436
33437 in
33438
33439 # 549 "parser_cocci_menhir.mly"
33440 ( P.pointerify (P.make_cv cv ty) m )
33441 # 33442 "parser_cocci_menhir.ml"
33442 in
33443 _menhir_env.MenhirLib.EngineTypes.stack <- {
33444 MenhirLib.EngineTypes.state = _menhir_s;
33445 MenhirLib.EngineTypes.semv = Obj.repr _v;
33446 MenhirLib.EngineTypes.startp = _startpos;
33447 MenhirLib.EngineTypes.endp = _endpos;
33448 MenhirLib.EngineTypes.next = _menhir_stack;
33449 });
33450 (fun _menhir_env ->
33451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33452 let {
33453 MenhirLib.EngineTypes.semv = m;
33454 MenhirLib.EngineTypes.startp = _startpos_m_;
33455 MenhirLib.EngineTypes.endp = _endpos_m_;
33456 MenhirLib.EngineTypes.next = {
33457 MenhirLib.EngineTypes.state = _menhir_s;
33458 MenhirLib.EngineTypes.semv = ty00;
33459 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33460 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33461 MenhirLib.EngineTypes.next = _menhir_stack;
33462 };
33463 } = _menhir_stack in
33464 let m : 'tv_list_TMul_ = Obj.magic m in
33465 let ty00 : (
33466 # 49 "parser_cocci_menhir.mly"
33467 (Data.clt)
33468 # 33469 "parser_cocci_menhir.ml"
33469 ) = Obj.magic ty00 in
33470 let _startpos = _startpos_ty00_ in
33471 let _endpos = _endpos_m_ in
33472 let _v : 'tv_typedef_ctype = let ty =
33473 let ty0 = ty00 in
33474 let ty =
33475 let ty = ty0 in
33476
33477 # 492 "parser_cocci_menhir.mly"
33478 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33479 # 33480 "parser_cocci_menhir.ml"
33480
33481 in
33482
33483 # 531 "parser_cocci_menhir.mly"
33484 ( ty )
33485 # 33486 "parser_cocci_menhir.ml"
33486
33487 in
33488 let cv =
33489
33490 # 39 "standard.mly"
33491 ( None )
33492 # 33493 "parser_cocci_menhir.ml"
33493
33494 in
33495
33496 # 549 "parser_cocci_menhir.mly"
33497 ( P.pointerify (P.make_cv cv ty) m )
33498 # 33499 "parser_cocci_menhir.ml"
33499 in
33500 _menhir_env.MenhirLib.EngineTypes.stack <- {
33501 MenhirLib.EngineTypes.state = _menhir_s;
33502 MenhirLib.EngineTypes.semv = Obj.repr _v;
33503 MenhirLib.EngineTypes.startp = _startpos;
33504 MenhirLib.EngineTypes.endp = _endpos;
33505 MenhirLib.EngineTypes.next = _menhir_stack;
33506 });
33507 (fun _menhir_env ->
33508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33509 let {
33510 MenhirLib.EngineTypes.semv = m;
33511 MenhirLib.EngineTypes.startp = _startpos_m_;
33512 MenhirLib.EngineTypes.endp = _endpos_m_;
33513 MenhirLib.EngineTypes.next = {
33514 MenhirLib.EngineTypes.semv = ty200;
33515 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33516 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33517 MenhirLib.EngineTypes.next = {
33518 MenhirLib.EngineTypes.state = _menhir_s;
33519 MenhirLib.EngineTypes.semv = ty100;
33520 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33521 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33522 MenhirLib.EngineTypes.next = _menhir_stack;
33523 };
33524 };
33525 } = _menhir_stack in
33526 let m : 'tv_list_TMul_ = Obj.magic m in
33527 let ty200 : (
33528 # 49 "parser_cocci_menhir.mly"
33529 (Data.clt)
33530 # 33531 "parser_cocci_menhir.ml"
33531 ) = Obj.magic ty200 in
33532 let ty100 : (
33533 # 49 "parser_cocci_menhir.mly"
33534 (Data.clt)
33535 # 33536 "parser_cocci_menhir.ml"
33536 ) = Obj.magic ty100 in
33537 let _startpos = _startpos_ty100_ in
33538 let _endpos = _endpos_m_ in
33539 let _v : 'tv_typedef_ctype = let ty =
33540 let ty20 = ty200 in
33541 let ty10 = ty100 in
33542 let ty =
33543 let ty2 = ty20 in
33544 let ty1 = ty10 in
33545
33546 # 494 "parser_cocci_menhir.mly"
33547 ( Ast0.wrap
33548 (Ast0.BaseType
33549 (Ast.LongLongType,
33550 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33551 # 33552 "parser_cocci_menhir.ml"
33552
33553 in
33554
33555 # 531 "parser_cocci_menhir.mly"
33556 ( ty )
33557 # 33558 "parser_cocci_menhir.ml"
33558
33559 in
33560 let cv =
33561
33562 # 39 "standard.mly"
33563 ( None )
33564 # 33565 "parser_cocci_menhir.ml"
33565
33566 in
33567
33568 # 549 "parser_cocci_menhir.mly"
33569 ( P.pointerify (P.make_cv cv ty) m )
33570 # 33571 "parser_cocci_menhir.ml"
33571 in
33572 _menhir_env.MenhirLib.EngineTypes.stack <- {
33573 MenhirLib.EngineTypes.state = _menhir_s;
33574 MenhirLib.EngineTypes.semv = Obj.repr _v;
33575 MenhirLib.EngineTypes.startp = _startpos;
33576 MenhirLib.EngineTypes.endp = _endpos;
33577 MenhirLib.EngineTypes.next = _menhir_stack;
33578 });
33579 (fun _menhir_env ->
33580 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33581 let {
33582 MenhirLib.EngineTypes.semv = m;
33583 MenhirLib.EngineTypes.startp = _startpos_m_;
33584 MenhirLib.EngineTypes.endp = _endpos_m_;
33585 MenhirLib.EngineTypes.next = {
33586 MenhirLib.EngineTypes.state = _menhir_s;
33587 MenhirLib.EngineTypes.semv = ty00;
33588 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33589 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33590 MenhirLib.EngineTypes.next = _menhir_stack;
33591 };
33592 } = _menhir_stack in
33593 let m : 'tv_list_TMul_ = Obj.magic m in
33594 let ty00 : (
33595 # 50 "parser_cocci_menhir.mly"
33596 (Data.clt)
33597 # 33598 "parser_cocci_menhir.ml"
33598 ) = Obj.magic ty00 in
33599 let _startpos = _startpos_ty00_ in
33600 let _endpos = _endpos_m_ in
33601 let _v : 'tv_typedef_ctype = let ty =
33602 let ty0 = ty00 in
33603 let ty =
33604 let ty = ty0 in
33605
33606 # 502 "parser_cocci_menhir.mly"
33607 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
33608 # 33609 "parser_cocci_menhir.ml"
33609
33610 in
33611
33612 # 532 "parser_cocci_menhir.mly"
33613 ( ty )
33614 # 33615 "parser_cocci_menhir.ml"
33615
33616 in
33617 let cv =
33618
33619 # 39 "standard.mly"
33620 ( None )
33621 # 33622 "parser_cocci_menhir.ml"
33622
33623 in
33624
33625 # 549 "parser_cocci_menhir.mly"
33626 ( P.pointerify (P.make_cv cv ty) m )
33627 # 33628 "parser_cocci_menhir.ml"
33628 in
33629 _menhir_env.MenhirLib.EngineTypes.stack <- {
33630 MenhirLib.EngineTypes.state = _menhir_s;
33631 MenhirLib.EngineTypes.semv = Obj.repr _v;
33632 MenhirLib.EngineTypes.startp = _startpos;
33633 MenhirLib.EngineTypes.endp = _endpos;
33634 MenhirLib.EngineTypes.next = _menhir_stack;
33635 });
33636 (fun _menhir_env ->
33637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33638 let {
33639 MenhirLib.EngineTypes.semv = m;
33640 MenhirLib.EngineTypes.startp = _startpos_m_;
33641 MenhirLib.EngineTypes.endp = _endpos_m_;
33642 MenhirLib.EngineTypes.next = {
33643 MenhirLib.EngineTypes.state = _menhir_s;
33644 MenhirLib.EngineTypes.semv = ty00;
33645 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33646 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33647 MenhirLib.EngineTypes.next = _menhir_stack;
33648 };
33649 } = _menhir_stack in
33650 let m : 'tv_list_TMul_ = Obj.magic m in
33651 let ty00 : (
33652 # 49 "parser_cocci_menhir.mly"
33653 (Data.clt)
33654 # 33655 "parser_cocci_menhir.ml"
33655 ) = Obj.magic ty00 in
33656 let _startpos = _startpos_ty00_ in
33657 let _endpos = _endpos_m_ in
33658 let _v : 'tv_typedef_ctype = let ty =
33659 let ty0 = ty00 in
33660 let ty =
33661 let ty = ty0 in
33662
33663 # 504 "parser_cocci_menhir.mly"
33664 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
33665 # 33666 "parser_cocci_menhir.ml"
33666
33667 in
33668
33669 # 532 "parser_cocci_menhir.mly"
33670 ( ty )
33671 # 33672 "parser_cocci_menhir.ml"
33672
33673 in
33674 let cv =
33675
33676 # 39 "standard.mly"
33677 ( None )
33678 # 33679 "parser_cocci_menhir.ml"
33679
33680 in
33681
33682 # 549 "parser_cocci_menhir.mly"
33683 ( P.pointerify (P.make_cv cv ty) m )
33684 # 33685 "parser_cocci_menhir.ml"
33685 in
33686 _menhir_env.MenhirLib.EngineTypes.stack <- {
33687 MenhirLib.EngineTypes.state = _menhir_s;
33688 MenhirLib.EngineTypes.semv = Obj.repr _v;
33689 MenhirLib.EngineTypes.startp = _startpos;
33690 MenhirLib.EngineTypes.endp = _endpos;
33691 MenhirLib.EngineTypes.next = _menhir_stack;
33692 });
33693 (fun _menhir_env ->
33694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33695 let {
33696 MenhirLib.EngineTypes.semv = m;
33697 MenhirLib.EngineTypes.startp = _startpos_m_;
33698 MenhirLib.EngineTypes.endp = _endpos_m_;
33699 MenhirLib.EngineTypes.next = {
33700 MenhirLib.EngineTypes.state = _menhir_s;
33701 MenhirLib.EngineTypes.semv = ty00;
33702 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33703 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33704 MenhirLib.EngineTypes.next = _menhir_stack;
33705 };
33706 } = _menhir_stack in
33707 let m : 'tv_list_TMul_ = Obj.magic m in
33708 let ty00 : (
33709 # 49 "parser_cocci_menhir.mly"
33710 (Data.clt)
33711 # 33712 "parser_cocci_menhir.ml"
33712 ) = Obj.magic ty00 in
33713 let _startpos = _startpos_ty00_ in
33714 let _endpos = _endpos_m_ in
33715 let _v : 'tv_typedef_ctype = let ty =
33716 let ty0 = ty00 in
33717 let ty =
33718 let ty = ty0 in
33719
33720 # 506 "parser_cocci_menhir.mly"
33721 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
33722 # 33723 "parser_cocci_menhir.ml"
33723
33724 in
33725
33726 # 532 "parser_cocci_menhir.mly"
33727 ( ty )
33728 # 33729 "parser_cocci_menhir.ml"
33729
33730 in
33731 let cv =
33732
33733 # 39 "standard.mly"
33734 ( None )
33735 # 33736 "parser_cocci_menhir.ml"
33736
33737 in
33738
33739 # 549 "parser_cocci_menhir.mly"
33740 ( P.pointerify (P.make_cv cv ty) m )
33741 # 33742 "parser_cocci_menhir.ml"
33742 in
33743 _menhir_env.MenhirLib.EngineTypes.stack <- {
33744 MenhirLib.EngineTypes.state = _menhir_s;
33745 MenhirLib.EngineTypes.semv = Obj.repr _v;
33746 MenhirLib.EngineTypes.startp = _startpos;
33747 MenhirLib.EngineTypes.endp = _endpos;
33748 MenhirLib.EngineTypes.next = _menhir_stack;
33749 });
33750 (fun _menhir_env ->
33751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33752 let {
33753 MenhirLib.EngineTypes.semv = m;
33754 MenhirLib.EngineTypes.startp = _startpos_m_;
33755 MenhirLib.EngineTypes.endp = _endpos_m_;
33756 MenhirLib.EngineTypes.next = {
33757 MenhirLib.EngineTypes.semv = i00;
33758 MenhirLib.EngineTypes.startp = _startpos_i00_;
33759 MenhirLib.EngineTypes.endp = _endpos_i00_;
33760 MenhirLib.EngineTypes.next = {
33761 MenhirLib.EngineTypes.state = _menhir_s;
33762 MenhirLib.EngineTypes.semv = s00;
33763 MenhirLib.EngineTypes.startp = _startpos_s00_;
33764 MenhirLib.EngineTypes.endp = _endpos_s00_;
33765 MenhirLib.EngineTypes.next = _menhir_stack;
33766 };
33767 };
33768 } = _menhir_stack in
33769 let m : 'tv_list_TMul_ = Obj.magic m in
33770 let i00 : 'tv_ident = Obj.magic i00 in
33771 let s00 : (
33772 # 50 "parser_cocci_menhir.mly"
33773 (Data.clt)
33774 # 33775 "parser_cocci_menhir.ml"
33775 ) = Obj.magic s00 in
33776 let _startpos = _startpos_s00_ in
33777 let _endpos = _endpos_m_ in
33778 let _v : 'tv_typedef_ctype = let ty =
33779 let i0 = i00 in
33780 let s0 = s00 in
33781 let ty =
33782 let i = i0 in
33783 let s = s0 in
33784
33785 # 508 "parser_cocci_menhir.mly"
33786 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
33787 # 33788 "parser_cocci_menhir.ml"
33788
33789 in
33790
33791 # 532 "parser_cocci_menhir.mly"
33792 ( ty )
33793 # 33794 "parser_cocci_menhir.ml"
33794
33795 in
33796 let cv =
33797
33798 # 39 "standard.mly"
33799 ( None )
33800 # 33801 "parser_cocci_menhir.ml"
33801
33802 in
33803
33804 # 549 "parser_cocci_menhir.mly"
33805 ( P.pointerify (P.make_cv cv ty) m )
33806 # 33807 "parser_cocci_menhir.ml"
33807 in
33808 _menhir_env.MenhirLib.EngineTypes.stack <- {
33809 MenhirLib.EngineTypes.state = _menhir_s;
33810 MenhirLib.EngineTypes.semv = Obj.repr _v;
33811 MenhirLib.EngineTypes.startp = _startpos;
33812 MenhirLib.EngineTypes.endp = _endpos;
33813 MenhirLib.EngineTypes.next = _menhir_stack;
33814 });
33815 (fun _menhir_env ->
33816 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33817 let {
33818 MenhirLib.EngineTypes.semv = m;
33819 MenhirLib.EngineTypes.startp = _startpos_m_;
33820 MenhirLib.EngineTypes.endp = _endpos_m_;
33821 MenhirLib.EngineTypes.next = {
33822 MenhirLib.EngineTypes.semv = i00;
33823 MenhirLib.EngineTypes.startp = _startpos_i00_;
33824 MenhirLib.EngineTypes.endp = _endpos_i00_;
33825 MenhirLib.EngineTypes.next = {
33826 MenhirLib.EngineTypes.state = _menhir_s;
33827 MenhirLib.EngineTypes.semv = s00;
33828 MenhirLib.EngineTypes.startp = _startpos_s00_;
33829 MenhirLib.EngineTypes.endp = _endpos_s00_;
33830 MenhirLib.EngineTypes.next = _menhir_stack;
33831 };
33832 };
33833 } = _menhir_stack in
33834 let m : 'tv_list_TMul_ = Obj.magic m in
33835 let i00 : 'tv_ident = Obj.magic i00 in
33836 let s00 : 'tv_struct_or_union = Obj.magic s00 in
33837 let _startpos = _startpos_s00_ in
33838 let _endpos = _endpos_m_ in
33839 let _v : 'tv_typedef_ctype = let ty =
33840 let i0 = i00 in
33841 let s0 = s00 in
33842 let ty =
33843 let i = i0 in
33844 let s = s0 in
33845
33846 # 510 "parser_cocci_menhir.mly"
33847 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
33848 # 33849 "parser_cocci_menhir.ml"
33849
33850 in
33851
33852 # 532 "parser_cocci_menhir.mly"
33853 ( ty )
33854 # 33855 "parser_cocci_menhir.ml"
33855
33856 in
33857 let cv =
33858
33859 # 39 "standard.mly"
33860 ( None )
33861 # 33862 "parser_cocci_menhir.ml"
33862
33863 in
33864
33865 # 549 "parser_cocci_menhir.mly"
33866 ( P.pointerify (P.make_cv cv ty) m )
33867 # 33868 "parser_cocci_menhir.ml"
33868 in
33869 _menhir_env.MenhirLib.EngineTypes.stack <- {
33870 MenhirLib.EngineTypes.state = _menhir_s;
33871 MenhirLib.EngineTypes.semv = Obj.repr _v;
33872 MenhirLib.EngineTypes.startp = _startpos;
33873 MenhirLib.EngineTypes.endp = _endpos;
33874 MenhirLib.EngineTypes.next = _menhir_stack;
33875 });
33876 (fun _menhir_env ->
33877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33878 let {
33879 MenhirLib.EngineTypes.semv = m;
33880 MenhirLib.EngineTypes.startp = _startpos_m_;
33881 MenhirLib.EngineTypes.endp = _endpos_m_;
33882 MenhirLib.EngineTypes.next = {
33883 MenhirLib.EngineTypes.semv = r00;
33884 MenhirLib.EngineTypes.startp = _startpos_r00_;
33885 MenhirLib.EngineTypes.endp = _endpos_r00_;
33886 MenhirLib.EngineTypes.next = {
33887 MenhirLib.EngineTypes.semv = d00;
33888 MenhirLib.EngineTypes.startp = _startpos_d00_;
33889 MenhirLib.EngineTypes.endp = _endpos_d00_;
33890 MenhirLib.EngineTypes.next = {
33891 MenhirLib.EngineTypes.semv = l00;
33892 MenhirLib.EngineTypes.startp = _startpos_l00_;
33893 MenhirLib.EngineTypes.endp = _endpos_l00_;
33894 MenhirLib.EngineTypes.next = {
33895 MenhirLib.EngineTypes.state = _menhir_s;
33896 MenhirLib.EngineTypes.semv = s00;
33897 MenhirLib.EngineTypes.startp = _startpos_s00_;
33898 MenhirLib.EngineTypes.endp = _endpos_s00_;
33899 MenhirLib.EngineTypes.next = _menhir_stack;
33900 };
33901 };
33902 };
33903 };
33904 } = _menhir_stack in
33905 let m : 'tv_list_TMul_ = Obj.magic m in
33906 let r00 : (
33907 # 101 "parser_cocci_menhir.mly"
33908 (Data.clt)
33909 # 33910 "parser_cocci_menhir.ml"
33910 ) = Obj.magic r00 in
33911 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
33912 let l00 : (
33913 # 101 "parser_cocci_menhir.mly"
33914 (Data.clt)
33915 # 33916 "parser_cocci_menhir.ml"
33916 ) = Obj.magic l00 in
33917 let s00 : 'tv_struct_or_union = Obj.magic s00 in
33918 let _startpos = _startpos_s00_ in
33919 let _endpos = _endpos_m_ in
33920 let _v : 'tv_typedef_ctype = let ty =
33921 let r0 = r00 in
33922 let d0 = d00 in
33923 let l0 = l00 in
33924 let s0 = s00 in
33925 let ty =
33926 let r = r0 in
33927 let d = d0 in
33928 let l = l0 in
33929 let s = s0 in
33930 let i =
33931
33932 # 39 "standard.mly"
33933 ( None )
33934 # 33935 "parser_cocci_menhir.ml"
33935
33936 in
33937
33938 # 513 "parser_cocci_menhir.mly"
33939 ( (if i = None && !Data.in_iso
33940 then failwith "structures must be named in the iso file");
33941 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
33942 P.clt2mcode "{" l,
33943 d, P.clt2mcode "}" r)) )
33944 # 33945 "parser_cocci_menhir.ml"
33945
33946 in
33947
33948 # 532 "parser_cocci_menhir.mly"
33949 ( ty )
33950 # 33951 "parser_cocci_menhir.ml"
33951
33952 in
33953 let cv =
33954
33955 # 39 "standard.mly"
33956 ( None )
33957 # 33958 "parser_cocci_menhir.ml"
33958
33959 in
33960
33961 # 549 "parser_cocci_menhir.mly"
33962 ( P.pointerify (P.make_cv cv ty) m )
33963 # 33964 "parser_cocci_menhir.ml"
33964 in
33965 _menhir_env.MenhirLib.EngineTypes.stack <- {
33966 MenhirLib.EngineTypes.state = _menhir_s;
33967 MenhirLib.EngineTypes.semv = Obj.repr _v;
33968 MenhirLib.EngineTypes.startp = _startpos;
33969 MenhirLib.EngineTypes.endp = _endpos;
33970 MenhirLib.EngineTypes.next = _menhir_stack;
33971 });
33972 (fun _menhir_env ->
33973 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33974 let {
33975 MenhirLib.EngineTypes.semv = m;
33976 MenhirLib.EngineTypes.startp = _startpos_m_;
33977 MenhirLib.EngineTypes.endp = _endpos_m_;
33978 MenhirLib.EngineTypes.next = {
33979 MenhirLib.EngineTypes.semv = r00;
33980 MenhirLib.EngineTypes.startp = _startpos_r00_;
33981 MenhirLib.EngineTypes.endp = _endpos_r00_;
33982 MenhirLib.EngineTypes.next = {
33983 MenhirLib.EngineTypes.semv = d00;
33984 MenhirLib.EngineTypes.startp = _startpos_d00_;
33985 MenhirLib.EngineTypes.endp = _endpos_d00_;
33986 MenhirLib.EngineTypes.next = {
33987 MenhirLib.EngineTypes.semv = l00;
33988 MenhirLib.EngineTypes.startp = _startpos_l00_;
33989 MenhirLib.EngineTypes.endp = _endpos_l00_;
33990 MenhirLib.EngineTypes.next = {
33991 MenhirLib.EngineTypes.semv = x000;
33992 MenhirLib.EngineTypes.startp = _startpos_x000_;
33993 MenhirLib.EngineTypes.endp = _endpos_x000_;
33994 MenhirLib.EngineTypes.next = {
33995 MenhirLib.EngineTypes.state = _menhir_s;
33996 MenhirLib.EngineTypes.semv = s00;
33997 MenhirLib.EngineTypes.startp = _startpos_s00_;
33998 MenhirLib.EngineTypes.endp = _endpos_s00_;
33999 MenhirLib.EngineTypes.next = _menhir_stack;
34000 };
34001 };
34002 };
34003 };
34004 };
34005 } = _menhir_stack in
34006 let m : 'tv_list_TMul_ = Obj.magic m in
34007 let r00 : (
34008 # 101 "parser_cocci_menhir.mly"
34009 (Data.clt)
34010 # 34011 "parser_cocci_menhir.ml"
34011 ) = Obj.magic r00 in
34012 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34013 let l00 : (
34014 # 101 "parser_cocci_menhir.mly"
34015 (Data.clt)
34016 # 34017 "parser_cocci_menhir.ml"
34017 ) = Obj.magic l00 in
34018 let x000 : 'tv_ident = Obj.magic x000 in
34019 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34020 let _startpos = _startpos_s00_ in
34021 let _endpos = _endpos_m_ in
34022 let _v : 'tv_typedef_ctype = let ty =
34023 let r0 = r00 in
34024 let d0 = d00 in
34025 let l0 = l00 in
34026 let x00 = x000 in
34027 let s0 = s00 in
34028 let ty =
34029 let r = r0 in
34030 let d = d0 in
34031 let l = l0 in
34032 let x0 = x00 in
34033 let s = s0 in
34034 let i =
34035 let x = x0 in
34036
34037 # 41 "standard.mly"
34038 ( Some x )
34039 # 34040 "parser_cocci_menhir.ml"
34040
34041 in
34042
34043 # 513 "parser_cocci_menhir.mly"
34044 ( (if i = None && !Data.in_iso
34045 then failwith "structures must be named in the iso file");
34046 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34047 P.clt2mcode "{" l,
34048 d, P.clt2mcode "}" r)) )
34049 # 34050 "parser_cocci_menhir.ml"
34050
34051 in
34052
34053 # 532 "parser_cocci_menhir.mly"
34054 ( ty )
34055 # 34056 "parser_cocci_menhir.ml"
34056
34057 in
34058 let cv =
34059
34060 # 39 "standard.mly"
34061 ( None )
34062 # 34063 "parser_cocci_menhir.ml"
34063
34064 in
34065
34066 # 549 "parser_cocci_menhir.mly"
34067 ( P.pointerify (P.make_cv cv ty) m )
34068 # 34069 "parser_cocci_menhir.ml"
34069 in
34070 _menhir_env.MenhirLib.EngineTypes.stack <- {
34071 MenhirLib.EngineTypes.state = _menhir_s;
34072 MenhirLib.EngineTypes.semv = Obj.repr _v;
34073 MenhirLib.EngineTypes.startp = _startpos;
34074 MenhirLib.EngineTypes.endp = _endpos;
34075 MenhirLib.EngineTypes.next = _menhir_stack;
34076 });
34077 (fun _menhir_env ->
34078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34079 let {
34080 MenhirLib.EngineTypes.semv = m;
34081 MenhirLib.EngineTypes.startp = _startpos_m_;
34082 MenhirLib.EngineTypes.endp = _endpos_m_;
34083 MenhirLib.EngineTypes.next = {
34084 MenhirLib.EngineTypes.semv = r00;
34085 MenhirLib.EngineTypes.startp = _startpos_r00_;
34086 MenhirLib.EngineTypes.endp = _endpos_r00_;
34087 MenhirLib.EngineTypes.next = {
34088 MenhirLib.EngineTypes.semv = d00;
34089 MenhirLib.EngineTypes.startp = _startpos_d00_;
34090 MenhirLib.EngineTypes.endp = _endpos_d00_;
34091 MenhirLib.EngineTypes.next = {
34092 MenhirLib.EngineTypes.semv = l00;
34093 MenhirLib.EngineTypes.startp = _startpos_l00_;
34094 MenhirLib.EngineTypes.endp = _endpos_l00_;
34095 MenhirLib.EngineTypes.next = {
34096 MenhirLib.EngineTypes.state = _menhir_s;
34097 MenhirLib.EngineTypes.semv = s00;
34098 MenhirLib.EngineTypes.startp = _startpos_s00_;
34099 MenhirLib.EngineTypes.endp = _endpos_s00_;
34100 MenhirLib.EngineTypes.next = _menhir_stack;
34101 };
34102 };
34103 };
34104 };
34105 } = _menhir_stack in
34106 let m : 'tv_list_TMul_ = Obj.magic m in
34107 let r00 : (
34108 # 101 "parser_cocci_menhir.mly"
34109 (Data.clt)
34110 # 34111 "parser_cocci_menhir.ml"
34111 ) = Obj.magic r00 in
34112 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34113 let l00 : (
34114 # 101 "parser_cocci_menhir.mly"
34115 (Data.clt)
34116 # 34117 "parser_cocci_menhir.ml"
34117 ) = Obj.magic l00 in
34118 let s00 : (
34119 # 64 "parser_cocci_menhir.mly"
34120 (Parse_aux.info)
34121 # 34122 "parser_cocci_menhir.ml"
34122 ) = Obj.magic s00 in
34123 let _startpos = _startpos_s00_ in
34124 let _endpos = _endpos_m_ in
34125 let _v : 'tv_typedef_ctype = let ty =
34126 let r0 = r00 in
34127 let d0 = d00 in
34128 let l0 = l00 in
34129 let s0 = s00 in
34130 let ty =
34131 let r = r0 in
34132 let d = d0 in
34133 let l = l0 in
34134 let s = s0 in
34135
34136 # 519 "parser_cocci_menhir.mly"
34137 ( let (nm,pure,clt) = s in
34138 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
34139 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
34140 # 34141 "parser_cocci_menhir.ml"
34141
34142 in
34143
34144 # 532 "parser_cocci_menhir.mly"
34145 ( ty )
34146 # 34147 "parser_cocci_menhir.ml"
34147
34148 in
34149 let cv =
34150
34151 # 39 "standard.mly"
34152 ( None )
34153 # 34154 "parser_cocci_menhir.ml"
34154
34155 in
34156
34157 # 549 "parser_cocci_menhir.mly"
34158 ( P.pointerify (P.make_cv cv ty) m )
34159 # 34160 "parser_cocci_menhir.ml"
34160 in
34161 _menhir_env.MenhirLib.EngineTypes.stack <- {
34162 MenhirLib.EngineTypes.state = _menhir_s;
34163 MenhirLib.EngineTypes.semv = Obj.repr _v;
34164 MenhirLib.EngineTypes.startp = _startpos;
34165 MenhirLib.EngineTypes.endp = _endpos;
34166 MenhirLib.EngineTypes.next = _menhir_stack;
34167 });
34168 (fun _menhir_env ->
34169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34170 let {
34171 MenhirLib.EngineTypes.semv = m;
34172 MenhirLib.EngineTypes.startp = _startpos_m_;
34173 MenhirLib.EngineTypes.endp = _endpos_m_;
34174 MenhirLib.EngineTypes.next = {
34175 MenhirLib.EngineTypes.state = _menhir_s;
34176 MenhirLib.EngineTypes.semv = p00;
34177 MenhirLib.EngineTypes.startp = _startpos_p00_;
34178 MenhirLib.EngineTypes.endp = _endpos_p00_;
34179 MenhirLib.EngineTypes.next = _menhir_stack;
34180 };
34181 } = _menhir_stack in
34182 let m : 'tv_list_TMul_ = Obj.magic m in
34183 let p00 : (
34184 # 59 "parser_cocci_menhir.mly"
34185 (string * Data.clt)
34186 # 34187 "parser_cocci_menhir.ml"
34187 ) = Obj.magic p00 in
34188 let _startpos = _startpos_p00_ in
34189 let _endpos = _endpos_m_ in
34190 let _v : 'tv_typedef_ctype = let ty =
34191 let p0 = p00 in
34192 let ty =
34193 let p = p0 in
34194
34195 # 523 "parser_cocci_menhir.mly"
34196 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
34197 # 34198 "parser_cocci_menhir.ml"
34198
34199 in
34200
34201 # 532 "parser_cocci_menhir.mly"
34202 ( ty )
34203 # 34204 "parser_cocci_menhir.ml"
34204
34205 in
34206 let cv =
34207
34208 # 39 "standard.mly"
34209 ( None )
34210 # 34211 "parser_cocci_menhir.ml"
34211
34212 in
34213
34214 # 549 "parser_cocci_menhir.mly"
34215 ( P.pointerify (P.make_cv cv ty) m )
34216 # 34217 "parser_cocci_menhir.ml"
34217 in
34218 _menhir_env.MenhirLib.EngineTypes.stack <- {
34219 MenhirLib.EngineTypes.state = _menhir_s;
34220 MenhirLib.EngineTypes.semv = Obj.repr _v;
34221 MenhirLib.EngineTypes.startp = _startpos;
34222 MenhirLib.EngineTypes.endp = _endpos;
34223 MenhirLib.EngineTypes.next = _menhir_stack;
34224 });
34225 (fun _menhir_env ->
34226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34227 let {
34228 MenhirLib.EngineTypes.semv = m;
34229 MenhirLib.EngineTypes.startp = _startpos_m_;
34230 MenhirLib.EngineTypes.endp = _endpos_m_;
34231 MenhirLib.EngineTypes.next = {
34232 MenhirLib.EngineTypes.semv = ty00;
34233 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34234 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34235 MenhirLib.EngineTypes.next = {
34236 MenhirLib.EngineTypes.semv = r0;
34237 MenhirLib.EngineTypes.startp = _startpos_r0_;
34238 MenhirLib.EngineTypes.endp = _endpos_r0_;
34239 MenhirLib.EngineTypes.next = {
34240 MenhirLib.EngineTypes.state = _menhir_s;
34241 MenhirLib.EngineTypes.semv = x0;
34242 MenhirLib.EngineTypes.startp = _startpos_x0_;
34243 MenhirLib.EngineTypes.endp = _endpos_x0_;
34244 MenhirLib.EngineTypes.next = _menhir_stack;
34245 };
34246 };
34247 };
34248 } = _menhir_stack in
34249 let m : 'tv_list_TMul_ = Obj.magic m in
34250 let ty00 : (
34251 # 49 "parser_cocci_menhir.mly"
34252 (Data.clt)
34253 # 34254 "parser_cocci_menhir.ml"
34254 ) = Obj.magic ty00 in
34255 let r0 : (
34256 # 51 "parser_cocci_menhir.mly"
34257 (Data.clt)
34258 # 34259 "parser_cocci_menhir.ml"
34259 ) = Obj.magic r0 in
34260 let x0 : 'tv_const_vol = Obj.magic x0 in
34261 let _startpos = _startpos_x0_ in
34262 let _endpos = _endpos_m_ in
34263 let _v : 'tv_typedef_ctype = let ty =
34264 let ty0 = ty00 in
34265 let r = r0 in
34266 let ty =
34267 let ty = ty0 in
34268
34269 # 476 "parser_cocci_menhir.mly"
34270 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34271 # 34272 "parser_cocci_menhir.ml"
34272
34273 in
34274
34275 # 528 "parser_cocci_menhir.mly"
34276 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34277 # 34278 "parser_cocci_menhir.ml"
34278
34279 in
34280 let cv =
34281 let x = x0 in
34282
34283 # 41 "standard.mly"
34284 ( Some x )
34285 # 34286 "parser_cocci_menhir.ml"
34286
34287 in
34288
34289 # 549 "parser_cocci_menhir.mly"
34290 ( P.pointerify (P.make_cv cv ty) m )
34291 # 34292 "parser_cocci_menhir.ml"
34292 in
34293 _menhir_env.MenhirLib.EngineTypes.stack <- {
34294 MenhirLib.EngineTypes.state = _menhir_s;
34295 MenhirLib.EngineTypes.semv = Obj.repr _v;
34296 MenhirLib.EngineTypes.startp = _startpos;
34297 MenhirLib.EngineTypes.endp = _endpos;
34298 MenhirLib.EngineTypes.next = _menhir_stack;
34299 });
34300 (fun _menhir_env ->
34301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34302 let {
34303 MenhirLib.EngineTypes.semv = m;
34304 MenhirLib.EngineTypes.startp = _startpos_m_;
34305 MenhirLib.EngineTypes.endp = _endpos_m_;
34306 MenhirLib.EngineTypes.next = {
34307 MenhirLib.EngineTypes.semv = ty00;
34308 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34309 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34310 MenhirLib.EngineTypes.next = {
34311 MenhirLib.EngineTypes.semv = r0;
34312 MenhirLib.EngineTypes.startp = _startpos_r0_;
34313 MenhirLib.EngineTypes.endp = _endpos_r0_;
34314 MenhirLib.EngineTypes.next = {
34315 MenhirLib.EngineTypes.state = _menhir_s;
34316 MenhirLib.EngineTypes.semv = x0;
34317 MenhirLib.EngineTypes.startp = _startpos_x0_;
34318 MenhirLib.EngineTypes.endp = _endpos_x0_;
34319 MenhirLib.EngineTypes.next = _menhir_stack;
34320 };
34321 };
34322 };
34323 } = _menhir_stack in
34324 let m : 'tv_list_TMul_ = Obj.magic m in
34325 let ty00 : (
34326 # 49 "parser_cocci_menhir.mly"
34327 (Data.clt)
34328 # 34329 "parser_cocci_menhir.ml"
34329 ) = Obj.magic ty00 in
34330 let r0 : (
34331 # 51 "parser_cocci_menhir.mly"
34332 (Data.clt)
34333 # 34334 "parser_cocci_menhir.ml"
34334 ) = Obj.magic r0 in
34335 let x0 : 'tv_const_vol = Obj.magic x0 in
34336 let _startpos = _startpos_x0_ in
34337 let _endpos = _endpos_m_ in
34338 let _v : 'tv_typedef_ctype = let ty =
34339 let ty0 = ty00 in
34340 let r = r0 in
34341 let ty =
34342 let ty = ty0 in
34343
34344 # 478 "parser_cocci_menhir.mly"
34345 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34346 # 34347 "parser_cocci_menhir.ml"
34347
34348 in
34349
34350 # 528 "parser_cocci_menhir.mly"
34351 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34352 # 34353 "parser_cocci_menhir.ml"
34353
34354 in
34355 let cv =
34356 let x = x0 in
34357
34358 # 41 "standard.mly"
34359 ( Some x )
34360 # 34361 "parser_cocci_menhir.ml"
34361
34362 in
34363
34364 # 549 "parser_cocci_menhir.mly"
34365 ( P.pointerify (P.make_cv cv ty) m )
34366 # 34367 "parser_cocci_menhir.ml"
34367 in
34368 _menhir_env.MenhirLib.EngineTypes.stack <- {
34369 MenhirLib.EngineTypes.state = _menhir_s;
34370 MenhirLib.EngineTypes.semv = Obj.repr _v;
34371 MenhirLib.EngineTypes.startp = _startpos;
34372 MenhirLib.EngineTypes.endp = _endpos;
34373 MenhirLib.EngineTypes.next = _menhir_stack;
34374 });
34375 (fun _menhir_env ->
34376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34377 let {
34378 MenhirLib.EngineTypes.semv = m;
34379 MenhirLib.EngineTypes.startp = _startpos_m_;
34380 MenhirLib.EngineTypes.endp = _endpos_m_;
34381 MenhirLib.EngineTypes.next = {
34382 MenhirLib.EngineTypes.semv = ty00;
34383 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34384 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34385 MenhirLib.EngineTypes.next = {
34386 MenhirLib.EngineTypes.semv = r0;
34387 MenhirLib.EngineTypes.startp = _startpos_r0_;
34388 MenhirLib.EngineTypes.endp = _endpos_r0_;
34389 MenhirLib.EngineTypes.next = {
34390 MenhirLib.EngineTypes.state = _menhir_s;
34391 MenhirLib.EngineTypes.semv = x0;
34392 MenhirLib.EngineTypes.startp = _startpos_x0_;
34393 MenhirLib.EngineTypes.endp = _endpos_x0_;
34394 MenhirLib.EngineTypes.next = _menhir_stack;
34395 };
34396 };
34397 };
34398 } = _menhir_stack in
34399 let m : 'tv_list_TMul_ = Obj.magic m in
34400 let ty00 : (
34401 # 49 "parser_cocci_menhir.mly"
34402 (Data.clt)
34403 # 34404 "parser_cocci_menhir.ml"
34404 ) = Obj.magic ty00 in
34405 let r0 : (
34406 # 51 "parser_cocci_menhir.mly"
34407 (Data.clt)
34408 # 34409 "parser_cocci_menhir.ml"
34409 ) = Obj.magic r0 in
34410 let x0 : 'tv_const_vol = Obj.magic x0 in
34411 let _startpos = _startpos_x0_ in
34412 let _endpos = _endpos_m_ in
34413 let _v : 'tv_typedef_ctype = let ty =
34414 let ty0 = ty00 in
34415 let r = r0 in
34416 let ty =
34417 let ty = ty0 in
34418
34419 # 480 "parser_cocci_menhir.mly"
34420 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
34421 # 34422 "parser_cocci_menhir.ml"
34422
34423 in
34424
34425 # 528 "parser_cocci_menhir.mly"
34426 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34427 # 34428 "parser_cocci_menhir.ml"
34428
34429 in
34430 let cv =
34431 let x = x0 in
34432
34433 # 41 "standard.mly"
34434 ( Some x )
34435 # 34436 "parser_cocci_menhir.ml"
34436
34437 in
34438
34439 # 549 "parser_cocci_menhir.mly"
34440 ( P.pointerify (P.make_cv cv ty) m )
34441 # 34442 "parser_cocci_menhir.ml"
34442 in
34443 _menhir_env.MenhirLib.EngineTypes.stack <- {
34444 MenhirLib.EngineTypes.state = _menhir_s;
34445 MenhirLib.EngineTypes.semv = Obj.repr _v;
34446 MenhirLib.EngineTypes.startp = _startpos;
34447 MenhirLib.EngineTypes.endp = _endpos;
34448 MenhirLib.EngineTypes.next = _menhir_stack;
34449 });
34450 (fun _menhir_env ->
34451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34452 let {
34453 MenhirLib.EngineTypes.semv = m;
34454 MenhirLib.EngineTypes.startp = _startpos_m_;
34455 MenhirLib.EngineTypes.endp = _endpos_m_;
34456 MenhirLib.EngineTypes.next = {
34457 MenhirLib.EngineTypes.semv = p00;
34458 MenhirLib.EngineTypes.startp = _startpos_p00_;
34459 MenhirLib.EngineTypes.endp = _endpos_p00_;
34460 MenhirLib.EngineTypes.next = {
34461 MenhirLib.EngineTypes.semv = r0;
34462 MenhirLib.EngineTypes.startp = _startpos_r0_;
34463 MenhirLib.EngineTypes.endp = _endpos_r0_;
34464 MenhirLib.EngineTypes.next = {
34465 MenhirLib.EngineTypes.state = _menhir_s;
34466 MenhirLib.EngineTypes.semv = x0;
34467 MenhirLib.EngineTypes.startp = _startpos_x0_;
34468 MenhirLib.EngineTypes.endp = _endpos_x0_;
34469 MenhirLib.EngineTypes.next = _menhir_stack;
34470 };
34471 };
34472 };
34473 } = _menhir_stack in
34474 let m : 'tv_list_TMul_ = Obj.magic m in
34475 let p00 : (
34476 # 64 "parser_cocci_menhir.mly"
34477 (Parse_aux.info)
34478 # 34479 "parser_cocci_menhir.ml"
34479 ) = Obj.magic p00 in
34480 let r0 : (
34481 # 51 "parser_cocci_menhir.mly"
34482 (Data.clt)
34483 # 34484 "parser_cocci_menhir.ml"
34484 ) = Obj.magic r0 in
34485 let x0 : 'tv_const_vol = Obj.magic x0 in
34486 let _startpos = _startpos_x0_ in
34487 let _endpos = _endpos_m_ in
34488 let _v : 'tv_typedef_ctype = let ty =
34489 let p0 = p00 in
34490 let r = r0 in
34491 let ty =
34492 let p = p0 in
34493
34494 # 482 "parser_cocci_menhir.mly"
34495 ( let (nm,pure,clt) = p in
34496 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
34497 # 34498 "parser_cocci_menhir.ml"
34498
34499 in
34500
34501 # 528 "parser_cocci_menhir.mly"
34502 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34503 # 34504 "parser_cocci_menhir.ml"
34504
34505 in
34506 let cv =
34507 let x = x0 in
34508
34509 # 41 "standard.mly"
34510 ( Some x )
34511 # 34512 "parser_cocci_menhir.ml"
34512
34513 in
34514
34515 # 549 "parser_cocci_menhir.mly"
34516 ( P.pointerify (P.make_cv cv ty) m )
34517 # 34518 "parser_cocci_menhir.ml"
34518 in
34519 _menhir_env.MenhirLib.EngineTypes.stack <- {
34520 MenhirLib.EngineTypes.state = _menhir_s;
34521 MenhirLib.EngineTypes.semv = Obj.repr _v;
34522 MenhirLib.EngineTypes.startp = _startpos;
34523 MenhirLib.EngineTypes.endp = _endpos;
34524 MenhirLib.EngineTypes.next = _menhir_stack;
34525 });
34526 (fun _menhir_env ->
34527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34528 let {
34529 MenhirLib.EngineTypes.semv = m;
34530 MenhirLib.EngineTypes.startp = _startpos_m_;
34531 MenhirLib.EngineTypes.endp = _endpos_m_;
34532 MenhirLib.EngineTypes.next = {
34533 MenhirLib.EngineTypes.semv = p00;
34534 MenhirLib.EngineTypes.startp = _startpos_p00_;
34535 MenhirLib.EngineTypes.endp = _endpos_p00_;
34536 MenhirLib.EngineTypes.next = {
34537 MenhirLib.EngineTypes.startp = _startpos__4_;
34538 MenhirLib.EngineTypes.endp = _endpos__4_;
34539 MenhirLib.EngineTypes.next = {
34540 MenhirLib.EngineTypes.semv = r00;
34541 MenhirLib.EngineTypes.startp = _startpos_r00_;
34542 MenhirLib.EngineTypes.endp = _endpos_r00_;
34543 MenhirLib.EngineTypes.next = {
34544 MenhirLib.EngineTypes.semv = r1;
34545 MenhirLib.EngineTypes.startp = _startpos_r1_;
34546 MenhirLib.EngineTypes.endp = _endpos_r1_;
34547 MenhirLib.EngineTypes.next = {
34548 MenhirLib.EngineTypes.state = _menhir_s;
34549 MenhirLib.EngineTypes.semv = x0;
34550 MenhirLib.EngineTypes.startp = _startpos_x0_;
34551 MenhirLib.EngineTypes.endp = _endpos_x0_;
34552 MenhirLib.EngineTypes.next = _menhir_stack;
34553 };
34554 };
34555 };
34556 };
34557 };
34558 } = _menhir_stack in
34559 let m : 'tv_list_TMul_ = Obj.magic m in
34560 let p00 : (
34561 # 59 "parser_cocci_menhir.mly"
34562 (string * Data.clt)
34563 # 34564 "parser_cocci_menhir.ml"
34564 ) = Obj.magic p00 in
34565 let r00 : (
34566 # 47 "parser_cocci_menhir.mly"
34567 (string)
34568 # 34569 "parser_cocci_menhir.ml"
34569 ) = Obj.magic r00 in
34570 let r1 : (
34571 # 51 "parser_cocci_menhir.mly"
34572 (Data.clt)
34573 # 34574 "parser_cocci_menhir.ml"
34574 ) = Obj.magic r1 in
34575 let x0 : 'tv_const_vol = Obj.magic x0 in
34576 let _startpos = _startpos_x0_ in
34577 let _endpos = _endpos_m_ in
34578 let _v : 'tv_typedef_ctype = let ty =
34579 let p0 = p00 in
34580 let r0 = r00 in
34581 let r = r1 in
34582 let ty =
34583 let p = p0 in
34584 let r = r0 in
34585
34586 # 485 "parser_cocci_menhir.mly"
34587 ( let nm = (r,P.id2name p) in
34588 (* this is only possible when we are in a metavar decl. Otherwise,
34589 it will be represented already as a MetaType *)
34590 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
34591 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
34592 Ast0.Impure (*will be ignored*))) )
34593 # 34594 "parser_cocci_menhir.ml"
34594
34595 in
34596
34597 # 528 "parser_cocci_menhir.mly"
34598 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34599 # 34600 "parser_cocci_menhir.ml"
34600
34601 in
34602 let cv =
34603 let x = x0 in
34604
34605 # 41 "standard.mly"
34606 ( Some x )
34607 # 34608 "parser_cocci_menhir.ml"
34608
34609 in
34610
34611 # 549 "parser_cocci_menhir.mly"
34612 ( P.pointerify (P.make_cv cv ty) m )
34613 # 34614 "parser_cocci_menhir.ml"
34614 in
34615 _menhir_env.MenhirLib.EngineTypes.stack <- {
34616 MenhirLib.EngineTypes.state = _menhir_s;
34617 MenhirLib.EngineTypes.semv = Obj.repr _v;
34618 MenhirLib.EngineTypes.startp = _startpos;
34619 MenhirLib.EngineTypes.endp = _endpos;
34620 MenhirLib.EngineTypes.next = _menhir_stack;
34621 });
34622 (fun _menhir_env ->
34623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34624 let {
34625 MenhirLib.EngineTypes.semv = m;
34626 MenhirLib.EngineTypes.startp = _startpos_m_;
34627 MenhirLib.EngineTypes.endp = _endpos_m_;
34628 MenhirLib.EngineTypes.next = {
34629 MenhirLib.EngineTypes.semv = ty00;
34630 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34631 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34632 MenhirLib.EngineTypes.next = {
34633 MenhirLib.EngineTypes.semv = r0;
34634 MenhirLib.EngineTypes.startp = _startpos_r0_;
34635 MenhirLib.EngineTypes.endp = _endpos_r0_;
34636 MenhirLib.EngineTypes.next = {
34637 MenhirLib.EngineTypes.state = _menhir_s;
34638 MenhirLib.EngineTypes.semv = x0;
34639 MenhirLib.EngineTypes.startp = _startpos_x0_;
34640 MenhirLib.EngineTypes.endp = _endpos_x0_;
34641 MenhirLib.EngineTypes.next = _menhir_stack;
34642 };
34643 };
34644 };
34645 } = _menhir_stack in
34646 let m : 'tv_list_TMul_ = Obj.magic m in
34647 let ty00 : (
34648 # 49 "parser_cocci_menhir.mly"
34649 (Data.clt)
34650 # 34651 "parser_cocci_menhir.ml"
34651 ) = Obj.magic ty00 in
34652 let r0 : (
34653 # 51 "parser_cocci_menhir.mly"
34654 (Data.clt)
34655 # 34656 "parser_cocci_menhir.ml"
34656 ) = Obj.magic r0 in
34657 let x0 : 'tv_const_vol = Obj.magic x0 in
34658 let _startpos = _startpos_x0_ in
34659 let _endpos = _endpos_m_ in
34660 let _v : 'tv_typedef_ctype = let ty =
34661 let ty0 = ty00 in
34662 let r = r0 in
34663 let ty =
34664 let ty = ty0 in
34665
34666 # 492 "parser_cocci_menhir.mly"
34667 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
34668 # 34669 "parser_cocci_menhir.ml"
34669
34670 in
34671
34672 # 528 "parser_cocci_menhir.mly"
34673 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34674 # 34675 "parser_cocci_menhir.ml"
34675
34676 in
34677 let cv =
34678 let x = x0 in
34679
34680 # 41 "standard.mly"
34681 ( Some x )
34682 # 34683 "parser_cocci_menhir.ml"
34683
34684 in
34685
34686 # 549 "parser_cocci_menhir.mly"
34687 ( P.pointerify (P.make_cv cv ty) m )
34688 # 34689 "parser_cocci_menhir.ml"
34689 in
34690 _menhir_env.MenhirLib.EngineTypes.stack <- {
34691 MenhirLib.EngineTypes.state = _menhir_s;
34692 MenhirLib.EngineTypes.semv = Obj.repr _v;
34693 MenhirLib.EngineTypes.startp = _startpos;
34694 MenhirLib.EngineTypes.endp = _endpos;
34695 MenhirLib.EngineTypes.next = _menhir_stack;
34696 });
34697 (fun _menhir_env ->
34698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34699 let {
34700 MenhirLib.EngineTypes.semv = m;
34701 MenhirLib.EngineTypes.startp = _startpos_m_;
34702 MenhirLib.EngineTypes.endp = _endpos_m_;
34703 MenhirLib.EngineTypes.next = {
34704 MenhirLib.EngineTypes.semv = ty200;
34705 MenhirLib.EngineTypes.startp = _startpos_ty200_;
34706 MenhirLib.EngineTypes.endp = _endpos_ty200_;
34707 MenhirLib.EngineTypes.next = {
34708 MenhirLib.EngineTypes.semv = ty100;
34709 MenhirLib.EngineTypes.startp = _startpos_ty100_;
34710 MenhirLib.EngineTypes.endp = _endpos_ty100_;
34711 MenhirLib.EngineTypes.next = {
34712 MenhirLib.EngineTypes.semv = r0;
34713 MenhirLib.EngineTypes.startp = _startpos_r0_;
34714 MenhirLib.EngineTypes.endp = _endpos_r0_;
34715 MenhirLib.EngineTypes.next = {
34716 MenhirLib.EngineTypes.state = _menhir_s;
34717 MenhirLib.EngineTypes.semv = x0;
34718 MenhirLib.EngineTypes.startp = _startpos_x0_;
34719 MenhirLib.EngineTypes.endp = _endpos_x0_;
34720 MenhirLib.EngineTypes.next = _menhir_stack;
34721 };
34722 };
34723 };
34724 };
34725 } = _menhir_stack in
34726 let m : 'tv_list_TMul_ = Obj.magic m in
34727 let ty200 : (
34728 # 49 "parser_cocci_menhir.mly"
34729 (Data.clt)
34730 # 34731 "parser_cocci_menhir.ml"
34731 ) = Obj.magic ty200 in
34732 let ty100 : (
34733 # 49 "parser_cocci_menhir.mly"
34734 (Data.clt)
34735 # 34736 "parser_cocci_menhir.ml"
34736 ) = Obj.magic ty100 in
34737 let r0 : (
34738 # 51 "parser_cocci_menhir.mly"
34739 (Data.clt)
34740 # 34741 "parser_cocci_menhir.ml"
34741 ) = Obj.magic r0 in
34742 let x0 : 'tv_const_vol = Obj.magic x0 in
34743 let _startpos = _startpos_x0_ in
34744 let _endpos = _endpos_m_ in
34745 let _v : 'tv_typedef_ctype = let ty =
34746 let ty20 = ty200 in
34747 let ty10 = ty100 in
34748 let r = r0 in
34749 let ty =
34750 let ty2 = ty20 in
34751 let ty1 = ty10 in
34752
34753 # 494 "parser_cocci_menhir.mly"
34754 ( Ast0.wrap
34755 (Ast0.BaseType
34756 (Ast.LongLongType,
34757 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
34758 # 34759 "parser_cocci_menhir.ml"
34759
34760 in
34761
34762 # 528 "parser_cocci_menhir.mly"
34763 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34764 # 34765 "parser_cocci_menhir.ml"
34765
34766 in
34767 let cv =
34768 let x = x0 in
34769
34770 # 41 "standard.mly"
34771 ( Some x )
34772 # 34773 "parser_cocci_menhir.ml"
34773
34774 in
34775
34776 # 549 "parser_cocci_menhir.mly"
34777 ( P.pointerify (P.make_cv cv ty) m )
34778 # 34779 "parser_cocci_menhir.ml"
34779 in
34780 _menhir_env.MenhirLib.EngineTypes.stack <- {
34781 MenhirLib.EngineTypes.state = _menhir_s;
34782 MenhirLib.EngineTypes.semv = Obj.repr _v;
34783 MenhirLib.EngineTypes.startp = _startpos;
34784 MenhirLib.EngineTypes.endp = _endpos;
34785 MenhirLib.EngineTypes.next = _menhir_stack;
34786 });
34787 (fun _menhir_env ->
34788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34789 let {
34790 MenhirLib.EngineTypes.semv = m;
34791 MenhirLib.EngineTypes.startp = _startpos_m_;
34792 MenhirLib.EngineTypes.endp = _endpos_m_;
34793 MenhirLib.EngineTypes.next = {
34794 MenhirLib.EngineTypes.semv = ty00;
34795 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34796 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34797 MenhirLib.EngineTypes.next = {
34798 MenhirLib.EngineTypes.semv = r0;
34799 MenhirLib.EngineTypes.startp = _startpos_r0_;
34800 MenhirLib.EngineTypes.endp = _endpos_r0_;
34801 MenhirLib.EngineTypes.next = {
34802 MenhirLib.EngineTypes.state = _menhir_s;
34803 MenhirLib.EngineTypes.semv = x0;
34804 MenhirLib.EngineTypes.startp = _startpos_x0_;
34805 MenhirLib.EngineTypes.endp = _endpos_x0_;
34806 MenhirLib.EngineTypes.next = _menhir_stack;
34807 };
34808 };
34809 };
34810 } = _menhir_stack in
34811 let m : 'tv_list_TMul_ = Obj.magic m in
34812 let ty00 : (
34813 # 49 "parser_cocci_menhir.mly"
34814 (Data.clt)
34815 # 34816 "parser_cocci_menhir.ml"
34816 ) = Obj.magic ty00 in
34817 let r0 : (
34818 # 51 "parser_cocci_menhir.mly"
34819 (Data.clt)
34820 # 34821 "parser_cocci_menhir.ml"
34821 ) = Obj.magic r0 in
34822 let x0 : 'tv_const_vol = Obj.magic x0 in
34823 let _startpos = _startpos_x0_ in
34824 let _endpos = _endpos_m_ in
34825 let _v : 'tv_typedef_ctype = let ty =
34826 let ty0 = ty00 in
34827 let r = r0 in
34828 let ty =
34829 let ty = ty0 in
34830
34831 # 476 "parser_cocci_menhir.mly"
34832 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34833 # 34834 "parser_cocci_menhir.ml"
34834
34835 in
34836
34837 # 530 "parser_cocci_menhir.mly"
34838 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
34839 # 34840 "parser_cocci_menhir.ml"
34840
34841 in
34842 let cv =
34843 let x = x0 in
34844
34845 # 41 "standard.mly"
34846 ( Some x )
34847 # 34848 "parser_cocci_menhir.ml"
34848
34849 in
34850
34851 # 549 "parser_cocci_menhir.mly"
34852 ( P.pointerify (P.make_cv cv ty) m )
34853 # 34854 "parser_cocci_menhir.ml"
34854 in
34855 _menhir_env.MenhirLib.EngineTypes.stack <- {
34856 MenhirLib.EngineTypes.state = _menhir_s;
34857 MenhirLib.EngineTypes.semv = Obj.repr _v;
34858 MenhirLib.EngineTypes.startp = _startpos;
34859 MenhirLib.EngineTypes.endp = _endpos;
34860 MenhirLib.EngineTypes.next = _menhir_stack;
34861 });
34862 (fun _menhir_env ->
34863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34864 let {
34865 MenhirLib.EngineTypes.semv = m;
34866 MenhirLib.EngineTypes.startp = _startpos_m_;
34867 MenhirLib.EngineTypes.endp = _endpos_m_;
34868 MenhirLib.EngineTypes.next = {
34869 MenhirLib.EngineTypes.semv = ty00;
34870 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34871 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34872 MenhirLib.EngineTypes.next = {
34873 MenhirLib.EngineTypes.semv = r0;
34874 MenhirLib.EngineTypes.startp = _startpos_r0_;
34875 MenhirLib.EngineTypes.endp = _endpos_r0_;
34876 MenhirLib.EngineTypes.next = {
34877 MenhirLib.EngineTypes.state = _menhir_s;
34878 MenhirLib.EngineTypes.semv = x0;
34879 MenhirLib.EngineTypes.startp = _startpos_x0_;
34880 MenhirLib.EngineTypes.endp = _endpos_x0_;
34881 MenhirLib.EngineTypes.next = _menhir_stack;
34882 };
34883 };
34884 };
34885 } = _menhir_stack in
34886 let m : 'tv_list_TMul_ = Obj.magic m in
34887 let ty00 : (
34888 # 49 "parser_cocci_menhir.mly"
34889 (Data.clt)
34890 # 34891 "parser_cocci_menhir.ml"
34891 ) = Obj.magic ty00 in
34892 let r0 : (
34893 # 51 "parser_cocci_menhir.mly"
34894 (Data.clt)
34895 # 34896 "parser_cocci_menhir.ml"
34896 ) = Obj.magic r0 in
34897 let x0 : 'tv_const_vol = Obj.magic x0 in
34898 let _startpos = _startpos_x0_ in
34899 let _endpos = _endpos_m_ in
34900 let _v : 'tv_typedef_ctype = let ty =
34901 let ty0 = ty00 in
34902 let r = r0 in
34903 let ty =
34904 let ty = ty0 in
34905
34906 # 478 "parser_cocci_menhir.mly"
34907 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34908 # 34909 "parser_cocci_menhir.ml"
34909
34910 in
34911
34912 # 530 "parser_cocci_menhir.mly"
34913 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
34914 # 34915 "parser_cocci_menhir.ml"
34915
34916 in
34917 let cv =
34918 let x = x0 in
34919
34920 # 41 "standard.mly"
34921 ( Some x )
34922 # 34923 "parser_cocci_menhir.ml"
34923
34924 in
34925
34926 # 549 "parser_cocci_menhir.mly"
34927 ( P.pointerify (P.make_cv cv ty) m )
34928 # 34929 "parser_cocci_menhir.ml"
34929 in
34930 _menhir_env.MenhirLib.EngineTypes.stack <- {
34931 MenhirLib.EngineTypes.state = _menhir_s;
34932 MenhirLib.EngineTypes.semv = Obj.repr _v;
34933 MenhirLib.EngineTypes.startp = _startpos;
34934 MenhirLib.EngineTypes.endp = _endpos;
34935 MenhirLib.EngineTypes.next = _menhir_stack;
34936 });
34937 (fun _menhir_env ->
34938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34939 let {
34940 MenhirLib.EngineTypes.semv = m;
34941 MenhirLib.EngineTypes.startp = _startpos_m_;
34942 MenhirLib.EngineTypes.endp = _endpos_m_;
34943 MenhirLib.EngineTypes.next = {
34944 MenhirLib.EngineTypes.semv = ty00;
34945 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34946 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34947 MenhirLib.EngineTypes.next = {
34948 MenhirLib.EngineTypes.semv = r0;
34949 MenhirLib.EngineTypes.startp = _startpos_r0_;
34950 MenhirLib.EngineTypes.endp = _endpos_r0_;
34951 MenhirLib.EngineTypes.next = {
34952 MenhirLib.EngineTypes.state = _menhir_s;
34953 MenhirLib.EngineTypes.semv = x0;
34954 MenhirLib.EngineTypes.startp = _startpos_x0_;
34955 MenhirLib.EngineTypes.endp = _endpos_x0_;
34956 MenhirLib.EngineTypes.next = _menhir_stack;
34957 };
34958 };
34959 };
34960 } = _menhir_stack in
34961 let m : 'tv_list_TMul_ = Obj.magic m in
34962 let ty00 : (
34963 # 49 "parser_cocci_menhir.mly"
34964 (Data.clt)
34965 # 34966 "parser_cocci_menhir.ml"
34966 ) = Obj.magic ty00 in
34967 let r0 : (
34968 # 51 "parser_cocci_menhir.mly"
34969 (Data.clt)
34970 # 34971 "parser_cocci_menhir.ml"
34971 ) = Obj.magic r0 in
34972 let x0 : 'tv_const_vol = Obj.magic x0 in
34973 let _startpos = _startpos_x0_ in
34974 let _endpos = _endpos_m_ in
34975 let _v : 'tv_typedef_ctype = let ty =
34976 let ty0 = ty00 in
34977 let r = r0 in
34978 let ty =
34979 let ty = ty0 in
34980
34981 # 480 "parser_cocci_menhir.mly"
34982 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
34983 # 34984 "parser_cocci_menhir.ml"
34984
34985 in
34986
34987 # 530 "parser_cocci_menhir.mly"
34988 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
34989 # 34990 "parser_cocci_menhir.ml"
34990
34991 in
34992 let cv =
34993 let x = x0 in
34994
34995 # 41 "standard.mly"
34996 ( Some x )
34997 # 34998 "parser_cocci_menhir.ml"
34998
34999 in
35000
35001 # 549 "parser_cocci_menhir.mly"
35002 ( P.pointerify (P.make_cv cv ty) m )
35003 # 35004 "parser_cocci_menhir.ml"
35004 in
35005 _menhir_env.MenhirLib.EngineTypes.stack <- {
35006 MenhirLib.EngineTypes.state = _menhir_s;
35007 MenhirLib.EngineTypes.semv = Obj.repr _v;
35008 MenhirLib.EngineTypes.startp = _startpos;
35009 MenhirLib.EngineTypes.endp = _endpos;
35010 MenhirLib.EngineTypes.next = _menhir_stack;
35011 });
35012 (fun _menhir_env ->
35013 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35014 let {
35015 MenhirLib.EngineTypes.semv = m;
35016 MenhirLib.EngineTypes.startp = _startpos_m_;
35017 MenhirLib.EngineTypes.endp = _endpos_m_;
35018 MenhirLib.EngineTypes.next = {
35019 MenhirLib.EngineTypes.semv = p00;
35020 MenhirLib.EngineTypes.startp = _startpos_p00_;
35021 MenhirLib.EngineTypes.endp = _endpos_p00_;
35022 MenhirLib.EngineTypes.next = {
35023 MenhirLib.EngineTypes.semv = r0;
35024 MenhirLib.EngineTypes.startp = _startpos_r0_;
35025 MenhirLib.EngineTypes.endp = _endpos_r0_;
35026 MenhirLib.EngineTypes.next = {
35027 MenhirLib.EngineTypes.state = _menhir_s;
35028 MenhirLib.EngineTypes.semv = x0;
35029 MenhirLib.EngineTypes.startp = _startpos_x0_;
35030 MenhirLib.EngineTypes.endp = _endpos_x0_;
35031 MenhirLib.EngineTypes.next = _menhir_stack;
35032 };
35033 };
35034 };
35035 } = _menhir_stack in
35036 let m : 'tv_list_TMul_ = Obj.magic m in
35037 let p00 : (
35038 # 64 "parser_cocci_menhir.mly"
35039 (Parse_aux.info)
35040 # 35041 "parser_cocci_menhir.ml"
35041 ) = Obj.magic p00 in
35042 let r0 : (
35043 # 51 "parser_cocci_menhir.mly"
35044 (Data.clt)
35045 # 35046 "parser_cocci_menhir.ml"
35046 ) = Obj.magic r0 in
35047 let x0 : 'tv_const_vol = Obj.magic x0 in
35048 let _startpos = _startpos_x0_ in
35049 let _endpos = _endpos_m_ in
35050 let _v : 'tv_typedef_ctype = let ty =
35051 let p0 = p00 in
35052 let r = r0 in
35053 let ty =
35054 let p = p0 in
35055
35056 # 482 "parser_cocci_menhir.mly"
35057 ( let (nm,pure,clt) = p in
35058 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35059 # 35060 "parser_cocci_menhir.ml"
35060
35061 in
35062
35063 # 530 "parser_cocci_menhir.mly"
35064 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35065 # 35066 "parser_cocci_menhir.ml"
35066
35067 in
35068 let cv =
35069 let x = x0 in
35070
35071 # 41 "standard.mly"
35072 ( Some x )
35073 # 35074 "parser_cocci_menhir.ml"
35074
35075 in
35076
35077 # 549 "parser_cocci_menhir.mly"
35078 ( P.pointerify (P.make_cv cv ty) m )
35079 # 35080 "parser_cocci_menhir.ml"
35080 in
35081 _menhir_env.MenhirLib.EngineTypes.stack <- {
35082 MenhirLib.EngineTypes.state = _menhir_s;
35083 MenhirLib.EngineTypes.semv = Obj.repr _v;
35084 MenhirLib.EngineTypes.startp = _startpos;
35085 MenhirLib.EngineTypes.endp = _endpos;
35086 MenhirLib.EngineTypes.next = _menhir_stack;
35087 });
35088 (fun _menhir_env ->
35089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35090 let {
35091 MenhirLib.EngineTypes.semv = m;
35092 MenhirLib.EngineTypes.startp = _startpos_m_;
35093 MenhirLib.EngineTypes.endp = _endpos_m_;
35094 MenhirLib.EngineTypes.next = {
35095 MenhirLib.EngineTypes.semv = p00;
35096 MenhirLib.EngineTypes.startp = _startpos_p00_;
35097 MenhirLib.EngineTypes.endp = _endpos_p00_;
35098 MenhirLib.EngineTypes.next = {
35099 MenhirLib.EngineTypes.startp = _startpos__4_;
35100 MenhirLib.EngineTypes.endp = _endpos__4_;
35101 MenhirLib.EngineTypes.next = {
35102 MenhirLib.EngineTypes.semv = r00;
35103 MenhirLib.EngineTypes.startp = _startpos_r00_;
35104 MenhirLib.EngineTypes.endp = _endpos_r00_;
35105 MenhirLib.EngineTypes.next = {
35106 MenhirLib.EngineTypes.semv = r1;
35107 MenhirLib.EngineTypes.startp = _startpos_r1_;
35108 MenhirLib.EngineTypes.endp = _endpos_r1_;
35109 MenhirLib.EngineTypes.next = {
35110 MenhirLib.EngineTypes.state = _menhir_s;
35111 MenhirLib.EngineTypes.semv = x0;
35112 MenhirLib.EngineTypes.startp = _startpos_x0_;
35113 MenhirLib.EngineTypes.endp = _endpos_x0_;
35114 MenhirLib.EngineTypes.next = _menhir_stack;
35115 };
35116 };
35117 };
35118 };
35119 };
35120 } = _menhir_stack in
35121 let m : 'tv_list_TMul_ = Obj.magic m in
35122 let p00 : (
35123 # 59 "parser_cocci_menhir.mly"
35124 (string * Data.clt)
35125 # 35126 "parser_cocci_menhir.ml"
35126 ) = Obj.magic p00 in
35127 let r00 : (
35128 # 47 "parser_cocci_menhir.mly"
35129 (string)
35130 # 35131 "parser_cocci_menhir.ml"
35131 ) = Obj.magic r00 in
35132 let r1 : (
35133 # 51 "parser_cocci_menhir.mly"
35134 (Data.clt)
35135 # 35136 "parser_cocci_menhir.ml"
35136 ) = Obj.magic r1 in
35137 let x0 : 'tv_const_vol = Obj.magic x0 in
35138 let _startpos = _startpos_x0_ in
35139 let _endpos = _endpos_m_ in
35140 let _v : 'tv_typedef_ctype = let ty =
35141 let p0 = p00 in
35142 let r0 = r00 in
35143 let r = r1 in
35144 let ty =
35145 let p = p0 in
35146 let r = r0 in
35147
35148 # 485 "parser_cocci_menhir.mly"
35149 ( let nm = (r,P.id2name p) in
35150 (* this is only possible when we are in a metavar decl. Otherwise,
35151 it will be represented already as a MetaType *)
35152 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35153 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35154 Ast0.Impure (*will be ignored*))) )
35155 # 35156 "parser_cocci_menhir.ml"
35156
35157 in
35158
35159 # 530 "parser_cocci_menhir.mly"
35160 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35161 # 35162 "parser_cocci_menhir.ml"
35162
35163 in
35164 let cv =
35165 let x = x0 in
35166
35167 # 41 "standard.mly"
35168 ( Some x )
35169 # 35170 "parser_cocci_menhir.ml"
35170
35171 in
35172
35173 # 549 "parser_cocci_menhir.mly"
35174 ( P.pointerify (P.make_cv cv ty) m )
35175 # 35176 "parser_cocci_menhir.ml"
35176 in
35177 _menhir_env.MenhirLib.EngineTypes.stack <- {
35178 MenhirLib.EngineTypes.state = _menhir_s;
35179 MenhirLib.EngineTypes.semv = Obj.repr _v;
35180 MenhirLib.EngineTypes.startp = _startpos;
35181 MenhirLib.EngineTypes.endp = _endpos;
35182 MenhirLib.EngineTypes.next = _menhir_stack;
35183 });
35184 (fun _menhir_env ->
35185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35186 let {
35187 MenhirLib.EngineTypes.semv = m;
35188 MenhirLib.EngineTypes.startp = _startpos_m_;
35189 MenhirLib.EngineTypes.endp = _endpos_m_;
35190 MenhirLib.EngineTypes.next = {
35191 MenhirLib.EngineTypes.semv = ty00;
35192 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35193 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35194 MenhirLib.EngineTypes.next = {
35195 MenhirLib.EngineTypes.semv = r0;
35196 MenhirLib.EngineTypes.startp = _startpos_r0_;
35197 MenhirLib.EngineTypes.endp = _endpos_r0_;
35198 MenhirLib.EngineTypes.next = {
35199 MenhirLib.EngineTypes.state = _menhir_s;
35200 MenhirLib.EngineTypes.semv = x0;
35201 MenhirLib.EngineTypes.startp = _startpos_x0_;
35202 MenhirLib.EngineTypes.endp = _endpos_x0_;
35203 MenhirLib.EngineTypes.next = _menhir_stack;
35204 };
35205 };
35206 };
35207 } = _menhir_stack in
35208 let m : 'tv_list_TMul_ = Obj.magic m in
35209 let ty00 : (
35210 # 49 "parser_cocci_menhir.mly"
35211 (Data.clt)
35212 # 35213 "parser_cocci_menhir.ml"
35213 ) = Obj.magic ty00 in
35214 let r0 : (
35215 # 51 "parser_cocci_menhir.mly"
35216 (Data.clt)
35217 # 35218 "parser_cocci_menhir.ml"
35218 ) = Obj.magic r0 in
35219 let x0 : 'tv_const_vol = Obj.magic x0 in
35220 let _startpos = _startpos_x0_ in
35221 let _endpos = _endpos_m_ in
35222 let _v : 'tv_typedef_ctype = let ty =
35223 let ty0 = ty00 in
35224 let r = r0 in
35225 let ty =
35226 let ty = ty0 in
35227
35228 # 492 "parser_cocci_menhir.mly"
35229 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35230 # 35231 "parser_cocci_menhir.ml"
35231
35232 in
35233
35234 # 530 "parser_cocci_menhir.mly"
35235 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35236 # 35237 "parser_cocci_menhir.ml"
35237
35238 in
35239 let cv =
35240 let x = x0 in
35241
35242 # 41 "standard.mly"
35243 ( Some x )
35244 # 35245 "parser_cocci_menhir.ml"
35245
35246 in
35247
35248 # 549 "parser_cocci_menhir.mly"
35249 ( P.pointerify (P.make_cv cv ty) m )
35250 # 35251 "parser_cocci_menhir.ml"
35251 in
35252 _menhir_env.MenhirLib.EngineTypes.stack <- {
35253 MenhirLib.EngineTypes.state = _menhir_s;
35254 MenhirLib.EngineTypes.semv = Obj.repr _v;
35255 MenhirLib.EngineTypes.startp = _startpos;
35256 MenhirLib.EngineTypes.endp = _endpos;
35257 MenhirLib.EngineTypes.next = _menhir_stack;
35258 });
35259 (fun _menhir_env ->
35260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35261 let {
35262 MenhirLib.EngineTypes.semv = m;
35263 MenhirLib.EngineTypes.startp = _startpos_m_;
35264 MenhirLib.EngineTypes.endp = _endpos_m_;
35265 MenhirLib.EngineTypes.next = {
35266 MenhirLib.EngineTypes.semv = ty200;
35267 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35268 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35269 MenhirLib.EngineTypes.next = {
35270 MenhirLib.EngineTypes.semv = ty100;
35271 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35272 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35273 MenhirLib.EngineTypes.next = {
35274 MenhirLib.EngineTypes.semv = r0;
35275 MenhirLib.EngineTypes.startp = _startpos_r0_;
35276 MenhirLib.EngineTypes.endp = _endpos_r0_;
35277 MenhirLib.EngineTypes.next = {
35278 MenhirLib.EngineTypes.state = _menhir_s;
35279 MenhirLib.EngineTypes.semv = x0;
35280 MenhirLib.EngineTypes.startp = _startpos_x0_;
35281 MenhirLib.EngineTypes.endp = _endpos_x0_;
35282 MenhirLib.EngineTypes.next = _menhir_stack;
35283 };
35284 };
35285 };
35286 };
35287 } = _menhir_stack in
35288 let m : 'tv_list_TMul_ = Obj.magic m in
35289 let ty200 : (
35290 # 49 "parser_cocci_menhir.mly"
35291 (Data.clt)
35292 # 35293 "parser_cocci_menhir.ml"
35293 ) = Obj.magic ty200 in
35294 let ty100 : (
35295 # 49 "parser_cocci_menhir.mly"
35296 (Data.clt)
35297 # 35298 "parser_cocci_menhir.ml"
35298 ) = Obj.magic ty100 in
35299 let r0 : (
35300 # 51 "parser_cocci_menhir.mly"
35301 (Data.clt)
35302 # 35303 "parser_cocci_menhir.ml"
35303 ) = Obj.magic r0 in
35304 let x0 : 'tv_const_vol = Obj.magic x0 in
35305 let _startpos = _startpos_x0_ in
35306 let _endpos = _endpos_m_ in
35307 let _v : 'tv_typedef_ctype = let ty =
35308 let ty20 = ty200 in
35309 let ty10 = ty100 in
35310 let r = r0 in
35311 let ty =
35312 let ty2 = ty20 in
35313 let ty1 = ty10 in
35314
35315 # 494 "parser_cocci_menhir.mly"
35316 ( Ast0.wrap
35317 (Ast0.BaseType
35318 (Ast.LongLongType,
35319 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35320 # 35321 "parser_cocci_menhir.ml"
35321
35322 in
35323
35324 # 530 "parser_cocci_menhir.mly"
35325 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35326 # 35327 "parser_cocci_menhir.ml"
35327
35328 in
35329 let cv =
35330 let x = x0 in
35331
35332 # 41 "standard.mly"
35333 ( Some x )
35334 # 35335 "parser_cocci_menhir.ml"
35335
35336 in
35337
35338 # 549 "parser_cocci_menhir.mly"
35339 ( P.pointerify (P.make_cv cv ty) m )
35340 # 35341 "parser_cocci_menhir.ml"
35341 in
35342 _menhir_env.MenhirLib.EngineTypes.stack <- {
35343 MenhirLib.EngineTypes.state = _menhir_s;
35344 MenhirLib.EngineTypes.semv = Obj.repr _v;
35345 MenhirLib.EngineTypes.startp = _startpos;
35346 MenhirLib.EngineTypes.endp = _endpos;
35347 MenhirLib.EngineTypes.next = _menhir_stack;
35348 });
35349 (fun _menhir_env ->
35350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35351 let {
35352 MenhirLib.EngineTypes.semv = m;
35353 MenhirLib.EngineTypes.startp = _startpos_m_;
35354 MenhirLib.EngineTypes.endp = _endpos_m_;
35355 MenhirLib.EngineTypes.next = {
35356 MenhirLib.EngineTypes.semv = ty00;
35357 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35358 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35359 MenhirLib.EngineTypes.next = {
35360 MenhirLib.EngineTypes.state = _menhir_s;
35361 MenhirLib.EngineTypes.semv = x0;
35362 MenhirLib.EngineTypes.startp = _startpos_x0_;
35363 MenhirLib.EngineTypes.endp = _endpos_x0_;
35364 MenhirLib.EngineTypes.next = _menhir_stack;
35365 };
35366 };
35367 } = _menhir_stack in
35368 let m : 'tv_list_TMul_ = Obj.magic m in
35369 let ty00 : (
35370 # 49 "parser_cocci_menhir.mly"
35371 (Data.clt)
35372 # 35373 "parser_cocci_menhir.ml"
35373 ) = Obj.magic ty00 in
35374 let x0 : 'tv_const_vol = Obj.magic x0 in
35375 let _startpos = _startpos_x0_ in
35376 let _endpos = _endpos_m_ in
35377 let _v : 'tv_typedef_ctype = let ty =
35378 let ty0 = ty00 in
35379 let ty =
35380 let ty = ty0 in
35381
35382 # 476 "parser_cocci_menhir.mly"
35383 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35384 # 35385 "parser_cocci_menhir.ml"
35385
35386 in
35387
35388 # 531 "parser_cocci_menhir.mly"
35389 ( ty )
35390 # 35391 "parser_cocci_menhir.ml"
35391
35392 in
35393 let cv =
35394 let x = x0 in
35395
35396 # 41 "standard.mly"
35397 ( Some x )
35398 # 35399 "parser_cocci_menhir.ml"
35399
35400 in
35401
35402 # 549 "parser_cocci_menhir.mly"
35403 ( P.pointerify (P.make_cv cv ty) m )
35404 # 35405 "parser_cocci_menhir.ml"
35405 in
35406 _menhir_env.MenhirLib.EngineTypes.stack <- {
35407 MenhirLib.EngineTypes.state = _menhir_s;
35408 MenhirLib.EngineTypes.semv = Obj.repr _v;
35409 MenhirLib.EngineTypes.startp = _startpos;
35410 MenhirLib.EngineTypes.endp = _endpos;
35411 MenhirLib.EngineTypes.next = _menhir_stack;
35412 });
35413 (fun _menhir_env ->
35414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35415 let {
35416 MenhirLib.EngineTypes.semv = m;
35417 MenhirLib.EngineTypes.startp = _startpos_m_;
35418 MenhirLib.EngineTypes.endp = _endpos_m_;
35419 MenhirLib.EngineTypes.next = {
35420 MenhirLib.EngineTypes.semv = ty00;
35421 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35422 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35423 MenhirLib.EngineTypes.next = {
35424 MenhirLib.EngineTypes.state = _menhir_s;
35425 MenhirLib.EngineTypes.semv = x0;
35426 MenhirLib.EngineTypes.startp = _startpos_x0_;
35427 MenhirLib.EngineTypes.endp = _endpos_x0_;
35428 MenhirLib.EngineTypes.next = _menhir_stack;
35429 };
35430 };
35431 } = _menhir_stack in
35432 let m : 'tv_list_TMul_ = Obj.magic m in
35433 let ty00 : (
35434 # 49 "parser_cocci_menhir.mly"
35435 (Data.clt)
35436 # 35437 "parser_cocci_menhir.ml"
35437 ) = Obj.magic ty00 in
35438 let x0 : 'tv_const_vol = Obj.magic x0 in
35439 let _startpos = _startpos_x0_ in
35440 let _endpos = _endpos_m_ in
35441 let _v : 'tv_typedef_ctype = let ty =
35442 let ty0 = ty00 in
35443 let ty =
35444 let ty = ty0 in
35445
35446 # 478 "parser_cocci_menhir.mly"
35447 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35448 # 35449 "parser_cocci_menhir.ml"
35449
35450 in
35451
35452 # 531 "parser_cocci_menhir.mly"
35453 ( ty )
35454 # 35455 "parser_cocci_menhir.ml"
35455
35456 in
35457 let cv =
35458 let x = x0 in
35459
35460 # 41 "standard.mly"
35461 ( Some x )
35462 # 35463 "parser_cocci_menhir.ml"
35463
35464 in
35465
35466 # 549 "parser_cocci_menhir.mly"
35467 ( P.pointerify (P.make_cv cv ty) m )
35468 # 35469 "parser_cocci_menhir.ml"
35469 in
35470 _menhir_env.MenhirLib.EngineTypes.stack <- {
35471 MenhirLib.EngineTypes.state = _menhir_s;
35472 MenhirLib.EngineTypes.semv = Obj.repr _v;
35473 MenhirLib.EngineTypes.startp = _startpos;
35474 MenhirLib.EngineTypes.endp = _endpos;
35475 MenhirLib.EngineTypes.next = _menhir_stack;
35476 });
35477 (fun _menhir_env ->
35478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35479 let {
35480 MenhirLib.EngineTypes.semv = m;
35481 MenhirLib.EngineTypes.startp = _startpos_m_;
35482 MenhirLib.EngineTypes.endp = _endpos_m_;
35483 MenhirLib.EngineTypes.next = {
35484 MenhirLib.EngineTypes.semv = ty00;
35485 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35486 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35487 MenhirLib.EngineTypes.next = {
35488 MenhirLib.EngineTypes.state = _menhir_s;
35489 MenhirLib.EngineTypes.semv = x0;
35490 MenhirLib.EngineTypes.startp = _startpos_x0_;
35491 MenhirLib.EngineTypes.endp = _endpos_x0_;
35492 MenhirLib.EngineTypes.next = _menhir_stack;
35493 };
35494 };
35495 } = _menhir_stack in
35496 let m : 'tv_list_TMul_ = Obj.magic m in
35497 let ty00 : (
35498 # 49 "parser_cocci_menhir.mly"
35499 (Data.clt)
35500 # 35501 "parser_cocci_menhir.ml"
35501 ) = Obj.magic ty00 in
35502 let x0 : 'tv_const_vol = Obj.magic x0 in
35503 let _startpos = _startpos_x0_ in
35504 let _endpos = _endpos_m_ in
35505 let _v : 'tv_typedef_ctype = let ty =
35506 let ty0 = ty00 in
35507 let ty =
35508 let ty = ty0 in
35509
35510 # 480 "parser_cocci_menhir.mly"
35511 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35512 # 35513 "parser_cocci_menhir.ml"
35513
35514 in
35515
35516 # 531 "parser_cocci_menhir.mly"
35517 ( ty )
35518 # 35519 "parser_cocci_menhir.ml"
35519
35520 in
35521 let cv =
35522 let x = x0 in
35523
35524 # 41 "standard.mly"
35525 ( Some x )
35526 # 35527 "parser_cocci_menhir.ml"
35527
35528 in
35529
35530 # 549 "parser_cocci_menhir.mly"
35531 ( P.pointerify (P.make_cv cv ty) m )
35532 # 35533 "parser_cocci_menhir.ml"
35533 in
35534 _menhir_env.MenhirLib.EngineTypes.stack <- {
35535 MenhirLib.EngineTypes.state = _menhir_s;
35536 MenhirLib.EngineTypes.semv = Obj.repr _v;
35537 MenhirLib.EngineTypes.startp = _startpos;
35538 MenhirLib.EngineTypes.endp = _endpos;
35539 MenhirLib.EngineTypes.next = _menhir_stack;
35540 });
35541 (fun _menhir_env ->
35542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35543 let {
35544 MenhirLib.EngineTypes.semv = m;
35545 MenhirLib.EngineTypes.startp = _startpos_m_;
35546 MenhirLib.EngineTypes.endp = _endpos_m_;
35547 MenhirLib.EngineTypes.next = {
35548 MenhirLib.EngineTypes.semv = p00;
35549 MenhirLib.EngineTypes.startp = _startpos_p00_;
35550 MenhirLib.EngineTypes.endp = _endpos_p00_;
35551 MenhirLib.EngineTypes.next = {
35552 MenhirLib.EngineTypes.state = _menhir_s;
35553 MenhirLib.EngineTypes.semv = x0;
35554 MenhirLib.EngineTypes.startp = _startpos_x0_;
35555 MenhirLib.EngineTypes.endp = _endpos_x0_;
35556 MenhirLib.EngineTypes.next = _menhir_stack;
35557 };
35558 };
35559 } = _menhir_stack in
35560 let m : 'tv_list_TMul_ = Obj.magic m in
35561 let p00 : (
35562 # 64 "parser_cocci_menhir.mly"
35563 (Parse_aux.info)
35564 # 35565 "parser_cocci_menhir.ml"
35565 ) = Obj.magic p00 in
35566 let x0 : 'tv_const_vol = Obj.magic x0 in
35567 let _startpos = _startpos_x0_ in
35568 let _endpos = _endpos_m_ in
35569 let _v : 'tv_typedef_ctype = let ty =
35570 let p0 = p00 in
35571 let ty =
35572 let p = p0 in
35573
35574 # 482 "parser_cocci_menhir.mly"
35575 ( let (nm,pure,clt) = p in
35576 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35577 # 35578 "parser_cocci_menhir.ml"
35578
35579 in
35580
35581 # 531 "parser_cocci_menhir.mly"
35582 ( ty )
35583 # 35584 "parser_cocci_menhir.ml"
35584
35585 in
35586 let cv =
35587 let x = x0 in
35588
35589 # 41 "standard.mly"
35590 ( Some x )
35591 # 35592 "parser_cocci_menhir.ml"
35592
35593 in
35594
35595 # 549 "parser_cocci_menhir.mly"
35596 ( P.pointerify (P.make_cv cv ty) m )
35597 # 35598 "parser_cocci_menhir.ml"
35598 in
35599 _menhir_env.MenhirLib.EngineTypes.stack <- {
35600 MenhirLib.EngineTypes.state = _menhir_s;
35601 MenhirLib.EngineTypes.semv = Obj.repr _v;
35602 MenhirLib.EngineTypes.startp = _startpos;
35603 MenhirLib.EngineTypes.endp = _endpos;
35604 MenhirLib.EngineTypes.next = _menhir_stack;
35605 });
35606 (fun _menhir_env ->
35607 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35608 let {
35609 MenhirLib.EngineTypes.semv = m;
35610 MenhirLib.EngineTypes.startp = _startpos_m_;
35611 MenhirLib.EngineTypes.endp = _endpos_m_;
35612 MenhirLib.EngineTypes.next = {
35613 MenhirLib.EngineTypes.semv = p00;
35614 MenhirLib.EngineTypes.startp = _startpos_p00_;
35615 MenhirLib.EngineTypes.endp = _endpos_p00_;
35616 MenhirLib.EngineTypes.next = {
35617 MenhirLib.EngineTypes.startp = _startpos__3_;
35618 MenhirLib.EngineTypes.endp = _endpos__3_;
35619 MenhirLib.EngineTypes.next = {
35620 MenhirLib.EngineTypes.semv = r00;
35621 MenhirLib.EngineTypes.startp = _startpos_r00_;
35622 MenhirLib.EngineTypes.endp = _endpos_r00_;
35623 MenhirLib.EngineTypes.next = {
35624 MenhirLib.EngineTypes.state = _menhir_s;
35625 MenhirLib.EngineTypes.semv = x0;
35626 MenhirLib.EngineTypes.startp = _startpos_x0_;
35627 MenhirLib.EngineTypes.endp = _endpos_x0_;
35628 MenhirLib.EngineTypes.next = _menhir_stack;
35629 };
35630 };
35631 };
35632 };
35633 } = _menhir_stack in
35634 let m : 'tv_list_TMul_ = Obj.magic m in
35635 let p00 : (
35636 # 59 "parser_cocci_menhir.mly"
35637 (string * Data.clt)
35638 # 35639 "parser_cocci_menhir.ml"
35639 ) = Obj.magic p00 in
35640 let r00 : (
35641 # 47 "parser_cocci_menhir.mly"
35642 (string)
35643 # 35644 "parser_cocci_menhir.ml"
35644 ) = Obj.magic r00 in
35645 let x0 : 'tv_const_vol = Obj.magic x0 in
35646 let _startpos = _startpos_x0_ in
35647 let _endpos = _endpos_m_ in
35648 let _v : 'tv_typedef_ctype = let ty =
35649 let p0 = p00 in
35650 let r0 = r00 in
35651 let ty =
35652 let p = p0 in
35653 let r = r0 in
35654
35655 # 485 "parser_cocci_menhir.mly"
35656 ( let nm = (r,P.id2name p) in
35657 (* this is only possible when we are in a metavar decl. Otherwise,
35658 it will be represented already as a MetaType *)
35659 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35660 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35661 Ast0.Impure (*will be ignored*))) )
35662 # 35663 "parser_cocci_menhir.ml"
35663
35664 in
35665
35666 # 531 "parser_cocci_menhir.mly"
35667 ( ty )
35668 # 35669 "parser_cocci_menhir.ml"
35669
35670 in
35671 let cv =
35672 let x = x0 in
35673
35674 # 41 "standard.mly"
35675 ( Some x )
35676 # 35677 "parser_cocci_menhir.ml"
35677
35678 in
35679
35680 # 549 "parser_cocci_menhir.mly"
35681 ( P.pointerify (P.make_cv cv ty) m )
35682 # 35683 "parser_cocci_menhir.ml"
35683 in
35684 _menhir_env.MenhirLib.EngineTypes.stack <- {
35685 MenhirLib.EngineTypes.state = _menhir_s;
35686 MenhirLib.EngineTypes.semv = Obj.repr _v;
35687 MenhirLib.EngineTypes.startp = _startpos;
35688 MenhirLib.EngineTypes.endp = _endpos;
35689 MenhirLib.EngineTypes.next = _menhir_stack;
35690 });
35691 (fun _menhir_env ->
35692 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35693 let {
35694 MenhirLib.EngineTypes.semv = m;
35695 MenhirLib.EngineTypes.startp = _startpos_m_;
35696 MenhirLib.EngineTypes.endp = _endpos_m_;
35697 MenhirLib.EngineTypes.next = {
35698 MenhirLib.EngineTypes.semv = ty00;
35699 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35700 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35701 MenhirLib.EngineTypes.next = {
35702 MenhirLib.EngineTypes.state = _menhir_s;
35703 MenhirLib.EngineTypes.semv = x0;
35704 MenhirLib.EngineTypes.startp = _startpos_x0_;
35705 MenhirLib.EngineTypes.endp = _endpos_x0_;
35706 MenhirLib.EngineTypes.next = _menhir_stack;
35707 };
35708 };
35709 } = _menhir_stack in
35710 let m : 'tv_list_TMul_ = Obj.magic m in
35711 let ty00 : (
35712 # 49 "parser_cocci_menhir.mly"
35713 (Data.clt)
35714 # 35715 "parser_cocci_menhir.ml"
35715 ) = Obj.magic ty00 in
35716 let x0 : 'tv_const_vol = Obj.magic x0 in
35717 let _startpos = _startpos_x0_ in
35718 let _endpos = _endpos_m_ in
35719 let _v : 'tv_typedef_ctype = let ty =
35720 let ty0 = ty00 in
35721 let ty =
35722 let ty = ty0 in
35723
35724 # 492 "parser_cocci_menhir.mly"
35725 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35726 # 35727 "parser_cocci_menhir.ml"
35727
35728 in
35729
35730 # 531 "parser_cocci_menhir.mly"
35731 ( ty )
35732 # 35733 "parser_cocci_menhir.ml"
35733
35734 in
35735 let cv =
35736 let x = x0 in
35737
35738 # 41 "standard.mly"
35739 ( Some x )
35740 # 35741 "parser_cocci_menhir.ml"
35741
35742 in
35743
35744 # 549 "parser_cocci_menhir.mly"
35745 ( P.pointerify (P.make_cv cv ty) m )
35746 # 35747 "parser_cocci_menhir.ml"
35747 in
35748 _menhir_env.MenhirLib.EngineTypes.stack <- {
35749 MenhirLib.EngineTypes.state = _menhir_s;
35750 MenhirLib.EngineTypes.semv = Obj.repr _v;
35751 MenhirLib.EngineTypes.startp = _startpos;
35752 MenhirLib.EngineTypes.endp = _endpos;
35753 MenhirLib.EngineTypes.next = _menhir_stack;
35754 });
35755 (fun _menhir_env ->
35756 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35757 let {
35758 MenhirLib.EngineTypes.semv = m;
35759 MenhirLib.EngineTypes.startp = _startpos_m_;
35760 MenhirLib.EngineTypes.endp = _endpos_m_;
35761 MenhirLib.EngineTypes.next = {
35762 MenhirLib.EngineTypes.semv = ty200;
35763 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35764 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35765 MenhirLib.EngineTypes.next = {
35766 MenhirLib.EngineTypes.semv = ty100;
35767 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35768 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35769 MenhirLib.EngineTypes.next = {
35770 MenhirLib.EngineTypes.state = _menhir_s;
35771 MenhirLib.EngineTypes.semv = x0;
35772 MenhirLib.EngineTypes.startp = _startpos_x0_;
35773 MenhirLib.EngineTypes.endp = _endpos_x0_;
35774 MenhirLib.EngineTypes.next = _menhir_stack;
35775 };
35776 };
35777 };
35778 } = _menhir_stack in
35779 let m : 'tv_list_TMul_ = Obj.magic m in
35780 let ty200 : (
35781 # 49 "parser_cocci_menhir.mly"
35782 (Data.clt)
35783 # 35784 "parser_cocci_menhir.ml"
35784 ) = Obj.magic ty200 in
35785 let ty100 : (
35786 # 49 "parser_cocci_menhir.mly"
35787 (Data.clt)
35788 # 35789 "parser_cocci_menhir.ml"
35789 ) = Obj.magic ty100 in
35790 let x0 : 'tv_const_vol = Obj.magic x0 in
35791 let _startpos = _startpos_x0_ in
35792 let _endpos = _endpos_m_ in
35793 let _v : 'tv_typedef_ctype = let ty =
35794 let ty20 = ty200 in
35795 let ty10 = ty100 in
35796 let ty =
35797 let ty2 = ty20 in
35798 let ty1 = ty10 in
35799
35800 # 494 "parser_cocci_menhir.mly"
35801 ( Ast0.wrap
35802 (Ast0.BaseType
35803 (Ast.LongLongType,
35804 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35805 # 35806 "parser_cocci_menhir.ml"
35806
35807 in
35808
35809 # 531 "parser_cocci_menhir.mly"
35810 ( ty )
35811 # 35812 "parser_cocci_menhir.ml"
35812
35813 in
35814 let cv =
35815 let x = x0 in
35816
35817 # 41 "standard.mly"
35818 ( Some x )
35819 # 35820 "parser_cocci_menhir.ml"
35820
35821 in
35822
35823 # 549 "parser_cocci_menhir.mly"
35824 ( P.pointerify (P.make_cv cv ty) m )
35825 # 35826 "parser_cocci_menhir.ml"
35826 in
35827 _menhir_env.MenhirLib.EngineTypes.stack <- {
35828 MenhirLib.EngineTypes.state = _menhir_s;
35829 MenhirLib.EngineTypes.semv = Obj.repr _v;
35830 MenhirLib.EngineTypes.startp = _startpos;
35831 MenhirLib.EngineTypes.endp = _endpos;
35832 MenhirLib.EngineTypes.next = _menhir_stack;
35833 });
35834 (fun _menhir_env ->
35835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35836 let {
35837 MenhirLib.EngineTypes.semv = m;
35838 MenhirLib.EngineTypes.startp = _startpos_m_;
35839 MenhirLib.EngineTypes.endp = _endpos_m_;
35840 MenhirLib.EngineTypes.next = {
35841 MenhirLib.EngineTypes.semv = ty00;
35842 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35843 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35844 MenhirLib.EngineTypes.next = {
35845 MenhirLib.EngineTypes.state = _menhir_s;
35846 MenhirLib.EngineTypes.semv = x0;
35847 MenhirLib.EngineTypes.startp = _startpos_x0_;
35848 MenhirLib.EngineTypes.endp = _endpos_x0_;
35849 MenhirLib.EngineTypes.next = _menhir_stack;
35850 };
35851 };
35852 } = _menhir_stack in
35853 let m : 'tv_list_TMul_ = Obj.magic m in
35854 let ty00 : (
35855 # 50 "parser_cocci_menhir.mly"
35856 (Data.clt)
35857 # 35858 "parser_cocci_menhir.ml"
35858 ) = Obj.magic ty00 in
35859 let x0 : 'tv_const_vol = Obj.magic x0 in
35860 let _startpos = _startpos_x0_ in
35861 let _endpos = _endpos_m_ in
35862 let _v : 'tv_typedef_ctype = let ty =
35863 let ty0 = ty00 in
35864 let ty =
35865 let ty = ty0 in
35866
35867 # 502 "parser_cocci_menhir.mly"
35868 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
35869 # 35870 "parser_cocci_menhir.ml"
35870
35871 in
35872
35873 # 532 "parser_cocci_menhir.mly"
35874 ( ty )
35875 # 35876 "parser_cocci_menhir.ml"
35876
35877 in
35878 let cv =
35879 let x = x0 in
35880
35881 # 41 "standard.mly"
35882 ( Some x )
35883 # 35884 "parser_cocci_menhir.ml"
35884
35885 in
35886
35887 # 549 "parser_cocci_menhir.mly"
35888 ( P.pointerify (P.make_cv cv ty) m )
35889 # 35890 "parser_cocci_menhir.ml"
35890 in
35891 _menhir_env.MenhirLib.EngineTypes.stack <- {
35892 MenhirLib.EngineTypes.state = _menhir_s;
35893 MenhirLib.EngineTypes.semv = Obj.repr _v;
35894 MenhirLib.EngineTypes.startp = _startpos;
35895 MenhirLib.EngineTypes.endp = _endpos;
35896 MenhirLib.EngineTypes.next = _menhir_stack;
35897 });
35898 (fun _menhir_env ->
35899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35900 let {
35901 MenhirLib.EngineTypes.semv = m;
35902 MenhirLib.EngineTypes.startp = _startpos_m_;
35903 MenhirLib.EngineTypes.endp = _endpos_m_;
35904 MenhirLib.EngineTypes.next = {
35905 MenhirLib.EngineTypes.semv = ty00;
35906 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35907 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35908 MenhirLib.EngineTypes.next = {
35909 MenhirLib.EngineTypes.state = _menhir_s;
35910 MenhirLib.EngineTypes.semv = x0;
35911 MenhirLib.EngineTypes.startp = _startpos_x0_;
35912 MenhirLib.EngineTypes.endp = _endpos_x0_;
35913 MenhirLib.EngineTypes.next = _menhir_stack;
35914 };
35915 };
35916 } = _menhir_stack in
35917 let m : 'tv_list_TMul_ = Obj.magic m in
35918 let ty00 : (
35919 # 49 "parser_cocci_menhir.mly"
35920 (Data.clt)
35921 # 35922 "parser_cocci_menhir.ml"
35922 ) = Obj.magic ty00 in
35923 let x0 : 'tv_const_vol = Obj.magic x0 in
35924 let _startpos = _startpos_x0_ in
35925 let _endpos = _endpos_m_ in
35926 let _v : 'tv_typedef_ctype = let ty =
35927 let ty0 = ty00 in
35928 let ty =
35929 let ty = ty0 in
35930
35931 # 504 "parser_cocci_menhir.mly"
35932 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
35933 # 35934 "parser_cocci_menhir.ml"
35934
35935 in
35936
35937 # 532 "parser_cocci_menhir.mly"
35938 ( ty )
35939 # 35940 "parser_cocci_menhir.ml"
35940
35941 in
35942 let cv =
35943 let x = x0 in
35944
35945 # 41 "standard.mly"
35946 ( Some x )
35947 # 35948 "parser_cocci_menhir.ml"
35948
35949 in
35950
35951 # 549 "parser_cocci_menhir.mly"
35952 ( P.pointerify (P.make_cv cv ty) m )
35953 # 35954 "parser_cocci_menhir.ml"
35954 in
35955 _menhir_env.MenhirLib.EngineTypes.stack <- {
35956 MenhirLib.EngineTypes.state = _menhir_s;
35957 MenhirLib.EngineTypes.semv = Obj.repr _v;
35958 MenhirLib.EngineTypes.startp = _startpos;
35959 MenhirLib.EngineTypes.endp = _endpos;
35960 MenhirLib.EngineTypes.next = _menhir_stack;
35961 });
35962 (fun _menhir_env ->
35963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35964 let {
35965 MenhirLib.EngineTypes.semv = m;
35966 MenhirLib.EngineTypes.startp = _startpos_m_;
35967 MenhirLib.EngineTypes.endp = _endpos_m_;
35968 MenhirLib.EngineTypes.next = {
35969 MenhirLib.EngineTypes.semv = ty00;
35970 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35971 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35972 MenhirLib.EngineTypes.next = {
35973 MenhirLib.EngineTypes.state = _menhir_s;
35974 MenhirLib.EngineTypes.semv = x0;
35975 MenhirLib.EngineTypes.startp = _startpos_x0_;
35976 MenhirLib.EngineTypes.endp = _endpos_x0_;
35977 MenhirLib.EngineTypes.next = _menhir_stack;
35978 };
35979 };
35980 } = _menhir_stack in
35981 let m : 'tv_list_TMul_ = Obj.magic m in
35982 let ty00 : (
35983 # 49 "parser_cocci_menhir.mly"
35984 (Data.clt)
35985 # 35986 "parser_cocci_menhir.ml"
35986 ) = Obj.magic ty00 in
35987 let x0 : 'tv_const_vol = Obj.magic x0 in
35988 let _startpos = _startpos_x0_ in
35989 let _endpos = _endpos_m_ in
35990 let _v : 'tv_typedef_ctype = let ty =
35991 let ty0 = ty00 in
35992 let ty =
35993 let ty = ty0 in
35994
35995 # 506 "parser_cocci_menhir.mly"
35996 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
35997 # 35998 "parser_cocci_menhir.ml"
35998
35999 in
36000
36001 # 532 "parser_cocci_menhir.mly"
36002 ( ty )
36003 # 36004 "parser_cocci_menhir.ml"
36004
36005 in
36006 let cv =
36007 let x = x0 in
36008
36009 # 41 "standard.mly"
36010 ( Some x )
36011 # 36012 "parser_cocci_menhir.ml"
36012
36013 in
36014
36015 # 549 "parser_cocci_menhir.mly"
36016 ( P.pointerify (P.make_cv cv ty) m )
36017 # 36018 "parser_cocci_menhir.ml"
36018 in
36019 _menhir_env.MenhirLib.EngineTypes.stack <- {
36020 MenhirLib.EngineTypes.state = _menhir_s;
36021 MenhirLib.EngineTypes.semv = Obj.repr _v;
36022 MenhirLib.EngineTypes.startp = _startpos;
36023 MenhirLib.EngineTypes.endp = _endpos;
36024 MenhirLib.EngineTypes.next = _menhir_stack;
36025 });
36026 (fun _menhir_env ->
36027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36028 let {
36029 MenhirLib.EngineTypes.semv = m;
36030 MenhirLib.EngineTypes.startp = _startpos_m_;
36031 MenhirLib.EngineTypes.endp = _endpos_m_;
36032 MenhirLib.EngineTypes.next = {
36033 MenhirLib.EngineTypes.semv = i00;
36034 MenhirLib.EngineTypes.startp = _startpos_i00_;
36035 MenhirLib.EngineTypes.endp = _endpos_i00_;
36036 MenhirLib.EngineTypes.next = {
36037 MenhirLib.EngineTypes.semv = s00;
36038 MenhirLib.EngineTypes.startp = _startpos_s00_;
36039 MenhirLib.EngineTypes.endp = _endpos_s00_;
36040 MenhirLib.EngineTypes.next = {
36041 MenhirLib.EngineTypes.state = _menhir_s;
36042 MenhirLib.EngineTypes.semv = x0;
36043 MenhirLib.EngineTypes.startp = _startpos_x0_;
36044 MenhirLib.EngineTypes.endp = _endpos_x0_;
36045 MenhirLib.EngineTypes.next = _menhir_stack;
36046 };
36047 };
36048 };
36049 } = _menhir_stack in
36050 let m : 'tv_list_TMul_ = Obj.magic m in
36051 let i00 : 'tv_ident = Obj.magic i00 in
36052 let s00 : (
36053 # 50 "parser_cocci_menhir.mly"
36054 (Data.clt)
36055 # 36056 "parser_cocci_menhir.ml"
36056 ) = Obj.magic s00 in
36057 let x0 : 'tv_const_vol = Obj.magic x0 in
36058 let _startpos = _startpos_x0_ in
36059 let _endpos = _endpos_m_ in
36060 let _v : 'tv_typedef_ctype = let ty =
36061 let i0 = i00 in
36062 let s0 = s00 in
36063 let ty =
36064 let i = i0 in
36065 let s = s0 in
36066
36067 # 508 "parser_cocci_menhir.mly"
36068 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
36069 # 36070 "parser_cocci_menhir.ml"
36070
36071 in
36072
36073 # 532 "parser_cocci_menhir.mly"
36074 ( ty )
36075 # 36076 "parser_cocci_menhir.ml"
36076
36077 in
36078 let cv =
36079 let x = x0 in
36080
36081 # 41 "standard.mly"
36082 ( Some x )
36083 # 36084 "parser_cocci_menhir.ml"
36084
36085 in
36086
36087 # 549 "parser_cocci_menhir.mly"
36088 ( P.pointerify (P.make_cv cv ty) m )
36089 # 36090 "parser_cocci_menhir.ml"
36090 in
36091 _menhir_env.MenhirLib.EngineTypes.stack <- {
36092 MenhirLib.EngineTypes.state = _menhir_s;
36093 MenhirLib.EngineTypes.semv = Obj.repr _v;
36094 MenhirLib.EngineTypes.startp = _startpos;
36095 MenhirLib.EngineTypes.endp = _endpos;
36096 MenhirLib.EngineTypes.next = _menhir_stack;
36097 });
36098 (fun _menhir_env ->
36099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36100 let {
36101 MenhirLib.EngineTypes.semv = m;
36102 MenhirLib.EngineTypes.startp = _startpos_m_;
36103 MenhirLib.EngineTypes.endp = _endpos_m_;
36104 MenhirLib.EngineTypes.next = {
36105 MenhirLib.EngineTypes.semv = i00;
36106 MenhirLib.EngineTypes.startp = _startpos_i00_;
36107 MenhirLib.EngineTypes.endp = _endpos_i00_;
36108 MenhirLib.EngineTypes.next = {
36109 MenhirLib.EngineTypes.semv = s00;
36110 MenhirLib.EngineTypes.startp = _startpos_s00_;
36111 MenhirLib.EngineTypes.endp = _endpos_s00_;
36112 MenhirLib.EngineTypes.next = {
36113 MenhirLib.EngineTypes.state = _menhir_s;
36114 MenhirLib.EngineTypes.semv = x0;
36115 MenhirLib.EngineTypes.startp = _startpos_x0_;
36116 MenhirLib.EngineTypes.endp = _endpos_x0_;
36117 MenhirLib.EngineTypes.next = _menhir_stack;
36118 };
36119 };
36120 };
36121 } = _menhir_stack in
36122 let m : 'tv_list_TMul_ = Obj.magic m in
36123 let i00 : 'tv_ident = Obj.magic i00 in
36124 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36125 let x0 : 'tv_const_vol = Obj.magic x0 in
36126 let _startpos = _startpos_x0_ in
36127 let _endpos = _endpos_m_ in
36128 let _v : 'tv_typedef_ctype = let ty =
36129 let i0 = i00 in
36130 let s0 = s00 in
36131 let ty =
36132 let i = i0 in
36133 let s = s0 in
36134
36135 # 510 "parser_cocci_menhir.mly"
36136 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
36137 # 36138 "parser_cocci_menhir.ml"
36138
36139 in
36140
36141 # 532 "parser_cocci_menhir.mly"
36142 ( ty )
36143 # 36144 "parser_cocci_menhir.ml"
36144
36145 in
36146 let cv =
36147 let x = x0 in
36148
36149 # 41 "standard.mly"
36150 ( Some x )
36151 # 36152 "parser_cocci_menhir.ml"
36152
36153 in
36154
36155 # 549 "parser_cocci_menhir.mly"
36156 ( P.pointerify (P.make_cv cv ty) m )
36157 # 36158 "parser_cocci_menhir.ml"
36158 in
36159 _menhir_env.MenhirLib.EngineTypes.stack <- {
36160 MenhirLib.EngineTypes.state = _menhir_s;
36161 MenhirLib.EngineTypes.semv = Obj.repr _v;
36162 MenhirLib.EngineTypes.startp = _startpos;
36163 MenhirLib.EngineTypes.endp = _endpos;
36164 MenhirLib.EngineTypes.next = _menhir_stack;
36165 });
36166 (fun _menhir_env ->
36167 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36168 let {
36169 MenhirLib.EngineTypes.semv = m;
36170 MenhirLib.EngineTypes.startp = _startpos_m_;
36171 MenhirLib.EngineTypes.endp = _endpos_m_;
36172 MenhirLib.EngineTypes.next = {
36173 MenhirLib.EngineTypes.semv = r00;
36174 MenhirLib.EngineTypes.startp = _startpos_r00_;
36175 MenhirLib.EngineTypes.endp = _endpos_r00_;
36176 MenhirLib.EngineTypes.next = {
36177 MenhirLib.EngineTypes.semv = d00;
36178 MenhirLib.EngineTypes.startp = _startpos_d00_;
36179 MenhirLib.EngineTypes.endp = _endpos_d00_;
36180 MenhirLib.EngineTypes.next = {
36181 MenhirLib.EngineTypes.semv = l00;
36182 MenhirLib.EngineTypes.startp = _startpos_l00_;
36183 MenhirLib.EngineTypes.endp = _endpos_l00_;
36184 MenhirLib.EngineTypes.next = {
36185 MenhirLib.EngineTypes.semv = s00;
36186 MenhirLib.EngineTypes.startp = _startpos_s00_;
36187 MenhirLib.EngineTypes.endp = _endpos_s00_;
36188 MenhirLib.EngineTypes.next = {
36189 MenhirLib.EngineTypes.state = _menhir_s;
36190 MenhirLib.EngineTypes.semv = x0;
36191 MenhirLib.EngineTypes.startp = _startpos_x0_;
36192 MenhirLib.EngineTypes.endp = _endpos_x0_;
36193 MenhirLib.EngineTypes.next = _menhir_stack;
36194 };
36195 };
36196 };
36197 };
36198 };
36199 } = _menhir_stack in
36200 let m : 'tv_list_TMul_ = Obj.magic m in
36201 let r00 : (
36202 # 101 "parser_cocci_menhir.mly"
36203 (Data.clt)
36204 # 36205 "parser_cocci_menhir.ml"
36205 ) = Obj.magic r00 in
36206 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36207 let l00 : (
36208 # 101 "parser_cocci_menhir.mly"
36209 (Data.clt)
36210 # 36211 "parser_cocci_menhir.ml"
36211 ) = Obj.magic l00 in
36212 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36213 let x0 : 'tv_const_vol = Obj.magic x0 in
36214 let _startpos = _startpos_x0_ in
36215 let _endpos = _endpos_m_ in
36216 let _v : 'tv_typedef_ctype = let ty =
36217 let r0 = r00 in
36218 let d0 = d00 in
36219 let l0 = l00 in
36220 let s0 = s00 in
36221 let ty =
36222 let r = r0 in
36223 let d = d0 in
36224 let l = l0 in
36225 let s = s0 in
36226 let i =
36227
36228 # 39 "standard.mly"
36229 ( None )
36230 # 36231 "parser_cocci_menhir.ml"
36231
36232 in
36233
36234 # 513 "parser_cocci_menhir.mly"
36235 ( (if i = None && !Data.in_iso
36236 then failwith "structures must be named in the iso file");
36237 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36238 P.clt2mcode "{" l,
36239 d, P.clt2mcode "}" r)) )
36240 # 36241 "parser_cocci_menhir.ml"
36241
36242 in
36243
36244 # 532 "parser_cocci_menhir.mly"
36245 ( ty )
36246 # 36247 "parser_cocci_menhir.ml"
36247
36248 in
36249 let cv =
36250 let x = x0 in
36251
36252 # 41 "standard.mly"
36253 ( Some x )
36254 # 36255 "parser_cocci_menhir.ml"
36255
36256 in
36257
36258 # 549 "parser_cocci_menhir.mly"
36259 ( P.pointerify (P.make_cv cv ty) m )
36260 # 36261 "parser_cocci_menhir.ml"
36261 in
36262 _menhir_env.MenhirLib.EngineTypes.stack <- {
36263 MenhirLib.EngineTypes.state = _menhir_s;
36264 MenhirLib.EngineTypes.semv = Obj.repr _v;
36265 MenhirLib.EngineTypes.startp = _startpos;
36266 MenhirLib.EngineTypes.endp = _endpos;
36267 MenhirLib.EngineTypes.next = _menhir_stack;
36268 });
36269 (fun _menhir_env ->
36270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36271 let {
36272 MenhirLib.EngineTypes.semv = m;
36273 MenhirLib.EngineTypes.startp = _startpos_m_;
36274 MenhirLib.EngineTypes.endp = _endpos_m_;
36275 MenhirLib.EngineTypes.next = {
36276 MenhirLib.EngineTypes.semv = r00;
36277 MenhirLib.EngineTypes.startp = _startpos_r00_;
36278 MenhirLib.EngineTypes.endp = _endpos_r00_;
36279 MenhirLib.EngineTypes.next = {
36280 MenhirLib.EngineTypes.semv = d00;
36281 MenhirLib.EngineTypes.startp = _startpos_d00_;
36282 MenhirLib.EngineTypes.endp = _endpos_d00_;
36283 MenhirLib.EngineTypes.next = {
36284 MenhirLib.EngineTypes.semv = l00;
36285 MenhirLib.EngineTypes.startp = _startpos_l00_;
36286 MenhirLib.EngineTypes.endp = _endpos_l00_;
36287 MenhirLib.EngineTypes.next = {
36288 MenhirLib.EngineTypes.semv = x000;
36289 MenhirLib.EngineTypes.startp = _startpos_x000_;
36290 MenhirLib.EngineTypes.endp = _endpos_x000_;
36291 MenhirLib.EngineTypes.next = {
36292 MenhirLib.EngineTypes.semv = s00;
36293 MenhirLib.EngineTypes.startp = _startpos_s00_;
36294 MenhirLib.EngineTypes.endp = _endpos_s00_;
36295 MenhirLib.EngineTypes.next = {
36296 MenhirLib.EngineTypes.state = _menhir_s;
36297 MenhirLib.EngineTypes.semv = x0;
36298 MenhirLib.EngineTypes.startp = _startpos_x0_;
36299 MenhirLib.EngineTypes.endp = _endpos_x0_;
36300 MenhirLib.EngineTypes.next = _menhir_stack;
36301 };
36302 };
36303 };
36304 };
36305 };
36306 };
36307 } = _menhir_stack in
36308 let m : 'tv_list_TMul_ = Obj.magic m in
36309 let r00 : (
36310 # 101 "parser_cocci_menhir.mly"
36311 (Data.clt)
36312 # 36313 "parser_cocci_menhir.ml"
36313 ) = Obj.magic r00 in
36314 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36315 let l00 : (
36316 # 101 "parser_cocci_menhir.mly"
36317 (Data.clt)
36318 # 36319 "parser_cocci_menhir.ml"
36319 ) = Obj.magic l00 in
36320 let x000 : 'tv_ident = Obj.magic x000 in
36321 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36322 let x0 : 'tv_const_vol = Obj.magic x0 in
36323 let _startpos = _startpos_x0_ in
36324 let _endpos = _endpos_m_ in
36325 let _v : 'tv_typedef_ctype = let ty =
36326 let r0 = r00 in
36327 let d0 = d00 in
36328 let l0 = l00 in
36329 let x00 = x000 in
36330 let s0 = s00 in
36331 let ty =
36332 let r = r0 in
36333 let d = d0 in
36334 let l = l0 in
36335 let x0 = x00 in
36336 let s = s0 in
36337 let i =
36338 let x = x0 in
36339
36340 # 41 "standard.mly"
36341 ( Some x )
36342 # 36343 "parser_cocci_menhir.ml"
36343
36344 in
36345
36346 # 513 "parser_cocci_menhir.mly"
36347 ( (if i = None && !Data.in_iso
36348 then failwith "structures must be named in the iso file");
36349 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36350 P.clt2mcode "{" l,
36351 d, P.clt2mcode "}" r)) )
36352 # 36353 "parser_cocci_menhir.ml"
36353
36354 in
36355
36356 # 532 "parser_cocci_menhir.mly"
36357 ( ty )
36358 # 36359 "parser_cocci_menhir.ml"
36359
36360 in
36361 let cv =
36362 let x = x0 in
36363
36364 # 41 "standard.mly"
36365 ( Some x )
36366 # 36367 "parser_cocci_menhir.ml"
36367
36368 in
36369
36370 # 549 "parser_cocci_menhir.mly"
36371 ( P.pointerify (P.make_cv cv ty) m )
36372 # 36373 "parser_cocci_menhir.ml"
36373 in
36374 _menhir_env.MenhirLib.EngineTypes.stack <- {
36375 MenhirLib.EngineTypes.state = _menhir_s;
36376 MenhirLib.EngineTypes.semv = Obj.repr _v;
36377 MenhirLib.EngineTypes.startp = _startpos;
36378 MenhirLib.EngineTypes.endp = _endpos;
36379 MenhirLib.EngineTypes.next = _menhir_stack;
36380 });
36381 (fun _menhir_env ->
36382 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36383 let {
36384 MenhirLib.EngineTypes.semv = m;
36385 MenhirLib.EngineTypes.startp = _startpos_m_;
36386 MenhirLib.EngineTypes.endp = _endpos_m_;
36387 MenhirLib.EngineTypes.next = {
36388 MenhirLib.EngineTypes.semv = r00;
36389 MenhirLib.EngineTypes.startp = _startpos_r00_;
36390 MenhirLib.EngineTypes.endp = _endpos_r00_;
36391 MenhirLib.EngineTypes.next = {
36392 MenhirLib.EngineTypes.semv = d00;
36393 MenhirLib.EngineTypes.startp = _startpos_d00_;
36394 MenhirLib.EngineTypes.endp = _endpos_d00_;
36395 MenhirLib.EngineTypes.next = {
36396 MenhirLib.EngineTypes.semv = l00;
36397 MenhirLib.EngineTypes.startp = _startpos_l00_;
36398 MenhirLib.EngineTypes.endp = _endpos_l00_;
36399 MenhirLib.EngineTypes.next = {
36400 MenhirLib.EngineTypes.semv = s00;
36401 MenhirLib.EngineTypes.startp = _startpos_s00_;
36402 MenhirLib.EngineTypes.endp = _endpos_s00_;
36403 MenhirLib.EngineTypes.next = {
36404 MenhirLib.EngineTypes.state = _menhir_s;
36405 MenhirLib.EngineTypes.semv = x0;
36406 MenhirLib.EngineTypes.startp = _startpos_x0_;
36407 MenhirLib.EngineTypes.endp = _endpos_x0_;
36408 MenhirLib.EngineTypes.next = _menhir_stack;
36409 };
36410 };
36411 };
36412 };
36413 };
36414 } = _menhir_stack in
36415 let m : 'tv_list_TMul_ = Obj.magic m in
36416 let r00 : (
36417 # 101 "parser_cocci_menhir.mly"
36418 (Data.clt)
36419 # 36420 "parser_cocci_menhir.ml"
36420 ) = Obj.magic r00 in
36421 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36422 let l00 : (
36423 # 101 "parser_cocci_menhir.mly"
36424 (Data.clt)
36425 # 36426 "parser_cocci_menhir.ml"
36426 ) = Obj.magic l00 in
36427 let s00 : (
36428 # 64 "parser_cocci_menhir.mly"
36429 (Parse_aux.info)
36430 # 36431 "parser_cocci_menhir.ml"
36431 ) = Obj.magic s00 in
36432 let x0 : 'tv_const_vol = Obj.magic x0 in
36433 let _startpos = _startpos_x0_ in
36434 let _endpos = _endpos_m_ in
36435 let _v : 'tv_typedef_ctype = let ty =
36436 let r0 = r00 in
36437 let d0 = d00 in
36438 let l0 = l00 in
36439 let s0 = s00 in
36440 let ty =
36441 let r = r0 in
36442 let d = d0 in
36443 let l = l0 in
36444 let s = s0 in
36445
36446 # 519 "parser_cocci_menhir.mly"
36447 ( let (nm,pure,clt) = s in
36448 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
36449 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
36450 # 36451 "parser_cocci_menhir.ml"
36451
36452 in
36453
36454 # 532 "parser_cocci_menhir.mly"
36455 ( ty )
36456 # 36457 "parser_cocci_menhir.ml"
36457
36458 in
36459 let cv =
36460 let x = x0 in
36461
36462 # 41 "standard.mly"
36463 ( Some x )
36464 # 36465 "parser_cocci_menhir.ml"
36465
36466 in
36467
36468 # 549 "parser_cocci_menhir.mly"
36469 ( P.pointerify (P.make_cv cv ty) m )
36470 # 36471 "parser_cocci_menhir.ml"
36471 in
36472 _menhir_env.MenhirLib.EngineTypes.stack <- {
36473 MenhirLib.EngineTypes.state = _menhir_s;
36474 MenhirLib.EngineTypes.semv = Obj.repr _v;
36475 MenhirLib.EngineTypes.startp = _startpos;
36476 MenhirLib.EngineTypes.endp = _endpos;
36477 MenhirLib.EngineTypes.next = _menhir_stack;
36478 });
36479 (fun _menhir_env ->
36480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36481 let {
36482 MenhirLib.EngineTypes.semv = m;
36483 MenhirLib.EngineTypes.startp = _startpos_m_;
36484 MenhirLib.EngineTypes.endp = _endpos_m_;
36485 MenhirLib.EngineTypes.next = {
36486 MenhirLib.EngineTypes.semv = p00;
36487 MenhirLib.EngineTypes.startp = _startpos_p00_;
36488 MenhirLib.EngineTypes.endp = _endpos_p00_;
36489 MenhirLib.EngineTypes.next = {
36490 MenhirLib.EngineTypes.state = _menhir_s;
36491 MenhirLib.EngineTypes.semv = x0;
36492 MenhirLib.EngineTypes.startp = _startpos_x0_;
36493 MenhirLib.EngineTypes.endp = _endpos_x0_;
36494 MenhirLib.EngineTypes.next = _menhir_stack;
36495 };
36496 };
36497 } = _menhir_stack in
36498 let m : 'tv_list_TMul_ = Obj.magic m in
36499 let p00 : (
36500 # 59 "parser_cocci_menhir.mly"
36501 (string * Data.clt)
36502 # 36503 "parser_cocci_menhir.ml"
36503 ) = Obj.magic p00 in
36504 let x0 : 'tv_const_vol = Obj.magic x0 in
36505 let _startpos = _startpos_x0_ in
36506 let _endpos = _endpos_m_ in
36507 let _v : 'tv_typedef_ctype = let ty =
36508 let p0 = p00 in
36509 let ty =
36510 let p = p0 in
36511
36512 # 523 "parser_cocci_menhir.mly"
36513 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
36514 # 36515 "parser_cocci_menhir.ml"
36515
36516 in
36517
36518 # 532 "parser_cocci_menhir.mly"
36519 ( ty )
36520 # 36521 "parser_cocci_menhir.ml"
36521
36522 in
36523 let cv =
36524 let x = x0 in
36525
36526 # 41 "standard.mly"
36527 ( Some x )
36528 # 36529 "parser_cocci_menhir.ml"
36529
36530 in
36531
36532 # 549 "parser_cocci_menhir.mly"
36533 ( P.pointerify (P.make_cv cv ty) m )
36534 # 36535 "parser_cocci_menhir.ml"
36535 in
36536 _menhir_env.MenhirLib.EngineTypes.stack <- {
36537 MenhirLib.EngineTypes.state = _menhir_s;
36538 MenhirLib.EngineTypes.semv = Obj.repr _v;
36539 MenhirLib.EngineTypes.startp = _startpos;
36540 MenhirLib.EngineTypes.endp = _endpos;
36541 MenhirLib.EngineTypes.next = _menhir_stack;
36542 });
36543 (fun _menhir_env ->
36544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36545 let {
36546 MenhirLib.EngineTypes.semv = rp;
36547 MenhirLib.EngineTypes.startp = _startpos_rp_;
36548 MenhirLib.EngineTypes.endp = _endpos_rp_;
36549 MenhirLib.EngineTypes.next = {
36550 MenhirLib.EngineTypes.semv = t;
36551 MenhirLib.EngineTypes.startp = _startpos_t_;
36552 MenhirLib.EngineTypes.endp = _endpos_t_;
36553 MenhirLib.EngineTypes.next = {
36554 MenhirLib.EngineTypes.state = _menhir_s;
36555 MenhirLib.EngineTypes.semv = lp;
36556 MenhirLib.EngineTypes.startp = _startpos_lp_;
36557 MenhirLib.EngineTypes.endp = _endpos_lp_;
36558 MenhirLib.EngineTypes.next = _menhir_stack;
36559 };
36560 };
36561 } = _menhir_stack in
36562 let rp : (
36563 # 77 "parser_cocci_menhir.mly"
36564 (Data.clt)
36565 # 36566 "parser_cocci_menhir.ml"
36566 ) = Obj.magic rp in
36567 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
36568 let lp : (
36569 # 76 "parser_cocci_menhir.mly"
36570 (Data.clt)
36571 # 36572 "parser_cocci_menhir.ml"
36572 ) = Obj.magic lp in
36573 let _startpos = _startpos_lp_ in
36574 let _endpos = _endpos_rp_ in
36575 let _v : 'tv_typedef_ctype =
36576 # 551 "parser_cocci_menhir.mly"
36577 ( let (mids,code) = t in
36578 Ast0.wrap
36579 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
36580 # 36581 "parser_cocci_menhir.ml"
36581 in
36582 _menhir_env.MenhirLib.EngineTypes.stack <- {
36583 MenhirLib.EngineTypes.state = _menhir_s;
36584 MenhirLib.EngineTypes.semv = Obj.repr _v;
36585 MenhirLib.EngineTypes.startp = _startpos;
36586 MenhirLib.EngineTypes.endp = _endpos;
36587 MenhirLib.EngineTypes.next = _menhir_stack;
36588 });
36589 (fun _menhir_env ->
36590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36591 let {
36592 MenhirLib.EngineTypes.state = _menhir_s;
36593 MenhirLib.EngineTypes.semv = _1;
36594 MenhirLib.EngineTypes.startp = _startpos__1_;
36595 MenhirLib.EngineTypes.endp = _endpos__1_;
36596 MenhirLib.EngineTypes.next = _menhir_stack;
36597 } = _menhir_stack in
36598 let _1 : 'tv_pure_ident = Obj.magic _1 in
36599 let _startpos = _startpos__1_ in
36600 let _endpos = _endpos__1_ in
36601 let _v : 'tv_typedef_ident =
36602 # 1599 "parser_cocci_menhir.mly"
36603 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
36604 # 36605 "parser_cocci_menhir.ml"
36605 in
36606 _menhir_env.MenhirLib.EngineTypes.stack <- {
36607 MenhirLib.EngineTypes.state = _menhir_s;
36608 MenhirLib.EngineTypes.semv = Obj.repr _v;
36609 MenhirLib.EngineTypes.startp = _startpos;
36610 MenhirLib.EngineTypes.endp = _endpos;
36611 MenhirLib.EngineTypes.next = _menhir_stack;
36612 });
36613 (fun _menhir_env ->
36614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36615 let {
36616 MenhirLib.EngineTypes.state = _menhir_s;
36617 MenhirLib.EngineTypes.semv = _1;
36618 MenhirLib.EngineTypes.startp = _startpos__1_;
36619 MenhirLib.EngineTypes.endp = _endpos__1_;
36620 MenhirLib.EngineTypes.next = _menhir_stack;
36621 } = _menhir_stack in
36622 let _1 : (
36623 # 64 "parser_cocci_menhir.mly"
36624 (Parse_aux.info)
36625 # 36626 "parser_cocci_menhir.ml"
36626 ) = Obj.magic _1 in
36627 let _startpos = _startpos__1_ in
36628 let _endpos = _endpos__1_ in
36629 let _v : 'tv_typedef_ident =
36630 # 1601 "parser_cocci_menhir.mly"
36631 ( let (nm,pure,clt) = _1 in
36632 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36633 # 36634 "parser_cocci_menhir.ml"
36634 in
36635 _menhir_env.MenhirLib.EngineTypes.stack <- {
36636 MenhirLib.EngineTypes.state = _menhir_s;
36637 MenhirLib.EngineTypes.semv = Obj.repr _v;
36638 MenhirLib.EngineTypes.startp = _startpos;
36639 MenhirLib.EngineTypes.endp = _endpos;
36640 MenhirLib.EngineTypes.next = _menhir_stack;
36641 });
36642 (fun _menhir_env ->
36643 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36644 let {
36645 MenhirLib.EngineTypes.state = _menhir_s;
36646 MenhirLib.EngineTypes.semv = _1;
36647 MenhirLib.EngineTypes.startp = _startpos__1_;
36648 MenhirLib.EngineTypes.endp = _endpos__1_;
36649 MenhirLib.EngineTypes.next = _menhir_stack;
36650 } = _menhir_stack in
36651 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
36652 let _startpos = _startpos__1_ in
36653 let _endpos = _endpos__1_ in
36654 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36655 # 1291 "parser_cocci_menhir.mly"
36656 ( _1 )
36657 # 36658 "parser_cocci_menhir.ml"
36658 in
36659 _menhir_env.MenhirLib.EngineTypes.stack <- {
36660 MenhirLib.EngineTypes.state = _menhir_s;
36661 MenhirLib.EngineTypes.semv = Obj.repr _v;
36662 MenhirLib.EngineTypes.startp = _startpos;
36663 MenhirLib.EngineTypes.endp = _endpos;
36664 MenhirLib.EngineTypes.next = _menhir_stack;
36665 });
36666 (fun _menhir_env ->
36667 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36668 let {
36669 MenhirLib.EngineTypes.semv = _2;
36670 MenhirLib.EngineTypes.startp = _startpos__2_;
36671 MenhirLib.EngineTypes.endp = _endpos__2_;
36672 MenhirLib.EngineTypes.next = {
36673 MenhirLib.EngineTypes.state = _menhir_s;
36674 MenhirLib.EngineTypes.semv = _1;
36675 MenhirLib.EngineTypes.startp = _startpos__1_;
36676 MenhirLib.EngineTypes.endp = _endpos__1_;
36677 MenhirLib.EngineTypes.next = _menhir_stack;
36678 };
36679 } = _menhir_stack in
36680 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36681 let _1 : (
36682 # 85 "parser_cocci_menhir.mly"
36683 (Data.clt)
36684 # 36685 "parser_cocci_menhir.ml"
36685 ) = Obj.magic _1 in
36686 let _startpos = _startpos__1_ in
36687 let _endpos = _endpos__2_ in
36688 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36689 # 1293 "parser_cocci_menhir.mly"
36690 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
36691 # 36692 "parser_cocci_menhir.ml"
36692 in
36693 _menhir_env.MenhirLib.EngineTypes.stack <- {
36694 MenhirLib.EngineTypes.state = _menhir_s;
36695 MenhirLib.EngineTypes.semv = Obj.repr _v;
36696 MenhirLib.EngineTypes.startp = _startpos;
36697 MenhirLib.EngineTypes.endp = _endpos;
36698 MenhirLib.EngineTypes.next = _menhir_stack;
36699 });
36700 (fun _menhir_env ->
36701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36702 let {
36703 MenhirLib.EngineTypes.semv = _2;
36704 MenhirLib.EngineTypes.startp = _startpos__2_;
36705 MenhirLib.EngineTypes.endp = _endpos__2_;
36706 MenhirLib.EngineTypes.next = {
36707 MenhirLib.EngineTypes.state = _menhir_s;
36708 MenhirLib.EngineTypes.semv = _1;
36709 MenhirLib.EngineTypes.startp = _startpos__1_;
36710 MenhirLib.EngineTypes.endp = _endpos__1_;
36711 MenhirLib.EngineTypes.next = _menhir_stack;
36712 };
36713 } = _menhir_stack in
36714 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36715 let _1 : (
36716 # 85 "parser_cocci_menhir.mly"
36717 (Data.clt)
36718 # 36719 "parser_cocci_menhir.ml"
36719 ) = Obj.magic _1 in
36720 let _startpos = _startpos__1_ in
36721 let _endpos = _endpos__2_ in
36722 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36723 # 1295 "parser_cocci_menhir.mly"
36724 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
36725 # 36726 "parser_cocci_menhir.ml"
36726 in
36727 _menhir_env.MenhirLib.EngineTypes.stack <- {
36728 MenhirLib.EngineTypes.state = _menhir_s;
36729 MenhirLib.EngineTypes.semv = Obj.repr _v;
36730 MenhirLib.EngineTypes.startp = _startpos;
36731 MenhirLib.EngineTypes.endp = _endpos;
36732 MenhirLib.EngineTypes.next = _menhir_stack;
36733 });
36734 (fun _menhir_env ->
36735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36736 let {
36737 MenhirLib.EngineTypes.semv = _2;
36738 MenhirLib.EngineTypes.startp = _startpos__2_;
36739 MenhirLib.EngineTypes.endp = _endpos__2_;
36740 MenhirLib.EngineTypes.next = {
36741 MenhirLib.EngineTypes.state = _menhir_s;
36742 MenhirLib.EngineTypes.semv = _1;
36743 MenhirLib.EngineTypes.startp = _startpos__1_;
36744 MenhirLib.EngineTypes.endp = _endpos__1_;
36745 MenhirLib.EngineTypes.next = _menhir_stack;
36746 };
36747 } = _menhir_stack in
36748 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36749 let _1 : 'tv_unary_op = Obj.magic _1 in
36750 let _startpos = _startpos__1_ in
36751 let _endpos = _endpos__2_ in
36752 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36753 # 1297 "parser_cocci_menhir.mly"
36754 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
36755 # 36756 "parser_cocci_menhir.ml"
36756 in
36757 _menhir_env.MenhirLib.EngineTypes.stack <- {
36758 MenhirLib.EngineTypes.state = _menhir_s;
36759 MenhirLib.EngineTypes.semv = Obj.repr _v;
36760 MenhirLib.EngineTypes.startp = _startpos;
36761 MenhirLib.EngineTypes.endp = _endpos;
36762 MenhirLib.EngineTypes.next = _menhir_stack;
36763 });
36764 (fun _menhir_env ->
36765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36766 let {
36767 MenhirLib.EngineTypes.semv = _2;
36768 MenhirLib.EngineTypes.startp = _startpos__2_;
36769 MenhirLib.EngineTypes.endp = _endpos__2_;
36770 MenhirLib.EngineTypes.next = {
36771 MenhirLib.EngineTypes.state = _menhir_s;
36772 MenhirLib.EngineTypes.semv = _1;
36773 MenhirLib.EngineTypes.startp = _startpos__1_;
36774 MenhirLib.EngineTypes.endp = _endpos__1_;
36775 MenhirLib.EngineTypes.next = _menhir_stack;
36776 };
36777 } = _menhir_stack in
36778 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36779 let _1 : (
36780 # 76 "parser_cocci_menhir.mly"
36781 (Data.clt)
36782 # 36783 "parser_cocci_menhir.ml"
36783 ) = Obj.magic _1 in
36784 let _startpos = _startpos__1_ in
36785 let _endpos = _endpos__2_ in
36786 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36787 # 1299 "parser_cocci_menhir.mly"
36788 ( let mcode = P.clt2mcode Ast.Not _1 in
36789 Ast0.wrap(Ast0.Unary(_2, mcode)) )
36790 # 36791 "parser_cocci_menhir.ml"
36791 in
36792 _menhir_env.MenhirLib.EngineTypes.stack <- {
36793 MenhirLib.EngineTypes.state = _menhir_s;
36794 MenhirLib.EngineTypes.semv = Obj.repr _v;
36795 MenhirLib.EngineTypes.startp = _startpos;
36796 MenhirLib.EngineTypes.endp = _endpos;
36797 MenhirLib.EngineTypes.next = _menhir_stack;
36798 });
36799 (fun _menhir_env ->
36800 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36801 let {
36802 MenhirLib.EngineTypes.semv = _2;
36803 MenhirLib.EngineTypes.startp = _startpos__2_;
36804 MenhirLib.EngineTypes.endp = _endpos__2_;
36805 MenhirLib.EngineTypes.next = {
36806 MenhirLib.EngineTypes.state = _menhir_s;
36807 MenhirLib.EngineTypes.semv = _1;
36808 MenhirLib.EngineTypes.startp = _startpos__1_;
36809 MenhirLib.EngineTypes.endp = _endpos__1_;
36810 MenhirLib.EngineTypes.next = _menhir_stack;
36811 };
36812 } = _menhir_stack in
36813 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
36814 let _1 : (
36815 # 58 "parser_cocci_menhir.mly"
36816 (Data.clt)
36817 # 36818 "parser_cocci_menhir.ml"
36818 ) = Obj.magic _1 in
36819 let _startpos = _startpos__1_ in
36820 let _endpos = _endpos__2_ in
36821 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36822 # 1302 "parser_cocci_menhir.mly"
36823 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
36824 # 36825 "parser_cocci_menhir.ml"
36825 in
36826 _menhir_env.MenhirLib.EngineTypes.stack <- {
36827 MenhirLib.EngineTypes.state = _menhir_s;
36828 MenhirLib.EngineTypes.semv = Obj.repr _v;
36829 MenhirLib.EngineTypes.startp = _startpos;
36830 MenhirLib.EngineTypes.endp = _endpos;
36831 MenhirLib.EngineTypes.next = _menhir_stack;
36832 });
36833 (fun _menhir_env ->
36834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36835 let {
36836 MenhirLib.EngineTypes.semv = rp;
36837 MenhirLib.EngineTypes.startp = _startpos_rp_;
36838 MenhirLib.EngineTypes.endp = _endpos_rp_;
36839 MenhirLib.EngineTypes.next = {
36840 MenhirLib.EngineTypes.semv = t;
36841 MenhirLib.EngineTypes.startp = _startpos_t_;
36842 MenhirLib.EngineTypes.endp = _endpos_t_;
36843 MenhirLib.EngineTypes.next = {
36844 MenhirLib.EngineTypes.semv = lp;
36845 MenhirLib.EngineTypes.startp = _startpos_lp_;
36846 MenhirLib.EngineTypes.endp = _endpos_lp_;
36847 MenhirLib.EngineTypes.next = {
36848 MenhirLib.EngineTypes.state = _menhir_s;
36849 MenhirLib.EngineTypes.semv = s;
36850 MenhirLib.EngineTypes.startp = _startpos_s_;
36851 MenhirLib.EngineTypes.endp = _endpos_s_;
36852 MenhirLib.EngineTypes.next = _menhir_stack;
36853 };
36854 };
36855 };
36856 } = _menhir_stack in
36857 let rp : (
36858 # 77 "parser_cocci_menhir.mly"
36859 (Data.clt)
36860 # 36861 "parser_cocci_menhir.ml"
36861 ) = Obj.magic rp in
36862 let t : 'tv_ctype = Obj.magic t in
36863 let lp : (
36864 # 76 "parser_cocci_menhir.mly"
36865 (Data.clt)
36866 # 36867 "parser_cocci_menhir.ml"
36867 ) = Obj.magic lp in
36868 let s : (
36869 # 58 "parser_cocci_menhir.mly"
36870 (Data.clt)
36871 # 36872 "parser_cocci_menhir.ml"
36872 ) = Obj.magic s in
36873 let _startpos = _startpos_s_ in
36874 let _endpos = _endpos_rp_ in
36875 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36876 # 1304 "parser_cocci_menhir.mly"
36877 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
36878 P.clt2mcode "(" lp,t,
36879 P.clt2mcode ")" rp)) )
36880 # 36881 "parser_cocci_menhir.ml"
36881 in
36882 _menhir_env.MenhirLib.EngineTypes.stack <- {
36883 MenhirLib.EngineTypes.state = _menhir_s;
36884 MenhirLib.EngineTypes.semv = Obj.repr _v;
36885 MenhirLib.EngineTypes.startp = _startpos;
36886 MenhirLib.EngineTypes.endp = _endpos;
36887 MenhirLib.EngineTypes.next = _menhir_stack;
36888 });
36889 (fun _menhir_env ->
36890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36891 let {
36892 MenhirLib.EngineTypes.state = _menhir_s;
36893 MenhirLib.EngineTypes.semv = _1;
36894 MenhirLib.EngineTypes.startp = _startpos__1_;
36895 MenhirLib.EngineTypes.endp = _endpos__1_;
36896 MenhirLib.EngineTypes.next = _menhir_stack;
36897 } = _menhir_stack in
36898 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
36899 let _startpos = _startpos__1_ in
36900 let _endpos = _endpos__1_ in
36901 let _v : 'tv_unary_expr_eexpr_invalid_ =
36902 # 1291 "parser_cocci_menhir.mly"
36903 ( _1 )
36904 # 36905 "parser_cocci_menhir.ml"
36905 in
36906 _menhir_env.MenhirLib.EngineTypes.stack <- {
36907 MenhirLib.EngineTypes.state = _menhir_s;
36908 MenhirLib.EngineTypes.semv = Obj.repr _v;
36909 MenhirLib.EngineTypes.startp = _startpos;
36910 MenhirLib.EngineTypes.endp = _endpos;
36911 MenhirLib.EngineTypes.next = _menhir_stack;
36912 });
36913 (fun _menhir_env ->
36914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36915 let {
36916 MenhirLib.EngineTypes.semv = _2;
36917 MenhirLib.EngineTypes.startp = _startpos__2_;
36918 MenhirLib.EngineTypes.endp = _endpos__2_;
36919 MenhirLib.EngineTypes.next = {
36920 MenhirLib.EngineTypes.state = _menhir_s;
36921 MenhirLib.EngineTypes.semv = _1;
36922 MenhirLib.EngineTypes.startp = _startpos__1_;
36923 MenhirLib.EngineTypes.endp = _endpos__1_;
36924 MenhirLib.EngineTypes.next = _menhir_stack;
36925 };
36926 } = _menhir_stack in
36927 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
36928 let _1 : (
36929 # 85 "parser_cocci_menhir.mly"
36930 (Data.clt)
36931 # 36932 "parser_cocci_menhir.ml"
36932 ) = Obj.magic _1 in
36933 let _startpos = _startpos__1_ in
36934 let _endpos = _endpos__2_ in
36935 let _v : 'tv_unary_expr_eexpr_invalid_ =
36936 # 1293 "parser_cocci_menhir.mly"
36937 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
36938 # 36939 "parser_cocci_menhir.ml"
36939 in
36940 _menhir_env.MenhirLib.EngineTypes.stack <- {
36941 MenhirLib.EngineTypes.state = _menhir_s;
36942 MenhirLib.EngineTypes.semv = Obj.repr _v;
36943 MenhirLib.EngineTypes.startp = _startpos;
36944 MenhirLib.EngineTypes.endp = _endpos;
36945 MenhirLib.EngineTypes.next = _menhir_stack;
36946 });
36947 (fun _menhir_env ->
36948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36949 let {
36950 MenhirLib.EngineTypes.semv = _2;
36951 MenhirLib.EngineTypes.startp = _startpos__2_;
36952 MenhirLib.EngineTypes.endp = _endpos__2_;
36953 MenhirLib.EngineTypes.next = {
36954 MenhirLib.EngineTypes.state = _menhir_s;
36955 MenhirLib.EngineTypes.semv = _1;
36956 MenhirLib.EngineTypes.startp = _startpos__1_;
36957 MenhirLib.EngineTypes.endp = _endpos__1_;
36958 MenhirLib.EngineTypes.next = _menhir_stack;
36959 };
36960 } = _menhir_stack in
36961 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
36962 let _1 : (
36963 # 85 "parser_cocci_menhir.mly"
36964 (Data.clt)
36965 # 36966 "parser_cocci_menhir.ml"
36966 ) = Obj.magic _1 in
36967 let _startpos = _startpos__1_ in
36968 let _endpos = _endpos__2_ in
36969 let _v : 'tv_unary_expr_eexpr_invalid_ =
36970 # 1295 "parser_cocci_menhir.mly"
36971 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
36972 # 36973 "parser_cocci_menhir.ml"
36973 in
36974 _menhir_env.MenhirLib.EngineTypes.stack <- {
36975 MenhirLib.EngineTypes.state = _menhir_s;
36976 MenhirLib.EngineTypes.semv = Obj.repr _v;
36977 MenhirLib.EngineTypes.startp = _startpos;
36978 MenhirLib.EngineTypes.endp = _endpos;
36979 MenhirLib.EngineTypes.next = _menhir_stack;
36980 });
36981 (fun _menhir_env ->
36982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36983 let {
36984 MenhirLib.EngineTypes.semv = _2;
36985 MenhirLib.EngineTypes.startp = _startpos__2_;
36986 MenhirLib.EngineTypes.endp = _endpos__2_;
36987 MenhirLib.EngineTypes.next = {
36988 MenhirLib.EngineTypes.state = _menhir_s;
36989 MenhirLib.EngineTypes.semv = _1;
36990 MenhirLib.EngineTypes.startp = _startpos__1_;
36991 MenhirLib.EngineTypes.endp = _endpos__1_;
36992 MenhirLib.EngineTypes.next = _menhir_stack;
36993 };
36994 } = _menhir_stack in
36995 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
36996 let _1 : 'tv_unary_op = Obj.magic _1 in
36997 let _startpos = _startpos__1_ in
36998 let _endpos = _endpos__2_ in
36999 let _v : 'tv_unary_expr_eexpr_invalid_ =
37000 # 1297 "parser_cocci_menhir.mly"
37001 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37002 # 37003 "parser_cocci_menhir.ml"
37003 in
37004 _menhir_env.MenhirLib.EngineTypes.stack <- {
37005 MenhirLib.EngineTypes.state = _menhir_s;
37006 MenhirLib.EngineTypes.semv = Obj.repr _v;
37007 MenhirLib.EngineTypes.startp = _startpos;
37008 MenhirLib.EngineTypes.endp = _endpos;
37009 MenhirLib.EngineTypes.next = _menhir_stack;
37010 });
37011 (fun _menhir_env ->
37012 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37013 let {
37014 MenhirLib.EngineTypes.semv = _2;
37015 MenhirLib.EngineTypes.startp = _startpos__2_;
37016 MenhirLib.EngineTypes.endp = _endpos__2_;
37017 MenhirLib.EngineTypes.next = {
37018 MenhirLib.EngineTypes.state = _menhir_s;
37019 MenhirLib.EngineTypes.semv = _1;
37020 MenhirLib.EngineTypes.startp = _startpos__1_;
37021 MenhirLib.EngineTypes.endp = _endpos__1_;
37022 MenhirLib.EngineTypes.next = _menhir_stack;
37023 };
37024 } = _menhir_stack in
37025 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37026 let _1 : (
37027 # 76 "parser_cocci_menhir.mly"
37028 (Data.clt)
37029 # 37030 "parser_cocci_menhir.ml"
37030 ) = Obj.magic _1 in
37031 let _startpos = _startpos__1_ in
37032 let _endpos = _endpos__2_ in
37033 let _v : 'tv_unary_expr_eexpr_invalid_ =
37034 # 1299 "parser_cocci_menhir.mly"
37035 ( let mcode = P.clt2mcode Ast.Not _1 in
37036 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37037 # 37038 "parser_cocci_menhir.ml"
37038 in
37039 _menhir_env.MenhirLib.EngineTypes.stack <- {
37040 MenhirLib.EngineTypes.state = _menhir_s;
37041 MenhirLib.EngineTypes.semv = Obj.repr _v;
37042 MenhirLib.EngineTypes.startp = _startpos;
37043 MenhirLib.EngineTypes.endp = _endpos;
37044 MenhirLib.EngineTypes.next = _menhir_stack;
37045 });
37046 (fun _menhir_env ->
37047 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37048 let {
37049 MenhirLib.EngineTypes.semv = _2;
37050 MenhirLib.EngineTypes.startp = _startpos__2_;
37051 MenhirLib.EngineTypes.endp = _endpos__2_;
37052 MenhirLib.EngineTypes.next = {
37053 MenhirLib.EngineTypes.state = _menhir_s;
37054 MenhirLib.EngineTypes.semv = _1;
37055 MenhirLib.EngineTypes.startp = _startpos__1_;
37056 MenhirLib.EngineTypes.endp = _endpos__1_;
37057 MenhirLib.EngineTypes.next = _menhir_stack;
37058 };
37059 } = _menhir_stack in
37060 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37061 let _1 : (
37062 # 58 "parser_cocci_menhir.mly"
37063 (Data.clt)
37064 # 37065 "parser_cocci_menhir.ml"
37065 ) = Obj.magic _1 in
37066 let _startpos = _startpos__1_ in
37067 let _endpos = _endpos__2_ in
37068 let _v : 'tv_unary_expr_eexpr_invalid_ =
37069 # 1302 "parser_cocci_menhir.mly"
37070 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37071 # 37072 "parser_cocci_menhir.ml"
37072 in
37073 _menhir_env.MenhirLib.EngineTypes.stack <- {
37074 MenhirLib.EngineTypes.state = _menhir_s;
37075 MenhirLib.EngineTypes.semv = Obj.repr _v;
37076 MenhirLib.EngineTypes.startp = _startpos;
37077 MenhirLib.EngineTypes.endp = _endpos;
37078 MenhirLib.EngineTypes.next = _menhir_stack;
37079 });
37080 (fun _menhir_env ->
37081 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37082 let {
37083 MenhirLib.EngineTypes.semv = rp;
37084 MenhirLib.EngineTypes.startp = _startpos_rp_;
37085 MenhirLib.EngineTypes.endp = _endpos_rp_;
37086 MenhirLib.EngineTypes.next = {
37087 MenhirLib.EngineTypes.semv = t;
37088 MenhirLib.EngineTypes.startp = _startpos_t_;
37089 MenhirLib.EngineTypes.endp = _endpos_t_;
37090 MenhirLib.EngineTypes.next = {
37091 MenhirLib.EngineTypes.semv = lp;
37092 MenhirLib.EngineTypes.startp = _startpos_lp_;
37093 MenhirLib.EngineTypes.endp = _endpos_lp_;
37094 MenhirLib.EngineTypes.next = {
37095 MenhirLib.EngineTypes.state = _menhir_s;
37096 MenhirLib.EngineTypes.semv = s;
37097 MenhirLib.EngineTypes.startp = _startpos_s_;
37098 MenhirLib.EngineTypes.endp = _endpos_s_;
37099 MenhirLib.EngineTypes.next = _menhir_stack;
37100 };
37101 };
37102 };
37103 } = _menhir_stack in
37104 let rp : (
37105 # 77 "parser_cocci_menhir.mly"
37106 (Data.clt)
37107 # 37108 "parser_cocci_menhir.ml"
37108 ) = Obj.magic rp in
37109 let t : 'tv_ctype = Obj.magic t in
37110 let lp : (
37111 # 76 "parser_cocci_menhir.mly"
37112 (Data.clt)
37113 # 37114 "parser_cocci_menhir.ml"
37114 ) = Obj.magic lp in
37115 let s : (
37116 # 58 "parser_cocci_menhir.mly"
37117 (Data.clt)
37118 # 37119 "parser_cocci_menhir.ml"
37119 ) = Obj.magic s in
37120 let _startpos = _startpos_s_ in
37121 let _endpos = _endpos_rp_ in
37122 let _v : 'tv_unary_expr_eexpr_invalid_ =
37123 # 1304 "parser_cocci_menhir.mly"
37124 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37125 P.clt2mcode "(" lp,t,
37126 P.clt2mcode ")" rp)) )
37127 # 37128 "parser_cocci_menhir.ml"
37128 in
37129 _menhir_env.MenhirLib.EngineTypes.stack <- {
37130 MenhirLib.EngineTypes.state = _menhir_s;
37131 MenhirLib.EngineTypes.semv = Obj.repr _v;
37132 MenhirLib.EngineTypes.startp = _startpos;
37133 MenhirLib.EngineTypes.endp = _endpos;
37134 MenhirLib.EngineTypes.next = _menhir_stack;
37135 });
37136 (fun _menhir_env ->
37137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37138 let {
37139 MenhirLib.EngineTypes.state = _menhir_s;
37140 MenhirLib.EngineTypes.semv = _1;
37141 MenhirLib.EngineTypes.startp = _startpos__1_;
37142 MenhirLib.EngineTypes.endp = _endpos__1_;
37143 MenhirLib.EngineTypes.next = _menhir_stack;
37144 } = _menhir_stack in
37145 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
37146 let _startpos = _startpos__1_ in
37147 let _endpos = _endpos__1_ in
37148 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37149 # 1291 "parser_cocci_menhir.mly"
37150 ( _1 )
37151 # 37152 "parser_cocci_menhir.ml"
37152 in
37153 _menhir_env.MenhirLib.EngineTypes.stack <- {
37154 MenhirLib.EngineTypes.state = _menhir_s;
37155 MenhirLib.EngineTypes.semv = Obj.repr _v;
37156 MenhirLib.EngineTypes.startp = _startpos;
37157 MenhirLib.EngineTypes.endp = _endpos;
37158 MenhirLib.EngineTypes.next = _menhir_stack;
37159 });
37160 (fun _menhir_env ->
37161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37162 let {
37163 MenhirLib.EngineTypes.semv = _2;
37164 MenhirLib.EngineTypes.startp = _startpos__2_;
37165 MenhirLib.EngineTypes.endp = _endpos__2_;
37166 MenhirLib.EngineTypes.next = {
37167 MenhirLib.EngineTypes.state = _menhir_s;
37168 MenhirLib.EngineTypes.semv = _1;
37169 MenhirLib.EngineTypes.startp = _startpos__1_;
37170 MenhirLib.EngineTypes.endp = _endpos__1_;
37171 MenhirLib.EngineTypes.next = _menhir_stack;
37172 };
37173 } = _menhir_stack in
37174 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37175 let _1 : (
37176 # 85 "parser_cocci_menhir.mly"
37177 (Data.clt)
37178 # 37179 "parser_cocci_menhir.ml"
37179 ) = Obj.magic _1 in
37180 let _startpos = _startpos__1_ in
37181 let _endpos = _endpos__2_ in
37182 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37183 # 1293 "parser_cocci_menhir.mly"
37184 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37185 # 37186 "parser_cocci_menhir.ml"
37186 in
37187 _menhir_env.MenhirLib.EngineTypes.stack <- {
37188 MenhirLib.EngineTypes.state = _menhir_s;
37189 MenhirLib.EngineTypes.semv = Obj.repr _v;
37190 MenhirLib.EngineTypes.startp = _startpos;
37191 MenhirLib.EngineTypes.endp = _endpos;
37192 MenhirLib.EngineTypes.next = _menhir_stack;
37193 });
37194 (fun _menhir_env ->
37195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37196 let {
37197 MenhirLib.EngineTypes.semv = _2;
37198 MenhirLib.EngineTypes.startp = _startpos__2_;
37199 MenhirLib.EngineTypes.endp = _endpos__2_;
37200 MenhirLib.EngineTypes.next = {
37201 MenhirLib.EngineTypes.state = _menhir_s;
37202 MenhirLib.EngineTypes.semv = _1;
37203 MenhirLib.EngineTypes.startp = _startpos__1_;
37204 MenhirLib.EngineTypes.endp = _endpos__1_;
37205 MenhirLib.EngineTypes.next = _menhir_stack;
37206 };
37207 } = _menhir_stack in
37208 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37209 let _1 : (
37210 # 85 "parser_cocci_menhir.mly"
37211 (Data.clt)
37212 # 37213 "parser_cocci_menhir.ml"
37213 ) = Obj.magic _1 in
37214 let _startpos = _startpos__1_ in
37215 let _endpos = _endpos__2_ in
37216 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37217 # 1295 "parser_cocci_menhir.mly"
37218 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37219 # 37220 "parser_cocci_menhir.ml"
37220 in
37221 _menhir_env.MenhirLib.EngineTypes.stack <- {
37222 MenhirLib.EngineTypes.state = _menhir_s;
37223 MenhirLib.EngineTypes.semv = Obj.repr _v;
37224 MenhirLib.EngineTypes.startp = _startpos;
37225 MenhirLib.EngineTypes.endp = _endpos;
37226 MenhirLib.EngineTypes.next = _menhir_stack;
37227 });
37228 (fun _menhir_env ->
37229 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37230 let {
37231 MenhirLib.EngineTypes.semv = _2;
37232 MenhirLib.EngineTypes.startp = _startpos__2_;
37233 MenhirLib.EngineTypes.endp = _endpos__2_;
37234 MenhirLib.EngineTypes.next = {
37235 MenhirLib.EngineTypes.state = _menhir_s;
37236 MenhirLib.EngineTypes.semv = _1;
37237 MenhirLib.EngineTypes.startp = _startpos__1_;
37238 MenhirLib.EngineTypes.endp = _endpos__1_;
37239 MenhirLib.EngineTypes.next = _menhir_stack;
37240 };
37241 } = _menhir_stack in
37242 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37243 let _1 : 'tv_unary_op = Obj.magic _1 in
37244 let _startpos = _startpos__1_ in
37245 let _endpos = _endpos__2_ in
37246 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37247 # 1297 "parser_cocci_menhir.mly"
37248 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37249 # 37250 "parser_cocci_menhir.ml"
37250 in
37251 _menhir_env.MenhirLib.EngineTypes.stack <- {
37252 MenhirLib.EngineTypes.state = _menhir_s;
37253 MenhirLib.EngineTypes.semv = Obj.repr _v;
37254 MenhirLib.EngineTypes.startp = _startpos;
37255 MenhirLib.EngineTypes.endp = _endpos;
37256 MenhirLib.EngineTypes.next = _menhir_stack;
37257 });
37258 (fun _menhir_env ->
37259 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37260 let {
37261 MenhirLib.EngineTypes.semv = _2;
37262 MenhirLib.EngineTypes.startp = _startpos__2_;
37263 MenhirLib.EngineTypes.endp = _endpos__2_;
37264 MenhirLib.EngineTypes.next = {
37265 MenhirLib.EngineTypes.state = _menhir_s;
37266 MenhirLib.EngineTypes.semv = _1;
37267 MenhirLib.EngineTypes.startp = _startpos__1_;
37268 MenhirLib.EngineTypes.endp = _endpos__1_;
37269 MenhirLib.EngineTypes.next = _menhir_stack;
37270 };
37271 } = _menhir_stack in
37272 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37273 let _1 : (
37274 # 76 "parser_cocci_menhir.mly"
37275 (Data.clt)
37276 # 37277 "parser_cocci_menhir.ml"
37277 ) = Obj.magic _1 in
37278 let _startpos = _startpos__1_ in
37279 let _endpos = _endpos__2_ in
37280 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37281 # 1299 "parser_cocci_menhir.mly"
37282 ( let mcode = P.clt2mcode Ast.Not _1 in
37283 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37284 # 37285 "parser_cocci_menhir.ml"
37285 in
37286 _menhir_env.MenhirLib.EngineTypes.stack <- {
37287 MenhirLib.EngineTypes.state = _menhir_s;
37288 MenhirLib.EngineTypes.semv = Obj.repr _v;
37289 MenhirLib.EngineTypes.startp = _startpos;
37290 MenhirLib.EngineTypes.endp = _endpos;
37291 MenhirLib.EngineTypes.next = _menhir_stack;
37292 });
37293 (fun _menhir_env ->
37294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37295 let {
37296 MenhirLib.EngineTypes.semv = _2;
37297 MenhirLib.EngineTypes.startp = _startpos__2_;
37298 MenhirLib.EngineTypes.endp = _endpos__2_;
37299 MenhirLib.EngineTypes.next = {
37300 MenhirLib.EngineTypes.state = _menhir_s;
37301 MenhirLib.EngineTypes.semv = _1;
37302 MenhirLib.EngineTypes.startp = _startpos__1_;
37303 MenhirLib.EngineTypes.endp = _endpos__1_;
37304 MenhirLib.EngineTypes.next = _menhir_stack;
37305 };
37306 } = _menhir_stack in
37307 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37308 let _1 : (
37309 # 58 "parser_cocci_menhir.mly"
37310 (Data.clt)
37311 # 37312 "parser_cocci_menhir.ml"
37312 ) = Obj.magic _1 in
37313 let _startpos = _startpos__1_ in
37314 let _endpos = _endpos__2_ in
37315 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37316 # 1302 "parser_cocci_menhir.mly"
37317 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37318 # 37319 "parser_cocci_menhir.ml"
37319 in
37320 _menhir_env.MenhirLib.EngineTypes.stack <- {
37321 MenhirLib.EngineTypes.state = _menhir_s;
37322 MenhirLib.EngineTypes.semv = Obj.repr _v;
37323 MenhirLib.EngineTypes.startp = _startpos;
37324 MenhirLib.EngineTypes.endp = _endpos;
37325 MenhirLib.EngineTypes.next = _menhir_stack;
37326 });
37327 (fun _menhir_env ->
37328 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37329 let {
37330 MenhirLib.EngineTypes.semv = rp;
37331 MenhirLib.EngineTypes.startp = _startpos_rp_;
37332 MenhirLib.EngineTypes.endp = _endpos_rp_;
37333 MenhirLib.EngineTypes.next = {
37334 MenhirLib.EngineTypes.semv = t;
37335 MenhirLib.EngineTypes.startp = _startpos_t_;
37336 MenhirLib.EngineTypes.endp = _endpos_t_;
37337 MenhirLib.EngineTypes.next = {
37338 MenhirLib.EngineTypes.semv = lp;
37339 MenhirLib.EngineTypes.startp = _startpos_lp_;
37340 MenhirLib.EngineTypes.endp = _endpos_lp_;
37341 MenhirLib.EngineTypes.next = {
37342 MenhirLib.EngineTypes.state = _menhir_s;
37343 MenhirLib.EngineTypes.semv = s;
37344 MenhirLib.EngineTypes.startp = _startpos_s_;
37345 MenhirLib.EngineTypes.endp = _endpos_s_;
37346 MenhirLib.EngineTypes.next = _menhir_stack;
37347 };
37348 };
37349 };
37350 } = _menhir_stack in
37351 let rp : (
37352 # 77 "parser_cocci_menhir.mly"
37353 (Data.clt)
37354 # 37355 "parser_cocci_menhir.ml"
37355 ) = Obj.magic rp in
37356 let t : 'tv_ctype = Obj.magic t in
37357 let lp : (
37358 # 76 "parser_cocci_menhir.mly"
37359 (Data.clt)
37360 # 37361 "parser_cocci_menhir.ml"
37361 ) = Obj.magic lp in
37362 let s : (
37363 # 58 "parser_cocci_menhir.mly"
37364 (Data.clt)
37365 # 37366 "parser_cocci_menhir.ml"
37366 ) = Obj.magic s in
37367 let _startpos = _startpos_s_ in
37368 let _endpos = _endpos_rp_ in
37369 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37370 # 1304 "parser_cocci_menhir.mly"
37371 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37372 P.clt2mcode "(" lp,t,
37373 P.clt2mcode ")" rp)) )
37374 # 37375 "parser_cocci_menhir.ml"
37375 in
37376 _menhir_env.MenhirLib.EngineTypes.stack <- {
37377 MenhirLib.EngineTypes.state = _menhir_s;
37378 MenhirLib.EngineTypes.semv = Obj.repr _v;
37379 MenhirLib.EngineTypes.startp = _startpos;
37380 MenhirLib.EngineTypes.endp = _endpos;
37381 MenhirLib.EngineTypes.next = _menhir_stack;
37382 });
37383 (fun _menhir_env ->
37384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37385 let {
37386 MenhirLib.EngineTypes.state = _menhir_s;
37387 MenhirLib.EngineTypes.semv = _1;
37388 MenhirLib.EngineTypes.startp = _startpos__1_;
37389 MenhirLib.EngineTypes.endp = _endpos__1_;
37390 MenhirLib.EngineTypes.next = _menhir_stack;
37391 } = _menhir_stack in
37392 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
37393 let _startpos = _startpos__1_ in
37394 let _endpos = _endpos__1_ in
37395 let _v : 'tv_unary_expr_expr_invalid_ =
37396 # 1291 "parser_cocci_menhir.mly"
37397 ( _1 )
37398 # 37399 "parser_cocci_menhir.ml"
37399 in
37400 _menhir_env.MenhirLib.EngineTypes.stack <- {
37401 MenhirLib.EngineTypes.state = _menhir_s;
37402 MenhirLib.EngineTypes.semv = Obj.repr _v;
37403 MenhirLib.EngineTypes.startp = _startpos;
37404 MenhirLib.EngineTypes.endp = _endpos;
37405 MenhirLib.EngineTypes.next = _menhir_stack;
37406 });
37407 (fun _menhir_env ->
37408 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37409 let {
37410 MenhirLib.EngineTypes.semv = _2;
37411 MenhirLib.EngineTypes.startp = _startpos__2_;
37412 MenhirLib.EngineTypes.endp = _endpos__2_;
37413 MenhirLib.EngineTypes.next = {
37414 MenhirLib.EngineTypes.state = _menhir_s;
37415 MenhirLib.EngineTypes.semv = _1;
37416 MenhirLib.EngineTypes.startp = _startpos__1_;
37417 MenhirLib.EngineTypes.endp = _endpos__1_;
37418 MenhirLib.EngineTypes.next = _menhir_stack;
37419 };
37420 } = _menhir_stack in
37421 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37422 let _1 : (
37423 # 85 "parser_cocci_menhir.mly"
37424 (Data.clt)
37425 # 37426 "parser_cocci_menhir.ml"
37426 ) = Obj.magic _1 in
37427 let _startpos = _startpos__1_ in
37428 let _endpos = _endpos__2_ in
37429 let _v : 'tv_unary_expr_expr_invalid_ =
37430 # 1293 "parser_cocci_menhir.mly"
37431 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37432 # 37433 "parser_cocci_menhir.ml"
37433 in
37434 _menhir_env.MenhirLib.EngineTypes.stack <- {
37435 MenhirLib.EngineTypes.state = _menhir_s;
37436 MenhirLib.EngineTypes.semv = Obj.repr _v;
37437 MenhirLib.EngineTypes.startp = _startpos;
37438 MenhirLib.EngineTypes.endp = _endpos;
37439 MenhirLib.EngineTypes.next = _menhir_stack;
37440 });
37441 (fun _menhir_env ->
37442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37443 let {
37444 MenhirLib.EngineTypes.semv = _2;
37445 MenhirLib.EngineTypes.startp = _startpos__2_;
37446 MenhirLib.EngineTypes.endp = _endpos__2_;
37447 MenhirLib.EngineTypes.next = {
37448 MenhirLib.EngineTypes.state = _menhir_s;
37449 MenhirLib.EngineTypes.semv = _1;
37450 MenhirLib.EngineTypes.startp = _startpos__1_;
37451 MenhirLib.EngineTypes.endp = _endpos__1_;
37452 MenhirLib.EngineTypes.next = _menhir_stack;
37453 };
37454 } = _menhir_stack in
37455 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37456 let _1 : (
37457 # 85 "parser_cocci_menhir.mly"
37458 (Data.clt)
37459 # 37460 "parser_cocci_menhir.ml"
37460 ) = Obj.magic _1 in
37461 let _startpos = _startpos__1_ in
37462 let _endpos = _endpos__2_ in
37463 let _v : 'tv_unary_expr_expr_invalid_ =
37464 # 1295 "parser_cocci_menhir.mly"
37465 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37466 # 37467 "parser_cocci_menhir.ml"
37467 in
37468 _menhir_env.MenhirLib.EngineTypes.stack <- {
37469 MenhirLib.EngineTypes.state = _menhir_s;
37470 MenhirLib.EngineTypes.semv = Obj.repr _v;
37471 MenhirLib.EngineTypes.startp = _startpos;
37472 MenhirLib.EngineTypes.endp = _endpos;
37473 MenhirLib.EngineTypes.next = _menhir_stack;
37474 });
37475 (fun _menhir_env ->
37476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37477 let {
37478 MenhirLib.EngineTypes.semv = _2;
37479 MenhirLib.EngineTypes.startp = _startpos__2_;
37480 MenhirLib.EngineTypes.endp = _endpos__2_;
37481 MenhirLib.EngineTypes.next = {
37482 MenhirLib.EngineTypes.state = _menhir_s;
37483 MenhirLib.EngineTypes.semv = _1;
37484 MenhirLib.EngineTypes.startp = _startpos__1_;
37485 MenhirLib.EngineTypes.endp = _endpos__1_;
37486 MenhirLib.EngineTypes.next = _menhir_stack;
37487 };
37488 } = _menhir_stack in
37489 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
37490 let _1 : 'tv_unary_op = Obj.magic _1 in
37491 let _startpos = _startpos__1_ in
37492 let _endpos = _endpos__2_ in
37493 let _v : 'tv_unary_expr_expr_invalid_ =
37494 # 1297 "parser_cocci_menhir.mly"
37495 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37496 # 37497 "parser_cocci_menhir.ml"
37497 in
37498 _menhir_env.MenhirLib.EngineTypes.stack <- {
37499 MenhirLib.EngineTypes.state = _menhir_s;
37500 MenhirLib.EngineTypes.semv = Obj.repr _v;
37501 MenhirLib.EngineTypes.startp = _startpos;
37502 MenhirLib.EngineTypes.endp = _endpos;
37503 MenhirLib.EngineTypes.next = _menhir_stack;
37504 });
37505 (fun _menhir_env ->
37506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37507 let {
37508 MenhirLib.EngineTypes.semv = _2;
37509 MenhirLib.EngineTypes.startp = _startpos__2_;
37510 MenhirLib.EngineTypes.endp = _endpos__2_;
37511 MenhirLib.EngineTypes.next = {
37512 MenhirLib.EngineTypes.state = _menhir_s;
37513 MenhirLib.EngineTypes.semv = _1;
37514 MenhirLib.EngineTypes.startp = _startpos__1_;
37515 MenhirLib.EngineTypes.endp = _endpos__1_;
37516 MenhirLib.EngineTypes.next = _menhir_stack;
37517 };
37518 } = _menhir_stack in
37519 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37520 let _1 : (
37521 # 76 "parser_cocci_menhir.mly"
37522 (Data.clt)
37523 # 37524 "parser_cocci_menhir.ml"
37524 ) = Obj.magic _1 in
37525 let _startpos = _startpos__1_ in
37526 let _endpos = _endpos__2_ in
37527 let _v : 'tv_unary_expr_expr_invalid_ =
37528 # 1299 "parser_cocci_menhir.mly"
37529 ( let mcode = P.clt2mcode Ast.Not _1 in
37530 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37531 # 37532 "parser_cocci_menhir.ml"
37532 in
37533 _menhir_env.MenhirLib.EngineTypes.stack <- {
37534 MenhirLib.EngineTypes.state = _menhir_s;
37535 MenhirLib.EngineTypes.semv = Obj.repr _v;
37536 MenhirLib.EngineTypes.startp = _startpos;
37537 MenhirLib.EngineTypes.endp = _endpos;
37538 MenhirLib.EngineTypes.next = _menhir_stack;
37539 });
37540 (fun _menhir_env ->
37541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37542 let {
37543 MenhirLib.EngineTypes.semv = _2;
37544 MenhirLib.EngineTypes.startp = _startpos__2_;
37545 MenhirLib.EngineTypes.endp = _endpos__2_;
37546 MenhirLib.EngineTypes.next = {
37547 MenhirLib.EngineTypes.state = _menhir_s;
37548 MenhirLib.EngineTypes.semv = _1;
37549 MenhirLib.EngineTypes.startp = _startpos__1_;
37550 MenhirLib.EngineTypes.endp = _endpos__1_;
37551 MenhirLib.EngineTypes.next = _menhir_stack;
37552 };
37553 } = _menhir_stack in
37554 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37555 let _1 : (
37556 # 58 "parser_cocci_menhir.mly"
37557 (Data.clt)
37558 # 37559 "parser_cocci_menhir.ml"
37559 ) = Obj.magic _1 in
37560 let _startpos = _startpos__1_ in
37561 let _endpos = _endpos__2_ in
37562 let _v : 'tv_unary_expr_expr_invalid_ =
37563 # 1302 "parser_cocci_menhir.mly"
37564 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37565 # 37566 "parser_cocci_menhir.ml"
37566 in
37567 _menhir_env.MenhirLib.EngineTypes.stack <- {
37568 MenhirLib.EngineTypes.state = _menhir_s;
37569 MenhirLib.EngineTypes.semv = Obj.repr _v;
37570 MenhirLib.EngineTypes.startp = _startpos;
37571 MenhirLib.EngineTypes.endp = _endpos;
37572 MenhirLib.EngineTypes.next = _menhir_stack;
37573 });
37574 (fun _menhir_env ->
37575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37576 let {
37577 MenhirLib.EngineTypes.semv = rp;
37578 MenhirLib.EngineTypes.startp = _startpos_rp_;
37579 MenhirLib.EngineTypes.endp = _endpos_rp_;
37580 MenhirLib.EngineTypes.next = {
37581 MenhirLib.EngineTypes.semv = t;
37582 MenhirLib.EngineTypes.startp = _startpos_t_;
37583 MenhirLib.EngineTypes.endp = _endpos_t_;
37584 MenhirLib.EngineTypes.next = {
37585 MenhirLib.EngineTypes.semv = lp;
37586 MenhirLib.EngineTypes.startp = _startpos_lp_;
37587 MenhirLib.EngineTypes.endp = _endpos_lp_;
37588 MenhirLib.EngineTypes.next = {
37589 MenhirLib.EngineTypes.state = _menhir_s;
37590 MenhirLib.EngineTypes.semv = s;
37591 MenhirLib.EngineTypes.startp = _startpos_s_;
37592 MenhirLib.EngineTypes.endp = _endpos_s_;
37593 MenhirLib.EngineTypes.next = _menhir_stack;
37594 };
37595 };
37596 };
37597 } = _menhir_stack in
37598 let rp : (
37599 # 77 "parser_cocci_menhir.mly"
37600 (Data.clt)
37601 # 37602 "parser_cocci_menhir.ml"
37602 ) = Obj.magic rp in
37603 let t : 'tv_ctype = Obj.magic t in
37604 let lp : (
37605 # 76 "parser_cocci_menhir.mly"
37606 (Data.clt)
37607 # 37608 "parser_cocci_menhir.ml"
37608 ) = Obj.magic lp in
37609 let s : (
37610 # 58 "parser_cocci_menhir.mly"
37611 (Data.clt)
37612 # 37613 "parser_cocci_menhir.ml"
37613 ) = Obj.magic s in
37614 let _startpos = _startpos_s_ in
37615 let _endpos = _endpos_rp_ in
37616 let _v : 'tv_unary_expr_expr_invalid_ =
37617 # 1304 "parser_cocci_menhir.mly"
37618 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37619 P.clt2mcode "(" lp,t,
37620 P.clt2mcode ")" rp)) )
37621 # 37622 "parser_cocci_menhir.ml"
37622 in
37623 _menhir_env.MenhirLib.EngineTypes.stack <- {
37624 MenhirLib.EngineTypes.state = _menhir_s;
37625 MenhirLib.EngineTypes.semv = Obj.repr _v;
37626 MenhirLib.EngineTypes.startp = _startpos;
37627 MenhirLib.EngineTypes.endp = _endpos;
37628 MenhirLib.EngineTypes.next = _menhir_stack;
37629 });
37630 (fun _menhir_env ->
37631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37632 let {
37633 MenhirLib.EngineTypes.state = _menhir_s;
37634 MenhirLib.EngineTypes.semv = _1;
37635 MenhirLib.EngineTypes.startp = _startpos__1_;
37636 MenhirLib.EngineTypes.endp = _endpos__1_;
37637 MenhirLib.EngineTypes.next = _menhir_stack;
37638 } = _menhir_stack in
37639 let _1 : (
37640 # 93 "parser_cocci_menhir.mly"
37641 (Data.clt)
37642 # 37643 "parser_cocci_menhir.ml"
37643 ) = Obj.magic _1 in
37644 let _startpos = _startpos__1_ in
37645 let _endpos = _endpos__1_ in
37646 let _v : 'tv_unary_op =
37647 # 1308 "parser_cocci_menhir.mly"
37648 ( P.clt2mcode Ast.GetRef _1 )
37649 # 37650 "parser_cocci_menhir.ml"
37650 in
37651 _menhir_env.MenhirLib.EngineTypes.stack <- {
37652 MenhirLib.EngineTypes.state = _menhir_s;
37653 MenhirLib.EngineTypes.semv = Obj.repr _v;
37654 MenhirLib.EngineTypes.startp = _startpos;
37655 MenhirLib.EngineTypes.endp = _endpos;
37656 MenhirLib.EngineTypes.next = _menhir_stack;
37657 });
37658 (fun _menhir_env ->
37659 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37660 let {
37661 MenhirLib.EngineTypes.state = _menhir_s;
37662 MenhirLib.EngineTypes.semv = _1;
37663 MenhirLib.EngineTypes.startp = _startpos__1_;
37664 MenhirLib.EngineTypes.endp = _endpos__1_;
37665 MenhirLib.EngineTypes.next = _menhir_stack;
37666 } = _menhir_stack in
37667 let _1 : (
37668 # 99 "parser_cocci_menhir.mly"
37669 (Data.clt)
37670 # 37671 "parser_cocci_menhir.ml"
37671 ) = Obj.magic _1 in
37672 let _startpos = _startpos__1_ in
37673 let _endpos = _endpos__1_ in
37674 let _v : 'tv_unary_op =
37675 # 1309 "parser_cocci_menhir.mly"
37676 ( P.clt2mcode Ast.DeRef _1 )
37677 # 37678 "parser_cocci_menhir.ml"
37678 in
37679 _menhir_env.MenhirLib.EngineTypes.stack <- {
37680 MenhirLib.EngineTypes.state = _menhir_s;
37681 MenhirLib.EngineTypes.semv = Obj.repr _v;
37682 MenhirLib.EngineTypes.startp = _startpos;
37683 MenhirLib.EngineTypes.endp = _endpos;
37684 MenhirLib.EngineTypes.next = _menhir_stack;
37685 });
37686 (fun _menhir_env ->
37687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37688 let {
37689 MenhirLib.EngineTypes.state = _menhir_s;
37690 MenhirLib.EngineTypes.semv = _1;
37691 MenhirLib.EngineTypes.startp = _startpos__1_;
37692 MenhirLib.EngineTypes.endp = _endpos__1_;
37693 MenhirLib.EngineTypes.next = _menhir_stack;
37694 } = _menhir_stack in
37695 let _1 : (
37696 # 98 "parser_cocci_menhir.mly"
37697 (Data.clt)
37698 # 37699 "parser_cocci_menhir.ml"
37699 ) = Obj.magic _1 in
37700 let _startpos = _startpos__1_ in
37701 let _endpos = _endpos__1_ in
37702 let _v : 'tv_unary_op =
37703 # 1310 "parser_cocci_menhir.mly"
37704 ( P.clt2mcode Ast.UnPlus _1 )
37705 # 37706 "parser_cocci_menhir.ml"
37706 in
37707 _menhir_env.MenhirLib.EngineTypes.stack <- {
37708 MenhirLib.EngineTypes.state = _menhir_s;
37709 MenhirLib.EngineTypes.semv = Obj.repr _v;
37710 MenhirLib.EngineTypes.startp = _startpos;
37711 MenhirLib.EngineTypes.endp = _endpos;
37712 MenhirLib.EngineTypes.next = _menhir_stack;
37713 });
37714 (fun _menhir_env ->
37715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37716 let {
37717 MenhirLib.EngineTypes.state = _menhir_s;
37718 MenhirLib.EngineTypes.semv = _1;
37719 MenhirLib.EngineTypes.startp = _startpos__1_;
37720 MenhirLib.EngineTypes.endp = _endpos__1_;
37721 MenhirLib.EngineTypes.next = _menhir_stack;
37722 } = _menhir_stack in
37723 let _1 : (
37724 # 98 "parser_cocci_menhir.mly"
37725 (Data.clt)
37726 # 37727 "parser_cocci_menhir.ml"
37727 ) = Obj.magic _1 in
37728 let _startpos = _startpos__1_ in
37729 let _endpos = _endpos__1_ in
37730 let _v : 'tv_unary_op =
37731 # 1311 "parser_cocci_menhir.mly"
37732 ( P.clt2mcode Ast.UnMinus _1 )
37733 # 37734 "parser_cocci_menhir.ml"
37734 in
37735 _menhir_env.MenhirLib.EngineTypes.stack <- {
37736 MenhirLib.EngineTypes.state = _menhir_s;
37737 MenhirLib.EngineTypes.semv = Obj.repr _v;
37738 MenhirLib.EngineTypes.startp = _startpos;
37739 MenhirLib.EngineTypes.endp = _endpos;
37740 MenhirLib.EngineTypes.next = _menhir_stack;
37741 });
37742 (fun _menhir_env ->
37743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37744 let {
37745 MenhirLib.EngineTypes.state = _menhir_s;
37746 MenhirLib.EngineTypes.semv = _1;
37747 MenhirLib.EngineTypes.startp = _startpos__1_;
37748 MenhirLib.EngineTypes.endp = _endpos__1_;
37749 MenhirLib.EngineTypes.next = _menhir_stack;
37750 } = _menhir_stack in
37751 let _1 : (
37752 # 99 "parser_cocci_menhir.mly"
37753 (Data.clt)
37754 # 37755 "parser_cocci_menhir.ml"
37755 ) = Obj.magic _1 in
37756 let _startpos = _startpos__1_ in
37757 let _endpos = _endpos__1_ in
37758 let _v : 'tv_unary_op =
37759 # 1312 "parser_cocci_menhir.mly"
37760 ( P.clt2mcode Ast.Tilde _1 )
37761 # 37762 "parser_cocci_menhir.ml"
37762 in
37763 _menhir_env.MenhirLib.EngineTypes.stack <- {
37764 MenhirLib.EngineTypes.state = _menhir_s;
37765 MenhirLib.EngineTypes.semv = Obj.repr _v;
37766 MenhirLib.EngineTypes.startp = _startpos;
37767 MenhirLib.EngineTypes.endp = _endpos;
37768 MenhirLib.EngineTypes.next = _menhir_stack;
37769 });
37770 (fun _menhir_env ->
37771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37772 let {
37773 MenhirLib.EngineTypes.semv = _2;
37774 MenhirLib.EngineTypes.startp = _startpos__2_;
37775 MenhirLib.EngineTypes.endp = _endpos__2_;
37776 MenhirLib.EngineTypes.next = {
37777 MenhirLib.EngineTypes.state = _menhir_s;
37778 MenhirLib.EngineTypes.semv = _1;
37779 MenhirLib.EngineTypes.startp = _startpos__1_;
37780 MenhirLib.EngineTypes.endp = _endpos__1_;
37781 MenhirLib.EngineTypes.next = _menhir_stack;
37782 };
37783 } = _menhir_stack in
37784 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
37785 let _1 : 'tv_expr = Obj.magic _1 in
37786 let _startpos = _startpos__1_ in
37787 let _endpos = _endpos__2_ in
37788 let _v : 'tv_when_start =
37789 # 1819 "parser_cocci_menhir.mly"
37790 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
37791 # 37792 "parser_cocci_menhir.ml"
37792 in
37793 _menhir_env.MenhirLib.EngineTypes.stack <- {
37794 MenhirLib.EngineTypes.state = _menhir_s;
37795 MenhirLib.EngineTypes.semv = Obj.repr _v;
37796 MenhirLib.EngineTypes.startp = _startpos;
37797 MenhirLib.EngineTypes.endp = _endpos;
37798 MenhirLib.EngineTypes.next = _menhir_stack;
37799 });
37800 (fun _menhir_env ->
37801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37802 let {
37803 MenhirLib.EngineTypes.semv = _2;
37804 MenhirLib.EngineTypes.startp = _startpos__2_;
37805 MenhirLib.EngineTypes.endp = _endpos__2_;
37806 MenhirLib.EngineTypes.next = {
37807 MenhirLib.EngineTypes.state = _menhir_s;
37808 MenhirLib.EngineTypes.semv = _1;
37809 MenhirLib.EngineTypes.startp = _startpos__1_;
37810 MenhirLib.EngineTypes.endp = _endpos__1_;
37811 MenhirLib.EngineTypes.next = _menhir_stack;
37812 };
37813 } = _menhir_stack in
37814 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
37815 let _1 : 'tv_decl_statement = Obj.magic _1 in
37816 let _startpos = _startpos__1_ in
37817 let _endpos = _endpos__2_ in
37818 let _v : 'tv_when_start =
37819 # 1821 "parser_cocci_menhir.mly"
37820 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
37821 # 37822 "parser_cocci_menhir.ml"
37822 in
37823 _menhir_env.MenhirLib.EngineTypes.stack <- {
37824 MenhirLib.EngineTypes.state = _menhir_s;
37825 MenhirLib.EngineTypes.semv = Obj.repr _v;
37826 MenhirLib.EngineTypes.startp = _startpos;
37827 MenhirLib.EngineTypes.endp = _endpos;
37828 MenhirLib.EngineTypes.next = _menhir_stack;
37829 });
37830 (fun _menhir_env ->
37831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37832 let {
37833 MenhirLib.EngineTypes.state = _menhir_s;
37834 MenhirLib.EngineTypes.semv = w;
37835 MenhirLib.EngineTypes.startp = _startpos_w_;
37836 MenhirLib.EngineTypes.endp = _endpos_w_;
37837 MenhirLib.EngineTypes.next = _menhir_stack;
37838 } = _menhir_stack in
37839 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
37840 let _startpos = _startpos_w_ in
37841 let _endpos = _endpos_w_ in
37842 let _v : 'tv_whenppdecs =
37843 # 894 "parser_cocci_menhir.mly"
37844 ( w )
37845 # 37846 "parser_cocci_menhir.ml"
37846 in
37847 _menhir_env.MenhirLib.EngineTypes.stack <- {
37848 MenhirLib.EngineTypes.state = _menhir_s;
37849 MenhirLib.EngineTypes.semv = Obj.repr _v;
37850 MenhirLib.EngineTypes.startp = _startpos;
37851 MenhirLib.EngineTypes.endp = _endpos;
37852 MenhirLib.EngineTypes.next = _menhir_stack;
37853 });
37854 (fun _menhir_env ->
37855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37856 let {
37857 MenhirLib.EngineTypes.startp = _startpos__4_;
37858 MenhirLib.EngineTypes.endp = _endpos__4_;
37859 MenhirLib.EngineTypes.next = {
37860 MenhirLib.EngineTypes.semv = w;
37861 MenhirLib.EngineTypes.startp = _startpos_w_;
37862 MenhirLib.EngineTypes.endp = _endpos_w_;
37863 MenhirLib.EngineTypes.next = {
37864 MenhirLib.EngineTypes.startp = _startpos__2_;
37865 MenhirLib.EngineTypes.endp = _endpos__2_;
37866 MenhirLib.EngineTypes.next = {
37867 MenhirLib.EngineTypes.state = _menhir_s;
37868 MenhirLib.EngineTypes.startp = _startpos__1_;
37869 MenhirLib.EngineTypes.endp = _endpos__1_;
37870 MenhirLib.EngineTypes.next = _menhir_stack;
37871 };
37872 };
37873 };
37874 } = _menhir_stack in
37875 let w : 'tv_when_start = Obj.magic w in
37876 let _startpos = _startpos__1_ in
37877 let _endpos = _endpos__4_ in
37878 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37879 # 1887 "parser_cocci_menhir.mly"
37880 ( [Ast0.WhenNot w] )
37881 # 37882 "parser_cocci_menhir.ml"
37882 in
37883 _menhir_env.MenhirLib.EngineTypes.stack <- {
37884 MenhirLib.EngineTypes.state = _menhir_s;
37885 MenhirLib.EngineTypes.semv = Obj.repr _v;
37886 MenhirLib.EngineTypes.startp = _startpos;
37887 MenhirLib.EngineTypes.endp = _endpos;
37888 MenhirLib.EngineTypes.next = _menhir_stack;
37889 });
37890 (fun _menhir_env ->
37891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37892 let {
37893 MenhirLib.EngineTypes.startp = _startpos__4_;
37894 MenhirLib.EngineTypes.endp = _endpos__4_;
37895 MenhirLib.EngineTypes.next = {
37896 MenhirLib.EngineTypes.semv = w;
37897 MenhirLib.EngineTypes.startp = _startpos_w_;
37898 MenhirLib.EngineTypes.endp = _endpos_w_;
37899 MenhirLib.EngineTypes.next = {
37900 MenhirLib.EngineTypes.startp = _startpos__2_;
37901 MenhirLib.EngineTypes.endp = _endpos__2_;
37902 MenhirLib.EngineTypes.next = {
37903 MenhirLib.EngineTypes.state = _menhir_s;
37904 MenhirLib.EngineTypes.startp = _startpos__1_;
37905 MenhirLib.EngineTypes.endp = _endpos__1_;
37906 MenhirLib.EngineTypes.next = _menhir_stack;
37907 };
37908 };
37909 };
37910 } = _menhir_stack in
37911 let w : 'tv_rule_elem_statement = Obj.magic w in
37912 let _startpos = _startpos__1_ in
37913 let _endpos = _endpos__4_ in
37914 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37915 # 1888 "parser_cocci_menhir.mly"
37916 ( [Ast0.WhenAlways w] )
37917 # 37918 "parser_cocci_menhir.ml"
37918 in
37919 _menhir_env.MenhirLib.EngineTypes.stack <- {
37920 MenhirLib.EngineTypes.state = _menhir_s;
37921 MenhirLib.EngineTypes.semv = Obj.repr _v;
37922 MenhirLib.EngineTypes.startp = _startpos;
37923 MenhirLib.EngineTypes.endp = _endpos;
37924 MenhirLib.EngineTypes.next = _menhir_stack;
37925 });
37926 (fun _menhir_env ->
37927 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37928 let {
37929 MenhirLib.EngineTypes.startp = _startpos__3_;
37930 MenhirLib.EngineTypes.endp = _endpos__3_;
37931 MenhirLib.EngineTypes.next = {
37932 MenhirLib.EngineTypes.semv = _2;
37933 MenhirLib.EngineTypes.startp = _startpos__2_;
37934 MenhirLib.EngineTypes.endp = _endpos__2_;
37935 MenhirLib.EngineTypes.next = {
37936 MenhirLib.EngineTypes.state = _menhir_s;
37937 MenhirLib.EngineTypes.startp = _startpos__1_;
37938 MenhirLib.EngineTypes.endp = _endpos__1_;
37939 MenhirLib.EngineTypes.next = _menhir_stack;
37940 };
37941 };
37942 } = _menhir_stack in
37943 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
37944 let _startpos = _startpos__1_ in
37945 let _endpos = _endpos__3_ in
37946 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37947 # 1890 "parser_cocci_menhir.mly"
37948 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
37949 # 37950 "parser_cocci_menhir.ml"
37950 in
37951 _menhir_env.MenhirLib.EngineTypes.stack <- {
37952 MenhirLib.EngineTypes.state = _menhir_s;
37953 MenhirLib.EngineTypes.semv = Obj.repr _v;
37954 MenhirLib.EngineTypes.startp = _startpos;
37955 MenhirLib.EngineTypes.endp = _endpos;
37956 MenhirLib.EngineTypes.next = _menhir_stack;
37957 });
37958 (fun _menhir_env ->
37959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37960 let {
37961 MenhirLib.EngineTypes.startp = _startpos__4_;
37962 MenhirLib.EngineTypes.endp = _endpos__4_;
37963 MenhirLib.EngineTypes.next = {
37964 MenhirLib.EngineTypes.semv = e;
37965 MenhirLib.EngineTypes.startp = _startpos_e_;
37966 MenhirLib.EngineTypes.endp = _endpos_e_;
37967 MenhirLib.EngineTypes.next = {
37968 MenhirLib.EngineTypes.startp = _startpos__2_;
37969 MenhirLib.EngineTypes.endp = _endpos__2_;
37970 MenhirLib.EngineTypes.next = {
37971 MenhirLib.EngineTypes.state = _menhir_s;
37972 MenhirLib.EngineTypes.startp = _startpos__1_;
37973 MenhirLib.EngineTypes.endp = _endpos__1_;
37974 MenhirLib.EngineTypes.next = _menhir_stack;
37975 };
37976 };
37977 };
37978 } = _menhir_stack in
37979 let e : 'tv_eexpr = Obj.magic e in
37980 let _startpos = _startpos__1_ in
37981 let _endpos = _endpos__4_ in
37982 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
37983 # 1891 "parser_cocci_menhir.mly"
37984 ( [Ast0.WhenNotTrue e] )
37985 # 37986 "parser_cocci_menhir.ml"
37986 in
37987 _menhir_env.MenhirLib.EngineTypes.stack <- {
37988 MenhirLib.EngineTypes.state = _menhir_s;
37989 MenhirLib.EngineTypes.semv = Obj.repr _v;
37990 MenhirLib.EngineTypes.startp = _startpos;
37991 MenhirLib.EngineTypes.endp = _endpos;
37992 MenhirLib.EngineTypes.next = _menhir_stack;
37993 });
37994 (fun _menhir_env ->
37995 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37996 let {
37997 MenhirLib.EngineTypes.startp = _startpos__4_;
37998 MenhirLib.EngineTypes.endp = _endpos__4_;
37999 MenhirLib.EngineTypes.next = {
38000 MenhirLib.EngineTypes.semv = e;
38001 MenhirLib.EngineTypes.startp = _startpos_e_;
38002 MenhirLib.EngineTypes.endp = _endpos_e_;
38003 MenhirLib.EngineTypes.next = {
38004 MenhirLib.EngineTypes.startp = _startpos__2_;
38005 MenhirLib.EngineTypes.endp = _endpos__2_;
38006 MenhirLib.EngineTypes.next = {
38007 MenhirLib.EngineTypes.state = _menhir_s;
38008 MenhirLib.EngineTypes.startp = _startpos__1_;
38009 MenhirLib.EngineTypes.endp = _endpos__1_;
38010 MenhirLib.EngineTypes.next = _menhir_stack;
38011 };
38012 };
38013 };
38014 } = _menhir_stack in
38015 let e : 'tv_eexpr = Obj.magic e in
38016 let _startpos = _startpos__1_ in
38017 let _endpos = _endpos__4_ in
38018 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38019 # 1892 "parser_cocci_menhir.mly"
38020 ( [Ast0.WhenNotFalse e] )
38021 # 38022 "parser_cocci_menhir.ml"
38022 in
38023 _menhir_env.MenhirLib.EngineTypes.stack <- {
38024 MenhirLib.EngineTypes.state = _menhir_s;
38025 MenhirLib.EngineTypes.semv = Obj.repr _v;
38026 MenhirLib.EngineTypes.startp = _startpos;
38027 MenhirLib.EngineTypes.endp = _endpos;
38028 MenhirLib.EngineTypes.next = _menhir_stack;
38029 });
38030 |]
38031
38032 let recovery =
38033 false
38034
38035 let trace =
38036 None
38037
38038 end)
38039
38040 let rec script_meta_main =
38041 fun lexer lexbuf ->
38042 (Obj.magic (MenhirInterpreter.entry 1794 lexer lexbuf) : (
38043 # 159 "parser_cocci_menhir.mly"
38044 (string * (string * string))
38045 # 38046 "parser_cocci_menhir.ml"
38046 ))
38047
38048 and rule_name =
38049 fun lexer lexbuf ->
38050 (Obj.magic (MenhirInterpreter.entry 1724 lexer lexbuf) : (
38051 # 153 "parser_cocci_menhir.mly"
38052 (Ast_cocci.rulename)
38053 # 38054 "parser_cocci_menhir.ml"
38054 ))
38055
38056 and reinit =
38057 fun lexer lexbuf ->
38058 (Obj.magic (MenhirInterpreter.entry 1722 lexer lexbuf) : (
38059 # 131 "parser_cocci_menhir.mly"
38060 (unit)
38061 # 38062 "parser_cocci_menhir.ml"
38062 ))
38063
38064 and plus_main =
38065 fun lexer lexbuf ->
38066 (Obj.magic (MenhirInterpreter.entry 1686 lexer lexbuf) : (
38067 # 140 "parser_cocci_menhir.mly"
38068 (Ast0_cocci.rule)
38069 # 38070 "parser_cocci_menhir.ml"
38070 ))
38071
38072 and plus_exp_main =
38073 fun lexer lexbuf ->
38074 (Obj.magic (MenhirInterpreter.entry 1678 lexer lexbuf) : (
38075 # 143 "parser_cocci_menhir.mly"
38076 (Ast0_cocci.rule)
38077 # 38078 "parser_cocci_menhir.ml"
38078 ))
38079
38080 and never_used =
38081 fun lexer lexbuf ->
38082 (Obj.magic (MenhirInterpreter.entry 1672 lexer lexbuf) : (
38083 # 168 "parser_cocci_menhir.mly"
38084 (unit)
38085 # 38086 "parser_cocci_menhir.ml"
38086 ))
38087
38088 and minus_main =
38089 fun lexer lexbuf ->
38090 (Obj.magic (MenhirInterpreter.entry 1592 lexer lexbuf) : (
38091 # 134 "parser_cocci_menhir.mly"
38092 (Ast0_cocci.rule)
38093 # 38094 "parser_cocci_menhir.ml"
38094 ))
38095
38096 and minus_exp_main =
38097 fun lexer lexbuf ->
38098 (Obj.magic (MenhirInterpreter.entry 1580 lexer lexbuf) : (
38099 # 137 "parser_cocci_menhir.mly"
38100 (Ast0_cocci.rule)
38101 # 38102 "parser_cocci_menhir.ml"
38102 ))
38103
38104 and meta_main =
38105 fun lexer lexbuf ->
38106 (Obj.magic (MenhirInterpreter.entry 1577 lexer lexbuf) : (
38107 # 157 "parser_cocci_menhir.mly"
38108 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38109 # 38110 "parser_cocci_menhir.ml"
38110 ))
38111
38112 and iso_rule_name =
38113 fun lexer lexbuf ->
38114 (Obj.magic (MenhirInterpreter.entry 1573 lexer lexbuf) : (
38115 # 149 "parser_cocci_menhir.mly"
38116 (Ast_cocci.rulename)
38117 # 38118 "parser_cocci_menhir.ml"
38118 ))
38119
38120 and iso_meta_main =
38121 fun lexer lexbuf ->
38122 (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : (
38123 # 165 "parser_cocci_menhir.mly"
38124 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38125 # 38126 "parser_cocci_menhir.ml"
38126 ))
38127
38128 and iso_main =
38129 fun lexer lexbuf ->
38130 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
38131 # 162 "parser_cocci_menhir.mly"
38132 (Ast0_cocci.anything list list)
38133 # 38134 "parser_cocci_menhir.ml"
38134 ))
38135
38136 and include_main =
38137 fun lexer lexbuf ->
38138 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
38139 # 146 "parser_cocci_menhir.mly"
38140 (Data.incl_iso list)
38141 # 38142 "parser_cocci_menhir.ml"
38142 ))
38143
38144
38145