Release coccinelle-0.2.2-rc1
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
... / ...
CommitLineData
1exception Error
2
3type 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# 93 "parser_cocci_menhir.mly"
112 (Data.clt)
113# 114 "parser_cocci_menhir.ml"
114)
115 | TWords
116 | TWhy0
117 | TWhy of (
118# 77 "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# 75 "parser_cocci_menhir.mly"
129 (Data.clt)
130# 131 "parser_cocci_menhir.ml"
131)
132 | TWhenFalse of (
133# 75 "parser_cocci_menhir.mly"
134 (Data.clt)
135# 136 "parser_cocci_menhir.ml"
136)
137 | TWhen of (
138# 75 "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# 95 "parser_cocci_menhir.mly"
153 (Data.clt)
154# 155 "parser_cocci_menhir.ml"
155)
156 | TTildeEq of (
157# 95 "parser_cocci_menhir.mly"
158 (Data.clt)
159# 160 "parser_cocci_menhir.ml"
160)
161 | TTilde of (
162# 100 "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# 88 "parser_cocci_menhir.mly"
173 (string * Data.clt)
174# 175 "parser_cocci_menhir.ml"
175)
176 | TStrict of (
177# 75 "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# 97 "parser_cocci_menhir.mly"
189 (Ast_cocci.arithOp * Data.clt)
190# 191 "parser_cocci_menhir.ml"
191)
192 | TScriptData of (
193# 72 "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# 105 "parser_cocci_menhir.mly"
212 (Data.clt)
213# 214 "parser_cocci_menhir.ml"
214)
215 | TPtVirg of (
216# 108 "parser_cocci_menhir.mly"
217 (Data.clt)
218# 219 "parser_cocci_menhir.ml"
219)
220 | TPragma of (
221# 60 "parser_cocci_menhir.mly"
222 (Ast_cocci.added_string * Data.clt)
223# 224 "parser_cocci_menhir.ml"
224)
225 | TPosition
226 | TPosAny
227 | TPlusFile of (
228# 84 "parser_cocci_menhir.mly"
229 (string * Data.clt)
230# 231 "parser_cocci_menhir.ml"
231)
232 | TPlus0
233 | TPlus of (
234# 99 "parser_cocci_menhir.mly"
235 (Data.clt)
236# 237 "parser_cocci_menhir.ml"
237)
238 | TPathIsoFile of (
239# 80 "parser_cocci_menhir.mly"
240 (string)
241# 242 "parser_cocci_menhir.ml"
242)
243 | TParameter
244 | TPOEllipsis of (
245# 74 "parser_cocci_menhir.mly"
246 (Data.clt)
247# 248 "parser_cocci_menhir.ml"
248)
249 | TPCEllipsis of (
250# 74 "parser_cocci_menhir.mly"
251 (Data.clt)
252# 253 "parser_cocci_menhir.ml"
253)
254 | TPArob
255 | TOrLog of (
256# 90 "parser_cocci_menhir.mly"
257 (Data.clt)
258# 259 "parser_cocci_menhir.ml"
259)
260 | TOr of (
261# 92 "parser_cocci_menhir.mly"
262 (Data.clt)
263# 264 "parser_cocci_menhir.ml"
264)
265 | TOn
266 | TOPar0 of (
267# 77 "parser_cocci_menhir.mly"
268 (Data.clt)
269# 270 "parser_cocci_menhir.ml"
270)
271 | TOPar of (
272# 77 "parser_cocci_menhir.mly"
273 (Data.clt)
274# 275 "parser_cocci_menhir.ml"
275)
276 | TOInit of (
277# 102 "parser_cocci_menhir.mly"
278 (Data.clt)
279# 280 "parser_cocci_menhir.ml"
280)
281 | TOEllipsis of (
282# 74 "parser_cocci_menhir.mly"
283 (Data.clt)
284# 285 "parser_cocci_menhir.ml"
285)
286 | TOCro of (
287# 103 "parser_cocci_menhir.mly"
288 (Data.clt)
289# 290 "parser_cocci_menhir.ml"
290)
291 | TOBrace of (
292# 102 "parser_cocci_menhir.mly"
293 (Data.clt)
294# 295 "parser_cocci_menhir.ml"
295)
296 | TNothing
297 | TNotEq of (
298# 95 "parser_cocci_menhir.mly"
299 (Data.clt)
300# 301 "parser_cocci_menhir.ml"
301)
302 | TNever
303 | TName
304 | TMul of (
305# 100 "parser_cocci_menhir.mly"
306 (Data.clt)
307# 308 "parser_cocci_menhir.ml"
308)
309 | TMinusFile of (
310# 84 "parser_cocci_menhir.mly"
311 (string * Data.clt)
312# 313 "parser_cocci_menhir.ml"
313)
314 | TMinus of (
315# 99 "parser_cocci_menhir.mly"
316 (Data.clt)
317# 318 "parser_cocci_menhir.ml"
318)
319 | TMid0 of (
320# 78 "parser_cocci_menhir.mly"
321 (Data.clt)
322# 323 "parser_cocci_menhir.ml"
323)
324 | TMetaType of (
325# 65 "parser_cocci_menhir.mly"
326 (Parse_aux.info)
327# 328 "parser_cocci_menhir.ml"
328)
329 | TMetaStmList of (
330# 65 "parser_cocci_menhir.mly"
331 (Parse_aux.info)
332# 333 "parser_cocci_menhir.ml"
333)
334 | TMetaStm of (
335# 65 "parser_cocci_menhir.mly"
336 (Parse_aux.info)
337# 338 "parser_cocci_menhir.ml"
338)
339 | TMetaPos of (
340# 69 "parser_cocci_menhir.mly"
341 (Parse_aux.pos_info)
342# 343 "parser_cocci_menhir.ml"
343)
344 | TMetaParamList of (
345# 67 "parser_cocci_menhir.mly"
346 (Parse_aux.list_info)
347# 348 "parser_cocci_menhir.ml"
348)
349 | TMetaParam of (
350# 65 "parser_cocci_menhir.mly"
351 (Parse_aux.info)
352# 353 "parser_cocci_menhir.ml"
353)
354 | TMetaLocalIdExp of (
355# 68 "parser_cocci_menhir.mly"
356 (Parse_aux.typed_expinfo)
357# 358 "parser_cocci_menhir.ml"
358)
359 | TMetaLocalFunc of (
360# 62 "parser_cocci_menhir.mly"
361 (Parse_aux.idinfo)
362# 363 "parser_cocci_menhir.ml"
363)
364 | TMetaIterator of (
365# 63 "parser_cocci_menhir.mly"
366 (Parse_aux.idinfo)
367# 368 "parser_cocci_menhir.ml"
368)
369 | TMetaInit of (
370# 66 "parser_cocci_menhir.mly"
371 (Parse_aux.info)
372# 373 "parser_cocci_menhir.ml"
373)
374 | TMetaIdExp of (
375# 68 "parser_cocci_menhir.mly"
376 (Parse_aux.typed_expinfo)
377# 378 "parser_cocci_menhir.ml"
378)
379 | TMetaId of (
380# 62 "parser_cocci_menhir.mly"
381 (Parse_aux.idinfo)
382# 383 "parser_cocci_menhir.ml"
383)
384 | TMetaFunc of (
385# 62 "parser_cocci_menhir.mly"
386 (Parse_aux.idinfo)
387# 388 "parser_cocci_menhir.ml"
388)
389 | TMetaExpList of (
390# 67 "parser_cocci_menhir.mly"
391 (Parse_aux.list_info)
392# 393 "parser_cocci_menhir.ml"
393)
394 | TMetaExp of (
395# 68 "parser_cocci_menhir.mly"
396 (Parse_aux.typed_expinfo)
397# 398 "parser_cocci_menhir.ml"
398)
399 | TMetaErr of (
400# 64 "parser_cocci_menhir.mly"
401 (Parse_aux.expinfo)
402# 403 "parser_cocci_menhir.ml"
403)
404 | TMetaDeclarer of (
405# 63 "parser_cocci_menhir.mly"
406 (Parse_aux.idinfo)
407# 408 "parser_cocci_menhir.ml"
408)
409 | TMetaConst of (
410# 68 "parser_cocci_menhir.mly"
411 (Parse_aux.typed_expinfo)
412# 413 "parser_cocci_menhir.ml"
413)
414 | TMPtVirg
415 | TLogOp of (
416# 96 "parser_cocci_menhir.mly"
417 (Ast_cocci.logicalOp * Data.clt)
418# 419 "parser_cocci_menhir.ml"
419)
420 | TLocal
421 | TLineEnd of (
422# 75 "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 | TIsoToTestExpression
435 | TIsoTestExpression
436 | TIsoStatement
437 | TIsoExpression
438 | TIsoDeclaration
439 | TIsoArgExpression
440 | TIso
441 | TInvalid
442 | TInt of (
443# 88 "parser_cocci_menhir.mly"
444 (string * Data.clt)
445# 446 "parser_cocci_menhir.ml"
446)
447 | TInitialize
448 | TInitialiser
449 | TIncludeNL of (
450# 81 "parser_cocci_menhir.mly"
451 (string * Data.clt)
452# 453 "parser_cocci_menhir.ml"
453)
454 | TIncludeL of (
455# 81 "parser_cocci_menhir.mly"
456 (string * Data.clt)
457# 458 "parser_cocci_menhir.ml"
458)
459 | TInc of (
460# 86 "parser_cocci_menhir.mly"
461 (Data.clt)
462# 463 "parser_cocci_menhir.ml"
463)
464 | TIf of (
465# 57 "parser_cocci_menhir.mly"
466 (Data.clt)
467# 468 "parser_cocci_menhir.ml"
468)
469 | TIdentifier
470 | TIdent of (
471# 59 "parser_cocci_menhir.mly"
472 (string * Data.clt)
473# 474 "parser_cocci_menhir.ml"
474)
475 | TIdExpression
476 | TGoto of (
477# 58 "parser_cocci_menhir.mly"
478 (Data.clt)
479# 480 "parser_cocci_menhir.ml"
480)
481 | TGenerated
482 | TFunction
483 | TFunDecl of (
484# 58 "parser_cocci_menhir.mly"
485 (Data.clt)
486# 487 "parser_cocci_menhir.ml"
487)
488 | TFresh
489 | TForall
490 | TFor of (
491# 57 "parser_cocci_menhir.mly"
492 (Data.clt)
493# 494 "parser_cocci_menhir.ml"
494)
495 | TFloat of (
496# 88 "parser_cocci_menhir.mly"
497 (string * Data.clt)
498# 499 "parser_cocci_menhir.ml"
499)
500 | TFinalize
501 | TExtends
502 | TExpression
503 | TExists
504 | TEver
505 | TError
506 | TEqEq of (
507# 95 "parser_cocci_menhir.mly"
508 (Data.clt)
509# 510 "parser_cocci_menhir.ml"
510)
511 | TEq of (
512# 108 "parser_cocci_menhir.mly"
513 (Data.clt)
514# 515 "parser_cocci_menhir.ml"
515)
516 | TElse of (
517# 57 "parser_cocci_menhir.mly"
518 (Data.clt)
519# 520 "parser_cocci_menhir.ml"
520)
521 | TEllipsis of (
522# 74 "parser_cocci_menhir.mly"
523 (Data.clt)
524# 525 "parser_cocci_menhir.ml"
525)
526 | TDotDot of (
527# 77 "parser_cocci_menhir.mly"
528 (Data.clt)
529# 530 "parser_cocci_menhir.ml"
530)
531 | TDot of (
532# 108 "parser_cocci_menhir.mly"
533 (Data.clt)
534# 535 "parser_cocci_menhir.ml"
535)
536 | TDo of (
537# 57 "parser_cocci_menhir.mly"
538 (Data.clt)
539# 540 "parser_cocci_menhir.ml"
540)
541 | TDmOp of (
542# 98 "parser_cocci_menhir.mly"
543 (Ast_cocci.arithOp * Data.clt)
544# 545 "parser_cocci_menhir.ml"
545)
546 | TDisable
547 | TDepends
548 | TDefineParam of (
549# 83 "parser_cocci_menhir.mly"
550 (Data.clt * token * int * int)
551# 552 "parser_cocci_menhir.ml"
552)
553 | TDefine of (
554# 82 "parser_cocci_menhir.mly"
555 (Data.clt * token)
556# 557 "parser_cocci_menhir.ml"
557)
558 | TDefault of (
559# 57 "parser_cocci_menhir.mly"
560 (Data.clt)
561# 562 "parser_cocci_menhir.ml"
562)
563 | TDeclarerId of (
564# 59 "parser_cocci_menhir.mly"
565 (string * Data.clt)
566# 567 "parser_cocci_menhir.ml"
567)
568 | TDeclarer
569 | TDec of (
570# 86 "parser_cocci_menhir.mly"
571 (Data.clt)
572# 573 "parser_cocci_menhir.ml"
573)
574 | TCppConcatOp
575 | TContinue of (
576# 58 "parser_cocci_menhir.mly"
577 (Data.clt)
578# 579 "parser_cocci_menhir.ml"
579)
580 | TContext
581 | TConstant
582 | TComma of (
583# 108 "parser_cocci_menhir.mly"
584 (Data.clt)
585# 586 "parser_cocci_menhir.ml"
586)
587 | TChar of (
588# 88 "parser_cocci_menhir.mly"
589 (string * Data.clt)
590# 591 "parser_cocci_menhir.ml"
591)
592 | TCase of (
593# 57 "parser_cocci_menhir.mly"
594 (Data.clt)
595# 596 "parser_cocci_menhir.ml"
596)
597 | TCPar0 of (
598# 78 "parser_cocci_menhir.mly"
599 (Data.clt)
600# 601 "parser_cocci_menhir.ml"
601)
602 | TCPar of (
603# 78 "parser_cocci_menhir.mly"
604 (Data.clt)
605# 606 "parser_cocci_menhir.ml"
606)
607 | TCEllipsis of (
608# 74 "parser_cocci_menhir.mly"
609 (Data.clt)
610# 611 "parser_cocci_menhir.ml"
611)
612 | TCCro of (
613# 103 "parser_cocci_menhir.mly"
614 (Data.clt)
615# 616 "parser_cocci_menhir.ml"
616)
617 | TCBrace of (
618# 102 "parser_cocci_menhir.mly"
619 (Data.clt)
620# 621 "parser_cocci_menhir.ml"
621)
622 | TBreak of (
623# 58 "parser_cocci_menhir.mly"
624 (Data.clt)
625# 626 "parser_cocci_menhir.ml"
626)
627 | TBang0
628 | TBang of (
629# 77 "parser_cocci_menhir.mly"
630 (Data.clt)
631# 632 "parser_cocci_menhir.ml"
632)
633 | TAssign of (
634# 109 "parser_cocci_menhir.mly"
635 (Ast_cocci.assignOp * Data.clt)
636# 637 "parser_cocci_menhir.ml"
637)
638 | TArobArob
639 | TArob
640 | TAny of (
641# 75 "parser_cocci_menhir.mly"
642 (Data.clt)
643# 644 "parser_cocci_menhir.ml"
644)
645 | TAndLog of (
646# 91 "parser_cocci_menhir.mly"
647 (Data.clt)
648# 649 "parser_cocci_menhir.ml"
649)
650 | TAnd of (
651# 94 "parser_cocci_menhir.mly"
652 (Data.clt)
653# 654 "parser_cocci_menhir.ml"
654)
655 | EOF
656
657and _menhir_jeton = token
658
659
660# 23 "parser_cocci_menhir.mly"
661
662
663(* Not clear how to allow function declarations to specify a return type
664and how to allow both to be specified as static, because they are in
665different rules. The rules seem to have to be combined, which would allow
666functions to be declared as local variables *)
667
668(* Not clear how to let a function have a parameter of type void. At the
669moment, void is allowed to be the type of a variable, which is wrong, and a
670parameter needs both a type and an identifier *)
671module Ast0 = Ast0_cocci
672module Ast = Ast_cocci
673module P = Parse_aux
674
675# 676 "parser_cocci_menhir.ml"
676let _eRR =
677 Error
678
679module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
680
681 exception Error = Error
682
683 type token = _menhir_jeton
684
685 let token2terminal : token -> int =
686 fun _tok ->
687 match _tok with
688 | EOF ->
689 176
690 | TAnd _ ->
691 175
692 | TAndLog _ ->
693 174
694 | TAny _ ->
695 173
696 | TArob ->
697 172
698 | TArobArob ->
699 171
700 | TAssign _ ->
701 170
702 | TBang _ ->
703 169
704 | TBang0 ->
705 168
706 | TBreak _ ->
707 167
708 | TCBrace _ ->
709 166
710 | TCCro _ ->
711 165
712 | TCEllipsis _ ->
713 164
714 | TCPar _ ->
715 163
716 | TCPar0 _ ->
717 162
718 | TCase _ ->
719 161
720 | TChar _ ->
721 160
722 | TComma _ ->
723 159
724 | TConstant ->
725 158
726 | TContext ->
727 157
728 | TContinue _ ->
729 156
730 | TCppConcatOp ->
731 155
732 | TDec _ ->
733 154
734 | TDeclarer ->
735 153
736 | TDeclarerId _ ->
737 152
738 | TDefault _ ->
739 151
740 | TDefine _ ->
741 150
742 | TDefineParam _ ->
743 149
744 | TDepends ->
745 148
746 | TDisable ->
747 147
748 | TDmOp _ ->
749 146
750 | TDo _ ->
751 145
752 | TDot _ ->
753 144
754 | TDotDot _ ->
755 143
756 | TEllipsis _ ->
757 142
758 | TElse _ ->
759 141
760 | TEq _ ->
761 140
762 | TEqEq _ ->
763 139
764 | TError ->
765 138
766 | TEver ->
767 137
768 | TExists ->
769 136
770 | TExpression ->
771 135
772 | TExtends ->
773 134
774 | TFinalize ->
775 133
776 | TFloat _ ->
777 132
778 | TFor _ ->
779 131
780 | TForall ->
781 130
782 | TFresh ->
783 129
784 | TFunDecl _ ->
785 128
786 | TFunction ->
787 127
788 | TGenerated ->
789 126
790 | TGoto _ ->
791 125
792 | TIdExpression ->
793 124
794 | TIdent _ ->
795 123
796 | TIdentifier ->
797 122
798 | TIf _ ->
799 121
800 | TInc _ ->
801 120
802 | TIncludeL _ ->
803 119
804 | TIncludeNL _ ->
805 118
806 | TInitialiser ->
807 117
808 | TInitialize ->
809 116
810 | TInt _ ->
811 115
812 | TInvalid ->
813 114
814 | TIso ->
815 113
816 | TIsoArgExpression ->
817 112
818 | TIsoDeclaration ->
819 111
820 | TIsoExpression ->
821 110
822 | TIsoStatement ->
823 109
824 | TIsoTestExpression ->
825 108
826 | TIsoToTestExpression ->
827 107
828 | TIsoTopLevel ->
829 106
830 | TIsoType ->
831 105
832 | TIterator ->
833 104
834 | TIteratorId _ ->
835 103
836 | TLineEnd _ ->
837 102
838 | TLocal ->
839 101
840 | TLogOp _ ->
841 100
842 | TMPtVirg ->
843 99
844 | TMetaConst _ ->
845 98
846 | TMetaDeclarer _ ->
847 97
848 | TMetaErr _ ->
849 96
850 | TMetaExp _ ->
851 95
852 | TMetaExpList _ ->
853 94
854 | TMetaFunc _ ->
855 93
856 | TMetaId _ ->
857 92
858 | TMetaIdExp _ ->
859 91
860 | TMetaInit _ ->
861 90
862 | TMetaIterator _ ->
863 89
864 | TMetaLocalFunc _ ->
865 88
866 | TMetaLocalIdExp _ ->
867 87
868 | TMetaParam _ ->
869 86
870 | TMetaParamList _ ->
871 85
872 | TMetaPos _ ->
873 84
874 | TMetaStm _ ->
875 83
876 | TMetaStmList _ ->
877 82
878 | TMetaType _ ->
879 81
880 | TMid0 _ ->
881 80
882 | TMinus _ ->
883 79
884 | TMinusFile _ ->
885 78
886 | TMul _ ->
887 77
888 | TName ->
889 76
890 | TNever ->
891 75
892 | TNotEq _ ->
893 74
894 | TNothing ->
895 73
896 | TOBrace _ ->
897 72
898 | TOCro _ ->
899 71
900 | TOEllipsis _ ->
901 70
902 | TOInit _ ->
903 69
904 | TOPar _ ->
905 68
906 | TOPar0 _ ->
907 67
908 | TOn ->
909 66
910 | TOr _ ->
911 65
912 | TOrLog _ ->
913 64
914 | TPArob ->
915 63
916 | TPCEllipsis _ ->
917 62
918 | TPOEllipsis _ ->
919 61
920 | TParameter ->
921 60
922 | TPathIsoFile _ ->
923 59
924 | TPlus _ ->
925 58
926 | TPlus0 ->
927 57
928 | TPlusFile _ ->
929 56
930 | TPosAny ->
931 55
932 | TPosition ->
933 54
934 | TPragma _ ->
935 53
936 | TPtVirg _ ->
937 52
938 | TPtrOp _ ->
939 51
940 | TPure ->
941 50
942 | TReturn _ ->
943 49
944 | TRightIso ->
945 48
946 | TRuleName _ ->
947 47
948 | TScript ->
949 46
950 | TScriptData _ ->
951 45
952 | TShOp _ ->
953 44
954 | TSizeof _ ->
955 43
956 | TStatement ->
957 42
958 | TStrict _ ->
959 41
960 | TString _ ->
961 40
962 | TSwitch _ ->
963 39
964 | TTilde _ ->
965 38
966 | TTildeEq _ ->
967 37
968 | TTildeExclEq _ ->
969 36
970 | TType ->
971 35
972 | TTypeId _ ->
973 34
974 | TTypedef ->
975 33
976 | TUsing ->
977 32
978 | TVirtual ->
979 31
980 | TWhen _ ->
981 30
982 | TWhenFalse _ ->
983 29
984 | TWhenTrue _ ->
985 28
986 | TWhile _ ->
987 27
988 | TWhy _ ->
989 26
990 | TWhy0 ->
991 25
992 | TWords ->
993 24
994 | TXor _ ->
995 23
996 | Tattr _ ->
997 22
998 | Tauto _ ->
999 21
1000 | Tchar _ ->
1001 20
1002 | Tconst _ ->
1003 19
1004 | Tdouble _ ->
1005 18
1006 | Tenum _ ->
1007 17
1008 | Textern _ ->
1009 16
1010 | Tfloat _ ->
1011 15
1012 | Tinline _ ->
1013 14
1014 | Tint _ ->
1015 13
1016 | Tlist ->
1017 12
1018 | Tlong _ ->
1019 11
1020 | Tregister _ ->
1021 10
1022 | Tshort _ ->
1023 9
1024 | Tsigned _ ->
1025 8
1026 | Tstatic _ ->
1027 7
1028 | Tstruct _ ->
1029 6
1030 | Ttypedef _ ->
1031 5
1032 | Tunion _ ->
1033 4
1034 | Tunsigned _ ->
1035 3
1036 | Tvoid _ ->
1037 2
1038 | Tvolatile _ ->
1039 1
1040
1041 let error_terminal =
1042 0
1043
1044 let token2value : token -> Obj.t =
1045 fun _tok ->
1046 match _tok with
1047 | EOF ->
1048 Obj.repr ()
1049 | TAnd _v ->
1050 Obj.repr _v
1051 | TAndLog _v ->
1052 Obj.repr _v
1053 | TAny _v ->
1054 Obj.repr _v
1055 | TArob ->
1056 Obj.repr ()
1057 | TArobArob ->
1058 Obj.repr ()
1059 | TAssign _v ->
1060 Obj.repr _v
1061 | TBang _v ->
1062 Obj.repr _v
1063 | TBang0 ->
1064 Obj.repr ()
1065 | TBreak _v ->
1066 Obj.repr _v
1067 | TCBrace _v ->
1068 Obj.repr _v
1069 | TCCro _v ->
1070 Obj.repr _v
1071 | TCEllipsis _v ->
1072 Obj.repr _v
1073 | TCPar _v ->
1074 Obj.repr _v
1075 | TCPar0 _v ->
1076 Obj.repr _v
1077 | TCase _v ->
1078 Obj.repr _v
1079 | TChar _v ->
1080 Obj.repr _v
1081 | TComma _v ->
1082 Obj.repr _v
1083 | TConstant ->
1084 Obj.repr ()
1085 | TContext ->
1086 Obj.repr ()
1087 | TContinue _v ->
1088 Obj.repr _v
1089 | TCppConcatOp ->
1090 Obj.repr ()
1091 | TDec _v ->
1092 Obj.repr _v
1093 | TDeclarer ->
1094 Obj.repr ()
1095 | TDeclarerId _v ->
1096 Obj.repr _v
1097 | TDefault _v ->
1098 Obj.repr _v
1099 | TDefine _v ->
1100 Obj.repr _v
1101 | TDefineParam _v ->
1102 Obj.repr _v
1103 | TDepends ->
1104 Obj.repr ()
1105 | TDisable ->
1106 Obj.repr ()
1107 | TDmOp _v ->
1108 Obj.repr _v
1109 | TDo _v ->
1110 Obj.repr _v
1111 | TDot _v ->
1112 Obj.repr _v
1113 | TDotDot _v ->
1114 Obj.repr _v
1115 | TEllipsis _v ->
1116 Obj.repr _v
1117 | TElse _v ->
1118 Obj.repr _v
1119 | TEq _v ->
1120 Obj.repr _v
1121 | TEqEq _v ->
1122 Obj.repr _v
1123 | TError ->
1124 Obj.repr ()
1125 | TEver ->
1126 Obj.repr ()
1127 | TExists ->
1128 Obj.repr ()
1129 | TExpression ->
1130 Obj.repr ()
1131 | TExtends ->
1132 Obj.repr ()
1133 | TFinalize ->
1134 Obj.repr ()
1135 | TFloat _v ->
1136 Obj.repr _v
1137 | TFor _v ->
1138 Obj.repr _v
1139 | TForall ->
1140 Obj.repr ()
1141 | TFresh ->
1142 Obj.repr ()
1143 | TFunDecl _v ->
1144 Obj.repr _v
1145 | TFunction ->
1146 Obj.repr ()
1147 | TGenerated ->
1148 Obj.repr ()
1149 | TGoto _v ->
1150 Obj.repr _v
1151 | TIdExpression ->
1152 Obj.repr ()
1153 | TIdent _v ->
1154 Obj.repr _v
1155 | TIdentifier ->
1156 Obj.repr ()
1157 | TIf _v ->
1158 Obj.repr _v
1159 | TInc _v ->
1160 Obj.repr _v
1161 | TIncludeL _v ->
1162 Obj.repr _v
1163 | TIncludeNL _v ->
1164 Obj.repr _v
1165 | TInitialiser ->
1166 Obj.repr ()
1167 | TInitialize ->
1168 Obj.repr ()
1169 | TInt _v ->
1170 Obj.repr _v
1171 | TInvalid ->
1172 Obj.repr ()
1173 | TIso ->
1174 Obj.repr ()
1175 | TIsoArgExpression ->
1176 Obj.repr ()
1177 | TIsoDeclaration ->
1178 Obj.repr ()
1179 | TIsoExpression ->
1180 Obj.repr ()
1181 | TIsoStatement ->
1182 Obj.repr ()
1183 | TIsoTestExpression ->
1184 Obj.repr ()
1185 | TIsoToTestExpression ->
1186 Obj.repr ()
1187 | TIsoTopLevel ->
1188 Obj.repr ()
1189 | TIsoType ->
1190 Obj.repr ()
1191 | TIterator ->
1192 Obj.repr ()
1193 | TIteratorId _v ->
1194 Obj.repr _v
1195 | TLineEnd _v ->
1196 Obj.repr _v
1197 | TLocal ->
1198 Obj.repr ()
1199 | TLogOp _v ->
1200 Obj.repr _v
1201 | TMPtVirg ->
1202 Obj.repr ()
1203 | TMetaConst _v ->
1204 Obj.repr _v
1205 | TMetaDeclarer _v ->
1206 Obj.repr _v
1207 | TMetaErr _v ->
1208 Obj.repr _v
1209 | TMetaExp _v ->
1210 Obj.repr _v
1211 | TMetaExpList _v ->
1212 Obj.repr _v
1213 | TMetaFunc _v ->
1214 Obj.repr _v
1215 | TMetaId _v ->
1216 Obj.repr _v
1217 | TMetaIdExp _v ->
1218 Obj.repr _v
1219 | TMetaInit _v ->
1220 Obj.repr _v
1221 | TMetaIterator _v ->
1222 Obj.repr _v
1223 | TMetaLocalFunc _v ->
1224 Obj.repr _v
1225 | TMetaLocalIdExp _v ->
1226 Obj.repr _v
1227 | TMetaParam _v ->
1228 Obj.repr _v
1229 | TMetaParamList _v ->
1230 Obj.repr _v
1231 | TMetaPos _v ->
1232 Obj.repr _v
1233 | TMetaStm _v ->
1234 Obj.repr _v
1235 | TMetaStmList _v ->
1236 Obj.repr _v
1237 | TMetaType _v ->
1238 Obj.repr _v
1239 | TMid0 _v ->
1240 Obj.repr _v
1241 | TMinus _v ->
1242 Obj.repr _v
1243 | TMinusFile _v ->
1244 Obj.repr _v
1245 | TMul _v ->
1246 Obj.repr _v
1247 | TName ->
1248 Obj.repr ()
1249 | TNever ->
1250 Obj.repr ()
1251 | TNotEq _v ->
1252 Obj.repr _v
1253 | TNothing ->
1254 Obj.repr ()
1255 | TOBrace _v ->
1256 Obj.repr _v
1257 | TOCro _v ->
1258 Obj.repr _v
1259 | TOEllipsis _v ->
1260 Obj.repr _v
1261 | TOInit _v ->
1262 Obj.repr _v
1263 | TOPar _v ->
1264 Obj.repr _v
1265 | TOPar0 _v ->
1266 Obj.repr _v
1267 | TOn ->
1268 Obj.repr ()
1269 | TOr _v ->
1270 Obj.repr _v
1271 | TOrLog _v ->
1272 Obj.repr _v
1273 | TPArob ->
1274 Obj.repr ()
1275 | TPCEllipsis _v ->
1276 Obj.repr _v
1277 | TPOEllipsis _v ->
1278 Obj.repr _v
1279 | TParameter ->
1280 Obj.repr ()
1281 | TPathIsoFile _v ->
1282 Obj.repr _v
1283 | TPlus _v ->
1284 Obj.repr _v
1285 | TPlus0 ->
1286 Obj.repr ()
1287 | TPlusFile _v ->
1288 Obj.repr _v
1289 | TPosAny ->
1290 Obj.repr ()
1291 | TPosition ->
1292 Obj.repr ()
1293 | TPragma _v ->
1294 Obj.repr _v
1295 | TPtVirg _v ->
1296 Obj.repr _v
1297 | TPtrOp _v ->
1298 Obj.repr _v
1299 | TPure ->
1300 Obj.repr ()
1301 | TReturn _v ->
1302 Obj.repr _v
1303 | TRightIso ->
1304 Obj.repr ()
1305 | TRuleName _v ->
1306 Obj.repr _v
1307 | TScript ->
1308 Obj.repr ()
1309 | TScriptData _v ->
1310 Obj.repr _v
1311 | TShOp _v ->
1312 Obj.repr _v
1313 | TSizeof _v ->
1314 Obj.repr _v
1315 | TStatement ->
1316 Obj.repr ()
1317 | TStrict _v ->
1318 Obj.repr _v
1319 | TString _v ->
1320 Obj.repr _v
1321 | TSwitch _v ->
1322 Obj.repr _v
1323 | TTilde _v ->
1324 Obj.repr _v
1325 | TTildeEq _v ->
1326 Obj.repr _v
1327 | TTildeExclEq _v ->
1328 Obj.repr _v
1329 | TType ->
1330 Obj.repr ()
1331 | TTypeId _v ->
1332 Obj.repr _v
1333 | TTypedef ->
1334 Obj.repr ()
1335 | TUsing ->
1336 Obj.repr ()
1337 | TVirtual ->
1338 Obj.repr ()
1339 | TWhen _v ->
1340 Obj.repr _v
1341 | TWhenFalse _v ->
1342 Obj.repr _v
1343 | TWhenTrue _v ->
1344 Obj.repr _v
1345 | TWhile _v ->
1346 Obj.repr _v
1347 | TWhy _v ->
1348 Obj.repr _v
1349 | TWhy0 ->
1350 Obj.repr ()
1351 | TWords ->
1352 Obj.repr ()
1353 | TXor _v ->
1354 Obj.repr _v
1355 | Tattr _v ->
1356 Obj.repr _v
1357 | Tauto _v ->
1358 Obj.repr _v
1359 | Tchar _v ->
1360 Obj.repr _v
1361 | Tconst _v ->
1362 Obj.repr _v
1363 | Tdouble _v ->
1364 Obj.repr _v
1365 | Tenum _v ->
1366 Obj.repr _v
1367 | Textern _v ->
1368 Obj.repr _v
1369 | Tfloat _v ->
1370 Obj.repr _v
1371 | Tinline _v ->
1372 Obj.repr _v
1373 | Tint _v ->
1374 Obj.repr _v
1375 | Tlist ->
1376 Obj.repr ()
1377 | Tlong _v ->
1378 Obj.repr _v
1379 | Tregister _v ->
1380 Obj.repr _v
1381 | Tshort _v ->
1382 Obj.repr _v
1383 | Tsigned _v ->
1384 Obj.repr _v
1385 | Tstatic _v ->
1386 Obj.repr _v
1387 | Tstruct _v ->
1388 Obj.repr _v
1389 | Ttypedef _v ->
1390 Obj.repr _v
1391 | Tunion _v ->
1392 Obj.repr _v
1393 | Tunsigned _v ->
1394 Obj.repr _v
1395 | Tvoid _v ->
1396 Obj.repr _v
1397 | Tvolatile _v ->
1398 Obj.repr _v
1399
1400 let default_reduction =
1401 (16, "\000\000\000\000\002\155\000z\000\000\000\000\002\227\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\136\000\000\000\000\000\138\000\000\000\000\001x\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\026\003\025\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\003\021\000\000\000\000\000\168\000\000\003\023\000\000\000\000\000\000\003\146\002e\000\000\003\144\000\000\002\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\143\003\145\002k\001?\002j\001=\001>\002i\002h\002g\002c\000\000\000\000\002d\001\012\000\000\002f\000\000\003\142\000\000\000c\001<\002F\000\000\000\000\002I\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002b\002n\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\002#\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002L\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\n\000\209\000\000\000\000\000n\000o\002\t\001\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\237\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\128\000\000\000\000\003\018\000\000\003\017\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\020\003\024\000\189\000\000\000\000\001\027\000\000\000\000\002G\002J\000\000\002H\002K\003u\003v\003t\000\000\002l\003s\000\000\002\134\000\000\000\000\002\133\002\132\002\131\002\130\002\129\002}\000\000\000\000\002~\000\000\002\128\000\000\000\000\000g\002T\000\000\000\000\002W\000\000\000\000\002Z\000\000\000\000\002U\002X\000\000\002V\002Y\002\136\002|\003\131\003\132\003\130\003\129\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\246\000\000\000\000\000\000\000\000\000\000\001\017\001\252\000\000\000\000\001\160\000U\0001\001\n\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002m\000\000\000\204\000\000\000\000\001\231\000\000\001\150\001\212\000\000\000\000\001\230\000\000\001\148\001\211\000\000\000\000\000d\000\000\002\135\000\000\000\000\003\134\003\133\000\000\001\247\000\000\000\000\003x\003w\000\000\000Q\000\205\000\000\001z\000\000\003\019\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001b\000\000\001a\000\000\001p\000\000\001\138\000\000\000\000\000\000\003H\000\000\000\000\003;\000\000\000\000\003@\003?\000\000\003<\000\000\003:\000\000\000\000\000\000\003>\000\000\003=\000\000\000\000\0034\000\000\000\000\0039\0038\000\000\0035\000\000\0033\000\000\000\000\000\000\0037\000\000\0036\000\000\003B\000\000\000\000\003G\003F\000\000\003C\000\000\003J\000\000\000\000\003K\000\000\003I\000\000\003A\000\000\003P\000\000\000\000\000\000\003E\000\000\000\000\003o\000\000\000\000\000\000\000\000\003O\003D\000\000\003q\000\000\000\000\002\243\003p\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\000\000\000\003N\003L\000\000\000\000\003f\000\000\000\000\003Y\000\000\000\000\003^\003]\000\000\003Z\000\000\003X\000\000\000\000\000\000\003\\\000\000\003[\000\000\000\000\003R\000\000\000\000\003W\003V\000\000\003S\000\000\003Q\000\000\000\000\000\000\003U\000\000\003T\000\000\003`\000\000\000\000\003e\003d\000\000\003a\000\000\003h\000\000\000\000\003i\000\000\003g\000\000\003_\000\000\003n\000\000\000\000\000\000\003c\000\000\000\000\000\000\000\000\003m\003b\000\000\000\000\000\000\000\000\003k\000\000\000\000\000\000\000\000\003l\003j\003\012\003\014\003\015\003\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002r\000\000\000\000\000\000\002z\000\000\000\000\002y\000\000\003\127\002x\002w\002v\002u\002t\001^\002p\000\000\000\000\002q\000\000\002s\000\000\000\000\000\000\000\000\000\000\000e\002M\000\000\000\000\002P\000\000\000\000\002S\000\000\000\000\002N\002Q\000\000\002O\002R\002{\002o\000f\003|\003}\003{\003z\003~\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001T\000\000\001\019\001Q\000\000\001\007\001W\000\000\000\000\000\000\001X\000\000\000\000\001Y\000\000\001\132\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\000\000\001V\000\000\000\000\001\\\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001]\001S\000\000\001R\000\000\000\242\000\000\002\221\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\140\000\000\000\000\000\000\000\000\002\147\000\000\000\000\002\146\002\145\002\144\002\143\002\142\002\138\000\000\000\000\002\139\000\000\002\141\000\000\000\000\000i\002[\000\000\000\000\002^\000\000\000\000\002a\000\000\000\000\002\\\002_\000\000\002]\002`\002\149\002\137\003\138\003\139\003\137\003\136\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\148\000\000\001\213\000X\000?\001\031\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\003\140\000\000\003\003\000\000\003\002\000\000\000\000\000\000\000\000\003\153\000\000\000\000\000\000\003\154\000\000\000\018\000\000\000\000\000\000\003\149\000\000\001\162\000\000\000\000\000\000\000\222\002\249\001v\001u\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\014\001\015\000\255\000\000\001\134\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\005\000\000\003\004\002\246\000\000\000\000\000\000\000\000\000\000\002\255\000\000\000\000\000\000\000\000\003\000\002\248\000\000\003\006\000\000\002\250\000\000\000\226\000\000\003\t\000\000\001P\000\000\000\000\003\030\000\000\003%\000\228\000\000\000\233\000\000\003\031\000\227\000\000\003 \000\000\003'\000\000\000\000\000\000\000\000\000\246\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003(\003)\000\000\003*\000\000\003+\000\000\001O\002\253\000\000\000\000\001\235\000\000\001\158\001\217\000\000\002\247\000\000\000\000\000\000\002\252\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\008\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\232\000\000\0013\000\000\0014\000\000\001\152\001\214\000\000\000\000\000\000\001\242\000\000\001\240\000\000\000\000\001\244\001\238\000\000\001\245\001\239\000\000\003\n\001\248\000\000\000\225\000\000\000\000\001\233\000\000\001\154\001\215\000\000\003\150\000\000\003\147\000\000\003\148\000\019\000\020\000\000\000\000\002\199\000\000\002\198\000\000\000\000\002\201\000\000\002\200\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\001\234\000\000\000\000\002\017\000\000\000\000\002\021\002\196\002\014\000\000\002\197\000\000\000\000\000\000\000\000\002\027\000\000\002\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\002\028\000\000\002\012\000\000\000\000\002\015\000\000\000\000\000\000\002\018\000\000\000\000\002\022\000\000\001\156\001\216\000\000\002\202\000\000\000\000\000\000\003\151\000\017\000u\000\000\003\152\000\000\000\000\002\217\000\000\000\000\003\011\000a\000\000\000\000\000\000\000b\000\000\003\001\000\000\001|\000\000\001\130\002\254\000\000\000\000\001h\000\000\001g\000\000\001q\000\000\001\144\000\000\000\000\000\000\001f\000\000\001e\000\000\001n\000\000\001\142\000\000\000\000\000\000\001m\000\000\000\000\000\000\001j\000\000\001i\000\000\001o\000\000\001\146\000\000\000\000\000\000\001k\000\000\000\000\000\000\001d\000\000\001c\000\000\001r\000\000\001\140\000\000\000\000\000\000\001l\000\002\000\000\000N\000O\000\000\000\000\002\165\002\169\002\173\002\161\002\158\000\000\000\000\002\170\002\177\002\162\002\176\002\160\002\175\002\164\002\156\002\163\002\172\002\159\002\166\002\157\002\168\002\174\002\171\002\167\001\180\001\179\000\127\000\000\000\000\002\237\000\000\000\000\002\211\000\000\000\000\002\213\002\212\002\186\000\000\000\000\002\245\002\179\002\178\002\180\000\000\001\192\000M\001s\000\003\000\000\000\000\002\152\000\000\002!\000\000\000\129\000\000\000\000\002\241\000\000\000\000\000\000\000y\000\000\000\000\002\225\000\000\002\006\002\005\001\174\002\188\000\000\001\208\000\000\002\153\000\000\000\000\000{\000\000\000\000\002\229\000\000\001\189\000\000\000\000\001\185\000\000\000\000\000\000\001\188\000\000\001\187\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\182\000\000\000v\000\000\000\000\002\219\000\000\000\000\001\178\000\000\000\000\000}\000\000\000\000\002\233\000\000\000\000\002\194\000\000\002\193\000\000\000\000\000\000\002\004\002\003\002\191\002'\002\182\002\192\000\000\001\195\000\000\000\000\000\000\001\191\000\000\001\197\000\000\000\000\001\186\000\000\000\000\000\000\002\184\000~\000\000\000\000\002\235\000\000\002\183\000\000\001\193\000\000\000\000\001\194\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\001\184\000\000\001\254\000\128\000\000\000\000\002\239\000\000\000\000\000\000\001F\000x\001E\000\000\000\000\002\223\000\000\002\000\001\255\001\172\002\187\000\000\000|\000\000\000\000\002\231\000\000\000\000\000\000\000\000\002\002\002\001\002\189\002%\002\181\002\190\000\000\001\202\000\000\001\206\000\000\000\000\001\198\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\000\000\000\000\001\177\000\000\000\000\001\205\000\000\001\204\000\000\000\000\000\000\000\000\001\201\000\000\000\000\001\200\000\000\001\199\000\000\000\000\000\000\000\000\001\203\000\000\001\207\000\000\000\000\001t\000\004\000\000\001\181\000\005\000\000\000\000\001#\000\006\000\000\001\221\001\222\001\220\000\000\001\219\003\027\001\168\000\000\000\007\000\000\001\224\001\225\001\223\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!\003.\000\000\003\"\000\000\003#\000\000\000\000\003\028\000\000\000\000\000\000\000\000\003-\000\000\000\000\003,\001\229\001\228\000\000\000\000\001\170\001\218\001\226\000\000\000\000\000\000\000\000\002\008\000\000\000\000\000l\000m\002\007\000\000\000\000\000\000\000\218\000\000\001~\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0031\000\000\0032\000\000\000\000\001\251\001\249\000\000\001\250\000\008\000\000\000\t\000\000\0026\0027\0025\000\000\0024\000\000\000\n\000\000\0029\002:\0028\000\000\002<\000\000\000\000\000\000\002.\000\000\000\000\0020\000\000\002*\000\000\002,\000\000\0021\000\000\0022\000\000\002+\002)\002=\001\176\0023\000\000\002?\000\000\002>\000\000\002@\000\000\002\195\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002A\000\000\000\000\002D\000\000\002C\000\000\002B\001\002\000\000\000\000\000\000\000\000\001\003\002E\000\000\000\000\002\206\000\000\000\000\000\000\000\000\002\207\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\215\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001`\000\000\002\205\001\166\001\164\000\000\000\000\000\000\000\000\002\208\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\000\000\000\000\000\002\203\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\210\000\000\000\000\000\000\002\209")
1402
1403 let error =
1404 (177, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\024\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\024\000\000\000\000\000\000\000\000\000\000\016\002\024\000\000\016!\128\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\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\000\001\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\001\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\224\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\170\026\001@\134\168 $3\0020\026\001\016\239\004\128\001\028\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\187G\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023h\224\000\000\024\128\000\128\012\008\192 \004\001\008\000\000\000\019!\136\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000@\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000@\016\128\000\000\0012\024\189j\188\000\016\000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000D\000 \000\002\008\008\000\000\000\000\002\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\003\214\171\192\001\000\008\000\000\130\002\000\000\000\000\000\128\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\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\016\000\001\004\004\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\016\000\002\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\144\008\002\000 \132A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \158\181^\000\008\164@\t\006\129Pgh\000\004$\002\000\128\008 \016OZ\175\000\004R \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\019\214\171\192\001\020\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000D\1936Y,\000\000P\002\004\000\000\221\001\t\225\220\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000\016\144\008\002\000 \144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\002\"\0080\t`\000\002\128\016\000\000\006\200\000M\014\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\001\178\000\019\195\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\014\181Z\000\008\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\160@\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\004\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000\"\018\0020\008\001\000B\000\000\000\004\200b\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000@\007\173W\128\002\000\016\000\001\004\004\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\008\000\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\016\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\245\170\240\000@\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\000\000\001\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\016\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\002\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\181^\000\008\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\016\000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\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\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\001\214\171@\001\000\008\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000@\000\000\000\000\000\000\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\016\144\017\128@\008\002\016\000\000\000&C\023\173W\128\002\000\016\000\001\004\004\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\016\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\000\000\000\000\000\000\000\004@\000\245\170\240\000E\"\000H4\n\131?@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\008\000\000 \128A\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\004\008\017d\146\128\000\004\000\000@\000\013P\016\004\017\128\000\000\000\000\000\000\000\000\000\000\002\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\007\173W\128\002)\016\002A\160T\025\250\000\001\t\000\128 \002\t\004\016\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\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\209\000\000A\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\008\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\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\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\003\000 \128A\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\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\003\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\245\170\240\000E\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\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\214\171\192\001\020\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\016\000\000\000\000\000\000\000\000\128\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\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@\016\128\000\000\0012\024\189j\188\000\016\000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\011\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000@\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\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\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\t\235U\224\000\128\004\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000*\004\000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\000\000\000\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\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000@\000\004\000\016\000\000\000\000\000\000\000\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@\004\002\129\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000\128\004\000\000A\001\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\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\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\008\000\000\128\000\000\001\000\000\000\000\000\000\003\214\171\192\001\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\198 \000\002@\002\029\160\144\000#\000\000\030\181^\000\008\000@\000\004\016\016\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\000u\170\208\000@\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\129\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\000\000\000\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\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\016\000\001\004\004\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\016\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\008\000@\000\004\016\016\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@\132\136 \0061\000\000\018\000\016\237\004\128\001\024\000\000\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \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\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\001\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\016\000\000\001\128B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\004\000\000\000\000\000\000\005 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002\144\000 \025\133\001\157\160\0000\144\008\n\128 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\138D\000\144h\021\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A=j\188\000\017H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000R\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000 @\131$\148\000\000 \000\002\000\000B\128\132\000\012\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=j\188\000\017H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000@\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000H\000\002&\t\178\201`\000\002\128\016 \000\006\232\008J\014\224\000\000\000@R\000\004\0030\1603\180\000\006\018\001\001P\004\016H \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\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\t\000\000@\193\006I,\000\000@\000\004\000\000\205\001\t\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\005 \000@3\n\003;@\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\164\000\008\006a@gh\000\012$\002\002 \008 \016@\000\000\000\000\000\000\000\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\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\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\008\000\000\000\000\000\000\n@\000\128f\020\006v\128\000\194@ *\000\130\t\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\0000\144\008\n\128 \130A\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\164\000\008\006a@gh\000\012$\002\002\160\008 \144@\000\000\000\000R\000\004\0030\1603\180\000\006\018\001\001\016\004\016H \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\020\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\128\000\008\192\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\016\000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\004\000\004\128\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\001\214\171@\001\000\008\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\128\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\005 \000H5\n\003{@\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\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\016\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\001\255\215\240@\142E\000\144j\021\199w\132\000\207P`\t\030\163\013\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\001H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\164@\t\006\129Pgh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\n@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\"`\155,\150\000\000(\001\002\000\000j\128\128\160\238\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=j\188\000\017H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\006\136\000\n\014\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002@\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\1280\002\008\004\016\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\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\221\235U\224\000\138D\000\144h\021\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\002\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\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\001\255\215\240x\142E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\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?\250\254\008\017\200\160\016\012B\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(PO\254\191\131\196r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\241\028\138\001\000\198/\142\239\024\001\158\164\192\002=G\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\0003\212\024\002F\168\161A?\250\254\008\017\200\160\018\013B\184\238\240\128\025\234\012\001#TA\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\001\0009\004\002\001\136Q\029\218\016\003=A\128\004b\136\020\016\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\004\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \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\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\130\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 \007 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\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\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\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\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\016\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\144\008\002\000 \128A\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\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\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\020\136\001 \208*\012\253\000\000\132\128@\016\001\004\130\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 \007 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\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\001\255\215\240@\142E\000\144j\021\199w\132\000\207P`\t\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\0003\212\152\000G\168\227Y\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\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\007\255_\193\0029\020\002\001\140W\029\2220\003=A\128\004j\136\020\016\000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\198\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\000H\000\002&\t\178\201`\002\002\128\016$\000\006\232\008\n\014\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000 \000\000\000\000 \000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128H5\n\227\187\198\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008\017\200\160\016\012b\184\238\241\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002)\016\002A\160T\025\250\000\001\t\000\128 \002\t\004\016\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\008\000\008\000\000\140\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\004\000\000@\001\024\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\008\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\164\000\t\006\161@oh\000\004$\002\000\128\008 \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\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\004\000\000@\001\024\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\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\002\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000R\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \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:\213h\000 \001\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\004\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\002\000\000@\000\000\000\000\000\000R\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\228P\t\006\161\\wx\192\012\245\006\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128H5\n\227\187\198\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\004\000\004\000\000F\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\128\028\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\128\000\000\008\000\000\000\000\000\000\000\000\000\002\000\003\255\191\240\129\028\142\0010\212/\142\239\024\003\158\164\1922=GZ\204\000\000\000@\014A\000\128b\020Gv\132\000\207P`\001\024\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\0003\212\024\000G\168\227A\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\001\000\000\000\000\031\253\127\004\008\228P\008\0061|wx@\012\245\006\000\017\2348\208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\142E\000\144j\023\199w\132\000\207P`\t\030\163\141\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\0003\212\024\002G\168\227A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\031\253\127\004\008\228P\008\0061|wx@\012\245\006\000\017\170(P@\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000@\000\004\000\007\255_\193\0029\020\002\001\140_\029\222\016\003=A\128\004j\138\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\031\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\016\000\016\001\001\024\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000@\000\000\002\000\000\008\000\191\250\254\008\017\200\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\008\000\000\000@\000\001\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\142\0010\212+\142\239\008\003\158\160\192\0185DJ\013\255\215\240@\142E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008\017\200\224\019\013B\184\238\240\1289\234\012\001#TD\160\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\031\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\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\004\002\001\000\000\000\001\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\015\254\191\130\004r(\004\131P\174;\188`\006z\131\000H\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\235\248\000E\"\128@0\n\131;\192\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\191_\192\002)\020\002\001\128T\025\222\000\003\t\000\128\000\n\136\020\016\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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=j\188\000\016\000\128\000\008\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\000\000\000\016\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\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\n@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\029j\180\000\016\000\128\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\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000 \000=\250\254\000\017H\160\016\012\002\160\206\240\000\024H\004\000\000T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\001\003\004\025$\176\001\001\000\000\018\000\003\020\004\004\004`\000\000\000\000\000\000\128\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\n@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\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\001\235U\224\000\138D\000\144h\021\006~\128\000B@ \008\000\130A\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\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\002\000\002\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\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\016\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\002\000\000\016\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\002\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\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\002\000\016\000\000\000\004\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\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\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\008\000\000\000\128\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\004\000@F\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016@\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\015\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000?\250\254\008\017\200\160\018\013B\184\238\240\128\025\234\012\001#\212a\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\000@\002\000\000 \000\128\000\128\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 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000/\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\002\000\000\000\000\000\000\000\001\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\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\001\200 \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\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\028\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\008\000\000\000\000\000\000\000\004\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\000@\002\000\000 \000\128\000\128\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\191\250\254\000\016\000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\128\004\000 \000\002\000\008\000\008\000\000\002\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\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\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\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\001\235U\225\001\192\132\137 B\001\000\000\018\000\016\165\004\128\001\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000@(\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\000\000\128\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\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\008\000\000\000\000\000\000\008\128\000\000\000\000\000\000 @\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\007\002\018 \129\008\004\000\000H\000B\144\018\000\004`\000\003\214\171\192\003\129\008\000@\132\002\000\000$\000!H\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\160BF\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\002\018 \128\000\128\000\000H\000C\180\018\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\128\000\000@\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\173W\128\007\002\018\000\129\008\004\000\000H\000B\144\018\000\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\192\132\000 B\001\000\000\018\000\016\164\004\128\001\008\000\000\000\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\129\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\008H\130\000\002\000\000\005 \001\014\208H\000\017\192\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\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\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\004;A \000G\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\002\129\t\016@\004@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\004\000@.\016\145\004\000\020\000\000\n@\002\029\160\144\000#\128\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\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 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\168\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\016\001\002\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\016\000\000\008\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\012\000\000\004\128\004;A \000F\000\000\000\004\000@(\016\145\004\000\148\000\000\n@\002\029\160\144\000#\128\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\008\005\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\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@(\016\145\004\000\006\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\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\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\194\018 \128\002\128\000\001H\000C\180\018\000\004p\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=n\188@8\016\145\004\008D \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\001\000\016\n\004\004A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\194\018 \128\002\192\000\001H\000C\180\018\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\007\173\215\136\007\002\018 \129\008\196\000\000H\000C\180\018\000\004`\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\008@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000z\213x@p!\"H\016\128@\000\004\128\004)A \000F\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\000R\000\004\131@\2243\180\000\002\018\001\000@\004\016\008 \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\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\239\252 G\"\128H=\014\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\129\028\138\001 \244+\142\239\008\001\158\164\192\0185D\n\205\239\223\248\000\128\004\000\000@\001\000\000\000\000\000\002\000\000\000\000\000\000\247\239\252\000@\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\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\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$P\192\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\t\0200\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\007\255_\193\2269\020\002\001\140W\029\222\016\003=A\128\004j\136\020\019\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\002\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001 \212+\142\239\008\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000@3\n\003;@\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\136\228P\008\0061\\wx@\012\245\006\000\017\170 PO\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248<G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\0003\212\024\000F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191\127\224\002\000\016\000\001\000\004\000\000\000\000\001\008\000\000\000\000\000\000\t\0200\000\000\000\000\000@\000\004`\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\016\000\001\000\004`\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\004@\000\245\170\240\000@\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\002\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\181^\000\008\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128H5\n\227\187\194\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\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\002\001\000\128\000\000\000\000\000\000\000\000\128\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0029\020\002A\168W\029\222\016\003=A\128$j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000 \000 \000\0020\000\000\000B\000\000\000\000\000b\000\000\000\000\000\008\008\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\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\020\128\001 \2088\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\129\028\138\001 \244;\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\015\254\255\194\004r(\004\131\208\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\129\028\138\001\000\198+\142\239\008\001\158\164\192\0025D\n\204\000\000\000\000\000\000\000\016\008\000\000\000\000\000\000\000\000\008\000\000\000b\255\239\252 G\"\128@1\138\227\187\194\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008\017\200\160\018\013B\184\238\240\128\025\234L\001#T@\172\223\253\255\132\008\228P\008\0061\\wx@\012\245&\000\017\170 V`\000\000\000\000\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\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\142E\000\144j\021\199w\132\000\207R`\t\026\162\005f\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\0003\212\152\002F\168\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\008\228P\t\006\161\\wx@\012\245&\000\145\170 V`\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\128\000\128\000\008\192\000\000\001\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\031\253\255\132\008\228P\t\006\161\\wx@\012\245&\000\145\170 V`\000\000\000\000\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\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\142E\000\144j\021\199w\132\000\207R`\t\026\162\005f\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\016\128\000\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\002D\240\003\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000@\000\000\000@\000\000\000\000\000\000\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\016\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\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\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\004\000\128\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\008\000\000\000\008\000\000\000\000\008\000\000\000\008\000\000\000\000\000\000\000\002\024\001\000\001\000\160\000\000\000\000\000\008\000\000@\128\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000!\128\016\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000#\128\024\000\000\008\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\016\000\000\000\000\000\000\000\000\000\000\000\0040\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\002\024\001\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000@\004\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\002\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\001\012\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\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\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\008\000\000\008\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\008\000\000\000\000\000\000\000\000\000\000\000\0028\001\128\000\000\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\001\012\000\192\000\000@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\134\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!\128\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\002\024\001\128\000\000\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\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\001\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\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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")
1405
1406 let action =
1407 ((16, "\000\136\000\197\000\000\000\000\000\230\000\197\000\000\000\000\000;\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\136\000\000\000\240\024*\000\000\018\202\018\202\000\000\000\000+|\018\202\000\000=J\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\003\000,\018\202\000\000\018\202\000\000\000\000\000\000+\236\018\202\000\000=\134\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\020\000N\018\202\000\000\018\202\000\000\018\202\000\000=\190\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\131\000\000\000\000\018\202\000\000\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000p\000\156\018\202\000\000\024*1\014A\200\000\000I\236\001&,\250\001RA\200\000\000\000\198\018\202\000\000J2\000\000\000\131\003N/\144\000\000\000\000;\016\000\000>\148\000\000>\232/\144/\144\020*\020*>\148\020*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\156/\144\000\000\000\000;\156\000\000;\156\000\000/\144\000\000\000\000\000\000\023z\000\131\000\000\020*\000\000,J/\144\028>/\144\000\000\000\000\000\000\000\000\000\000\000\000\031\184/\144 \178/\144!\012/\144\"\006/\144\000\000/\144\000\000/\144\"`/\144#Z/\144#\180/\144$\174/\144%\008/\144\0018/\144\000\000\000\000\000\000\000\000\000\000/\144&\002/\144&\\/\144'V/\144\000\000\000\000/\144\000\000\000\000\001\166\000\000\000\000\000\000\000\000\021\156\018\202\000\000\001\142\018\202\000\000=\204\018\202\000\000\000\000\018\202\000\000\018\202\000\000\001\210\002\002\018\202\000\000\018\202\000\000\003x\018\202\000\000?\176\018\202\000\000\000\000\018\202\000\000\018\202\000\000\002\004\002p\018\202\000\000\018\202\000\000\018\202\000\000?\204\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\131\018\202\000\000\018\202\000\000\018\202\000\000\018\202\000\000\002h\002\198\018\202\000\000=\190A\200\002\140\018\202\000\000J\242J^\000\000\002r\003Z\000\131\002\180\003\208\029\228\000\000\000\000\000\247K\160\000\000\000\000\000\000\000\000\0010\003\206\000Q\0042\029\228\000\141\029\228\000\000\000\000\003\128\000\000\003\174\004\168\029\228\003\246\000\000\000\000\000\000\000\247\000\000\004\014\005\n\000\000\005D\000\000\021\156\001\164A\200\004\150\018\202\000\000=\204A\200\004\218\018\202\000\000\000\000\000\131\005\202\000\000\000\000\000\000\001*\020*\000\000/\144\005\028\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\0056\000\000\000\000\005v\000\000\005z>\148\000\000\000\000\000\000\000\000\000\000\000\000@\202/\144\000\000@\202\000\000@\202>\148\000\000\000\000A\024\000\131\000\000\020*\005\136\000\000/\144\005\200\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\006/\144\000\000/\144\000\000\000\000\005\216\000\000\000\013<(\006\144/\144\006j\000\000\000\000>\148\000\013\000\000\000\000\000\000\000\000\000\000:\192>\148L*>\148L`>\148L\164>\148\000\000>\148\000\000>\148M\022>\148M`>\148M\164>\148M\238>\148N2/\144\006B>\148\000\000>\148N|>\148N\192>\148O\n\006N\000\000\006d\000\000\000b/\144\000\000\000b\000\000\000\000\000\152\024*\000\000\000\152\000\000\000\000\006h/\144\000\000\006l\000\000\020*\006l\000\000\000\000\0078\000\000\020*\006p\000\000\000\000\006n\000\000\000\000\003N\000\000\007V\000\000?\176A\200\006z\018\202\000\000\000\000\006\252\000\000\006\138\018\202\000\000\000\000\000v\024*\000\000\024*\000\000\006\136\000\000\000v\000\000\016~\027\142\018\186\000\000\003\186\018\186\000\000\018\186\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\202\006\246\018\186\000\000\018\186\000\000\005\174\018\186\000\000\018\202\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\206\006\252\018\186\000\000\018\186\000\000\018\186\000\000\018\206\018\186\000\000\000\000\018\186\000\000\018\186\000\000\000\131\018\186\000\000\018\186\000\000\018\186\000\000\018\186\000\000\006\212\007\000\018\186\000\000\024*\006\184\000\000\018\186A\200\006\178\018\186\000\000\000\000\000\166\000\000\002\022\000\166\000\000\000\000\000\000\007\154\000\000\002\158A\200\006\186\018\186\000\000\018\202A\200\006\196\018\186\000\000\000\000\026\140\018\186\000\000\006\000\018\186\000\000\018\216\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\244\007\"\018\186\000\000\018\186\000\000\006|\018\186\000\0001\018\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\250\007&\018\186\000\000\018\186\000\000\018\186\000\0001F\018\186\000\000\000\000\018\186\000\000\018\186\000\000\000\131\018\186\000\000\018\186\000\000\018\186\000\000\018\186\000\000\007\004\0070\018\186\000\000\018\206A\200\006\220\018\186\000\000\000\000\004\016A\200\006\226\018\186\000\0001\018A\200\006\230\018\186\000\000\000\000\000\000\000\000\000\000\000\000\007\176/\144\006\244\021\156\007\206/\144\007\020\007\222/\176\000\000\000\000,\250\000\131\000\000\0024/\144(t\000\000A\202/\144\007,\000\000\020*\007,\000\000\0070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000BV/\144\000\000BV\000\000BVB\170\020*\0072B\170\000\000\000\000K\254\000\131\000\000\020*\0074\000\000/\144\0076\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\144\001\234/\144\007:\000\000\000\000)*\025\220'\162\007\242/\144\000\000\007\188\000\000\000\000\000\131\000\000\000\000\024\218\007~ \004\000\000\007z \004\000\000\002\162\000\000\000\000+RB\170B\254B\170ONB\170O\152B\170\000\000B\170\000\000B\170O\188B\170P B\170PjB\170P\160B\170P\210B\170P\246B\170QLB\170Q\162\000\000\007V\000\000\007f)\224\000\000*\150\007h*\150-&\007j*\150\000\000\000\000\000\000\000\000\000\000\007^\000\000\008D\000\000\000\131\000\000\0024\008F\000\000\001~\008\022\000\131\007p\0084\029\228\007|\002\212\000\000/\144\008`\000\000\007R\007T\008D\029\228\007\138\008j\000\000\003`/\144\008l\000\000\008r\000\000\021\156\000\131\003v/\144\008v\000\000\008~\000\000\000\131\003\148/\144\008\128\000\000\008\130\000\000\000Q\007\212\006\222\000\000C6C\138\020*\007\180\000\000\007\190C\138\000\000\000\000\000\000\000\000\000\000\000\000D\022/\144\000\000D\022\000\000D\022C\138\000\000\000\000\026\222\000\131\000\000\020*\007\192\000\000/\144\007\192\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\208/\144\000\000/\144\000\000\007\202\000\000\000b\000\000\000\000\000\000\000\000\000\0002\018C\1382BC\1383LC\1383|C\138\000\000C\138\000\000C\1384\134C\1384\182C\1385\192C\1385\240C\1386\250/\144\007\242C\138\000\000C\1387*C\13884C\1388d\020*\007\204\000\000\000\000/\144\000\000\008\172\000\000\001^\008\130/\144\008N\000\000\008\136/\144\008R\000\000\004\030\000\000\006\222\006\222\001^\000\000\001^\000\000\016~\006\222\006\222\000\000\000\000\000\000\000\000\000\000\000\000\008\160/\144\007\236\021\156\022\138\000\131\008\206\000\000\008\1809^\008\2149^\008\216/\144\008\n\021\156\021\156\000\131\002`\003\228\000\000\000\000\000\000\002`\000\000\003\020\000\131\000\000\000\000\008\012\000\000\000\000\000\000\008\236\000\000\008\238\000\000\000\000\t&\008\214/\144\008\028\t\004\000\000\008\232\020*\008.\021\156\000\000\000\000\008Z\000\000\000#\000\000\005~\000\000\001^\000\000\008\174\000\000\012^\000M\000\000\012^\000\000\000\000\024\218\000\000\002\174\000\000\000\000\t\158\000\000\012^\000\000\008\244\020*\008:\t\026\000\000\000%\000\000\008\234\000\131\008B\t\002\029\228\008H\002\216\000\000/\144\t*\000\000\t\012\029\228\008R\t2\000\000\004~/\144\tN\000\000\tR\000\000\021\156\000\131\004\214/\144\tb\000\000\td\000\000\000\000\000\000\t\158\000\000\000\000\000#\000\000\006\222\000\000\000%\000\000\000\000\003\228\022\138\000\000\003\228\000\000\000\000\008\138\000\000\000\174\000\003\021\156\000\000\004\030\000O\004\030\000\000\000#\000\000\006\222\000\000\006\222\000\000\000\000\000\000\008\132\000\000\000\000\008\142\000\000\003\240\005~\002\026\004\030\000\000\000\000\000\000\002\026\000\000\006\222\000\000\003\240\000\000\000\000\001\178\000\015\016~\000\000\000\015\000\000\008>\016~\000\000\000\000\008>\000\000\000\000\008\142\000\000\000\000\008\148\000\000\004\002\006\222\000\000\004\002\000\000\000\000\t\014\000\000\000#\000\000\006\222\000\000\000\000\000\000\017\2109\178\000\000\tv\000\000\017\210\tx\000\000\t|\000\000,\250\000\131\005\018\000\000/\144\t\136\000\000\004B\tX\000\131\008\176\tp\029\228\008\180\005\148\000\000/\144\t\154\000\000\005\152\000\000/\144\t\156\000\000\021\156\000\131\006P\000\000/\144\t\158\000\000\004\164\017\210\000\000\024\218\006^\000\000/\144\t\160\000\000\000\000\000\000\001\192\000\000\t\130\020*\008\198\t\166\000\000\005\210\000\000\tv\000\131\008\206\t\142\029\228\008\212\006\142\000\000/\144\t\180\000\000\006\168\000\000/\144\t\182\000\000\021\156\000\131\006\224\000\000/\144\t\184\000\000\004\164\000\000\000\000\008\222\000\000\001\192\005\210\t\\\000\000\000\000\000\000\t`\000\000\000P\000\174\000\000\016~\t\182\000\000\000\000/\144\t\024\006\222\000\000\008\238\000\000\000Q\000\000/\176\000\000\000\000\000x\016~\000\000\016~\000\000\008\222\000\000\000x\000\000/\144\002&/\144\000\000/\144\000\000\008\230\000\000\002&\000\000/\144\002&\008\232\000\000\021\156\002\240\021\156\000\000\021\156\000\000\008\234\000\000\002\240\000\000/\144\002&\008\242\000\000,\250\003\152,\250\000\000,\250\000\000\008\250\000\000\003\152\000\000/\144\002&\t\004\000\000\000\000\024\218\000\000\000\000\tr0T\000\000\000\000\000\000\000\000\000\000\tH\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e0T\000\000\004*\005\156\000\000\tN\000\197\000\000\000\000\000\000\003 \005\156\000\000\000\000\000\000\000\000\t\170\000\000\000\000\000\000\000\000\028>\029\158\000\000D\200\000\0000T\000\000\00140T\000\000\001\178\000\t\000\t\000\000\004r\000\t\000\000\t&\000\000\000\000\000\000\000\000\t\174\000\000\030\158\000\000\03120T\000\000\005\0200T\000\000\t\176\000\0000T\t\178\000\000F\220:~\t\180\000\000\t\182\000\000G6<\1940T\t40T\t\186\000\000\t\192\000\000\t\194\000\000\024*\000\000\005\n\024*\000\000\tF\018\186\000\000\000}0T\000\000\003\1920T\000\000\003\184\nF\000\000\nJ\000\0000T0T\tP\000\000\000\000\000\000\000\000\000\000\000\000\t\216\000\000G\2200T\t\218\000\000\t\220\000\0000T\t\226\000\0000T\t\138\000\197\000\000\000\000\004\0300T\000\000\003\184\000\000\t\230\000\0000T\t\232\000\000E6:~0T\tf0T\t\236\000\000\t\238\000\000E\220\000\000\000\000\005\2060T\000\000\005\030\002\178\000\129\000\000\000\000\000\000\005*\000\129\000\000\tj\000\000\000\000\000\000\000\0000T\000\000\006\0120T\000\000\007>\002\142\000\197\tl\000\000\000\000\000\000\000\000\000\000\000\000\t\246\000\000\t\248\000\0000T\t\252\000\000H60T\t\254\000\000\n\000\000\000\0212\t\172H\176.r\000\0000T\n\n\000\000\n\014\000\000\t\224\02120T\n\020\000\0000T\n\022\000\000\n\026\000\000F6\t\1520T\n\030\000\000\n \000\000\000\197\t\144\000\000\000\000\024\218\000\000\000\000\002b\nz\000\000\000\000\004\238\000\000\000\000\000\000/\144\000\000\000\000\000\000\002\190\000\000\005F\000\000\000\000\000\000\004\030A\200A\200A\200\000\000\005\202\005\202\005\202\005\202\000\000\000\000\000\000\000\000\000\000\000\000\001^\016~\nr\013\190\000O\000\000\000\000\001$\000\000\t\158\000\000 \004\t\166\000\000\001^\016~\t\176\015\030\000\000\001^\013\190\000\000\000\000\000\000A\200\014\002\000\000\000\000\000\000\t\250\000\129\n\142J\242\000\000\005BK\204\000\000\000\000\000\000\001R\n\146\000\131\000\000\005B\000\000\006\014J\242\000\000\000\000\t\232\n\160\006\222\t\230\000\000\001$\000\000\t\158\000\000D\140\006Z\000\000\000\000\n\142\000\000\000\000\002b\000\000\005\226\000\000\000\000\000\000/\144\000\000\002\190\000\000\005\238\000\000\000\000\000\000\005~\000\000\n\254\002\178\n\254\000\000\006\222\n\254\000\000\004\014\000\000\006\222\000\000\006\222\000\000\006\222\000\000\011B\000\000\000\000\000\000\000\000\000\000\006\222\000\000\004\014\000\000\006\222\000\000OD\000\000\000\000\008>\n\026\000\197\006\n\n\182\005h\000\000\005h\n\222\000\000\n\224\000\000\n\226\000\000\000\000\006\016\005h\006\024\005h\000\000\000\000\008\216\t\236\000\000\n(\000\197\006\n\t\240\000\000\004\170\n\244\000\000\006\n\007\176\011\008\006L\011\008\000\000\000\000\002\140\000\197\000\000\000)\000\000\000\000\001L\000\000\n\002\000\000\000\000\000\000\nF\000\197\006\n\n\014\000\000\000\000\004\170\006\n\007\176\002\140\000)\001L\n\016\000\000\006\n\007\176\002\140\000)\001L\n\018\000\000\000\197\000\000\011\024\007<\nT\000\197\n\176\000\000\nX\000\197\n\180\000\000"), (16, "\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\000&\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\014\218\014\218\001\230\000\n\011\233\001\"\001\238\001\242\000*\015\014\015\014\011\233\016\134\016\022\004^\011\233\011\233\011\233\005\249\007\193\011\233\021\"\014\218\016\022\011\233\011\233\011\233\011\173\016\138\023\202\001\"\015\014\014\218\007\193\006y\011\233\000\n\000\n\011\233\011\233\008y\015\014\012\141\022\206\011\233\011\233\022\002\011\233\001\230\011\233\0007\000;\012\226\001\242\011\233\015\138\011\233\011\233\011\233\011\233\011\233\000\n\017*\012\141\011\233\011\233\011\233\004\138\011\233\011\233\011\233\003i\011\233\011\233\011\233\011\233\003\237\000\006\000\"\011\233\011\233\016\"\016\"\000\n\007\193\007\150\020.\021~\027\218\013V\011\233\011\233\011\233\004u\027\222\011\233\011\233\011\233\011\233\019\254\011\233\004~\011\233\016\"\005\233\011\233\015\002\006\222\011\233\011\233\012\141\012\141\012\141\016\"\006\026\012\141\012\141\016\022\017Z\011\233\011]\000\150\011\233\000\154\011\133\011\133\011\233\011\233\011\233\011\233\004u\011\233\000\226\011\233\006\246\007\193\006y\011\233\011\233\011\233\000\230\011\233\008\210\011\233\011\233\006\222\011\233\007\193\011\233\011\233\007\158\0206\011\233\011\233\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\000.\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\016\022\019\230\001R\001V\006\129\014\222\014\238\014\254\000\n\014\218\003:\006\129\003B\006Q\003R\006\129\006\129\006\129\015\014\018V\006\129\003Z\004v\001v\006\129\018Z\006\129\000N\007\182\020N\020v\020\134\020\174\020\190\020\230\006\129\011\133\006!\0069\026\018\006I\006\025\006\025\001~\006\129\006\129\001\"\011\133\003b\006\129\006\129\006Q\011\133\011\133\006\129\011\189\006\129\006\129\006\129\006\129\006\129\012\182\019\210\001\"\006\129\006\129\006\129\001\138\006\129\006\129\006\129\016\134\006\129\006\129\006\129\006\129\000\022\000\n\0192\006\129\006\129\001\230\003r\011\133\004\222\012\226\001\242\016\138\011\133\011\133\016\"\006\129\006\129\021\254\000\n\006\129\006\129\006\129\006\129\006\246\006\129\002\206\006\129\027\230\001\"\006\129\006\222\001\230\006\129\006\129\005\030\012\226\001\242\0039\004e\021\242\000\n\0039\006\177\012\141\012\141\011\197\006\129\016\022\012\141\020V\006\129\006\129\006\129\006\129\0039\006\129\014\218\006\129\0039\000\n\011m\006\129\006\129\006\129\005y\015\014\000\n\006\129\006\129\006\153\006\129\006\153\006\129\006\129\006\153\004\213\006\129\006\129\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\003\026\006\153\006\177\003f\006\153\006I\003j\004>\006\153\024\242\006\153\006\153\006Q\011v\020^\006\153\006\153\006\153\006\153\006\153\006\153\016\022\006\153\006\153\006\153\024\018\006\153\006\153\003\170\006\153\014\218\001\"\014\218\008\246\011n\006\153\011\130\016\"\006\153\015\014\012\210\015\014\016\166\023\198\006\153\006\153\006\153\006\153\n\158\006\153\020\142\006\153\008\218\001\"\006\153\024\242\006\153\004\213\006\153\006\153\006\153\003\174\000\n\006\153\006\153\006\153\006\153\012\158\006\153\006\153\006\153\012\141\006\153\006\153\006\153\006\153\000\n\0061\004\014\003~\006\153\003\134\006\145\003\150\000\n\006\153\023\202\006\145\006\145\015\142\003\158\006\153\006\153\006\017\000\n\006\153\006\153\006\153\006\153\027\206\006\153\005\225\006\153\006\t\004\018\006\153\006\153\011\170\006\153\006\153\011m\016\"\007\202\016\"\007\210\020\150\007\226\003\166\004&\006\153\001\162\011m\006\153\007\234\006\145\011\205\006\153\006\153\012\214\006\153\016\170\006\153\004B\006\153\020\198\004J\011m\006\153\022\230\022\238\012\141\012\141\008\177\008\177\006\153\012\141\006\153\008\177\006\153\006\153\007\242\003\182\006\153\006\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\014\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\022\246\021\018\006A\015\170\nb\021\170\004N\003\241\008\002\011\205\021\022\001F\021\026\005\225\004z\001\166\nr\013^\015\002\021\030\013b\016\022\013\002\020\206\001N\008\149\014\202\021*\0176\011\157\014\218\021.\005\225\013\"\017\170\001\178\005\225\0212\025r\015\014\001\"\012\158\n*\018*\015\"\013j\025\158\025\170\013>\015&\017f\015\006\012\158\0216\001\218\004\130\001\222\004\177\001b\016\030\015.\004\154\001\"\018\166\013~\001\230\0152\012\158\013\130\011\138\001\242\000\n\013\134\013\138\n\134\013\142\011\165\011m\021:\004\129\0156\021>\n\225\001\230\004\162\008\149\006)\012\226\001\242\022\218\015\146\n\226\013\146\000\n\021B\015:\015>\013\150\015B\021F\000\n\021J\015V\021N\021R\004\141\021V\018V\015b\013\158\006q\016\"\021Z\018Z\004\166\021^\006Y\018^\000\n\025\190\004\174\011m\015\130\021\138\019\006\006a\015\134\015\194\004\177\n\138\021b\013\162\004\198\015\198\021f\021j\023^\013\166\004\177\004\177\008\177\008\177\n\225\004\177\015\206\008\177\013\170\004\202\006\161\006\161\019\210\018\146\002\"\006\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\206\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\004\210\004\129\022\014\023\194\nb\027\166\004\129\004\129\012\158\011}\008\014\001F\008\022\027F\008&\001\166\nr\013^\004\129\004\129\013b\008.\nR\011\141\001N\nV\014\202\004\230\006\169\025N\006i\nZ\021\142\016\238\027J\001\178\n^\025R\014\218\021\146\018\194\027N\018\214\004\129\015\"\013j\025\158\015\014\0086\015&\017\174\t.\012\158\t6\001\218\tF\001\222\004\193\001b\016\030\015.\004\250\tN\018\150\013~\001\230\0152\005\014\013\130\011\138\001\242\019N\013\134\013\138\n\134\013\142\025\003\025\007\022\182\004\017\0156\025\011\008F\022J\021\158\011e\004\013\019R\006\169\tV\011\141\n\226\013\146\005.\023\218\015:\015>\013\150\015B\006\246\000\n\011u\015V\027V\005R\004\141\025\254\001\230\015b\013\158\005\241\012\226\001\242\tr\027n\tz\011\181\t\138\004\013\016\"\025+\025/\015\130\tf\t\146\0253\015\134\015\194\018\198\n\138\018\218\013\162\026c\015\198\018\242\027^\005^\013\166\005f\004\193\026g\019\022\000\n\004\161\015\206\005\186\013\170\011\149\006\185\006\185\026j\t\154\002\"\006\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\019n\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\023\182\004\017\019\130\005\198\nb\006I\004\017\004\017\004\013\t\170\006\018\001F\006\"\004\013\004\013\001\166\nr\013^\004\017\027>\013b\006*\026\131\026\135\001N\004\013\014\202\026\139\026\163\026\167\019\158\024\002\026*\026\171\011U\001\178\003]\027~\014\218\011U\011U\004\013\006\170\004\017\015\n\013j\018\246\015\014\027v\015&\004\013\011U\027v\019\026\001\218\028^\001\222\004\221\001b\015*\015.\022\230\022\238\027\190\013~\001\230\0152\006\206\013\130\011\138\001\242\028n\013\134\013\138\n\134\013\142\011U\019r\006\214\012\149\0156\007\014\007\026\007&\0072\007>\007J\005\013\005\t\007^\019\134\n\226\013\146\007n\007~\015:\015>\013\150\015B\024\014\000\n\007\134\015V\004\241\004\237\004\141\005\013\005\t\015b\013\158\007\171\007\246\007\250\008:\027\182\008>\008\158\008\162\019\162\016\"\008\178\008\194\015\130\008\238\008\141\008\254\015\134\015\194\004\221\n\138\t\018\013\162\tZ\015\198\t^\t\158\t\162\013\166\004\221\004\221\n\002\n\006\n\026\004\221\015\206\n2\013\170\nF\008\185\008\185\nf\nn\002\"\008\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\nv\001\014\n~\001\022\nZ\001\030\0012\001:\001>\n^\005\013\005\t\n\130\n\182\n\194\nb\n\202\011\014\011.\008\141\004\129\011:\001F\011~\011\150\011\162\001\166\nr\013^\005\013\005\t\013b\011\190\011\202\0272\001N\007\201\014\202\012R\012Z\012j\012v\012\146\012\154\012\174\012\186\001\178\006\137\012\194\014\218\007\201\012\198\006\137\006\137\012\206\015\n\013j\012\222\015\014\012\238\015&\012\246\012\250\013\n\006\137\001\218\013\018\001\222\013*\001b\015*\015.\0132\013F\013N\013~\001\230\0152\013Z\013\130\011\138\001\242\013r\013\134\013\138\n\134\013\142\013z\013\206\006\137\013\218\0156\014\"\014\154\014\194\014\214\014\226\004\021\014\234\014\242\014\250\007\201\n\226\013\146\027\142\015F\015:\015>\013\150\015B\015N\000\n\015^\015V\027\162\015f\015n\015v\004\129\015b\013\158\027\250\027\166\004\129\004\129\015~\015\186\015\202\015\210\027n\016\"\015\222\015\226\015\130\015\234\004\129\004\129\015\134\015\194\015\238\n\138\015\246\013\162\015\254\015\198\016\014\016.\016r\013\166\016z\016~\016\142\007\201\016\150\016\154\015\206\016\162\013\170\016\178\016\186\004\129\016\194\016\198\002\"\007\201\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\214\001\014\016\222\001\022\nZ\001\030\0012\001:\001>\n^\016\246\016\254\017N\017\150\017\162\nb\018\022\018\"\018B\004\021\018n\018z\001F\018\130\004\021\004\021\001\166\nr\013^\018\158\018\170\013b\018\178\018\182\018\190\001N\004\021\014\202\018\206\018\226\018\254\019\"\019:\019B\019F\019V\001\178\019^\019b\014\218\019j\019z\019\142\019\170\019\190\015\n\013j\019\206\015\014\019\222\015&\004\021\019\246\027v\020\006\001\218\020\018\001\222\020C\001b\015*\015.\020k\020\131\020\163\013~\001\230\0152\020\187\013\130\011\138\001\242\020\219\013\134\013\138\n\134\013\142\020\243\021\n\021&\012\149\0156\021\150\021\195\022\026\022/\022W\022c\022s\022{\022\142\022\151\n\226\013\146\022\159\022\167\015:\015>\013\150\015B\022\194\000\n\022\234\015V\022\242\023\002\023\031\023/\0237\015b\013\158\023C\023N\023s\023\127\023\146\023\155\023\163\023\230\024\026\016\"\0247\024?\015\130\024K\024[\024c\015\134\015\194\024n\n\138\024\131\013\162\024\139\015\198\024\146\024\159\024\171\013\166\024\179\024\190\024\199\024\207\024\219\024\246\015\206\025~\013\170\025\166\012\149\012\149\025\182\025\234\002\"\012\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\025\242\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\026\022\026:\026>\026F\nb\026o\0276\027B\027R\027Z\027b\001F\027\139\027\146\027\159\001\166\nr\013^\nR\027\170\013b\nV\027\186\027\239\001N\025N\014\202\nZ\027\254\028\011\028/\028K\n^\025R\028Z\001\178\028b\028k\028r\028{\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\026\186\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\016\134\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\016\138\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\001\230\000\n\000\000\015V\012\226\001\242\004\141\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\n\000\000\000\000\013\166\000\000\004\161\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\157\008\157\000\000\000\000\002\"\008\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\0166\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\012q\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012q\012q\000\000\000\000\002\"\012q\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\nR\000\000\013b\nV\000\000\000\000\001N\025N\014\202\nZ\000\000\000\000\000\000\000\000\n^\025R\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\130\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012\182\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\001\230\000\n\000\000\015V\012\226\001\242\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\n\000\000\000\000\013\166\000\000\004\161\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\189\012\189\000\000\000\000\002\"\012\189\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\130\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\185\012\185\000\000\000\000\002\"\012\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\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\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\000\000\000\000\000\000\001N\000\000\018b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\007\214\005\217\000\000\000\000\005\217\013\158\000\000\005\217\008\026\005\217\008Z\005\217\000\000\005\217\000\000\t:\005\217\000\000\005\217\005\217\000\000\005\217\005\217\005\217\005\217\n\138\000\000\013\162\005\217\018v\005\217\005\217\005\217\013\166\005\217\000\000\005\217\005\217\000\000\005\217\018~\005\217\013\170\005\217\005\217\005\217\005\217\005\217\002\"\005\217\000\000\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\005\217\005\217\008\186\000\000\000\000\005\217\005\217\000Z\000\000\005\217\t\n\005\217\n\018\000\000\005\217\000Z\005\217\000Z\005\217\005\217\000\000\005\217\000Z\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\000\000\005\217\005\217\000\000\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\005\217\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\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\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\002\018\008V\021\014\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\018\000\000\000\000\000\000\002\026\000\000\000\000\004a\000\000\021\022\008\146\021\026\000\000\002\030\000\000\000\000\000\000\000\000\021\030\002\"\000\000\000\000\000\000\024j\000\000\000\000\021*\000\000\000\000\000\000\021.\003.\0036\000\170\000\000\000\174\0212\003z\003\190\000\000\003\198\000\000\003\214\008\170\003\222\000\000\003\230\003\242\022\170\003\250\000\000\000\000\0216\023\166\000\000\000\000\nb\008\182\000\000\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\004\n\021:\014\202\000\000\021>\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\015R\013j\021F\000\n\021J\015&\021N\021R\000\000\021V\001\218\000\000\001\222\000\000\004\026\021Z\015.\000\000\021^\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021b\000\000\000\000\0156\021f\021j\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\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\197\000\000\015\130\013\197\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\013\197\000\000\000\000\015\206\013\197\013\170\000\000\002:\013\197\000\000\000\000\002\"\000\000\000\000\013\197\000\000\000\000\013\197\013\197\000\000\013\197\013\197\000\000\000\000\002B\000\000\013\197\005&\000\000\000\000\013\197\000\000\000\000\013\197\000\000\013\197\013\197\000\000\000\000\000\000\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\013\197\001\014\013\197\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\0052\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\013\197\013\197\000\000\013\197\013\197\0056\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\001^\000\000\000\000\000\000\013\197\000\000\000\000\013\197\013\197\013\197\013\197\000\000\000\000\000\000\001b\013\197\013\197\013\197\000\000\013\197\013\197\013\197\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\237\000\000\020\254\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\021\002\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\006\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\241\001=\004\237\004\241\000\000\001=\001=\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\198\000\000\004\237\004\237\004\237\004\241\004\237\004\237\004\237\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\004\241\t\202\004\241\t\210\000\000\t\218\t\230\000\000\t\238\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\t\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\254\000\000\000\000\000\000\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\000\000\000\000\000\000\000\000\000\000\014\025\000\000\004\241\014\025\000\000\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\000\000\000\000\000\000\000\000\n\014\004\241\004\241\004\241\014\025\004\241\004\241\004\241\014\025\000\000\000\000\013\190\014\025\000\000\000\000\000\000\000\000\000\000\014\025\000\000\000\000\014\025\014\025\000\000\014\025\014\025\000\000\000\000\013\198\000\000\014\025\013\210\000\000\000\000\014\025\000\000\000\000\014\025\000\000\014\025\014\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\000\000\008V\014\025\008f\014\025\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\014\025\000\000\000\000\000\000\000\000\000\000\000\000\013\222\000\000\008\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\154\000\000\000\000\000\000\014\025\014\025\000\000\014\025\000\000\013\226\000\000\014\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\008\170\000\000\000\000\000\000\000\000\000\000\000\000\014\025\000\000\014\025\000\000\000\000\000\000\000\000\008\182\014\025\014\025\014\025\000\000\014\025\014\025\014\025\ne\ne\ne\ne\000\000\ne\000\000\ne\ne\000\000\ne\000\000\ne\000\000\ne\000\000\ne\ne\ne\ne\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\001\137\000\000\000\000\ne\001\137\000\000\021\214\000\000\001\137\000\000\021\222\000\000\000\000\000\000\001\137\000\000\ne\001\137\001\137\000\000\001\137\001\137\000\000\ne\000\000\000\000\001\137\000\000\ne\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\ne\001\137\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\ne\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\ne\000\000\000\000\000\000\0222\ne\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\nU\nU\nU\nU\000\000\nU\000\000\nU\nU\000\000\nU\000\000\nU\000\000\nU\000\000\nU\nU\nU\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\nU\nU\000R\000V\000f\000\170\000\000\000\174\nU\000\178\000\246\000\000\000\254\nU\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\nU\000\000\001F\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\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\000\nU\001^\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\nU\000\000\000\000\004R\004V\nU\000\000\nU\000\000\000\000\nU\000\000\nY\nY\nY\nY\000\000\nY\nU\nY\nY\nU\nY\000\000\nY\000\000\nY\000\000\nY\nY\nY\nY\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\021\218\nU\000\000\000\000\nY\nY\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\000\000\000\000\nY\000\000\004Z\0226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\003U\000\000\nY\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\nY\008\n\008N\000\000\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\nY\000\000\000\000\022>\008\146\022Z\000\000\000\000\000\000\000\000\000\000\000\000\022f\nY\000\000\000\000\000\000\008\154\nY\000\000\nY\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\022~\nY\000\000\000\000\nY\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\170\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\008\182\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\202\000\000\000\000\023\"\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\002\t\000\000\023:\000\000\002\t\000\000\000\000\023F\000\000\008u\002\134\000\000\023v\002\t\002\t\000\000\002\230\002\238\000\000\000\000\023\130\000\000\002\t\024B\000\000\000\000\002\166\000\000\001\166\002\142\n\166\002\158\002\t\n\170\000\000\000\000\000\000\000\000\024N\000\000\000\000\000\000\000\000\024f\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\174\000\000\002\t\000\000\000\000\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\002\t\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\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\n\226\n\230\000\000\000\000\000\000\000\000\n\234\002\t\000\000\000\n\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\n\242\002\t\002\t\000}\002\246\002\190\002\t\000}\006\t\000\000\011\142\000\000\011\170\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\n\246\000e\000\000\000}\000e\000\000\n\250\002\166\000\000\000\000\002\142\000\000\002\158\000}\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\174\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000}\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000e\002\150\000e\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\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000a\000\000\000]\000a\000\000\000\000\000]\000\000\000\000\002\142\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000]\000\000\000]\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000]\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000a\002\150\000a\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\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\000i\000\000\000q\000i\000\000\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\174\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000q\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000i\002\150\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000u\000\000\000m\000u\000\000\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\174\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000m\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\002\174\002\150\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002v\000\000\000\133\000y\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\002\174\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\002\174\002\150\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\000\000\002v\000\000\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~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\011\146\000\000\000\129\000\000\000\000\000\000\002\166\000\000\004E\002\142\004E\002\158\000\129\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\001\178\000\000\000\000\004E\000\000\000\000\004E\000\000\000\000\n\174\011\006\000\000\004E\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\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\t\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\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\t\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\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\t\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\005i\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\000\000\n\226\n\230\000\000\011\226\000\000\000\000\n\234\000\000\003)\000\n\000j\003)\000r\000\000\000\130\003)\000\000\003)\n\242\000\000\000\000\000\138\003)\003)\011\234\000\000\006\t\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\n\246\000\000\000\000\000\000\0122\012:\n\250\000\000\000\146\003)\000\000\000\000\001\189\003)\012\018\n\254\000\000\011\250\000\000\012\n\000\000\002\"\000\000\000\000\003%\000\000\000\182\003%\000\190\003)\000\206\003%\000\000\003%\000\000\000\000\000\000\000\214\003%\003%\012\026\003)\000\162\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\222\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\003)\003%\012\002\001\137\000\000\003)\001\137\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\238\005Q\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\001\137\003%\003%\000\000\001\137\000\000\012B\012*\001\137\000\000\000\000\003%\003)\000\000\001\137\003)\003)\000\000\000\000\003)\001\137\001\137\003%\000\000\003)\003)\000\000\000\000\000\000\003)\001\137\000\000\003%\001\137\000\000\001\137\001\137\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\001\137\001\014\001\137\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\003%\001\137\000\000\003%\003%\000\000\000\000\003%\000\000\000\000\001F\000\000\003%\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\000\000\001\166\000\000\n\166\000\000\000\000\n\170\000\000\001^\000\000\000\000\000\000\001\137\000\000\001j\001\137\001\137\000\000\001\137\000\000\000\000\001\178\001b\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\n\134\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\n\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\n\138\000\000\n\242\001\161\000\000\001\153\000\000\001\161\001\153\000\000\006\t\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\001\153\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\001\153\000\000\000\000\000\000\001\153\002\"\001\153\001\153\005\217\000\000\000\000\000\000\000\000\000\000\000\000\001\161\001\153\001\161\000\000\001\153\005\217\001\153\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\217\000\000\005\217\ni\ni\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\001\153\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\001\161\014\014\005\217\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\ni\000\000\005\217\000Z\000\000\000\000\000\000\001\161\000\000\001\161\000\000\001\153\005\250\000\000\001\153\014\022\001\161\001\161\001\153\001\161\001\161\001\161\000\000\000\000\000\000\ni\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\006\002\005\217\000\000\000\000\001\153\001\153\005\217\005\217\005\217\000\000\005\217\005\217\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\ni\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\000\000\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\000\000\021\014\000\000\000\000\n\134\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\000\000\000\000\000\000\000\000\023J\000\000\021\022\002\014\021\026\n\189\n\189\000\000\000\000\000\000\000\n\021\030\000\000\002\018\008\133\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\002\022\000\000\000\000\000\000\0212\000\000\002\026\000\000\000\000\008\133\000\000\008\133\000\000\006\001\n\138\002\030\022\250\000\000\n\189\000\000\0216\002\"\000\000\006\001\000\000\000\000\000\000\000\000\006\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\n\189\005\217\021:\000\000\005\217\021>\000\000\t~\005\217\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\021B\000\000\005\217\000\000\000\000\021F\000\n\021J\000\000\021N\021R\005\217\021V\005\217\000\000\t\190\005\217\000\000\021Z\000\000\005\217\021^\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\021b\005\217\005\217\005\217\021f\021j\n\189\000\000\005\217\000\000\005\217\000\000\001f\005\217\n>\005\217\000\000\000Z\005\217\000Z\005\217\000\000\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\005\217\000Z\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\000\000\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\014B\005\217\005\217\014\146\005\217\000\000\005\217\005\217\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\014J\000\000\005\217\001%\002\025\000\000\001%\005\217\002\025\000\000\000\000\005\217\005\217\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\014\138\001%\001\013\000\000\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014J\000\000\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\014J\000\000\000\000\014B\001\029\000\000\001-\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\014B\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\014\178\014\138\001-\014J\000\000\000\000\014B\001!\000\000\001)\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\014\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\001\170\000\000\000\000\001\174\000\000\000\000\001)\001)\000\000\001)\014\138\001)\008\133\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\001\170\000\000\000\000\001\174\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\018f\001\246\001\250\000\000\001\254\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\000\000\002\002\000\000\000\000\000\000\001\218\002\006\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\002\014\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\000\002\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\021\014\002\002\000\000\000\000\002\026\000\000\002\006\000\000\000\000\000\n\000\000\000\000\021\018\002\030\000\000\000\000\000\000\000\000\002\014\002\"\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\002\018\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\002\022\000\000\021.\000\000\006R\000\000\002\026\006\162\0212\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\023\138\000\000\002\"\n\145\000\000\0216\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\n\145\000\000\021:\000\000\000\000\021>\000\000\000\000\006\130\000\000\000\000\006j\001\166\006z\001\170\000\000\000\000\001\174\021B\000\000\000\000\000\000\000\000\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\001\178\000\000\006\138\001\182\021Z\000\000\000\000\021^\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\021b\000\000\000\000\000\000\021f\021j\n\145\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\006\146\000\000\000\000\002\017\000\000\000\000\000\000\006r\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\002\017\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\006\194\006\154\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\006\030\000\000\000\000\000\000\000\000\002\"\000\000\000\000\004=\000\000\004=\000\000\000\000\004=\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\004=\000\000\000\000\004=\002\014\000\000\000\000\000\000\000\000\004=\004=\000\000\004=\000\000\002\018\000\000\000\000\000\000\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\022\000\000\000\000\004=\004=\021\014\002\026\004=\004=\004=\000\000\004=\004=\000\000\004=\002\030\000\000\021\018\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\021\022\000\000\021\026\000\000\000\000\004=\000\000\000\000\000\000\021\030\004=\000\000\000\000\004=\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\004=\000\000\000\000\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\022\134\000\000\000\000\000\000\005\217\0216\004=\005\217\000v\000\000\000\000\005\217\004=\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\n\145\000\000\021:\000\000\000\000\021>\005\217\000\000\000\000\005\217\000\194\000\000\000\000\005\217\000\000\005\217\000\000\005\217\021B\000\000\005\217\005\217\000\000\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\005\217\000\000\021Z\005\217\001\002\021^\000\000\005\217\000\000\005\217\005\217\003F\000Z\005\217\005\217\005\217\005\217\005\217\000\000\000\000\021b\005\217\005\217\005\217\021f\021j\n\145\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000Z\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\005\217\000\000\004\030\000\000\005\217\005\217\000\000\000Z\000\000\004\242\005\217\000\000\000\000\000\000\000Z\005\217\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\005\217\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\001\166\000\000\001\186\005\217\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\000\000\001\178\005\217\000\000\001\182\005\217\005\217\005\217\005\217\005\217\001\194\001\214\005\217\001\210\005\217\005\217\000\000\000\000\000\000\005\217\001\218\000\000\001\222\001\166\000\000\001\186\000\000\000\000\001\190\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\000\000\000\000\005~\000\000\000\000\000\000\001\218\005\130\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\005\138\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\005\217\000\000\000\000\005\217\003\138\005\142\000\000\005\217\005~\005\217\000\000\005\146\000\000\005\130\005\217\005\217\000\n\005\217\003\202\000\000\005\150\005\217\000\000\005\217\000\000\005\138\002\"\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\005\142\000\000\000\000\000\000\000\000\000\000\005\146\000\000\005\217\000\000\000\000\000\000\005\217\000\000\005\217\005\150\000\000\000\000\007f\000\000\000\000\002\"\000\000\000Z\000\000\000\000\005\217\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000Z\005\217\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\000\000\000\000\005\217\005\217\000\000\001\166\005\217\001\186\000\000\000\000\001\190\005\217\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\013\253\000\000\000\000\013\253\000\000\001\194\005\134\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\013\253\000\000\000\000\000\000\005j\001\230\000\000\005\170\005n\001\238\001\242\000\000\005r\005v\013\253\005z\000\000\000\000\013\253\000\000\013\253\013\253\000\000\000\000\005\178\000\000\000\000\005\190\000\000\000\000\013\253\000\000\005~\013\253\000\000\013\253\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\013\253\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\000\000\000\000\000\000\000\000\005\142\000\000\000\000\000\000\000\000\005\202\005\146\001F\000\000\000\000\000\000\000\000\001\166\000\000\n\166\005\150\000\000\n\170\000\000\000\000\001N\002\"\000\000\000\000\013\253\013\253\000\000\013\253\000\000\005\206\000\000\013\253\001\178\000\000\000\000\000\000\000\000\000\000\000\000\005\214\001^\n\174\n\186\000\000\000\000\000\000\001j\000\000\000\000\013\253\000\000\001\218\000\000\001\222\001b\013\253\000\000\000\000\000\000\013\253\013\253\n\206\001\230\000\000\000\000\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\n\000\n\000\000\000\000\000\000\004\141\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\n\174\n\238\000\000\000\000\001n\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\n\166\000\000\n\246\n\170\000\000\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\181\000\000\n\174\011\006\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\001\218\n\234\001\222\000\000\000\n\000\000\000\000\000\000\000\000\011\234\n\206\001\230\000\000\n\242\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\181\000\181\001\166\000\000\013^\000\000\n\246\013b\n\226\n\230\012\018\000\000\n\250\011\250\n\234\012\n\000\000\000\n\000\000\000\000\000\000\n\254\001\178\000\000\000\000\000\000\n\242\002\"\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\013^\000\000\n\246\013b\000\000\013~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\013f\013j\012\"\000\000\000\000\n\226\013\146\000\000\000\000\012\002\001\218\013\150\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\181\013\158\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\000\000\000\181\012*\000\000\000\000\001\166\000\000\013^\000\000\013\162\013b\n\226\013\146\000\000\000\000\013\166\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013\170\001\178\000\000\000\000\000\000\013\158\002\"\000\000\000\000\nR\013f\013\154\nV\000\000\000\000\000\000\025N\000\000\nZ\000\000\001\218\000\000\001\222\n^\025R\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\008}\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\016\134\000\000\008}\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\008}\000\n\008}\000\000\000\000\016\138\000\000\000\000\000\000\008}\013\158\000\000\000\000\000\000\008}\000\000\000\000\008}\000\000\000\000\000\000\008}\021\226\000\000\000\000\001\230\000\000\008}\000\000\012\226\001\242\000\000\013\162\000\000\023\134\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\008}\000\000\000\000\021\018\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\021\022\000\000\021\026\000\000\000\000\000\n\000\000\000\000\000\000\021\030\004\161\000\000\000\000\008}\021\"\000\000\008}\021*\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\0212\000\000\008}\000\000\000\000\000\000\000\000\008}\008}\008}\000\000\008}\008}\000\000\008}\000\000\0216\023\166\000\000\000\000\008}\000\000\000\000\008}\000\000\000\000\007\137\007\137\000\000\000\000\000\000\007\137\000\000\000\000\000\000\007\241\000\000\000\000\008}\000\000\000\000\021:\008}\008}\021>\000\000\000\000\007\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\241\021B\007\241\000\000\000\000\000\000\021F\000\n\021J\007\241\021N\021R\000\000\021V\007\241\000\000\000\000\007\241\000\000\021Z\000\000\007\241\021^\000\000\021\014\000\000\000\000\007\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\007\241\023\166\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\007\241\000\000\000\000\007\241\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\186\007\241\000\000\000\000\000\000\0216\007\241\007\241\007\241\000\000\007\241\007\241\000\000\007\241\000\000\000\000\000\000\000\000\000\000\007\241\000\000\000\000\007\241\000\000\022j\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\021\018\007\241\000\000\000\000\000\000\007\241\007\241\000\000\000\000\021\022\021B\021\026\000\000\000\000\000\000\021F\000\n\021J\021\030\021N\021R\000\000\021V\021\"\000\000\000\000\021*\000\000\021Z\000\000\021.\021^\000\000\022\130\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\0216\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\021:\000\000\000\000\021>\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\000\000\0216\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\000\000\021\014\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\000\000\000\000\021\022\021B\021\026\000\000\000\000\000\000\021F\000\n\021J\021\030\021N\021R\000\000\021V\021\"\000\000\000\000\021*\000\000\021Z\000\000\021.\021^\000\000\021\014\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\023&\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\021:\000\000\000\000\021>\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\021\014\000\000\000\000\024R\021F\000\n\021J\000\000\021N\021R\000\000\021V\021\018\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\021\022\000\000\021\026\000\000\000\000\000\000\000\000\021:\000\000\021\030\021>\000\000\000\000\000\000\021b\000\000\000\000\021*\021f\021j\000\000\021.\000\000\021B\000\000\000\000\000\000\0212\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\0216\021^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021b\000\000\000\000\000\000\021f\021j\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\000\000\000\000\021F\024r\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021b\000\000\000\000\000\000\021f\021j\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\000\000\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\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\004M\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004M\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\004M\000\254\001F\001\014\000\000\001\022\004M\001\030\0012\001:\001>\000\000\000\000\000\000\004M\001N\000\000\000\000\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\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\004M\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000R\000V\000f\000\170\000\000\000\174\001b\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\n\000\000\000\000\000\000\000\000\000\000\000\000\001F\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001n\001N\000\000\000\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\000\000\000\000\000\000\000\000\000\000\001^\001n\000\000\012U\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\246\004V\000\000\000R\000V\000f\000\170\0021\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\250\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\013\225\000\000\000\000\000\000\000\000\000\000\003M\000\000\000\000\002)\000\000\001b\000\000\000\000\000\000\004R\004V\000\000\000\000\001^\000\000\013\225\000\237\000\000\000\000\000\237\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001b\000\000\013\225\000\000\025\246\004V\000\000\000\000\013\225\013\225\006Z\000\000\011&\000\000\000\000\0112\000\213\000\000\013\225\000\213\000\000\013\225\000\000\013\225\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\213\000\000\004b\006\130\000\000\000\000\006j\013\225\006z\000\000\000\000\000\000\000\000\000\205\006b\000\000\000\205\000\000\000\213\000\000\000\213\000\213\000\000\000\000\026\002\000\000\000\000\011>\000\000\006\138\000\213\000\000\000\000\006j\000\205\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\225\000\000\000\205\000\000\000\000\011B\000\205\013\225\000\205\000\205\000\213\000\000\000\000\000\000\000\000\011J\000\000\000\000\000\205\000\000\013\225\006j\006\146\000\205\000\209\000\237\000\000\000\209\000\000\006r\000\000\000\000\000\000\000\000\000\000\013\225\013\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\209\000\000\000\237\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\006r\000\237\006\154\000\209\000\000\000\225\000\000\000\209\000\225\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\209\000\000\000\000\006j\000\000\000\209\000\000\006Z\000\205\000\213\000\213\000\205\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\217\006b\000\000\000\217\000\000\000\225\000\209\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\225\000\000\000\000\006j\006Z\006z\000\205\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\221\000\000\000\217\000\221\000\217\000\217\006\138\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\217\006r\000\000\006j\000\000\006z\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\229\006b\000\000\000\229\000\000\000\221\000\217\000\221\000\221\000\209\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\221\006r\000\000\006j\006Z\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\225\006R\000\000\000\229\000\245\000\229\000\229\006\138\000\000\000\217\000\225\000\225\000\217\000\000\000\000\006\130\006r\000\000\006j\000\000\006z\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\006R\006b\000\000\000\233\000\000\000\245\006\138\000\245\006\186\000\217\000\217\000\221\000\000\000\000\000\221\000\000\000\000\006\130\006r\000\000\006j\006Z\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\221\006R\000\000\000\233\000\241\000\233\000\233\006\138\000\000\006\146\000\221\000\221\000\229\000\000\nR\006\130\006r\nV\006j\000\000\006z\025N\006Z\nZ\000\000\000\000\000\000\000\000\n^\025R\000\000\000\000\000\000\000\000\000\229\000\157\006b\000\000\000\000\000\000\000\241\006\138\000\241\006\186\000\229\000\229\006\146\000\000\000\000\000\245\000\000\000\000\006\130\006r\000\000\006j\000\157\006z\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\245\000\149\000\000\000\000\016\138\000\157\000\157\006\138\000\000\006\146\006\194\006\154\000\233\000\000\000\000\000\157\006r\000\000\011\250\000\153\012\n\000\000\000\149\000\000\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\000\000\000\000\000\233\000\000\000\149\000\000\000\000\000\000\000\153\000\157\000\149\000\149\000\233\006\154\006\146\000\000\000\000\000\241\000\000\000\000\000\149\006r\000\153\011\250\000\000\000\149\000\000\000\n\000\153\000\153\000\000\000\000\004\161\000\000\000\000\000\000\000\000\000\169\000\153\000\241\000\000\011\250\000\000\000\153\000\000\000\000\000\149\000\000\000\157\000\241\006\154\000\000\000\000\000\000\000\000\012\002\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\000\011\242\000\000\000\161\008\233\008\233\000\000\000\169\000\169\008\233\000\000\000\000\000\157\000\157\000\149\000\000\000\000\000\169\000\000\000\000\011\250\012\002\012\n\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\153\000\000\000\149\000\000\000\000\000\000\011\242\012\002\000\000\000\000\000\000\012\026\000\161\000\161\000\000\000\000\000\000\000\149\000\149\011\234\000\153\000\000\000\161\000\173\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\153\000\153\000\000\000\000\000\165\000\165\011\226\000\000\000\000\011\234\000\000\000\000\000\000\000\161\000\165\000\169\000\000\011\250\000\000\012\n\000\000\000\000\012\002\011\242\000\000\000\000\000\000\011\234\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\012\018\012\026\011\242\011\250\000\000\012\n\000\000\000\000\000\189\012:\011\226\000\169\000\169\000\161\000\000\000\000\000\000\000\000\012\018\000\000\012\002\011\250\000\000\012\n\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\012\026\011\242\000\000\012\002\000\161\000\161\000\000\000\177\000\177\011\226\000\000\000\000\000\000\000\000\000\000\000\000\000\165\012\018\000\000\000\000\011\250\012\"\012\n\000\000\000\000\000\000\000\000\000\000\012\002\000\000\011\234\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\173\000\000\012\026\011\242\000\000\012\002\000\000\000\000\000\000\000\185\012:\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\189\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012B\012*\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\012\026\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\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*"))
1408
1409 let lhs =
1410 (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\014\001\014\001\014\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\004\001\004\001\003\001\003\001\003\001\002\001\001\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\225\000\224\000\224\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\220\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\210\000\209\000\209\000\209\000\208\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\203\000\202\000\202\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\197\000\196\000\195\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\190\000\190\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\187\000\186\000\186\000\186\000\185\000\184\000\184\000\184\000\184\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\178\000\178\000\177\000\177\000\177\000\177\000\176\000\176\000\176\000\176\000\175\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\173\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\165\000\165\000\165\000\165\000\165\000\165\000\164\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000y\000x\000w\000w\000w\000v\000v\000v\000u\000u\000u\000u\000t\000s\000r\000q\000p\000o\000n\000n\000m\000m\000m\000l\000l\000k\000k\000k\000j\000j\000i\000h\000h\000h\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000Y\000X\000X\000W\000W\000W\000W\000V\000U\000T\000T\000T\000S\000S\000S\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000D\000C\000B\000B\000A\000A\000@\000?\000>\000>\000=\000=\000<\000<\000;\000:\000:\000:\000:\000:\000:\000:\0009\0009\0009\0009\0009\0009\0008\0008\0007\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000$\000$\000$\000#\000#\000#\000#\000\"\000\"\000\"\000\"\000\"\000!\000 \000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013")
1411
1412 let goto =
1413 ((16, "\002H\000\019\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001/\000\000\001\003\0002\000\000\000\237\000\173\000\000\000\000\000\000\000\022\000\000\000,\000d\000\000\000\000\000\150\000\000\000\198\000\000\000\000\000\000\001`\000\000\001\252\000\000\000\000\000\000\000\000\002\180\000\000\003\152\003\206\000\000\000\000\004Z\000\000\005\022\000\000\000\000\000\000\005J\000\000\005\162\000\000\006>\000\000\006d\006\172\000\000\000\000\006\230\000\000\007\000\000\000\000#\000\000\000\000\007\030\000\000\007.\000\000\000\000\0074\000\000\007J\000\000\000\000\000\000\007\148\000\000\000\238\008\002\0007\000\000\000\000\000\000\002P\000f\000F\000\000\000\000\008t\000\000\008v\000\000\004\186\000\237#\158\000\000\000\000\012\202\000\000\0026\000\000\002\196)z!\196\011\142!\196\0052&z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\011\142\000\000\000\000\029r\000\000'T\000\000\t\144\000\000\000\000\000\000\000\000\000\232\000\000\029\192\000\000\000\000\000*\000\000\000\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n4\000\000\014\154\000\000\014\232\000\000\015<\000\000\015T\000\000\018\192\000\000\023\202\000\000-\218\000\0007<\000\0007t\000\000)\148\000\000\012v\000\000\000\000\000\000\000\000\000\0007\142\000\0007\164\000\0008\022\000\000\005\248\000\000\000\000\t\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008\164\000\000\000\000\tb\000\000\tl\t~\000\000\000\000\t\154\000\000\t\218\000\000\000\000\000\000\t\226\000\000\t\238\000\000\000\000\n\016\000\000\n\020\n0\000\000\000\000\nT\000\000\nV\000\000\000\000\000\000\nX\000\000\nh\000\000\nv\000\000\n\136\n\146\000\000\000\000\n\174\000\000\n\186\000\000\002\192\n\194\000\000\n\202\000\000\n\206\000\000\n\208\000\000\000\000\000\000\n\212\000\000\n\214\000\184\000\000\n\230\000\000\002`\017\214\000\000\005j\000\000\006J\000\000\000\000\000,\000\000\000\000\000u\003(\000\000\000\000\000\000\000\000\003\012\000\000\003r\000\000\002\000\000\000\003\200\000\000\000\000\000\000\000\000\000\000\000\000\007\152\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\002\003|\002*\000\000\n\234\000\000\n\242\002X\000\000\n\248\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\"\168\000\0000\138\000\000\000\000\000\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\000\000\000\000\000\000\000\000\000\000\000\000\016\248&z\000\000\023\208\000\000\026\134\019\140\000\000\000\000\000\000\0044\000\000\030\224\000\000\000\0000\144\000\000\000\000\000\000\004\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006V\000\0006~\000\000\000\000\000\000\000\000\000\191\000\000\000\0000\236\000\000\000\000\000\000\007\138\001*\000\000\000\000\000\000\000\000\000\000\000\000\002d\000\000\004\174\000\000\005n\000\000\011\164\000\000\013\170\000\000\016\130\000\000\016\172\000\000\018\144\000\000\018\222\000\000\020j\000\000*D\000\000\000\146\000\000\020\202\000\000\022F\000\000\031\020\000\000\000\000\000\000\000\000\000\000\000Z1@\000\000\002n\000\000\000\000\000\n\001\172\000\000\002\248\000\000\000\000\000\000\012F\000\000\000\000\000\000&\214\000\000\000\000\000\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\252\004\216\000\000\011\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\000\000\002P\001\240\000\000\002D\000\000\000\000\000\000\004\030\000\000\012R\001\"\011\004\000\000\000\000\011\008\000\000\011\014\011\018\000\000\000\000\011\022\000\000\011\024\000\000\000\000\000\000\011\026\000\000\011\030\000\000\000\000\011\"\000\000\011*\011.\000\000\000\000\0118\000\000\011<\000\000\000\000\000\000\011@\000\000\011B\000\000\011D\000\000\011F\011R\000\000\000\000\011X\000\000\011`\000\000\004\178\011b\000\000\011z\000\000\011|\000\000\011\132\000\000\000\000\000\000\011\138\000\000\001~\000\000\000\000\011\140\004\246\000\000\011\144\000\000\000\000\002\244\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\004\218\005,\000\000\011\148\000\000\011\152\t\192\000\000\011\154\000\000\000\000\012\164\011\172\000\000\000\000\011\192\000\000\011\214\011\220\000\000\000\000\011\224\000\000\011\244\000\000\000\000\000\000\011\248\000\000\011\254\000\000\000\000\012\000\000\000\012\004\012\018\000\000\000\000\012\028\000\000\012\"\000\000\000\000\000\000\012$\000\000\012&\000\000\012.\000\000\0126\012<\000\000\000\000\012B\000\000\012N\000\000\004\248\012R\000\000\012f\000\000\012~\000\000\012\134\000\000\000\000\000\000\012\142\000\000\012\144\014b\000\000\012\146\000\000\000\000\006H\014j\000\000\012\150\000\000\012\154\016Z\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\000\0001z\000\000#*\000\0001\144\000\000\000\000\000\017\000\000\000\000\001r\007\176\000\000\000\000\015@\004T\000\000\020\142*b\000\000\000\000'\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\228'\132\000\000\026\180\000\000\029\014\016P(\018\000\000\020\"\000\000\000\000\000\000\006\140\000\000\031\006\000\000\000\0002\018\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002 \000\0002\150\000\000\000\000\000\000(\156\000\000\000\000\000\000*|\000\000\000\000\000\000\000\000\008\002\000\000\000\000\000\000\000\000\007N\000\000\000\000+\\\000\000\001@\000\000\000\000\000\000\004`\000\000\t\200\000\000\n\144\000\000\016\250\000\000\022v\000\000 :\000\000!\164\000\000#\180\000\000$\188\000\000&\154\000\000(|\000\000)$\000\000,\234\000\000\000\000\000\000\000\000\000\000*\206\000\000\017H\000\000\022\210\n\222\000\000+,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\0038\000\000\006Z\000\000\000\000\t\014\000\000\000\000\000\000+.\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000+\130\000\000\000\000\000\000\000\000\003\172\012\004\000\000,\n\000\000\000\000\000\000\000\000\012\210\000\000,$\000\000\000\000\000\000\000\000\001\210\000\000\007>\000\000\t\236\000\026(<\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\017\004(<\000\000\021\008\000\000\030\172\007\022\000\000\000\000\000\000\008\020\000\000\031b\000\000\000\0002\206\000\000\000\000\000\000\008J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\208\000\0006\234\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\011\144\000\000\013\190\000\000\019^\000\000#\238\000\000'>\000\000't\000\000'\148\000\000)\200\000\000+z\000\0000N\000\000,\128\000\000\004\190\000\0001|\000\0003\184\000\0005\176\000\000(\192\000\000\000\000\000\0003\030\000\000\000\000\000\000\000\254\000\0003D\000\000\000\000\000\0003\168\000\000\000\000\002\188\000\000\024(\000!\001\174\000\000\003\024\000\000\013Z\002\026\007x\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\194\000\000#X\"\002\008R\000\000\000\000\000\000-$\000\000-*\000\000-\172\000\000#\140$\016\007d\0001\008\188\000\000\000\000\000\000\003\200\000\000\000\000\001P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\226\000\000\000\000\000\000\000\000 ,\000\000$\226\000\000\000\000\000\000\000\000\000\000\000\000\013\232\000\000\003N\000\000\000\000\000\000\024b\005\018\000\000\024\156\000\000\000\000\012\210\000\000\005\128\000\000\000\000\014>\000\000\024\214\000\000\000\000 \238\000\000\000\000\000\000\019\014\000\000\000\000\006\152\000\000\000\000\025\188\000\000\000\000\000\000,\206\000\000\000\000\000\000\025\208\000\000\000\000\000\000\000\000-\178\000\000\000\000\000\000\000\000\005\132\013\218\000\000.0\000\000\000\000\000\000\000\000\000\000\000\000\014\180\000\000\000\000\005\248\000\000\015\250\000\000\019\014\000\000\000\000\004\200&N\000\000\006\206\000\000\000\000\000\000\000\000\003z\000\000$\248\000\000\0260\005\132\026j\000\000\005\158\000\000\016p\000\000\016\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\002\026\164\005\188\026\222\000\000\000\000\000\000\006d\000\000\017\200\000\000\007$\000\000\000\000\019\218\002\180\028r\000\000\007\006\000\000\018>\028\172\000\000\000\000\018\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\168\007\178\000\000\008\018\000\000\000\000\000\000\000\000\006\022\000\000\019\152\000\000\000\000\000\000 \0243\232\000\000\000\000\000\000\030~\000\000\000\000\000\000\000\000\002\212\006\154\000\000\000\000.4\000\000\000\000\003\212\000\000\006\182\000\000\000\000\026\000\000\000\000\000\000\000.6\000\000\000\000\000\000\000\000.\140\000\000\000\000\005\210\007\000\000\000\000\000.\206\000\000\000\000\008~!\022\000\000\007\198\000\000\000\000.\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\020\000\000\000\000\000\000\000\n\000\000\000\000\0086\000\000\000\000\027\254\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\000/\230\000\000\000\000\007R\t \000\000\000\000/\236\000\000\000\000\008\164\000\000\000\000\000\000\000\000\003z\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\206\000\000\020\012\000\000\000\000\000\0004\152\000\000\tH\000\000\000\000\000\000\004\208\000\000\005\206\000\000\000\000\007\170\020\128\000\000\021f\000\000\000\000\000\000\008J\000\0004\200\008\1844\238\000\0005J\000\000\000\000\000\000\008\202\000\0005\164\008\218\000\000\000\000%D\t\004%\210\000\000%\232\000\000\000\000\000\000\t\006\000\0005\228\t\n\000\000\000\000\n0\t\022\014\162\000\000\017^\000\000\000\000\000\000\t\026\000\0005\250\t,\000\000\000\000\000\000\003\172\000\000\000\000\000\000\004\210\000\000\000\000\000\000\000\000\000\000\000\000\tP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\138\000\000\000\000\003(\000\000\000\000\013`\000\000\000\000\000\000\000\000\003\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013`\000\000\000\000\013<\000\000\007\216\000\000\000\000\000\022\000\000\005d\012\242\002\018\000\000\000\000\007(\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\t\150\000\000\000\000\000\000\n\138\000\000\000\000\014\012\020\222\000\000\000\000\000\000\000\000\022\172\029\002\000{\000\000\029D\000\000\000\000\000\000\000\000\000\000\000\000\003J\000\000\000\000\006\184\000\000\000\000\012\188\000\000\000\000\000)\000\000\000\000\n\008\000\000\000X\000\000\000\000\000\000\000\000\000k\031r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\031\132\000\000\000\000\000\000\000\000\031\148\000\000\000\000\0126\000\000\013r\000\000\000\000\000\000\005\244\000\000\000\188\000\000\000\000\000\000\016n\000\000\000\000\tF\031\154\006\180\000\000!\n\000\000\000\000\000\000\000\000\013:\000\000\000\000\000\000\006\200\000\000\008\226\008>\001\154\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\000\000\013$\000\000\000\000\007\020\000\000\004\174\013~\001,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\150\000\000\000\000\0188!r\000\000\000\000\000\000\000\000\008\016\000\000\tP\011\138\000\000\022\198\000\000\000\000\000\000\000\000\000\000\002\162\024<\000\000\000\000\030\218\000\000\000\000\000\000\000\000\017\182\000\000\031\014\000\000\000\000\000\000\000\000\000c\000\000\000\000\000\000\004\166\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000T\n\\\016<\017\146\000\000\007\186\t\182\t\242\t\252\000\000\000\000\000\000\000\000\000\000\000\000\006\024\021\218\000\000\027\024\t\254\000\000\000\000\nd\000\000\022\020\000\000)P\000\000\000\000\0070\022N\000\000\028\230\000\000\008\022\029 \000\000\000\000\000\000\002\200\011\140\000\000\000\000\000\000\000\000\008p\000\000\023l\000\000\008\130\004\018\000\000\000\000\000\000\003\012\000\000\003r\000\000\t\142\000\000\000\000\005\178\000\000\000\000\000\000\000\000\t\130\000\000\000\000\n\178\000\000\023\238\000\000\019\014\013D\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\000\0000j\000\000\002J\000\000\000\000\000\000\000\000\000\000\000\200\000\000\t\246\n(\011H\000\000\002\142\011\196\000\000\n0\000\000\003\002\000\000\004r\000\000\004\230\000\000\019\014\000\000\000\000\000\000\000\000\000\000\005Z\000\000\n:\000\000\006\202\000\000\019\014\013\178\000\000\000[\000\000\013\168\012\166\000\000\005L\000\000\007\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\252\000\000\n`\000\000\000\000\000\000\000\000\000\000\000\000\013\192\012\176\000\000\000\000\012\210\000\000\000\000\012\184\t4\013\246\000\000\014\000\000\000\000\000\006\026\003\238\000\000\012\228\000\000\000\000\013\030\000\000\000\000\000\000\000\000\000\000\000\000\013\234\012\220\000\000\000\000\000\000\013\006\012\232\tj\n\014\013\006\013<\000\000\000\000\013\012\t\200\n(\013*\013`\000\000\000\000\005\214\000\000\000\000\000\000\000\000\0140\000\000\000\000\000\000\0142\000\000\000\000"), (16, "\003l\003\131\000\018\005\248\000_\000a\001\225\000e\005\163\005m\005n\005\145\007\004\006?\006@\000_\005\194\005m\005n\002\164\004Y\004A\0066\000_\005\245\005\181\007\005\002\164\000\017\003l\003\131\006D\0017\005\146\005m\005n\005>\000\138\001g\000\004\001h\000\149\001\212\000\025\000g\006I\001\140\005\182\006J\005\185\005m\005n\005~\000_\000J\004\019\000_\003n\003l\003\131\000\007\003o\000\005\003N\006N\006s\000_\000a\000b\000e\005o\006t\001B\000_\005|\000\024\003:\006u\005o\004\018\005\127\005m\005n\000\005\000\140\006\030\003n\006G\0026\001g\003o\001h\000\140\000\140\002=\005o\001i\000\141\000\138\001.\001j\000\142\000\149\0010\005\195\005\196\000g\0028\004\136\001\141\003\136\005o\001\181\004\019\0068\003n\003l\003\131\001\"\003o\006G\001\192\000J\000_\000a\001\t\000e\000\151\001w\006\173\003\231\000_\001\027\005\246\005\197\006u\006\174\004\018\0029\003\136\003\197\003\198\005o\005\198\000\140\001\213\003\253\001i\003U\007\013\000_\001j\001\194\000\140\005\195\005\196\003|\006$\000\141\006w\001\186\004\002\000\142\000g\000K\004\003\004\020\0024\003}\004\138\004g\004\019\000\028\003n\004\020\001\012\002=\003o\006x\001w\004U\003\232\006\193\000 \005\219\003|\000h\000J\000\151\004.\001/\001\188\001\214\005\198\001/\006.\004\007\003}\000\004\001\015\004B\0016\004a\005\149\003\253\000\152\001x\004\028\005\008\003\138\004x\000\031\0049\003\140\003|\004\028\000_\005\199\004!\004\002\0049\000\005\000_\004\003\004\020\006y\003}\000\153\003\197\003\198\004\224\000\008\001\217\006\194\006z\003\141\000\"\001\012\006\147\000J\003\142\001%\003\140\0011\003\143\000_\001\028\001\181\001\029\003\144\000\203\001\229\000\154\000\203\004\007\005\244\002\165\001x\004\023\006\149\000$\001\015\003\253\0016\003\141\004\028\000\152\004\252\006\151\003\142\0049\003\140\003|\003\143\001}\000\155\005\245\004\002\003\144\000_\000\194\004\003\004\020\006\195\003}\003l\003\131\000_\000\153\000\157\001\143\002H\006z\003\141\001\012\001\213\006\197\000\144\003\142\001g\000_\001~\003\143\001\172\002\164\004Y\004A\003\144\000_\000a\0019\000e\004\007\000\154\005\130\002\246\004\023\006\199\001\015\002,\0016\000_\001g\004\028\001h\001\145\006\201\000_\0049\003\140\001\223\000_\000a\001>\000e\000_\000\155\000(\001\013\001\148\004\019\000\156\003n\003l\003\131\001\189\003o\000\203\000g\003\234\000\157\003\141\001\"\001\141\000\140\003\200\003\142\001i\000_\006\030\003\143\001j\006u\006\179\004A\003\144\001\027\000g\002=\002\245\001g\000g\001\203\002H\000\138\000g\006\167\000\140\000\147\006\168\001i\003\236\004z\005\255\001j\005\246\001\131\000_\006E\001w\006\006\006Q\005\004\000_\004h\003\136\005\131\001\181\004\019\0026\003n\003l\003\131\004\246\003o\006\000\006\003\005m\005n\003\197\003\198\003-\001w\003F\006\190\000*\000_\001\189\002:\000\203\006u\006\179\004A\000J\003)\000\140\001\186\002\165\001i\000\140\006\172\003\253\001j\004\163\000\141\000_\003\197\003\198\000\142\006&\001\191\003|\000\203\005i\000J\000\013\004\002\005\249\001\234\0029\004\003\004\020\000_\003}\004\132\004j\004\019\001\187\003n\005j\001w\000J\003o\002\166\000\151\004U\001\236\001x\005o\006)\000\016\000\017\006\184\005\172\001\231\001%\000\203\001&\001\204\001\012\001\028\004\007\001\029\003:\000\203\004B\006G\004a\005\006\003\253\001x\001\134\004\028\006\159\006\160\004x\001\192\0049\003\140\003|\001\026\0017\001\012\001\015\004\002\0016\005\134\000/\004\003\004\020\006\185\003}\000J\001\144\001\027\000_\001\233\000J\000\203\006z\003\141\005l\001\015\004\005\0016\003\142\001\015\001\193\0016\003\143\001\015\001E\0016\000\251\003\144\001\145\003\199\005j\001x\004\007\001\146\003G\000\152\004B\001\147\006\187\006\164\003\253\006R\001\148\004\028\006\245\000_\006\189\000h\0049\003\140\003|\001\145\006F\001\186\003:\004\002\004\n\000\153\002H\004\003\004\020\006\185\003}\002\193\001-\001\150\002\197\000\005\006,\002\193\006z\003\141\002\197\001\"\004\005\006v\003\142\003F\003l\003\131\003\143\004\169\000\183\004\186\003\139\003\144\000h\001\027\004\247\003;\004\007\003*\005s\000_\004B\006G\006\187\006u\006\179\004A\000J\004\028\000J\002;\006\189\000\155\0049\003\140\001g\000\184\001h\006\130\004\249\000\185\0003\001(\003l\003m\002\238\000\157\001<\001\028\002\198\001\029\000\140\000\203\002\199\005t\002\198\003\141\003@\003\233\002\199\004\019\003\142\003n\003l\003\131\003\143\003o\005\173\0002\000\203\003\144\000_\000a\001\219\000e\003D\006\186\000J\000_\006\t\005^\006\n\006u\006\179\004A\005\176\000_\000a\0020\000e\000\140\000h\000J\001i\003;\004\015\000J\001j\000\140\001\237\003n\001g\005_\001~\003o\004\016\005b\005m\005n\003\232\006\011\000g\000J\000_\000a\002?\000e\001\236\004\019\006\012\003n\003l\003\131\001$\003o\001w\000g\000J\001\028\002\239\001\029\001g\000\203\001h\006\188\004\181\000_\001O\0005\001l\006u\006\179\004A\004P\006:\006;\002\212\003\019\003$\003\022\004\022\003\253\002\212\000g\005u\002\242\000\140\0017\002\213\001i\004\016\003|\004[\001j\002\213\006\131\004\002\006\132\005o\000\203\004\003\004\020\006\185\003}\004R\004[\004\019\003\025\003n\006\218\000_\006z\003o\002\245\000J\004\005\000\140\001u\001\131\001i\004m\001w\006\196\001j\000_\005\007\0017\004:\002\164\003|\000\138\004\007\002\031\001x\000\149\004B\000h\006\187\005\137\003\253\004G\003}\004\028\003\197\003\198\006\189\004\251\0049\003\140\003|\004\016\001w\002B\007\021\004\002\004\147\005\217\002\247\004\003\004\020\006\185\003}\0007\002\247\003N\004\016\004\187\002x\007\022\006z\003\141\002\248\001\012\004\005\005\138\003\142\006\138\002\250\005\215\003\143\001\215\005\218\005m\005n\003\144\000\140\003\168\001\012\000;\004\007\000\141\003l\003m\004B\000\142\006\187\001\015\003\253\0016\001x\004\028\001\145\005p\006\189\004m\0049\003\140\003|\003\141\005u\001\132\001\015\004\002\0016\001\012\001\152\004\003\004\020\006\185\003}\000\151\005\006\003\144\001\134\000h\000J\000J\006z\003\141\001x\000J\004\005\000=\003\142\000J\003l\003\131\003\143\001\015\006\225\0016\000_\003\144\005o\004c\001\144\000\140\004\007\003n\005\t\000_\004B\003o\006\187\006u\006\179\004A\004^\004\028\000J\005\239\006\189\005\175\0049\003\140\000J\000J\001\145\0014\006\246\006^\004o\001\146\003l\003m\004\020\001\147\005\228\005m\005n\000J\001\148\005\237\003\197\003\198\004z\003\141\005\240\005m\005n\004\019\003\142\003n\003l\003\131\003\143\003o\001\145\000\152\006\140\003\144\002\193\006\002\006\131\002\197\006\132\006\200\000\203\000_\005\008\000?\001\154\002\164\004Y\004A\005\133\004\028\000J\0017\004!\000\153\0049\003l\003\131\006\000\006\003\005m\005n\000\140\000C\003n\001g\004P\001~\003o\002\143\000h\000_\006\253\005o\000h\002\164\004Y\004A\000h\000\154\000J\003|\004\019\005o\003n\003l\003\131\000_\003o\004r\002\238\004}\004\230\003}\002\198\004u\004\249\004Q\002\199\000B\000_\000J\000\155\002\201\002\164\004Y\004A\000\193\006V\000h\000h\004\019\004u\003n\001\018\003\253\000\157\003o\001C\002\166\000\140\005o\0030\001i\000h\003|\004w\001j\000E\005{\004\002\005\131\003\197\003\198\004\003\004\020\006\185\003}\006\030\000J\004\019\000G\003n\004v\006l\006z\003o\002=\006\218\004\005\000J\005|\001\"\004%\004\164\001w\000L\005\127\005m\005n\003\130\000h\005\255\003|\000N\004\007\001\027\000Q\004\172\004B\005\173\006\187\000\203\003\253\002\239\003}\004\028\004\141\000S\006\189\000J\0049\003\140\003|\006\000\006\003\005m\005n\004\002\000J\002\210\002\212\004\003\004\020\002\241\003}\004\255\004g\000_\000f\002\242\000e\003\253\002\213\003\141\004\188\000J\004\005\004\143\003\142\005\245\003\234\003|\003\143\005\016\000W\000J\004\002\003\144\005o\000J\004\003\004\020\004\007\003}\004e\004g\004B\002\245\004a\004\141\003\253\005\018\001x\004\028\000\140\004\005\004!\000g\0049\003\140\003|\003~\003\237\003\238\003\240\004\002\005o\006\031\000h\004\003\004\020\004\007\003}\004\140\004g\004B\001\142\004a\006q\000h\004\142\003\141\004\028\006Z\004\005\004!\003\142\0049\003\140\001\228\003\143\002\247\000J\000_\001%\003\144\001+\006\219\001\144\001\028\004\007\001\029\004\236\000\203\004B\002\248\004a\003l\003\131\002\236\003\141\004\028\002\167\005\019\004!\003\142\0049\003\140\003q\003\143\001\145\004\236\000_\004\197\003\144\001\146\002\164\004Y\004A\001\147\003+\005\018\005\236\004\238\001\148\000h\003l\003\131\005\251\003\141\005\139\005\252\000J\000\138\003\142\003z\000d\000\139\003\143\003\215\006\135\000_\004\237\003\144\005\237\002\164\004Y\004A\001\"\005\240\005m\005n\004\019\002H\003n\005\\\005]\006|\003o\005\026\000\205\002\193\001\027\006\"\002\197\005\253\000\138\005\148\005\029\004\215\000\149\006V\000_\000a\002D\000e\005 \005\028\001\012\003l\003\178\004\019\005\254\003n\003l\003\131\005\028\003o\000\140\005\146\005m\005n\003\230\000\141\005\028\005(\005+\000\142\006b\000_\005.\006V\001\015\006u\0016\004\018\006V\0056\004\016\0059\006\243\005o\000g\005*\005*\000\138\000\140\005<\005\028\000\139\002\198\000\140\005\184\000\151\002\199\0058\000\141\0058\000_\006\176\000\142\006\136\002\164\006\176\000\140\005\028\003n\007\008\006\176\004\019\003o\003n\000h\003\253\005\182\003o\005\185\005m\005n\006e\000_\005o\006\218\003|\006Q\000\208\000\151\006\192\004\002\004\016\000\212\002\193\004\003\004\020\002\197\003}\005\003\004g\003N\000\211\000\140\001%\003\253\0033\006\137\000\141\001\028\004\005\001\029\000\142\000\203\006\191\003|\000\214\007\015\006\182\004\231\004\002\006\148\005\145\006\198\004\003\004\020\004\007\003}\006\145\004g\004B\004\016\004a\002\193\000\152\006\218\002\197\004\028\000\151\004\005\004!\005o\0049\003\140\005\146\005m\005n\006\015\000\216\000\140\002\212\007\t\000\220\002\198\006\254\004\007\000\153\002\199\000\222\004B\006Y\004a\002\213\003\253\007\016\003\141\004\028\000\152\003|\004!\003\142\0049\003\140\003|\003\143\000\225\001\012\000\229\004\002\003\144\003}\006\254\004\003\004\020\006\178\003}\003l\003\131\002\238\000\153\006X\000\228\002\198\006z\003\141\006W\002\199\006\181\006\136\003\142\001\015\000_\0016\003\143\001Q\006u\005o\004\018\003\144\000\231\000\233\000\237\004\020\004\007\000\154\006\221\000\152\004\023\006\183\000\239\006\253\000\138\003l\003m\004\028\000\147\000\241\006\189\006\254\0049\003\140\002\247\001g\006\253\001h\000\245\000_\000\155\000\153\006V\000\244\004\019\000\196\003n\006\\\002\252\0051\003o\003l\003\131\002\212\000\157\003\141\004\028\000\247\002\166\004!\003\142\0049\006\177\000\249\003\143\002\213\000_\000\252\006\223\003\144\006u\000\254\004\018\001\000\001\002\002\239\001\006\001F\003:\000\140\000\140\006S\003n\000\203\000\141\001\011\003o\001;\000\142\000\155\000\140\001A\002\212\001i\001@\003\029\001\222\001j\001\221\001\227\001\241\002\242\001\244\000\159\002\213\001\248\004\019\001\247\003n\001\250\001\252\002\000\003o\002\002\000\151\002\005\000\138\005\152\002\166\002\t\000\139\002\008\003l\003\131\006\180\001w\002\011\005\181\002\013\002\245\002\017\002\019\002\021\002\025\002\247\003\253\005\214\000_\000J\002\024\000\138\002\164\002\027\004\018\000\139\003|\002\029\002 \002\254\005\182\004\002\005\185\005m\005n\004\003\004\020\006\178\003}\005\215\002\"\002$\005\218\005m\005n\002&\006z\003 \002*\0023\006\181\0022\000\140\002A\002\247\002G\002F\000\141\004\019\002\138\003n\000\142\003|\000\138\003o\002J\004\007\001\209\002\248\000h\004\023\006\183\003;\000\152\003}\002M\000\140\004\028\003\253\006Z\006\189\000\141\0049\003\140\001x\000\142\002Q\000\151\003|\002P\001T\002S\005\011\004\002\005o\000\153\004\135\004\003\004\020\006\178\003}\002U\002\166\002Y\005o\003\141\002[\002^\006z\002b\003\142\000\151\006\181\003@\003\143\001\195\002a\000\203\000\140\003\144\000\183\002d\000J\000\141\002f\002j\002l\000\142\004\007\000h\002n\003D\004\023\006\183\002r\003l\003\131\002q\005\255\004\028\002t\003\141\006\189\000\155\0049\003\140\002v\000\184\002y\003\253\000_\000\185\001\145\000\151\002\164\003\146\004\018\000\157\002{\003|\006\000\006\003\005m\005n\004\002\000\152\001\156\003\141\004\003\004\020\002}\003}\003\142\003H\002\127\001g\003\143\001h\002\131\002\137\002\136\003\144\002\142\004|\002\148\003l\003m\000\153\002\147\000\152\004\019\003L\003n\005g\005\143\005\255\003o\005z\005\136\004\007\005\205\005\178\005\213\004\023\004~\005\235\003l\003\131\006\008\005\220\004\028\000\153\006\157\004!\004\011\0049\003\140\006\000\006\003\005m\005n\000_\006\203\005o\004\133\002\164\004\013\004\018\004\135\006\207\000\140\000\152\000h\001i\002\166\001\197\000\181\001j\003\141\006\226\000\140\006\230\003n\003\142\006\231\006\236\003o\003\143\006\237\003l\003\131\006\242\003\144\000\153\000J\005\145\006\241\006\249\004\025\000\155\006\251\004\019\007\001\003n\000_\001w\007\002\003o\002\164\004\026\004A\007\006\007\007\000\157\007\n\007\011\003O\005\146\005m\005n\005o\003\253\000_\000a\002\134\000e\000_\000a\002\140\000e\007\014\003|\007\017\007\018\003S\000\138\004\002\007\026\007\030\000\139\004\003\004\020\000\000\003}\004\019\000\000\003n\000\000\003l\003\131\003o\000\000\000\000\000\000\000_\004|\000\000\004D\002\164\000\000\000\000\000\000\000g\000_\000\000\000\000\000g\002\164\004\026\004A\006\013\004\007\000\000\000\000\000\138\004\023\004~\000\000\000\139\005o\000\000\003|\004\028\001x\000\000\004!\000\000\0049\003\140\000\000\000\140\000\000\003\253\003}\003N\000\141\000\000\000\000\000\000\000\142\000\000\000\000\003|\004\019\000h\003n\000\000\004\002\000\000\003o\003\141\004\003\004\020\000\000\003}\003\142\000\138\000\000\000\138\003\143\000\139\000\000\000\147\000\000\003\144\000\151\004F\006\018\000\138\000\140\000\000\000\000\000\139\000\000\000\141\003\253\000\000\000\000\000\142\000\000\000\000\000\000\004\007\000\000\000\000\003|\004\023\004H\004;\000\000\004\002\001\145\000\000\004\028\004\003\004\020\004J\003}\0049\003\140\003\141\000\000\000\000\000\000\000\151\001\158\004?\000\000\000\000\004\005\000\000\000\140\000\000\000\140\003\148\000\000\000\141\000\000\000\141\000\000\000\142\003\141\000\142\000\140\000\000\004\007\003\142\005\158\000\141\004B\003\143\004C\000\142\001\012\003\253\003\144\004\028\001\012\000\000\004!\000\000\0049\003\140\000\152\003|\004\020\000\151\000\000\000\151\004\002\000\000\003l\003\131\004\003\004\020\000\000\003}\001\015\000\151\0016\004I\001\015\000\000\0016\003\141\000\153\000_\000\000\004\005\003\142\002\164\004\026\004A\003\143\000\000\000\000\000\000\000\000\003\144\0053\000\000\000\000\000\152\000\000\004\007\000\000\004\028\000\000\004B\004!\004C\0049\000\000\000\000\002\193\004\028\000\000\002\197\004!\000_\0049\003\140\000\000\006Q\000\153\000\000\004\019\000\000\003n\000\000\003l\003\131\003o\000\155\000_\000a\002\145\000e\003&\001g\000\000\001h\000\000\003\141\000\152\000_\000\152\000\161\003\142\002\164\004Y\004A\003\143\000\000\000\000\000\000\000\152\003\144\005\181\000\000\001g\000\000\001h\002\234\000\000\000\000\000\153\000\000\000\153\000\140\000\000\000\000\000\155\002\198\000g\000\000\000\000\002\199\000\153\000\000\005\182\000\000\005\185\005m\005n\004\019\000\163\003n\003l\003\131\000\000\003o\000\000\000\183\000\140\000\000\000\000\001i\001g\002\193\001|\001j\002\197\000_\003l\003\129\000\000\002\164\004Y\004A\000\000\000\000\000\000\000\000\000\155\000\140\000\155\003\253\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\000\155\003|\000\165\001w\000\157\000\000\004\002\000\000\000\000\000\000\004\003\004\020\002\193\003}\000\167\002\197\000\000\004\019\005o\003n\000\000\000\000\000\000\003o\001w\004\005\000\000\000\140\000\140\000\000\001i\000\000\002\198\000\140\001j\003n\002\199\000\000\000_\003o\000\000\004\007\002\164\000\000\002\212\004B\000\000\004C\000\000\000\000\003\253\000\000\004\028\000\000\006[\004!\002\213\0049\003\140\000\000\003|\000\000\001w\000\000\000_\004\002\000\000\002\238\006Q\004\003\004\020\002\198\003}\000\000\004`\002\199\003l\003\131\003N\001\012\003\141\001x\000\000\000\000\004\005\003\142\000\000\000\000\006S\003\143\000\203\000_\000\000\005\236\003\144\002\164\004Y\004A\000_\001\014\004\007\000e\001x\001\015\004B\0016\004a\000\000\003\253\000\000\000\000\004\028\000\000\000\000\004!\005\237\0049\003\140\003|\000\000\005\240\005m\005n\004\002\005\223\002\215\000\000\004\003\004\020\002\212\003}\004\019\004b\003n\003|\003l\003\131\003o\000g\003\141\001x\002\213\004\005\000\000\003\142\000\000\003}\000\000\003\143\001\145\000_\002\239\000\000\003\144\002\164\004\127\004A\000\000\004\007\000\000\000\000\005\181\004B\001\160\004a\000\000\000\000\000\000\002\212\004\028\001\145\003\026\004!\000\000\0049\003\140\001g\002\242\001h\000\000\002\213\000\000\005o\005\182\001\162\005\185\005m\005n\000\000\004\020\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\003\028\000\138\000\000\003\142\000\000\000\139\002\245\003\143\000\000\000_\000\000\002\247\003\144\002\164\004\127\004A\001g\000\000\001h\000\000\000\000\000\000\000\000\003\253\0055\003\000\006R\004\129\000\000\000\000\000\000\004\028\000\140\003|\004!\001i\0049\000\000\004\002\001j\000\000\000\000\004\003\004\020\003\"\003}\000\000\004t\005o\004\019\002\247\003n\000\000\000\000\000\000\003o\000\140\004\005\000\000\006V\006S\000\141\000\203\000\000\002\248\000\142\000\000\001w\000\000\000\000\001\012\000\140\000\000\004\007\001i\002\166\000\000\004B\001j\004a\003l\003m\003\253\000\000\004\028\004\131\0063\004!\000\000\0049\003\140\000\151\003|\000\000\001\015\003:\0016\004\002\000\000\000\000\000\000\004\003\004\020\001g\003}\001h\001w\000\000\000\000\003l\003\131\000\000\003\141\000\000\000\000\000\000\004\005\003\142\004\149\000\000\000\000\003\143\000\000\000\000\000_\000\000\003\144\000\000\002\164\004\026\004A\000\000\004\007\000\000\000\000\000\140\004B\003n\004\130\000\000\003\253\003o\000\000\004\028\000\000\001x\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\006\024\004\002\000\000\000\000\000\140\004\003\004\020\001i\003}\000\000\004\019\001j\003n\003l\003\131\000\152\003o\003\141\000\000\000\000\004\005\000\000\003\142\002\166\002\193\000\000\003\143\002\197\000_\000\000\001x\003\144\002\164\000\000\004\018\000\000\004\007\000\153\000\000\001w\004B\000\000\004\130\003:\000\000\000\000\000\000\004\028\000\000\000\000\004!\000h\0049\003\140\004.\000\000\000\000\000\000\000\000\001\145\001g\006Z\001h\000\000\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\001\164\003o\003\141\000\000\000\000\002\193\000\140\003\142\002\219\003|\002\198\003\143\000\155\000_\002\199\001\192\003\144\002\164\000\000\004\018\000\000\003}\0043\000\000\000\000\001\145\000\169\000\000\003\253\004\253\005a\000\000\000\000\004\135\000\000\001g\000\000\001h\003|\001\166\0047\000\000\000\140\004\002\001x\001i\001\194\004\003\004\020\001j\003}\000\000\005_\004\019\000\000\003n\005b\005m\005n\003o\000\140\000\000\004\005\000\000\002\198\000\000\003l\003\128\002\199\000\000\000\000\000\000\000\000\000\000\000\000\000\138\005\145\001w\004\007\001V\000h\000\000\004B\004.\004C\000\000\003\253\005\013\003\141\004\028\000\140\004\135\004!\001i\0049\003\140\003|\001j\005\146\005m\005n\004\002\003\150\000\000\000_\004\003\004\020\002\212\003}\000\000\000\000\000\000\001y\003l\003\131\000\000\000\000\003\141\005o\002\213\004|\000\140\003\142\003n\0043\001w\003\143\003o\000_\000\000\000\140\003\144\002\164\000\000\004\018\000\141\004\007\000\000\000\000\000\142\004\023\004~\0047\000\000\003\253\000\000\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\003|\001x\000\000\000\000\000\000\004\002\005o\002\212\000\000\004\003\004\020\000\151\003}\000\000\004\019\001\"\003n\003l\003\131\002\213\003o\003\141\000\000\000\000\004|\000\000\003\142\000\000\000\000\001\027\003\143\000\000\000_\000\000\002\214\003\144\002\164\000\000\004\018\000\000\004\007\000\000\000\000\000\000\004\023\004~\003l\003\131\005\015\001x\000\000\004\028\004\135\000\000\004!\006g\0049\003\140\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\004\026\004A\003|\001\145\000\000\001g\004\019\001h\003n\003l\003\131\000\000\003o\003\141\003}\000\000\000\000\001\168\003\142\000\000\000\000\000\000\003\143\000\152\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\197\000\000\000\000\004\019\000\000\003n\000\000\003\253\006_\003o\000\000\000\000\004\135\000\153\000\000\000\000\005\156\003|\000\000\001\145\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\140\003}\000\000\001i\004\019\001\174\003n\001j\000\000\000\000\003o\000\000\001%\004|\003=\002\193\000\000\001\028\002\197\001\029\000\000\000\203\000\000\000\000\000\140\000\000\000\000\005\145\002\198\004\007\000\000\000\000\002\199\004\023\004~\001w\000\000\003\253\006m\005\255\004\028\000\000\004\135\004!\000\000\0049\003\140\003|\000\000\005\146\005m\005n\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\006\000\006\003\005m\005n\000\000\003\253\000\000\003\141\000\000\002\238\004|\000\000\003\142\002\198\000\000\003|\003\143\002\199\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004\005\004!\000\000\0049\003\140\003|\000\000\000_\000\000\000\000\004\002\005o\000\000\001x\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\005o\002\212\003\141\004\028\000\000\004|\004!\003\142\0049\003\140\000\000\003\143\000\000\002\213\000\000\000\138\003\144\000\000\001g\000\139\001{\004\007\000\000\000\000\000\000\004\023\004~\000\000\000\000\000\000\002\239\003\141\004\028\003l\003\131\004!\003\142\0049\003\140\000\000\003\143\000\000\006\150\000\000\000\000\003\144\000\000\002\212\000_\006\138\003\026\000\000\002\164\004\026\004A\000\000\002\242\001\145\000\000\002\213\003\141\004\144\003l\003\131\000\000\003\142\000\000\000\000\000\000\003\143\000\140\001\176\000\000\000\140\003\144\000\141\001i\000_\003\028\000\142\001j\002\164\002\247\004A\002\245\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\005\169\003\002\000\000\000\000\000\000\000\000\000\000\005\255\004E\000\000\000\151\000_\006 \001w\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\003!\003o\006\000\006\003\005m\005n\002\247\000\000\000\000\000\000\004\017\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\002\248\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\002\193\000\000\000\000\002\218\000\000\004\027\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\006\141\000\000\006\142\004\019\006\131\003n\006\132\003\253\000\203\003o\000\000\000\152\000\000\000\000\001x\005o\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\153\003n\000\000\003\253\000\000\003o\000\140\000\000\004\005\000\000\002\198\000\000\000\000\003|\002\199\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\003\253\000\000\000\000\004\028\000\000\004\146\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\155\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004\148\000\000\003\253\000\171\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000_\000\000\004\023\004\024\000\000\006'\003\253\000\000\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\002\212\000_\004\003\004\020\004\007\003}\000\000\000\000\004\023\004\024\003l\003\131\002\213\000\000\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\004\024\003l\003\131\000\000\001\"\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\001g\000_\001z\001\027\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\001\"\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\002\193\003\142\000\000\002\217\001\027\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\001i\000_\000\000\000\000\001j\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\140\000\000\000\000\000\000\002\198\000\000\006c\000\000\002\199\000\000\000_\000\000\001w\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\001%\003\253\004(\003o\000\000\001\028\000\000\001\029\000\000\000\203\001%\003|\0040\000\000\000\000\001\028\004\002\001\029\000\000\000\203\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\000\003n\004d\003\253\000\000\003o\000\000\001%\004]\004\175\000\000\000\000\001\028\003|\001\029\000\000\000\203\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\000\000\004\\\003\253\000\000\000\000\004\028\000\000\004]\004!\001x\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\002\212\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\004p\000\000\003\253\002\213\003\141\004\028\000\000\004q\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004s\000\000\004n\003\253\000\000\003\141\004\028\000\000\004]\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\003l\003\131\000\000\000\000\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\006f\003l\003\131\000\000\000\000\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\000\000\003\142\000\000\006o\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\216\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\004{\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000_\005\145\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\004\128\000\000\000\000\005\146\005m\005n\000\138\000\000\000\000\000\000\001S\000\140\000\000\000\000\005\145\002\198\000\000\000\000\000\000\002\199\004\019\000\000\003n\001%\003\253\004\218\003o\000\000\001\028\000\000\001\029\000\000\000\203\000\000\003|\000\000\005\146\005m\005n\004\002\000\000\000\000\000\000\004\003\004\020\000\138\003}\000\000\000\000\000\147\000\000\000\000\000\000\003\253\000\000\000\000\000\000\000\000\004|\000\000\000_\000\140\000\000\003|\000\000\005o\000\141\000\000\004\002\000\000\000\142\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004|\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\151\004\002\005o\000\000\000\140\004\003\004\020\004\007\003}\000\141\000\000\004\023\004~\000\142\000\000\003\253\002\212\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\003|\003\143\000\000\002\213\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\151\004\023\006f\000\000\000\000\003l\003\131\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\000\000\003\143\000\000\000\000\000\000\000_\003\144\000\000\000\000\004\162\000\000\004\007\000\000\003l\003\127\004\023\006f\000\000\000\000\000\000\000\000\003\141\004\028\005\167\000\152\004!\003\142\0049\003\140\000\000\003\143\000\000\004\193\000\000\000\000\003\144\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\196\000\153\003n\000\000\000\000\003\141\003o\000\000\000\000\000_\003\142\005\165\000\000\000\138\003\143\000\000\000\000\000\147\000\152\003\144\001g\005\255\001h\000\140\004\202\003n\000\000\000\000\000_\003o\000\000\000\000\000\197\000\198\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\006\000\006\003\005m\005n\005\255\000\000\000\140\000\000\000\000\004\239\000\000\000\141\003\136\000\000\001\181\000\142\000\138\000\202\000\000\000\203\000\147\000\000\000\183\000\000\000\000\000\140\006\000\006\003\005m\005n\000\141\000_\000\140\000\000\000\142\001i\000\000\000\000\000\000\001j\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\005\145\000\000\000\000\003|\000\157\000\151\001G\000\000\005o\005\145\000\000\000\000\001w\004\203\000\000\003}\000\140\005\145\000\000\000\000\005\145\000\141\005\146\005m\005n\000\142\003|\004\241\000\000\000\000\000\000\005\146\005m\005n\005o\000\000\000\000\000\000\003}\005\146\005m\005n\005\146\005m\005n\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003l\003\131\004\206\000\000\000\000\004\242\000\000\004\229\003\140\000\000\000\138\000\000\000\152\000\000\000\147\000_\000\000\002\193\000\000\004\162\002\197\000\000\000\000\000\000\000\000\000_\000\197\001n\000\200\000\201\003\141\000\152\005o\000\000\000\153\003\142\000\000\000\000\001x\003\143\000\000\005o\004\243\000\000\003\144\000\197\002\203\000\200\000\201\005o\000\000\000\000\005o\000\153\000\202\004\196\000\203\003n\000\000\000\183\000\000\003o\000\000\006*\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\202\000\142\000\203\002\198\000\152\000\183\004\202\002\199\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\0061\000\185\000\197\003s\000\200\000\201\000\000\000\157\000\000\001G\000\153\000\151\000\155\000\000\000\000\000\000\000\184\001\145\000\138\000\000\000\185\000\000\000\147\000\000\000\000\000\000\000\157\000\000\001G\000\000\000\202\001\178\000\203\000_\000\000\000\183\000\000\000\138\003l\003\131\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\192\000_\000_\000\000\000\000\000\000\004\162\000\155\000\000\005\203\000\000\000\184\005\145\000\000\000\000\000\185\003|\005\208\000\000\000\000\005\232\000\157\000\140\001G\000\000\000\000\004\203\000\141\003}\004\195\000\000\000\142\000\000\002\212\005\146\005m\005n\000\000\000\152\000\000\004\204\000\140\004\196\000\000\003n\002\213\000\141\000\000\003o\000\000\000\142\000\000\000\197\003\255\000\200\000\201\000\000\000\151\002\193\000\000\000\153\002\197\000\000\000\000\005\145\000\000\004\202\004\206\000\000\000\000\004\211\000\000\004\229\003\140\000\138\000\000\000\151\000\000\000\147\000\000\000\202\000\000\000\203\000\000\000\000\000\183\005\146\005m\005n\000_\000\000\000\000\000\000\000\000\000\000\003\141\005o\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\003l\003\131\000\000\000\155\003\144\000\000\000\000\000\184\000\140\002\247\000\000\000\185\002\198\000\000\000\000\000\000\002\199\000\157\000\000\001G\000\000\004M\000\000\003\004\000\140\000\000\000\000\000\000\000\000\000\141\000\152\000\000\000\000\000\142\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\005o\000\197\004\030\000\200\000\201\004\203\000\152\003}\000\000\000\153\000\000\000\000\002\238\000\000\003n\000\000\000\151\000\000\003o\004\204\000\197\004\208\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\001\179\001\181\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\206\000\000\000\202\004\211\000\203\004\229\003\140\000\183\000\000\000_\005\230\000\155\000\000\000\000\000\000\000\184\000\000\004S\000\000\000\185\002\212\003\136\000\000\000\000\000\000\000\157\000\000\001G\003\141\000\000\000\155\000\000\002\213\003\142\000\184\000\000\000\000\003\143\000\185\000\000\000\000\000\000\003\144\000\000\000\157\000\000\001G\000\000\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\003\253\000\142\003l\003\131\000\000\006\022\000\000\000\000\001\183\000\000\003|\000\000\000\000\000\153\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\246\005\n\003l\003\131\000\151\000\000\000\000\000\000\000\000\000\000\001\189\004U\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\002\247\000\000\003\246\004V\000\000\000\000\004\007\003l\003\131\000\000\000\000\000\000\000\000\002\238\003\006\003n\000\138\000\155\000\000\003o\000\147\000\184\000\000\003\140\000\000\000\185\000\000\002\193\003\246\004L\002\197\000\157\000\000\000\000\000\000\000\000\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\003l\003m\000\000\003\144\000\000\000\152\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\140\000\000\003l\003\131\001I\000\141\000\000\000\201\000\000\000\142\000\000\000\140\000\153\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\001\210\000\000\003\246\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\003\253\000\203\000\151\000\000\000\183\000\000\000\000\000\140\000\000\003n\003|\000\000\000\000\003o\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\253\002\238\000\000\003n\000\155\000\000\000\000\003o\000\184\000\000\003|\004\005\000\185\000\000\000\000\004\002\000\000\000\000\000\157\004\003\001G\000\000\003}\000\000\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\002\193\000\000\004\005\002\197\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\003\140\004\003\000\000\000\000\003}\000\000\004\007\003l\003\131\000\000\000\000\000\000\002\212\000\152\000\000\000\000\004\005\000\000\003l\003\131\000\000\000\000\003\141\003\140\002\213\000\000\000\000\003\142\003\246\004\001\000\182\003\143\004\007\000\000\000\000\000\153\003\144\000\000\000\000\003\246\004X\003|\000\000\000\140\000\000\003\141\000\000\002\198\003\253\003\140\003\142\002\199\000\000\003}\003\143\000\000\003l\003\131\003|\003\144\000\183\000\000\002\238\004\002\003n\000\000\000\000\004\003\003o\000\000\003}\003\141\000\000\002\238\000\000\003n\003\142\003\246\005#\003o\003\143\000\000\004\005\000\155\000\000\003\144\000\000\000\184\000\000\000\000\000\000\000\185\000\000\002\247\000\000\000\000\000\000\000\157\004\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\008\000\000\000\000\000\000\002\238\000\000\003n\000\000\003\140\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\003l\003\131\000\000\000\000\000\000\000\000\000\000\003\152\000\000\000\000\003\141\003l\003\131\000\000\000\000\003\142\000\000\002\212\000\000\003\143\000\000\003\246\005%\000\000\003\144\000\000\003\253\000\000\000\000\002\213\000\000\000\000\003\246\005'\000\000\000\000\003|\003\253\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\000\000\003|\003}\000\000\000\000\000\000\004\002\000\000\000\000\002\238\004\003\003n\000\000\003}\004\005\003o\003l\003\131\000\000\000\000\002\238\000\000\003n\000\000\000\000\004\005\003o\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\000\000\000\000\004O\000\138\003|\000\000\004\007\000\147\000\000\004\002\000\000\000\000\003\140\004\003\000\000\000\000\003}\002\247\000_\002\193\000\000\000\000\002\197\003\140\000\000\000\000\000\000\000\000\004\005\000\000\000\000\003\n\000\000\000\000\003\141\000\000\002\238\000\000\003n\003\142\000\000\000\000\003o\003\143\004\007\003\141\000\000\000\000\003\144\000\138\003\142\000\000\000\000\000\147\003\143\000\000\000\000\000\000\000\140\003\144\000\000\003\140\000\000\000\141\000_\003\253\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\140\003|\003\253\000\000\002\198\000\000\004\002\000\000\002\199\003\141\004\003\000\000\003|\003}\003\142\000\000\000\000\004\002\003\143\000\151\000\000\004\003\000\000\003\144\003}\004\005\000\000\003l\003m\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\005\000\000\000\138\000\142\000\000\004\007\001R\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\004\007\003\253\003l\003m\000\000\000\000\003\140\000_\000\000\000\000\000\138\003|\000\000\000\151\000\147\000\000\004\002\003\140\003l\003m\004\003\000\000\000\000\003}\000\000\000_\000\000\000\000\003\141\000\000\000\140\000\000\003n\003\142\000\000\004\005\003o\003\143\000\000\003\141\000\000\000\140\003\144\000\000\003\142\000\152\000\141\000\140\003\143\002\212\000\142\004\007\000\141\003\144\000\000\000\000\000\142\000\140\000\000\003n\000\000\002\213\001W\003o\000\000\000\140\000\000\000\153\003\140\000\000\000\141\000\000\000\000\000\140\000\142\003n\000\151\000\000\000\000\003o\000\000\000\138\000\151\000\000\000\000\000\147\000\000\001Y\000\000\000\203\003\141\000\152\000\183\000\000\000\000\003\142\000_\000\000\000\000\003\143\000\151\000\000\000\138\000\000\003\144\000\000\000\147\000\000\001W\000\000\000\000\000\000\000\000\000\153\000\000\000\155\000\000\000_\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\002\247\003|\000\000\001\201\002\193\000\203\000\140\002\197\000\183\000\000\000\000\000\141\000\000\003}\003\012\000\142\000\000\000\000\000\000\000\000\002\193\000\000\000\000\002\197\000\152\000\000\000\000\000\140\003|\000\000\000\152\000\155\000\141\000\000\000\000\000\184\000\142\000\000\000\138\000\185\003}\000\151\000\147\000\000\003|\000\157\000\153\001T\000\152\000\000\000\000\000\000\000\153\000_\000\000\000\000\003}\000\000\000\000\000\140\000\000\000\000\000\151\002\198\000\000\002\176\000\000\002\199\000\000\000\000\000\153\000\000\001\207\000\000\000\203\002\238\000\000\000\183\000\000\002\198\003\141\000\000\000\000\002\199\000\000\000\000\000\000\000\000\002\193\000\000\002\178\002\197\000\203\000\140\003\154\000\183\000\000\000\000\000\141\000\000\000\155\000\000\000\142\000\000\000\184\000\000\000\000\003\141\000\185\000\000\002\193\000\000\000\000\002\197\000\157\000\000\000\000\000\000\000\155\000\152\000\000\003\156\000\184\003\141\000\000\000\000\000\185\000\000\000\151\000\000\000\000\000\138\000\157\000\000\000\000\000\147\002\176\003\158\000\000\000\000\000\152\000\153\000\000\000\140\000\138\000\000\000\000\002\198\000\147\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\000\003\\\000\000\002\239\002\212\002\195\000\153\000\203\000\000\002\238\000\183\000\000\000\000\002\198\003l\003m\002\213\002\199\000\000\000\000\002\212\003\019\003\020\003\022\000\000\000\000\003^\000\000\000\203\002\242\000\140\000\183\002\213\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\140\000\000\000\000\000\000\000\157\000\141\000\000\000\152\003\025\000\142\000\000\000\155\000\000\000\000\002\245\000\184\000\000\000\000\000\000\000\185\000\000\000\179\000\151\000\000\003\\\000\157\000\140\000\000\003n\000\153\000\000\000\000\003o\000\138\000\000\000\151\000\000\000\147\000\000\000\000\000\000\000\000\002\247\001\198\000\000\002\212\000\000\000\000\000\138\003\176\002\239\000\203\000\147\000\000\000\183\000\000\003\014\002\213\002\247\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\002\212\003\019\006i\003\022\000\000\002\248\000\000\000\000\000\000\002\242\000\155\000\000\002\213\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\003\025\000\000\000\152\000\000\002\193\000\140\002\245\002\197\000\000\000\000\000\141\001\170\000\000\000\000\000\142\000\152\000\000\000\000\000\140\001\183\000\000\000\000\000\000\000\141\000\153\000\151\000\000\000\142\002\247\003|\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\003}\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\183\002\247\002\193\000\138\000\151\002\197\000\000\000\147\000\000\000\000\002\238\000\000\002\173\000\183\002\198\002\248\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\155\000\000\000\000\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\003l\003m\000\000\000\185\000\138\000\000\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\152\000\000\000\000\002\238\000\140\003\141\000\000\002\198\000\000\000\141\000\000\002\199\000\000\000\142\000\000\000\152\000\000\000\182\000\000\003\160\002\232\000\000\000\153\000\000\000\000\000\000\000\000\002\238\000\152\000\000\000\000\002\198\001\183\000\000\000\000\002\199\000\000\000\153\000\000\000\151\002\239\000\000\000\140\000\000\003n\002\234\000\140\000\183\003o\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\002\212\003\024\000\138\003\022\000\000\000\183\000\147\000\000\000\000\002\242\000\000\000\000\002\213\000\155\000\000\000\138\000\000\000\184\000\183\000\147\000\000\000\185\000\000\000\000\000\151\000\000\000\000\000\157\000\155\000\000\002\239\003\025\000\184\000\000\000\000\000\000\000\185\002\245\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\000\000\002\212\000\000\000\185\003\026\000\000\0037\000\000\002\239\000\157\002\242\000\140\000\000\002\213\000\152\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\000\000\140\002\212\000\000\000\000\002\244\000\141\000\000\002\234\003\028\000\142\002\242\002\247\000\153\002\213\002\245\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\151\000\000\003B\002\248\000\000\000\000\003}\000\000\000\138\000\000\000\152\000\000\000\147\000\151\000\000\000\183\002\245\000\000\000\000\000\000\000\000\000\000\002\193\000\000\000\140\002\197\000\000\002\234\000\000\000\141\003\031\000\000\000\153\000\142\000\000\000\000\002\247\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\003\166\000\185\000\000\000\000\000\000\002\248\000\138\000\157\000\000\000\138\000\147\000\000\000\183\000\147\000\151\002\247\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\003J\000\000\000\142\003\141\002\248\000\000\000\000\000\140\000\152\000\000\000\155\002\198\000\000\003Q\000\184\002\199\000\000\003\162\000\185\000\000\000\000\000\152\000\000\000\000\000\157\002\234\000\000\000\000\000\151\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\140\000\000\002\234\000\140\000\000\000\141\000\000\000\153\000\141\000\142\000\000\000\000\000\142\000\138\000\000\000\000\000\138\000\147\000\000\000\183\000\147\003\219\000\000\000\000\003\221\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\000\000\151\000\138\000\000\000\151\000\000\000\139\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\182\000\000\000\185\000\000\000\000\000\153\000\000\000\155\000\157\000\000\000\000\000\184\000\000\000\000\004,\000\185\000\000\000\000\000\000\000\000\000\140\000\157\000\152\000\140\002\212\000\141\000\000\000\000\000\141\000\142\000\183\000\138\000\142\000\138\000\138\000\147\002\213\000\147\000\147\002\234\000\000\003\223\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\155\000\000\000\151\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\152\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\151\000\000\000\000\000\147\000\182\000\000\000\000\000\182\000\140\000\153\000\140\000\140\000\153\000\141\000\155\000\141\000\141\000\142\000\184\000\142\000\142\000\000\000\185\000\000\000\000\000\000\000\000\002\247\000\157\000\000\000\000\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\000\000\000\000\003\018\000\000\000\151\000\138\000\151\000\151\000\000\000\147\000\000\0045\000\000\000\000\000\000\000\140\000\152\000\000\000\155\000\152\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\182\000\000\000\157\002\234\000\000\000\153\000\152\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\140\000\153\000\000\000\183\000\000\000\141\000\183\000\000\000\000\000\142\000\000\000\000\000\000\000\000\004=\000\000\004\167\004\179\000\000\000\000\000\000\000\000\000\152\000\151\000\152\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\151\000\000\000\185\000\000\002\234\000\157\002\234\002\234\000\157\000\153\000\000\000\153\000\153\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\004\184\000\147\000\000\000\173\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\183\000\183\000\138\000\000\000\000\000\138\000\147\000\000\000\000\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\153\000\000\000\155\004\191\000\155\000\155\000\184\000\000\000\184\000\184\000\185\000\152\000\185\000\185\000\000\004\200\000\157\000\000\000\157\000\157\000\000\000\000\000\140\000\152\000\000\000\183\000\000\000\141\002\234\000\000\000\000\000\142\000\000\000\153\000\000\003l\003m\000\000\000\140\000\000\002\234\000\140\000\000\000\141\000\000\000\153\000\141\000\142\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\000\000\185\000\151\000\183\000\000\000\000\000\000\000\157\006\165\000\000\000\138\000\000\000\000\000\138\000\147\000\183\000\000\000\147\000\151\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\140\000\000\003n\000\155\000\000\000\157\003o\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\000\138\000\000\000\000\000\000\000\147\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\000\004\222\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\000\000\151\000\000\000\000\000\000\004\227\000\000\000\000\004\234\000\000\000\000\000\000\000\000\000\152\002\234\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\140\000\000\002\234\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\000\000\000\000\000\000\183\000\000\000\000\000\138\003l\003m\000\000\000\147\000\000\003|\000\000\000\000\000\000\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\003}\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\152\006F\000\157\000\152\000\000\000\157\000\153\000\140\000\140\000\000\003n\000\000\000\141\000\151\003o\000\000\000\142\001K\000\140\000\000\001q\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\138\000\000\000\000\000\183\000\147\000\000\000\000\000\138\000\000\003\141\000\000\000\147\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\183\000\000\000\152\000\183\003\164\000\000\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\001\138\000\000\000\157\000\000\000\155\000\153\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\140\000\157\000\000\000\000\000\157\000\141\000\000\000\140\000\152\000\142\000\000\000\138\000\141\000\183\000\000\000\147\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\185\003|\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\151\000\155\000\152\003}\000\138\000\184\000\000\000\151\000\147\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\002\155\000\183\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002\159\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\155\000\138\000\000\000\000\000\184\000\147\000\183\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\183\000\000\000\000\000\138\000\141\000\000\000\151\000\147\000\142\000\000\003\141\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\152\000\000\000\185\000\000\000\000\000\155\003\170\000\152\000\157\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\151\002\206\000\000\000\157\000\000\000\140\000\153\000\000\002\221\000\000\000\141\000\000\000\000\000\153\000\142\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\140\000\000\000\000\003l\003m\000\141\000\000\000\183\000\138\000\142\000\000\000\000\000\147\000\000\000\183\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\152\000\138\000\147\000\000\000\155\000\147\000\000\000\000\000\184\000\151\000\000\000\155\000\185\000\000\000\000\000\184\000\000\002\223\000\157\000\185\000\000\000\000\000\153\000\000\000\140\000\157\000\000\000\000\000\152\000\141\000\000\000\000\000\140\000\142\003n\000\000\000\000\000\140\003o\000\000\000\000\000\000\000\141\000\000\000\000\003v\000\142\000\183\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\151\000\000\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\155\000\000\000\151\000\000\000\184\000\183\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\181\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\003\186\000\000\000\185\000\000\000\000\000\153\000\000\000\000\000\157\000\138\000\000\000\183\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\003|\000\183\000\000\000\147\000\152\000\155\000\000\000\000\000\000\000\184\000\000\000\140\003}\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\003\190\000\000\000\000\000\155\000\000\000\153\000\000\000\184\000\000\000\000\000\000\000\185\000\152\003\211\000\140\000\152\000\000\000\157\000\153\000\141\000\000\000\000\000\000\000\142\000\138\000\151\000\000\000\000\000\147\003\250\000\183\000\000\004\155\000\140\000\153\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\183\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\003\141\000\183\000\000\000\185\000\183\000\000\000\000\000\000\000\155\000\157\000\151\000\138\000\184\000\000\003\172\000\147\000\185\003l\003m\000\000\000\000\000\140\000\157\000\000\000\155\000\000\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\000\000\000\157\000\000\000\138\000\000\000\152\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\151\000\000\000\147\000\000\000\000\000\000\005\001\000\000\000\000\000\000\000\140\000\153\000\000\000\152\000\000\000\141\000\140\000\000\003n\000\142\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\021\000\000\000\152\000\000\000\000\000\153\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000\151\000\000\000\141\000\149\005\023\000\000\000\142\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\155\000\183\000\000\000\142\000\184\000\138\000\000\000\000\000\185\000\149\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\151\000\152\000\183\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\005\025\000\000\000\157\000\000\000\140\000\153\000\000\000\155\000\000\000\141\000\138\000\184\000\000\000\142\000\149\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003|\000\138\000\140\000\000\000\000\000\149\000\152\000\141\000\183\000\000\000\000\000\142\003}\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\005\031\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\151\000\152\000\185\000\000\000\000\000\138\000\140\000\000\000\157\000\139\000\000\000\141\000\152\000\000\000\000\000\142\000\183\000\000\005-\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\005;\000\000\000\000\000\000\000\138\000\153\000\000\000\000\000\139\000\000\000\155\000\000\000\151\003\141\000\184\000\000\000\000\000\138\000\185\000\183\000\000\000\139\000\000\000\000\000\157\000\151\000\000\003\174\000\138\000\152\000\183\000\140\000\139\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\152\000\185\000\153\000\000\000\155\000\000\000\000\000\157\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\000\000\151\000\157\000\142\000\000\000\000\000\153\000\140\000\000\000\000\000\000\000\154\000\141\000\000\000\000\000\000\000\142\000\000\000\140\000\000\000\138\000\000\000\000\000\141\000\139\000\152\000\000\000\142\000\000\000\151\000\000\000\154\000\000\000\000\000\155\000\000\000\000\000\000\000\152\001\128\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\153\000\157\000\000\000\000\000\000\000\000\000\151\000\155\000\000\000\000\000\000\000\000\001\130\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\154\000\000\000\000\000\140\000\000\000\000\000\000\000\152\000\141\000\000\000\000\000\000\000\142\000\154\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\000\003\133\000\153\000\000\000\000\000\000\000\000\000\000\000\152\000\155\000\157\000\151\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\153\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\153\000\000\000\000\000\000\000\000\000\000\000\000\000\155\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\175\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\155\000\177\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\187\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191"))
1414
1415 let semantic_action =
1416 [|
1417 (fun _menhir_env ->
1418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1419 let {
1420 MenhirLib.EngineTypes.state = _menhir_s;
1421 MenhirLib.EngineTypes.semv = _1;
1422 MenhirLib.EngineTypes.startp = _startpos__1_;
1423 MenhirLib.EngineTypes.endp = _endpos__1_;
1424 MenhirLib.EngineTypes.next = _menhir_stack;
1425 } = _menhir_stack in
1426 raise (MenhirLib.TableInterpreter.Accept _1));
1427 (fun _menhir_env ->
1428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1429 let {
1430 MenhirLib.EngineTypes.state = _menhir_s;
1431 MenhirLib.EngineTypes.semv = _1;
1432 MenhirLib.EngineTypes.startp = _startpos__1_;
1433 MenhirLib.EngineTypes.endp = _endpos__1_;
1434 MenhirLib.EngineTypes.next = _menhir_stack;
1435 } = _menhir_stack in
1436 raise (MenhirLib.TableInterpreter.Accept _1));
1437 (fun _menhir_env ->
1438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1439 let {
1440 MenhirLib.EngineTypes.state = _menhir_s;
1441 MenhirLib.EngineTypes.semv = _1;
1442 MenhirLib.EngineTypes.startp = _startpos__1_;
1443 MenhirLib.EngineTypes.endp = _endpos__1_;
1444 MenhirLib.EngineTypes.next = _menhir_stack;
1445 } = _menhir_stack in
1446 raise (MenhirLib.TableInterpreter.Accept _1));
1447 (fun _menhir_env ->
1448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1449 let {
1450 MenhirLib.EngineTypes.state = _menhir_s;
1451 MenhirLib.EngineTypes.semv = _1;
1452 MenhirLib.EngineTypes.startp = _startpos__1_;
1453 MenhirLib.EngineTypes.endp = _endpos__1_;
1454 MenhirLib.EngineTypes.next = _menhir_stack;
1455 } = _menhir_stack in
1456 raise (MenhirLib.TableInterpreter.Accept _1));
1457 (fun _menhir_env ->
1458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1459 let {
1460 MenhirLib.EngineTypes.state = _menhir_s;
1461 MenhirLib.EngineTypes.semv = _1;
1462 MenhirLib.EngineTypes.startp = _startpos__1_;
1463 MenhirLib.EngineTypes.endp = _endpos__1_;
1464 MenhirLib.EngineTypes.next = _menhir_stack;
1465 } = _menhir_stack in
1466 raise (MenhirLib.TableInterpreter.Accept _1));
1467 (fun _menhir_env ->
1468 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1469 let {
1470 MenhirLib.EngineTypes.state = _menhir_s;
1471 MenhirLib.EngineTypes.semv = _1;
1472 MenhirLib.EngineTypes.startp = _startpos__1_;
1473 MenhirLib.EngineTypes.endp = _endpos__1_;
1474 MenhirLib.EngineTypes.next = _menhir_stack;
1475 } = _menhir_stack in
1476 raise (MenhirLib.TableInterpreter.Accept _1));
1477 (fun _menhir_env ->
1478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1479 let {
1480 MenhirLib.EngineTypes.state = _menhir_s;
1481 MenhirLib.EngineTypes.semv = _1;
1482 MenhirLib.EngineTypes.startp = _startpos__1_;
1483 MenhirLib.EngineTypes.endp = _endpos__1_;
1484 MenhirLib.EngineTypes.next = _menhir_stack;
1485 } = _menhir_stack in
1486 raise (MenhirLib.TableInterpreter.Accept _1));
1487 (fun _menhir_env ->
1488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1489 let {
1490 MenhirLib.EngineTypes.state = _menhir_s;
1491 MenhirLib.EngineTypes.semv = _1;
1492 MenhirLib.EngineTypes.startp = _startpos__1_;
1493 MenhirLib.EngineTypes.endp = _endpos__1_;
1494 MenhirLib.EngineTypes.next = _menhir_stack;
1495 } = _menhir_stack in
1496 raise (MenhirLib.TableInterpreter.Accept _1));
1497 (fun _menhir_env ->
1498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1499 let {
1500 MenhirLib.EngineTypes.state = _menhir_s;
1501 MenhirLib.EngineTypes.semv = _1;
1502 MenhirLib.EngineTypes.startp = _startpos__1_;
1503 MenhirLib.EngineTypes.endp = _endpos__1_;
1504 MenhirLib.EngineTypes.next = _menhir_stack;
1505 } = _menhir_stack in
1506 raise (MenhirLib.TableInterpreter.Accept _1));
1507 (fun _menhir_env ->
1508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1509 let {
1510 MenhirLib.EngineTypes.state = _menhir_s;
1511 MenhirLib.EngineTypes.semv = _1;
1512 MenhirLib.EngineTypes.startp = _startpos__1_;
1513 MenhirLib.EngineTypes.endp = _endpos__1_;
1514 MenhirLib.EngineTypes.next = _menhir_stack;
1515 } = _menhir_stack in
1516 raise (MenhirLib.TableInterpreter.Accept _1));
1517 (fun _menhir_env ->
1518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1519 let {
1520 MenhirLib.EngineTypes.state = _menhir_s;
1521 MenhirLib.EngineTypes.semv = _1;
1522 MenhirLib.EngineTypes.startp = _startpos__1_;
1523 MenhirLib.EngineTypes.endp = _endpos__1_;
1524 MenhirLib.EngineTypes.next = _menhir_stack;
1525 } = _menhir_stack in
1526 raise (MenhirLib.TableInterpreter.Accept _1));
1527 (fun _menhir_env ->
1528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1529 let {
1530 MenhirLib.EngineTypes.state = _menhir_s;
1531 MenhirLib.EngineTypes.semv = _1;
1532 MenhirLib.EngineTypes.startp = _startpos__1_;
1533 MenhirLib.EngineTypes.endp = _endpos__1_;
1534 MenhirLib.EngineTypes.next = _menhir_stack;
1535 } = _menhir_stack in
1536 raise (MenhirLib.TableInterpreter.Accept _1));
1537 (fun _menhir_env ->
1538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1539 let {
1540 MenhirLib.EngineTypes.state = _menhir_s;
1541 MenhirLib.EngineTypes.semv = _1;
1542 MenhirLib.EngineTypes.startp = _startpos__1_;
1543 MenhirLib.EngineTypes.endp = _endpos__1_;
1544 MenhirLib.EngineTypes.next = _menhir_stack;
1545 } = _menhir_stack in
1546 raise (MenhirLib.TableInterpreter.Accept _1));
1547 (fun _menhir_env ->
1548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1549 let {
1550 MenhirLib.EngineTypes.state = _menhir_s;
1551 MenhirLib.EngineTypes.semv = _1;
1552 MenhirLib.EngineTypes.startp = _startpos__1_;
1553 MenhirLib.EngineTypes.endp = _endpos__1_;
1554 MenhirLib.EngineTypes.next = _menhir_stack;
1555 } = _menhir_stack in
1556 let _1 : 'tv_eexpr = Obj.magic _1 in
1557 let _startpos = _startpos__1_ in
1558 let _endpos = _endpos__1_ in
1559 let _v : 'tv_aexpr =
1560# 1883 "parser_cocci_menhir.mly"
1561 ( Ast0.set_arg_exp _1 )
1562# 1563 "parser_cocci_menhir.ml"
1563 in
1564 _menhir_env.MenhirLib.EngineTypes.stack <- {
1565 MenhirLib.EngineTypes.state = _menhir_s;
1566 MenhirLib.EngineTypes.semv = Obj.repr _v;
1567 MenhirLib.EngineTypes.startp = _startpos;
1568 MenhirLib.EngineTypes.endp = _endpos;
1569 MenhirLib.EngineTypes.next = _menhir_stack;
1570 });
1571 (fun _menhir_env ->
1572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1573 let {
1574 MenhirLib.EngineTypes.state = _menhir_s;
1575 MenhirLib.EngineTypes.semv = _1;
1576 MenhirLib.EngineTypes.startp = _startpos__1_;
1577 MenhirLib.EngineTypes.endp = _endpos__1_;
1578 MenhirLib.EngineTypes.next = _menhir_stack;
1579 } = _menhir_stack in
1580 let _1 : (
1581# 67 "parser_cocci_menhir.mly"
1582 (Parse_aux.list_info)
1583# 1584 "parser_cocci_menhir.ml"
1584 ) = Obj.magic _1 in
1585 let _startpos = _startpos__1_ in
1586 let _endpos = _endpos__1_ in
1587 let _v : 'tv_aexpr =
1588# 1885 "parser_cocci_menhir.mly"
1589 ( let (nm,lenname,pure,clt) = _1 in
1590 let nm = P.clt2mcode nm clt in
1591 let lenname =
1592 match lenname with
1593 Some nm -> Some(P.clt2mcode nm clt)
1594 | None -> None in
1595 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1596# 1597 "parser_cocci_menhir.ml"
1597 in
1598 _menhir_env.MenhirLib.EngineTypes.stack <- {
1599 MenhirLib.EngineTypes.state = _menhir_s;
1600 MenhirLib.EngineTypes.semv = Obj.repr _v;
1601 MenhirLib.EngineTypes.startp = _startpos;
1602 MenhirLib.EngineTypes.endp = _endpos;
1603 MenhirLib.EngineTypes.next = _menhir_stack;
1604 });
1605 (fun _menhir_env ->
1606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1607 let {
1608 MenhirLib.EngineTypes.state = _menhir_s;
1609 MenhirLib.EngineTypes.semv = _1;
1610 MenhirLib.EngineTypes.startp = _startpos__1_;
1611 MenhirLib.EngineTypes.endp = _endpos__1_;
1612 MenhirLib.EngineTypes.next = _menhir_stack;
1613 } = _menhir_stack in
1614 let _1 : 'tv_ctype = Obj.magic _1 in
1615 let _startpos = _startpos__1_ in
1616 let _endpos = _endpos__1_ in
1617 let _v : 'tv_aexpr =
1618# 1893 "parser_cocci_menhir.mly"
1619 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1620# 1621 "parser_cocci_menhir.ml"
1621 in
1622 _menhir_env.MenhirLib.EngineTypes.stack <- {
1623 MenhirLib.EngineTypes.state = _menhir_s;
1624 MenhirLib.EngineTypes.semv = Obj.repr _v;
1625 MenhirLib.EngineTypes.startp = _startpos;
1626 MenhirLib.EngineTypes.endp = _endpos;
1627 MenhirLib.EngineTypes.next = _menhir_stack;
1628 });
1629 (fun _menhir_env ->
1630 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1631 let {
1632 MenhirLib.EngineTypes.state = _menhir_s;
1633 MenhirLib.EngineTypes.startp = _startpos__1_;
1634 MenhirLib.EngineTypes.endp = _endpos__1_;
1635 MenhirLib.EngineTypes.next = _menhir_stack;
1636 } = _menhir_stack in
1637 let _startpos = _startpos__1_ in
1638 let _endpos = _endpos__1_ in
1639 let _v : 'tv_any_strict =
1640# 1937 "parser_cocci_menhir.mly"
1641 ( Ast.WhenAny )
1642# 1643 "parser_cocci_menhir.ml"
1643 in
1644 _menhir_env.MenhirLib.EngineTypes.stack <- {
1645 MenhirLib.EngineTypes.state = _menhir_s;
1646 MenhirLib.EngineTypes.semv = Obj.repr _v;
1647 MenhirLib.EngineTypes.startp = _startpos;
1648 MenhirLib.EngineTypes.endp = _endpos;
1649 MenhirLib.EngineTypes.next = _menhir_stack;
1650 });
1651 (fun _menhir_env ->
1652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1653 let {
1654 MenhirLib.EngineTypes.state = _menhir_s;
1655 MenhirLib.EngineTypes.startp = _startpos__1_;
1656 MenhirLib.EngineTypes.endp = _endpos__1_;
1657 MenhirLib.EngineTypes.next = _menhir_stack;
1658 } = _menhir_stack in
1659 let _startpos = _startpos__1_ in
1660 let _endpos = _endpos__1_ in
1661 let _v : 'tv_any_strict =
1662# 1938 "parser_cocci_menhir.mly"
1663 ( Ast.WhenStrict )
1664# 1665 "parser_cocci_menhir.ml"
1665 in
1666 _menhir_env.MenhirLib.EngineTypes.stack <- {
1667 MenhirLib.EngineTypes.state = _menhir_s;
1668 MenhirLib.EngineTypes.semv = Obj.repr _v;
1669 MenhirLib.EngineTypes.startp = _startpos;
1670 MenhirLib.EngineTypes.endp = _endpos;
1671 MenhirLib.EngineTypes.next = _menhir_stack;
1672 });
1673 (fun _menhir_env ->
1674 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1675 let {
1676 MenhirLib.EngineTypes.state = _menhir_s;
1677 MenhirLib.EngineTypes.startp = _startpos__1_;
1678 MenhirLib.EngineTypes.endp = _endpos__1_;
1679 MenhirLib.EngineTypes.next = _menhir_stack;
1680 } = _menhir_stack in
1681 let _startpos = _startpos__1_ in
1682 let _endpos = _endpos__1_ in
1683 let _v : 'tv_any_strict =
1684# 1939 "parser_cocci_menhir.mly"
1685 ( Ast.WhenForall )
1686# 1687 "parser_cocci_menhir.ml"
1687 in
1688 _menhir_env.MenhirLib.EngineTypes.stack <- {
1689 MenhirLib.EngineTypes.state = _menhir_s;
1690 MenhirLib.EngineTypes.semv = Obj.repr _v;
1691 MenhirLib.EngineTypes.startp = _startpos;
1692 MenhirLib.EngineTypes.endp = _endpos;
1693 MenhirLib.EngineTypes.next = _menhir_stack;
1694 });
1695 (fun _menhir_env ->
1696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1697 let {
1698 MenhirLib.EngineTypes.state = _menhir_s;
1699 MenhirLib.EngineTypes.startp = _startpos__1_;
1700 MenhirLib.EngineTypes.endp = _endpos__1_;
1701 MenhirLib.EngineTypes.next = _menhir_stack;
1702 } = _menhir_stack in
1703 let _startpos = _startpos__1_ in
1704 let _endpos = _endpos__1_ in
1705 let _v : 'tv_any_strict =
1706# 1940 "parser_cocci_menhir.mly"
1707 ( Ast.WhenExists )
1708# 1709 "parser_cocci_menhir.ml"
1709 in
1710 _menhir_env.MenhirLib.EngineTypes.stack <- {
1711 MenhirLib.EngineTypes.state = _menhir_s;
1712 MenhirLib.EngineTypes.semv = Obj.repr _v;
1713 MenhirLib.EngineTypes.startp = _startpos;
1714 MenhirLib.EngineTypes.endp = _endpos;
1715 MenhirLib.EngineTypes.next = _menhir_stack;
1716 });
1717 (fun _menhir_env ->
1718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1719 let {
1720 MenhirLib.EngineTypes.state = _menhir_s;
1721 MenhirLib.EngineTypes.semv = _1;
1722 MenhirLib.EngineTypes.startp = _startpos__1_;
1723 MenhirLib.EngineTypes.endp = _endpos__1_;
1724 MenhirLib.EngineTypes.next = _menhir_stack;
1725 } = _menhir_stack in
1726 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1727 let _startpos = _startpos__1_ in
1728 let _endpos = _endpos__1_ in
1729 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1730# 1284 "parser_cocci_menhir.mly"
1731 ( _1 )
1732# 1733 "parser_cocci_menhir.ml"
1733 in
1734 _menhir_env.MenhirLib.EngineTypes.stack <- {
1735 MenhirLib.EngineTypes.state = _menhir_s;
1736 MenhirLib.EngineTypes.semv = Obj.repr _v;
1737 MenhirLib.EngineTypes.startp = _startpos;
1738 MenhirLib.EngineTypes.endp = _endpos;
1739 MenhirLib.EngineTypes.next = _menhir_stack;
1740 });
1741 (fun _menhir_env ->
1742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1743 let {
1744 MenhirLib.EngineTypes.semv = _3;
1745 MenhirLib.EngineTypes.startp = _startpos__3_;
1746 MenhirLib.EngineTypes.endp = _endpos__3_;
1747 MenhirLib.EngineTypes.next = {
1748 MenhirLib.EngineTypes.semv = _2;
1749 MenhirLib.EngineTypes.startp = _startpos__2_;
1750 MenhirLib.EngineTypes.endp = _endpos__2_;
1751 MenhirLib.EngineTypes.next = {
1752 MenhirLib.EngineTypes.state = _menhir_s;
1753 MenhirLib.EngineTypes.semv = _1;
1754 MenhirLib.EngineTypes.startp = _startpos__1_;
1755 MenhirLib.EngineTypes.endp = _endpos__1_;
1756 MenhirLib.EngineTypes.next = _menhir_stack;
1757 };
1758 };
1759 } = _menhir_stack in
1760 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1761 let _2 : (
1762# 100 "parser_cocci_menhir.mly"
1763 (Data.clt)
1764# 1765 "parser_cocci_menhir.ml"
1765 ) = Obj.magic _2 in
1766 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1767 let _startpos = _startpos__1_ in
1768 let _endpos = _endpos__3_ in
1769 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1770# 1286 "parser_cocci_menhir.mly"
1771 ( P.arith_op Ast.Mul _1 _2 _3 )
1772# 1773 "parser_cocci_menhir.ml"
1773 in
1774 _menhir_env.MenhirLib.EngineTypes.stack <- {
1775 MenhirLib.EngineTypes.state = _menhir_s;
1776 MenhirLib.EngineTypes.semv = Obj.repr _v;
1777 MenhirLib.EngineTypes.startp = _startpos;
1778 MenhirLib.EngineTypes.endp = _endpos;
1779 MenhirLib.EngineTypes.next = _menhir_stack;
1780 });
1781 (fun _menhir_env ->
1782 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1783 let {
1784 MenhirLib.EngineTypes.semv = _3;
1785 MenhirLib.EngineTypes.startp = _startpos__3_;
1786 MenhirLib.EngineTypes.endp = _endpos__3_;
1787 MenhirLib.EngineTypes.next = {
1788 MenhirLib.EngineTypes.semv = _2;
1789 MenhirLib.EngineTypes.startp = _startpos__2_;
1790 MenhirLib.EngineTypes.endp = _endpos__2_;
1791 MenhirLib.EngineTypes.next = {
1792 MenhirLib.EngineTypes.state = _menhir_s;
1793 MenhirLib.EngineTypes.semv = _1;
1794 MenhirLib.EngineTypes.startp = _startpos__1_;
1795 MenhirLib.EngineTypes.endp = _endpos__1_;
1796 MenhirLib.EngineTypes.next = _menhir_stack;
1797 };
1798 };
1799 } = _menhir_stack in
1800 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1801 let _2 : (
1802# 98 "parser_cocci_menhir.mly"
1803 (Ast_cocci.arithOp * Data.clt)
1804# 1805 "parser_cocci_menhir.ml"
1805 ) = Obj.magic _2 in
1806 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1807 let _startpos = _startpos__1_ in
1808 let _endpos = _endpos__3_ in
1809 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1810# 1288 "parser_cocci_menhir.mly"
1811 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1812# 1813 "parser_cocci_menhir.ml"
1813 in
1814 _menhir_env.MenhirLib.EngineTypes.stack <- {
1815 MenhirLib.EngineTypes.state = _menhir_s;
1816 MenhirLib.EngineTypes.semv = Obj.repr _v;
1817 MenhirLib.EngineTypes.startp = _startpos;
1818 MenhirLib.EngineTypes.endp = _endpos;
1819 MenhirLib.EngineTypes.next = _menhir_stack;
1820 });
1821 (fun _menhir_env ->
1822 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1823 let {
1824 MenhirLib.EngineTypes.semv = _3;
1825 MenhirLib.EngineTypes.startp = _startpos__3_;
1826 MenhirLib.EngineTypes.endp = _endpos__3_;
1827 MenhirLib.EngineTypes.next = {
1828 MenhirLib.EngineTypes.semv = _2;
1829 MenhirLib.EngineTypes.startp = _startpos__2_;
1830 MenhirLib.EngineTypes.endp = _endpos__2_;
1831 MenhirLib.EngineTypes.next = {
1832 MenhirLib.EngineTypes.state = _menhir_s;
1833 MenhirLib.EngineTypes.semv = _1;
1834 MenhirLib.EngineTypes.startp = _startpos__1_;
1835 MenhirLib.EngineTypes.endp = _endpos__1_;
1836 MenhirLib.EngineTypes.next = _menhir_stack;
1837 };
1838 };
1839 } = _menhir_stack in
1840 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1841 let _2 : (
1842# 99 "parser_cocci_menhir.mly"
1843 (Data.clt)
1844# 1845 "parser_cocci_menhir.ml"
1845 ) = Obj.magic _2 in
1846 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1847 let _startpos = _startpos__1_ in
1848 let _endpos = _endpos__3_ in
1849 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1850# 1290 "parser_cocci_menhir.mly"
1851 ( P.arith_op Ast.Plus _1 _2 _3 )
1852# 1853 "parser_cocci_menhir.ml"
1853 in
1854 _menhir_env.MenhirLib.EngineTypes.stack <- {
1855 MenhirLib.EngineTypes.state = _menhir_s;
1856 MenhirLib.EngineTypes.semv = Obj.repr _v;
1857 MenhirLib.EngineTypes.startp = _startpos;
1858 MenhirLib.EngineTypes.endp = _endpos;
1859 MenhirLib.EngineTypes.next = _menhir_stack;
1860 });
1861 (fun _menhir_env ->
1862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1863 let {
1864 MenhirLib.EngineTypes.semv = _3;
1865 MenhirLib.EngineTypes.startp = _startpos__3_;
1866 MenhirLib.EngineTypes.endp = _endpos__3_;
1867 MenhirLib.EngineTypes.next = {
1868 MenhirLib.EngineTypes.semv = _2;
1869 MenhirLib.EngineTypes.startp = _startpos__2_;
1870 MenhirLib.EngineTypes.endp = _endpos__2_;
1871 MenhirLib.EngineTypes.next = {
1872 MenhirLib.EngineTypes.state = _menhir_s;
1873 MenhirLib.EngineTypes.semv = _1;
1874 MenhirLib.EngineTypes.startp = _startpos__1_;
1875 MenhirLib.EngineTypes.endp = _endpos__1_;
1876 MenhirLib.EngineTypes.next = _menhir_stack;
1877 };
1878 };
1879 } = _menhir_stack in
1880 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1881 let _2 : (
1882# 99 "parser_cocci_menhir.mly"
1883 (Data.clt)
1884# 1885 "parser_cocci_menhir.ml"
1885 ) = Obj.magic _2 in
1886 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1887 let _startpos = _startpos__1_ in
1888 let _endpos = _endpos__3_ in
1889 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1890# 1292 "parser_cocci_menhir.mly"
1891 ( P.arith_op Ast.Minus _1 _2 _3 )
1892# 1893 "parser_cocci_menhir.ml"
1893 in
1894 _menhir_env.MenhirLib.EngineTypes.stack <- {
1895 MenhirLib.EngineTypes.state = _menhir_s;
1896 MenhirLib.EngineTypes.semv = Obj.repr _v;
1897 MenhirLib.EngineTypes.startp = _startpos;
1898 MenhirLib.EngineTypes.endp = _endpos;
1899 MenhirLib.EngineTypes.next = _menhir_stack;
1900 });
1901 (fun _menhir_env ->
1902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1903 let {
1904 MenhirLib.EngineTypes.semv = _3;
1905 MenhirLib.EngineTypes.startp = _startpos__3_;
1906 MenhirLib.EngineTypes.endp = _endpos__3_;
1907 MenhirLib.EngineTypes.next = {
1908 MenhirLib.EngineTypes.semv = _2;
1909 MenhirLib.EngineTypes.startp = _startpos__2_;
1910 MenhirLib.EngineTypes.endp = _endpos__2_;
1911 MenhirLib.EngineTypes.next = {
1912 MenhirLib.EngineTypes.state = _menhir_s;
1913 MenhirLib.EngineTypes.semv = _1;
1914 MenhirLib.EngineTypes.startp = _startpos__1_;
1915 MenhirLib.EngineTypes.endp = _endpos__1_;
1916 MenhirLib.EngineTypes.next = _menhir_stack;
1917 };
1918 };
1919 } = _menhir_stack in
1920 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1921 let _2 : (
1922# 97 "parser_cocci_menhir.mly"
1923 (Ast_cocci.arithOp * Data.clt)
1924# 1925 "parser_cocci_menhir.ml"
1925 ) = Obj.magic _2 in
1926 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1927 let _startpos = _startpos__1_ in
1928 let _endpos = _endpos__3_ in
1929 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1930# 1294 "parser_cocci_menhir.mly"
1931 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1932# 1933 "parser_cocci_menhir.ml"
1933 in
1934 _menhir_env.MenhirLib.EngineTypes.stack <- {
1935 MenhirLib.EngineTypes.state = _menhir_s;
1936 MenhirLib.EngineTypes.semv = Obj.repr _v;
1937 MenhirLib.EngineTypes.startp = _startpos;
1938 MenhirLib.EngineTypes.endp = _endpos;
1939 MenhirLib.EngineTypes.next = _menhir_stack;
1940 });
1941 (fun _menhir_env ->
1942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1943 let {
1944 MenhirLib.EngineTypes.semv = _3;
1945 MenhirLib.EngineTypes.startp = _startpos__3_;
1946 MenhirLib.EngineTypes.endp = _endpos__3_;
1947 MenhirLib.EngineTypes.next = {
1948 MenhirLib.EngineTypes.semv = _2;
1949 MenhirLib.EngineTypes.startp = _startpos__2_;
1950 MenhirLib.EngineTypes.endp = _endpos__2_;
1951 MenhirLib.EngineTypes.next = {
1952 MenhirLib.EngineTypes.state = _menhir_s;
1953 MenhirLib.EngineTypes.semv = _1;
1954 MenhirLib.EngineTypes.startp = _startpos__1_;
1955 MenhirLib.EngineTypes.endp = _endpos__1_;
1956 MenhirLib.EngineTypes.next = _menhir_stack;
1957 };
1958 };
1959 } = _menhir_stack in
1960 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1961 let _2 : (
1962# 96 "parser_cocci_menhir.mly"
1963 (Ast_cocci.logicalOp * Data.clt)
1964# 1965 "parser_cocci_menhir.ml"
1965 ) = Obj.magic _2 in
1966 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1967 let _startpos = _startpos__1_ in
1968 let _endpos = _endpos__3_ in
1969 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1970# 1296 "parser_cocci_menhir.mly"
1971 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
1972# 1973 "parser_cocci_menhir.ml"
1973 in
1974 _menhir_env.MenhirLib.EngineTypes.stack <- {
1975 MenhirLib.EngineTypes.state = _menhir_s;
1976 MenhirLib.EngineTypes.semv = Obj.repr _v;
1977 MenhirLib.EngineTypes.startp = _startpos;
1978 MenhirLib.EngineTypes.endp = _endpos;
1979 MenhirLib.EngineTypes.next = _menhir_stack;
1980 });
1981 (fun _menhir_env ->
1982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1983 let {
1984 MenhirLib.EngineTypes.semv = _3;
1985 MenhirLib.EngineTypes.startp = _startpos__3_;
1986 MenhirLib.EngineTypes.endp = _endpos__3_;
1987 MenhirLib.EngineTypes.next = {
1988 MenhirLib.EngineTypes.semv = _2;
1989 MenhirLib.EngineTypes.startp = _startpos__2_;
1990 MenhirLib.EngineTypes.endp = _endpos__2_;
1991 MenhirLib.EngineTypes.next = {
1992 MenhirLib.EngineTypes.state = _menhir_s;
1993 MenhirLib.EngineTypes.semv = _1;
1994 MenhirLib.EngineTypes.startp = _startpos__1_;
1995 MenhirLib.EngineTypes.endp = _endpos__1_;
1996 MenhirLib.EngineTypes.next = _menhir_stack;
1997 };
1998 };
1999 } = _menhir_stack in
2000 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2001 let _2 : (
2002# 95 "parser_cocci_menhir.mly"
2003 (Data.clt)
2004# 2005 "parser_cocci_menhir.ml"
2005 ) = Obj.magic _2 in
2006 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2007 let _startpos = _startpos__1_ in
2008 let _endpos = _endpos__3_ in
2009 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2010# 1298 "parser_cocci_menhir.mly"
2011 ( P.logic_op Ast.Eq _1 _2 _3 )
2012# 2013 "parser_cocci_menhir.ml"
2013 in
2014 _menhir_env.MenhirLib.EngineTypes.stack <- {
2015 MenhirLib.EngineTypes.state = _menhir_s;
2016 MenhirLib.EngineTypes.semv = Obj.repr _v;
2017 MenhirLib.EngineTypes.startp = _startpos;
2018 MenhirLib.EngineTypes.endp = _endpos;
2019 MenhirLib.EngineTypes.next = _menhir_stack;
2020 });
2021 (fun _menhir_env ->
2022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2023 let {
2024 MenhirLib.EngineTypes.semv = _3;
2025 MenhirLib.EngineTypes.startp = _startpos__3_;
2026 MenhirLib.EngineTypes.endp = _endpos__3_;
2027 MenhirLib.EngineTypes.next = {
2028 MenhirLib.EngineTypes.semv = _2;
2029 MenhirLib.EngineTypes.startp = _startpos__2_;
2030 MenhirLib.EngineTypes.endp = _endpos__2_;
2031 MenhirLib.EngineTypes.next = {
2032 MenhirLib.EngineTypes.state = _menhir_s;
2033 MenhirLib.EngineTypes.semv = _1;
2034 MenhirLib.EngineTypes.startp = _startpos__1_;
2035 MenhirLib.EngineTypes.endp = _endpos__1_;
2036 MenhirLib.EngineTypes.next = _menhir_stack;
2037 };
2038 };
2039 } = _menhir_stack in
2040 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2041 let _2 : (
2042# 95 "parser_cocci_menhir.mly"
2043 (Data.clt)
2044# 2045 "parser_cocci_menhir.ml"
2045 ) = Obj.magic _2 in
2046 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2047 let _startpos = _startpos__1_ in
2048 let _endpos = _endpos__3_ in
2049 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2050# 1300 "parser_cocci_menhir.mly"
2051 ( P.logic_op Ast.NotEq _1 _2 _3 )
2052# 2053 "parser_cocci_menhir.ml"
2053 in
2054 _menhir_env.MenhirLib.EngineTypes.stack <- {
2055 MenhirLib.EngineTypes.state = _menhir_s;
2056 MenhirLib.EngineTypes.semv = Obj.repr _v;
2057 MenhirLib.EngineTypes.startp = _startpos;
2058 MenhirLib.EngineTypes.endp = _endpos;
2059 MenhirLib.EngineTypes.next = _menhir_stack;
2060 });
2061 (fun _menhir_env ->
2062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2063 let {
2064 MenhirLib.EngineTypes.semv = _3;
2065 MenhirLib.EngineTypes.startp = _startpos__3_;
2066 MenhirLib.EngineTypes.endp = _endpos__3_;
2067 MenhirLib.EngineTypes.next = {
2068 MenhirLib.EngineTypes.semv = _2;
2069 MenhirLib.EngineTypes.startp = _startpos__2_;
2070 MenhirLib.EngineTypes.endp = _endpos__2_;
2071 MenhirLib.EngineTypes.next = {
2072 MenhirLib.EngineTypes.state = _menhir_s;
2073 MenhirLib.EngineTypes.semv = _1;
2074 MenhirLib.EngineTypes.startp = _startpos__1_;
2075 MenhirLib.EngineTypes.endp = _endpos__1_;
2076 MenhirLib.EngineTypes.next = _menhir_stack;
2077 };
2078 };
2079 } = _menhir_stack in
2080 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2081 let _2 : (
2082# 94 "parser_cocci_menhir.mly"
2083 (Data.clt)
2084# 2085 "parser_cocci_menhir.ml"
2085 ) = Obj.magic _2 in
2086 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2087 let _startpos = _startpos__1_ in
2088 let _endpos = _endpos__3_ in
2089 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2090# 1302 "parser_cocci_menhir.mly"
2091 ( P.arith_op Ast.And _1 _2 _3 )
2092# 2093 "parser_cocci_menhir.ml"
2093 in
2094 _menhir_env.MenhirLib.EngineTypes.stack <- {
2095 MenhirLib.EngineTypes.state = _menhir_s;
2096 MenhirLib.EngineTypes.semv = Obj.repr _v;
2097 MenhirLib.EngineTypes.startp = _startpos;
2098 MenhirLib.EngineTypes.endp = _endpos;
2099 MenhirLib.EngineTypes.next = _menhir_stack;
2100 });
2101 (fun _menhir_env ->
2102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2103 let {
2104 MenhirLib.EngineTypes.semv = _3;
2105 MenhirLib.EngineTypes.startp = _startpos__3_;
2106 MenhirLib.EngineTypes.endp = _endpos__3_;
2107 MenhirLib.EngineTypes.next = {
2108 MenhirLib.EngineTypes.semv = _2;
2109 MenhirLib.EngineTypes.startp = _startpos__2_;
2110 MenhirLib.EngineTypes.endp = _endpos__2_;
2111 MenhirLib.EngineTypes.next = {
2112 MenhirLib.EngineTypes.state = _menhir_s;
2113 MenhirLib.EngineTypes.semv = _1;
2114 MenhirLib.EngineTypes.startp = _startpos__1_;
2115 MenhirLib.EngineTypes.endp = _endpos__1_;
2116 MenhirLib.EngineTypes.next = _menhir_stack;
2117 };
2118 };
2119 } = _menhir_stack in
2120 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2121 let _2 : (
2122# 92 "parser_cocci_menhir.mly"
2123 (Data.clt)
2124# 2125 "parser_cocci_menhir.ml"
2125 ) = Obj.magic _2 in
2126 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2127 let _startpos = _startpos__1_ in
2128 let _endpos = _endpos__3_ in
2129 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2130# 1304 "parser_cocci_menhir.mly"
2131 ( P.arith_op Ast.Or _1 _2 _3 )
2132# 2133 "parser_cocci_menhir.ml"
2133 in
2134 _menhir_env.MenhirLib.EngineTypes.stack <- {
2135 MenhirLib.EngineTypes.state = _menhir_s;
2136 MenhirLib.EngineTypes.semv = Obj.repr _v;
2137 MenhirLib.EngineTypes.startp = _startpos;
2138 MenhirLib.EngineTypes.endp = _endpos;
2139 MenhirLib.EngineTypes.next = _menhir_stack;
2140 });
2141 (fun _menhir_env ->
2142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2143 let {
2144 MenhirLib.EngineTypes.semv = _3;
2145 MenhirLib.EngineTypes.startp = _startpos__3_;
2146 MenhirLib.EngineTypes.endp = _endpos__3_;
2147 MenhirLib.EngineTypes.next = {
2148 MenhirLib.EngineTypes.semv = _2;
2149 MenhirLib.EngineTypes.startp = _startpos__2_;
2150 MenhirLib.EngineTypes.endp = _endpos__2_;
2151 MenhirLib.EngineTypes.next = {
2152 MenhirLib.EngineTypes.state = _menhir_s;
2153 MenhirLib.EngineTypes.semv = _1;
2154 MenhirLib.EngineTypes.startp = _startpos__1_;
2155 MenhirLib.EngineTypes.endp = _endpos__1_;
2156 MenhirLib.EngineTypes.next = _menhir_stack;
2157 };
2158 };
2159 } = _menhir_stack in
2160 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2161 let _2 : (
2162# 93 "parser_cocci_menhir.mly"
2163 (Data.clt)
2164# 2165 "parser_cocci_menhir.ml"
2165 ) = Obj.magic _2 in
2166 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2167 let _startpos = _startpos__1_ in
2168 let _endpos = _endpos__3_ in
2169 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2170# 1306 "parser_cocci_menhir.mly"
2171 ( P.arith_op Ast.Xor _1 _2 _3 )
2172# 2173 "parser_cocci_menhir.ml"
2173 in
2174 _menhir_env.MenhirLib.EngineTypes.stack <- {
2175 MenhirLib.EngineTypes.state = _menhir_s;
2176 MenhirLib.EngineTypes.semv = Obj.repr _v;
2177 MenhirLib.EngineTypes.startp = _startpos;
2178 MenhirLib.EngineTypes.endp = _endpos;
2179 MenhirLib.EngineTypes.next = _menhir_stack;
2180 });
2181 (fun _menhir_env ->
2182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2183 let {
2184 MenhirLib.EngineTypes.semv = _3;
2185 MenhirLib.EngineTypes.startp = _startpos__3_;
2186 MenhirLib.EngineTypes.endp = _endpos__3_;
2187 MenhirLib.EngineTypes.next = {
2188 MenhirLib.EngineTypes.semv = _2;
2189 MenhirLib.EngineTypes.startp = _startpos__2_;
2190 MenhirLib.EngineTypes.endp = _endpos__2_;
2191 MenhirLib.EngineTypes.next = {
2192 MenhirLib.EngineTypes.state = _menhir_s;
2193 MenhirLib.EngineTypes.semv = _1;
2194 MenhirLib.EngineTypes.startp = _startpos__1_;
2195 MenhirLib.EngineTypes.endp = _endpos__1_;
2196 MenhirLib.EngineTypes.next = _menhir_stack;
2197 };
2198 };
2199 } = _menhir_stack in
2200 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2201 let _2 : (
2202# 91 "parser_cocci_menhir.mly"
2203 (Data.clt)
2204# 2205 "parser_cocci_menhir.ml"
2205 ) = Obj.magic _2 in
2206 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2207 let _startpos = _startpos__1_ in
2208 let _endpos = _endpos__3_ in
2209 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2210# 1308 "parser_cocci_menhir.mly"
2211 ( P.logic_op Ast.AndLog _1 _2 _3 )
2212# 2213 "parser_cocci_menhir.ml"
2213 in
2214 _menhir_env.MenhirLib.EngineTypes.stack <- {
2215 MenhirLib.EngineTypes.state = _menhir_s;
2216 MenhirLib.EngineTypes.semv = Obj.repr _v;
2217 MenhirLib.EngineTypes.startp = _startpos;
2218 MenhirLib.EngineTypes.endp = _endpos;
2219 MenhirLib.EngineTypes.next = _menhir_stack;
2220 });
2221 (fun _menhir_env ->
2222 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2223 let {
2224 MenhirLib.EngineTypes.semv = _3;
2225 MenhirLib.EngineTypes.startp = _startpos__3_;
2226 MenhirLib.EngineTypes.endp = _endpos__3_;
2227 MenhirLib.EngineTypes.next = {
2228 MenhirLib.EngineTypes.semv = _2;
2229 MenhirLib.EngineTypes.startp = _startpos__2_;
2230 MenhirLib.EngineTypes.endp = _endpos__2_;
2231 MenhirLib.EngineTypes.next = {
2232 MenhirLib.EngineTypes.state = _menhir_s;
2233 MenhirLib.EngineTypes.semv = _1;
2234 MenhirLib.EngineTypes.startp = _startpos__1_;
2235 MenhirLib.EngineTypes.endp = _endpos__1_;
2236 MenhirLib.EngineTypes.next = _menhir_stack;
2237 };
2238 };
2239 } = _menhir_stack in
2240 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2241 let _2 : (
2242# 90 "parser_cocci_menhir.mly"
2243 (Data.clt)
2244# 2245 "parser_cocci_menhir.ml"
2245 ) = Obj.magic _2 in
2246 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2247 let _startpos = _startpos__1_ in
2248 let _endpos = _endpos__3_ in
2249 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2250# 1310 "parser_cocci_menhir.mly"
2251 ( P.logic_op Ast.OrLog _1 _2 _3 )
2252# 2253 "parser_cocci_menhir.ml"
2253 in
2254 _menhir_env.MenhirLib.EngineTypes.stack <- {
2255 MenhirLib.EngineTypes.state = _menhir_s;
2256 MenhirLib.EngineTypes.semv = Obj.repr _v;
2257 MenhirLib.EngineTypes.startp = _startpos;
2258 MenhirLib.EngineTypes.endp = _endpos;
2259 MenhirLib.EngineTypes.next = _menhir_stack;
2260 });
2261 (fun _menhir_env ->
2262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2263 let {
2264 MenhirLib.EngineTypes.state = _menhir_s;
2265 MenhirLib.EngineTypes.semv = _1;
2266 MenhirLib.EngineTypes.startp = _startpos__1_;
2267 MenhirLib.EngineTypes.endp = _endpos__1_;
2268 MenhirLib.EngineTypes.next = _menhir_stack;
2269 } = _menhir_stack in
2270 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2271 let _startpos = _startpos__1_ in
2272 let _endpos = _endpos__1_ in
2273 let _v : 'tv_arith_expr_eexpr_invalid_ =
2274# 1284 "parser_cocci_menhir.mly"
2275 ( _1 )
2276# 2277 "parser_cocci_menhir.ml"
2277 in
2278 _menhir_env.MenhirLib.EngineTypes.stack <- {
2279 MenhirLib.EngineTypes.state = _menhir_s;
2280 MenhirLib.EngineTypes.semv = Obj.repr _v;
2281 MenhirLib.EngineTypes.startp = _startpos;
2282 MenhirLib.EngineTypes.endp = _endpos;
2283 MenhirLib.EngineTypes.next = _menhir_stack;
2284 });
2285 (fun _menhir_env ->
2286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2287 let {
2288 MenhirLib.EngineTypes.semv = _3;
2289 MenhirLib.EngineTypes.startp = _startpos__3_;
2290 MenhirLib.EngineTypes.endp = _endpos__3_;
2291 MenhirLib.EngineTypes.next = {
2292 MenhirLib.EngineTypes.semv = _2;
2293 MenhirLib.EngineTypes.startp = _startpos__2_;
2294 MenhirLib.EngineTypes.endp = _endpos__2_;
2295 MenhirLib.EngineTypes.next = {
2296 MenhirLib.EngineTypes.state = _menhir_s;
2297 MenhirLib.EngineTypes.semv = _1;
2298 MenhirLib.EngineTypes.startp = _startpos__1_;
2299 MenhirLib.EngineTypes.endp = _endpos__1_;
2300 MenhirLib.EngineTypes.next = _menhir_stack;
2301 };
2302 };
2303 } = _menhir_stack in
2304 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2305 let _2 : (
2306# 100 "parser_cocci_menhir.mly"
2307 (Data.clt)
2308# 2309 "parser_cocci_menhir.ml"
2309 ) = Obj.magic _2 in
2310 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2311 let _startpos = _startpos__1_ in
2312 let _endpos = _endpos__3_ in
2313 let _v : 'tv_arith_expr_eexpr_invalid_ =
2314# 1286 "parser_cocci_menhir.mly"
2315 ( P.arith_op Ast.Mul _1 _2 _3 )
2316# 2317 "parser_cocci_menhir.ml"
2317 in
2318 _menhir_env.MenhirLib.EngineTypes.stack <- {
2319 MenhirLib.EngineTypes.state = _menhir_s;
2320 MenhirLib.EngineTypes.semv = Obj.repr _v;
2321 MenhirLib.EngineTypes.startp = _startpos;
2322 MenhirLib.EngineTypes.endp = _endpos;
2323 MenhirLib.EngineTypes.next = _menhir_stack;
2324 });
2325 (fun _menhir_env ->
2326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2327 let {
2328 MenhirLib.EngineTypes.semv = _3;
2329 MenhirLib.EngineTypes.startp = _startpos__3_;
2330 MenhirLib.EngineTypes.endp = _endpos__3_;
2331 MenhirLib.EngineTypes.next = {
2332 MenhirLib.EngineTypes.semv = _2;
2333 MenhirLib.EngineTypes.startp = _startpos__2_;
2334 MenhirLib.EngineTypes.endp = _endpos__2_;
2335 MenhirLib.EngineTypes.next = {
2336 MenhirLib.EngineTypes.state = _menhir_s;
2337 MenhirLib.EngineTypes.semv = _1;
2338 MenhirLib.EngineTypes.startp = _startpos__1_;
2339 MenhirLib.EngineTypes.endp = _endpos__1_;
2340 MenhirLib.EngineTypes.next = _menhir_stack;
2341 };
2342 };
2343 } = _menhir_stack in
2344 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2345 let _2 : (
2346# 98 "parser_cocci_menhir.mly"
2347 (Ast_cocci.arithOp * Data.clt)
2348# 2349 "parser_cocci_menhir.ml"
2349 ) = Obj.magic _2 in
2350 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2351 let _startpos = _startpos__1_ in
2352 let _endpos = _endpos__3_ in
2353 let _v : 'tv_arith_expr_eexpr_invalid_ =
2354# 1288 "parser_cocci_menhir.mly"
2355 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2356# 2357 "parser_cocci_menhir.ml"
2357 in
2358 _menhir_env.MenhirLib.EngineTypes.stack <- {
2359 MenhirLib.EngineTypes.state = _menhir_s;
2360 MenhirLib.EngineTypes.semv = Obj.repr _v;
2361 MenhirLib.EngineTypes.startp = _startpos;
2362 MenhirLib.EngineTypes.endp = _endpos;
2363 MenhirLib.EngineTypes.next = _menhir_stack;
2364 });
2365 (fun _menhir_env ->
2366 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2367 let {
2368 MenhirLib.EngineTypes.semv = _3;
2369 MenhirLib.EngineTypes.startp = _startpos__3_;
2370 MenhirLib.EngineTypes.endp = _endpos__3_;
2371 MenhirLib.EngineTypes.next = {
2372 MenhirLib.EngineTypes.semv = _2;
2373 MenhirLib.EngineTypes.startp = _startpos__2_;
2374 MenhirLib.EngineTypes.endp = _endpos__2_;
2375 MenhirLib.EngineTypes.next = {
2376 MenhirLib.EngineTypes.state = _menhir_s;
2377 MenhirLib.EngineTypes.semv = _1;
2378 MenhirLib.EngineTypes.startp = _startpos__1_;
2379 MenhirLib.EngineTypes.endp = _endpos__1_;
2380 MenhirLib.EngineTypes.next = _menhir_stack;
2381 };
2382 };
2383 } = _menhir_stack in
2384 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2385 let _2 : (
2386# 99 "parser_cocci_menhir.mly"
2387 (Data.clt)
2388# 2389 "parser_cocci_menhir.ml"
2389 ) = Obj.magic _2 in
2390 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2391 let _startpos = _startpos__1_ in
2392 let _endpos = _endpos__3_ in
2393 let _v : 'tv_arith_expr_eexpr_invalid_ =
2394# 1290 "parser_cocci_menhir.mly"
2395 ( P.arith_op Ast.Plus _1 _2 _3 )
2396# 2397 "parser_cocci_menhir.ml"
2397 in
2398 _menhir_env.MenhirLib.EngineTypes.stack <- {
2399 MenhirLib.EngineTypes.state = _menhir_s;
2400 MenhirLib.EngineTypes.semv = Obj.repr _v;
2401 MenhirLib.EngineTypes.startp = _startpos;
2402 MenhirLib.EngineTypes.endp = _endpos;
2403 MenhirLib.EngineTypes.next = _menhir_stack;
2404 });
2405 (fun _menhir_env ->
2406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2407 let {
2408 MenhirLib.EngineTypes.semv = _3;
2409 MenhirLib.EngineTypes.startp = _startpos__3_;
2410 MenhirLib.EngineTypes.endp = _endpos__3_;
2411 MenhirLib.EngineTypes.next = {
2412 MenhirLib.EngineTypes.semv = _2;
2413 MenhirLib.EngineTypes.startp = _startpos__2_;
2414 MenhirLib.EngineTypes.endp = _endpos__2_;
2415 MenhirLib.EngineTypes.next = {
2416 MenhirLib.EngineTypes.state = _menhir_s;
2417 MenhirLib.EngineTypes.semv = _1;
2418 MenhirLib.EngineTypes.startp = _startpos__1_;
2419 MenhirLib.EngineTypes.endp = _endpos__1_;
2420 MenhirLib.EngineTypes.next = _menhir_stack;
2421 };
2422 };
2423 } = _menhir_stack in
2424 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2425 let _2 : (
2426# 99 "parser_cocci_menhir.mly"
2427 (Data.clt)
2428# 2429 "parser_cocci_menhir.ml"
2429 ) = Obj.magic _2 in
2430 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2431 let _startpos = _startpos__1_ in
2432 let _endpos = _endpos__3_ in
2433 let _v : 'tv_arith_expr_eexpr_invalid_ =
2434# 1292 "parser_cocci_menhir.mly"
2435 ( P.arith_op Ast.Minus _1 _2 _3 )
2436# 2437 "parser_cocci_menhir.ml"
2437 in
2438 _menhir_env.MenhirLib.EngineTypes.stack <- {
2439 MenhirLib.EngineTypes.state = _menhir_s;
2440 MenhirLib.EngineTypes.semv = Obj.repr _v;
2441 MenhirLib.EngineTypes.startp = _startpos;
2442 MenhirLib.EngineTypes.endp = _endpos;
2443 MenhirLib.EngineTypes.next = _menhir_stack;
2444 });
2445 (fun _menhir_env ->
2446 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2447 let {
2448 MenhirLib.EngineTypes.semv = _3;
2449 MenhirLib.EngineTypes.startp = _startpos__3_;
2450 MenhirLib.EngineTypes.endp = _endpos__3_;
2451 MenhirLib.EngineTypes.next = {
2452 MenhirLib.EngineTypes.semv = _2;
2453 MenhirLib.EngineTypes.startp = _startpos__2_;
2454 MenhirLib.EngineTypes.endp = _endpos__2_;
2455 MenhirLib.EngineTypes.next = {
2456 MenhirLib.EngineTypes.state = _menhir_s;
2457 MenhirLib.EngineTypes.semv = _1;
2458 MenhirLib.EngineTypes.startp = _startpos__1_;
2459 MenhirLib.EngineTypes.endp = _endpos__1_;
2460 MenhirLib.EngineTypes.next = _menhir_stack;
2461 };
2462 };
2463 } = _menhir_stack in
2464 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2465 let _2 : (
2466# 97 "parser_cocci_menhir.mly"
2467 (Ast_cocci.arithOp * Data.clt)
2468# 2469 "parser_cocci_menhir.ml"
2469 ) = Obj.magic _2 in
2470 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2471 let _startpos = _startpos__1_ in
2472 let _endpos = _endpos__3_ in
2473 let _v : 'tv_arith_expr_eexpr_invalid_ =
2474# 1294 "parser_cocci_menhir.mly"
2475 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2476# 2477 "parser_cocci_menhir.ml"
2477 in
2478 _menhir_env.MenhirLib.EngineTypes.stack <- {
2479 MenhirLib.EngineTypes.state = _menhir_s;
2480 MenhirLib.EngineTypes.semv = Obj.repr _v;
2481 MenhirLib.EngineTypes.startp = _startpos;
2482 MenhirLib.EngineTypes.endp = _endpos;
2483 MenhirLib.EngineTypes.next = _menhir_stack;
2484 });
2485 (fun _menhir_env ->
2486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2487 let {
2488 MenhirLib.EngineTypes.semv = _3;
2489 MenhirLib.EngineTypes.startp = _startpos__3_;
2490 MenhirLib.EngineTypes.endp = _endpos__3_;
2491 MenhirLib.EngineTypes.next = {
2492 MenhirLib.EngineTypes.semv = _2;
2493 MenhirLib.EngineTypes.startp = _startpos__2_;
2494 MenhirLib.EngineTypes.endp = _endpos__2_;
2495 MenhirLib.EngineTypes.next = {
2496 MenhirLib.EngineTypes.state = _menhir_s;
2497 MenhirLib.EngineTypes.semv = _1;
2498 MenhirLib.EngineTypes.startp = _startpos__1_;
2499 MenhirLib.EngineTypes.endp = _endpos__1_;
2500 MenhirLib.EngineTypes.next = _menhir_stack;
2501 };
2502 };
2503 } = _menhir_stack in
2504 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2505 let _2 : (
2506# 96 "parser_cocci_menhir.mly"
2507 (Ast_cocci.logicalOp * Data.clt)
2508# 2509 "parser_cocci_menhir.ml"
2509 ) = Obj.magic _2 in
2510 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2511 let _startpos = _startpos__1_ in
2512 let _endpos = _endpos__3_ in
2513 let _v : 'tv_arith_expr_eexpr_invalid_ =
2514# 1296 "parser_cocci_menhir.mly"
2515 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2516# 2517 "parser_cocci_menhir.ml"
2517 in
2518 _menhir_env.MenhirLib.EngineTypes.stack <- {
2519 MenhirLib.EngineTypes.state = _menhir_s;
2520 MenhirLib.EngineTypes.semv = Obj.repr _v;
2521 MenhirLib.EngineTypes.startp = _startpos;
2522 MenhirLib.EngineTypes.endp = _endpos;
2523 MenhirLib.EngineTypes.next = _menhir_stack;
2524 });
2525 (fun _menhir_env ->
2526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2527 let {
2528 MenhirLib.EngineTypes.semv = _3;
2529 MenhirLib.EngineTypes.startp = _startpos__3_;
2530 MenhirLib.EngineTypes.endp = _endpos__3_;
2531 MenhirLib.EngineTypes.next = {
2532 MenhirLib.EngineTypes.semv = _2;
2533 MenhirLib.EngineTypes.startp = _startpos__2_;
2534 MenhirLib.EngineTypes.endp = _endpos__2_;
2535 MenhirLib.EngineTypes.next = {
2536 MenhirLib.EngineTypes.state = _menhir_s;
2537 MenhirLib.EngineTypes.semv = _1;
2538 MenhirLib.EngineTypes.startp = _startpos__1_;
2539 MenhirLib.EngineTypes.endp = _endpos__1_;
2540 MenhirLib.EngineTypes.next = _menhir_stack;
2541 };
2542 };
2543 } = _menhir_stack in
2544 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2545 let _2 : (
2546# 95 "parser_cocci_menhir.mly"
2547 (Data.clt)
2548# 2549 "parser_cocci_menhir.ml"
2549 ) = Obj.magic _2 in
2550 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2551 let _startpos = _startpos__1_ in
2552 let _endpos = _endpos__3_ in
2553 let _v : 'tv_arith_expr_eexpr_invalid_ =
2554# 1298 "parser_cocci_menhir.mly"
2555 ( P.logic_op Ast.Eq _1 _2 _3 )
2556# 2557 "parser_cocci_menhir.ml"
2557 in
2558 _menhir_env.MenhirLib.EngineTypes.stack <- {
2559 MenhirLib.EngineTypes.state = _menhir_s;
2560 MenhirLib.EngineTypes.semv = Obj.repr _v;
2561 MenhirLib.EngineTypes.startp = _startpos;
2562 MenhirLib.EngineTypes.endp = _endpos;
2563 MenhirLib.EngineTypes.next = _menhir_stack;
2564 });
2565 (fun _menhir_env ->
2566 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2567 let {
2568 MenhirLib.EngineTypes.semv = _3;
2569 MenhirLib.EngineTypes.startp = _startpos__3_;
2570 MenhirLib.EngineTypes.endp = _endpos__3_;
2571 MenhirLib.EngineTypes.next = {
2572 MenhirLib.EngineTypes.semv = _2;
2573 MenhirLib.EngineTypes.startp = _startpos__2_;
2574 MenhirLib.EngineTypes.endp = _endpos__2_;
2575 MenhirLib.EngineTypes.next = {
2576 MenhirLib.EngineTypes.state = _menhir_s;
2577 MenhirLib.EngineTypes.semv = _1;
2578 MenhirLib.EngineTypes.startp = _startpos__1_;
2579 MenhirLib.EngineTypes.endp = _endpos__1_;
2580 MenhirLib.EngineTypes.next = _menhir_stack;
2581 };
2582 };
2583 } = _menhir_stack in
2584 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2585 let _2 : (
2586# 95 "parser_cocci_menhir.mly"
2587 (Data.clt)
2588# 2589 "parser_cocci_menhir.ml"
2589 ) = Obj.magic _2 in
2590 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2591 let _startpos = _startpos__1_ in
2592 let _endpos = _endpos__3_ in
2593 let _v : 'tv_arith_expr_eexpr_invalid_ =
2594# 1300 "parser_cocci_menhir.mly"
2595 ( P.logic_op Ast.NotEq _1 _2 _3 )
2596# 2597 "parser_cocci_menhir.ml"
2597 in
2598 _menhir_env.MenhirLib.EngineTypes.stack <- {
2599 MenhirLib.EngineTypes.state = _menhir_s;
2600 MenhirLib.EngineTypes.semv = Obj.repr _v;
2601 MenhirLib.EngineTypes.startp = _startpos;
2602 MenhirLib.EngineTypes.endp = _endpos;
2603 MenhirLib.EngineTypes.next = _menhir_stack;
2604 });
2605 (fun _menhir_env ->
2606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2607 let {
2608 MenhirLib.EngineTypes.semv = _3;
2609 MenhirLib.EngineTypes.startp = _startpos__3_;
2610 MenhirLib.EngineTypes.endp = _endpos__3_;
2611 MenhirLib.EngineTypes.next = {
2612 MenhirLib.EngineTypes.semv = _2;
2613 MenhirLib.EngineTypes.startp = _startpos__2_;
2614 MenhirLib.EngineTypes.endp = _endpos__2_;
2615 MenhirLib.EngineTypes.next = {
2616 MenhirLib.EngineTypes.state = _menhir_s;
2617 MenhirLib.EngineTypes.semv = _1;
2618 MenhirLib.EngineTypes.startp = _startpos__1_;
2619 MenhirLib.EngineTypes.endp = _endpos__1_;
2620 MenhirLib.EngineTypes.next = _menhir_stack;
2621 };
2622 };
2623 } = _menhir_stack in
2624 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2625 let _2 : (
2626# 94 "parser_cocci_menhir.mly"
2627 (Data.clt)
2628# 2629 "parser_cocci_menhir.ml"
2629 ) = Obj.magic _2 in
2630 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2631 let _startpos = _startpos__1_ in
2632 let _endpos = _endpos__3_ in
2633 let _v : 'tv_arith_expr_eexpr_invalid_ =
2634# 1302 "parser_cocci_menhir.mly"
2635 ( P.arith_op Ast.And _1 _2 _3 )
2636# 2637 "parser_cocci_menhir.ml"
2637 in
2638 _menhir_env.MenhirLib.EngineTypes.stack <- {
2639 MenhirLib.EngineTypes.state = _menhir_s;
2640 MenhirLib.EngineTypes.semv = Obj.repr _v;
2641 MenhirLib.EngineTypes.startp = _startpos;
2642 MenhirLib.EngineTypes.endp = _endpos;
2643 MenhirLib.EngineTypes.next = _menhir_stack;
2644 });
2645 (fun _menhir_env ->
2646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2647 let {
2648 MenhirLib.EngineTypes.semv = _3;
2649 MenhirLib.EngineTypes.startp = _startpos__3_;
2650 MenhirLib.EngineTypes.endp = _endpos__3_;
2651 MenhirLib.EngineTypes.next = {
2652 MenhirLib.EngineTypes.semv = _2;
2653 MenhirLib.EngineTypes.startp = _startpos__2_;
2654 MenhirLib.EngineTypes.endp = _endpos__2_;
2655 MenhirLib.EngineTypes.next = {
2656 MenhirLib.EngineTypes.state = _menhir_s;
2657 MenhirLib.EngineTypes.semv = _1;
2658 MenhirLib.EngineTypes.startp = _startpos__1_;
2659 MenhirLib.EngineTypes.endp = _endpos__1_;
2660 MenhirLib.EngineTypes.next = _menhir_stack;
2661 };
2662 };
2663 } = _menhir_stack in
2664 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2665 let _2 : (
2666# 92 "parser_cocci_menhir.mly"
2667 (Data.clt)
2668# 2669 "parser_cocci_menhir.ml"
2669 ) = Obj.magic _2 in
2670 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2671 let _startpos = _startpos__1_ in
2672 let _endpos = _endpos__3_ in
2673 let _v : 'tv_arith_expr_eexpr_invalid_ =
2674# 1304 "parser_cocci_menhir.mly"
2675 ( P.arith_op Ast.Or _1 _2 _3 )
2676# 2677 "parser_cocci_menhir.ml"
2677 in
2678 _menhir_env.MenhirLib.EngineTypes.stack <- {
2679 MenhirLib.EngineTypes.state = _menhir_s;
2680 MenhirLib.EngineTypes.semv = Obj.repr _v;
2681 MenhirLib.EngineTypes.startp = _startpos;
2682 MenhirLib.EngineTypes.endp = _endpos;
2683 MenhirLib.EngineTypes.next = _menhir_stack;
2684 });
2685 (fun _menhir_env ->
2686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2687 let {
2688 MenhirLib.EngineTypes.semv = _3;
2689 MenhirLib.EngineTypes.startp = _startpos__3_;
2690 MenhirLib.EngineTypes.endp = _endpos__3_;
2691 MenhirLib.EngineTypes.next = {
2692 MenhirLib.EngineTypes.semv = _2;
2693 MenhirLib.EngineTypes.startp = _startpos__2_;
2694 MenhirLib.EngineTypes.endp = _endpos__2_;
2695 MenhirLib.EngineTypes.next = {
2696 MenhirLib.EngineTypes.state = _menhir_s;
2697 MenhirLib.EngineTypes.semv = _1;
2698 MenhirLib.EngineTypes.startp = _startpos__1_;
2699 MenhirLib.EngineTypes.endp = _endpos__1_;
2700 MenhirLib.EngineTypes.next = _menhir_stack;
2701 };
2702 };
2703 } = _menhir_stack in
2704 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2705 let _2 : (
2706# 93 "parser_cocci_menhir.mly"
2707 (Data.clt)
2708# 2709 "parser_cocci_menhir.ml"
2709 ) = Obj.magic _2 in
2710 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2711 let _startpos = _startpos__1_ in
2712 let _endpos = _endpos__3_ in
2713 let _v : 'tv_arith_expr_eexpr_invalid_ =
2714# 1306 "parser_cocci_menhir.mly"
2715 ( P.arith_op Ast.Xor _1 _2 _3 )
2716# 2717 "parser_cocci_menhir.ml"
2717 in
2718 _menhir_env.MenhirLib.EngineTypes.stack <- {
2719 MenhirLib.EngineTypes.state = _menhir_s;
2720 MenhirLib.EngineTypes.semv = Obj.repr _v;
2721 MenhirLib.EngineTypes.startp = _startpos;
2722 MenhirLib.EngineTypes.endp = _endpos;
2723 MenhirLib.EngineTypes.next = _menhir_stack;
2724 });
2725 (fun _menhir_env ->
2726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2727 let {
2728 MenhirLib.EngineTypes.semv = _3;
2729 MenhirLib.EngineTypes.startp = _startpos__3_;
2730 MenhirLib.EngineTypes.endp = _endpos__3_;
2731 MenhirLib.EngineTypes.next = {
2732 MenhirLib.EngineTypes.semv = _2;
2733 MenhirLib.EngineTypes.startp = _startpos__2_;
2734 MenhirLib.EngineTypes.endp = _endpos__2_;
2735 MenhirLib.EngineTypes.next = {
2736 MenhirLib.EngineTypes.state = _menhir_s;
2737 MenhirLib.EngineTypes.semv = _1;
2738 MenhirLib.EngineTypes.startp = _startpos__1_;
2739 MenhirLib.EngineTypes.endp = _endpos__1_;
2740 MenhirLib.EngineTypes.next = _menhir_stack;
2741 };
2742 };
2743 } = _menhir_stack in
2744 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2745 let _2 : (
2746# 91 "parser_cocci_menhir.mly"
2747 (Data.clt)
2748# 2749 "parser_cocci_menhir.ml"
2749 ) = Obj.magic _2 in
2750 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2751 let _startpos = _startpos__1_ in
2752 let _endpos = _endpos__3_ in
2753 let _v : 'tv_arith_expr_eexpr_invalid_ =
2754# 1308 "parser_cocci_menhir.mly"
2755 ( P.logic_op Ast.AndLog _1 _2 _3 )
2756# 2757 "parser_cocci_menhir.ml"
2757 in
2758 _menhir_env.MenhirLib.EngineTypes.stack <- {
2759 MenhirLib.EngineTypes.state = _menhir_s;
2760 MenhirLib.EngineTypes.semv = Obj.repr _v;
2761 MenhirLib.EngineTypes.startp = _startpos;
2762 MenhirLib.EngineTypes.endp = _endpos;
2763 MenhirLib.EngineTypes.next = _menhir_stack;
2764 });
2765 (fun _menhir_env ->
2766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2767 let {
2768 MenhirLib.EngineTypes.semv = _3;
2769 MenhirLib.EngineTypes.startp = _startpos__3_;
2770 MenhirLib.EngineTypes.endp = _endpos__3_;
2771 MenhirLib.EngineTypes.next = {
2772 MenhirLib.EngineTypes.semv = _2;
2773 MenhirLib.EngineTypes.startp = _startpos__2_;
2774 MenhirLib.EngineTypes.endp = _endpos__2_;
2775 MenhirLib.EngineTypes.next = {
2776 MenhirLib.EngineTypes.state = _menhir_s;
2777 MenhirLib.EngineTypes.semv = _1;
2778 MenhirLib.EngineTypes.startp = _startpos__1_;
2779 MenhirLib.EngineTypes.endp = _endpos__1_;
2780 MenhirLib.EngineTypes.next = _menhir_stack;
2781 };
2782 };
2783 } = _menhir_stack in
2784 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2785 let _2 : (
2786# 90 "parser_cocci_menhir.mly"
2787 (Data.clt)
2788# 2789 "parser_cocci_menhir.ml"
2789 ) = Obj.magic _2 in
2790 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2791 let _startpos = _startpos__1_ in
2792 let _endpos = _endpos__3_ in
2793 let _v : 'tv_arith_expr_eexpr_invalid_ =
2794# 1310 "parser_cocci_menhir.mly"
2795 ( P.logic_op Ast.OrLog _1 _2 _3 )
2796# 2797 "parser_cocci_menhir.ml"
2797 in
2798 _menhir_env.MenhirLib.EngineTypes.stack <- {
2799 MenhirLib.EngineTypes.state = _menhir_s;
2800 MenhirLib.EngineTypes.semv = Obj.repr _v;
2801 MenhirLib.EngineTypes.startp = _startpos;
2802 MenhirLib.EngineTypes.endp = _endpos;
2803 MenhirLib.EngineTypes.next = _menhir_stack;
2804 });
2805 (fun _menhir_env ->
2806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2807 let {
2808 MenhirLib.EngineTypes.state = _menhir_s;
2809 MenhirLib.EngineTypes.semv = _1;
2810 MenhirLib.EngineTypes.startp = _startpos__1_;
2811 MenhirLib.EngineTypes.endp = _endpos__1_;
2812 MenhirLib.EngineTypes.next = _menhir_stack;
2813 } = _menhir_stack in
2814 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2815 let _startpos = _startpos__1_ in
2816 let _endpos = _endpos__1_ in
2817 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2818# 1284 "parser_cocci_menhir.mly"
2819 ( _1 )
2820# 2821 "parser_cocci_menhir.ml"
2821 in
2822 _menhir_env.MenhirLib.EngineTypes.stack <- {
2823 MenhirLib.EngineTypes.state = _menhir_s;
2824 MenhirLib.EngineTypes.semv = Obj.repr _v;
2825 MenhirLib.EngineTypes.startp = _startpos;
2826 MenhirLib.EngineTypes.endp = _endpos;
2827 MenhirLib.EngineTypes.next = _menhir_stack;
2828 });
2829 (fun _menhir_env ->
2830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2831 let {
2832 MenhirLib.EngineTypes.semv = _3;
2833 MenhirLib.EngineTypes.startp = _startpos__3_;
2834 MenhirLib.EngineTypes.endp = _endpos__3_;
2835 MenhirLib.EngineTypes.next = {
2836 MenhirLib.EngineTypes.semv = _2;
2837 MenhirLib.EngineTypes.startp = _startpos__2_;
2838 MenhirLib.EngineTypes.endp = _endpos__2_;
2839 MenhirLib.EngineTypes.next = {
2840 MenhirLib.EngineTypes.state = _menhir_s;
2841 MenhirLib.EngineTypes.semv = _1;
2842 MenhirLib.EngineTypes.startp = _startpos__1_;
2843 MenhirLib.EngineTypes.endp = _endpos__1_;
2844 MenhirLib.EngineTypes.next = _menhir_stack;
2845 };
2846 };
2847 } = _menhir_stack in
2848 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2849 let _2 : (
2850# 100 "parser_cocci_menhir.mly"
2851 (Data.clt)
2852# 2853 "parser_cocci_menhir.ml"
2853 ) = Obj.magic _2 in
2854 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2855 let _startpos = _startpos__1_ in
2856 let _endpos = _endpos__3_ in
2857 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2858# 1286 "parser_cocci_menhir.mly"
2859 ( P.arith_op Ast.Mul _1 _2 _3 )
2860# 2861 "parser_cocci_menhir.ml"
2861 in
2862 _menhir_env.MenhirLib.EngineTypes.stack <- {
2863 MenhirLib.EngineTypes.state = _menhir_s;
2864 MenhirLib.EngineTypes.semv = Obj.repr _v;
2865 MenhirLib.EngineTypes.startp = _startpos;
2866 MenhirLib.EngineTypes.endp = _endpos;
2867 MenhirLib.EngineTypes.next = _menhir_stack;
2868 });
2869 (fun _menhir_env ->
2870 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2871 let {
2872 MenhirLib.EngineTypes.semv = _3;
2873 MenhirLib.EngineTypes.startp = _startpos__3_;
2874 MenhirLib.EngineTypes.endp = _endpos__3_;
2875 MenhirLib.EngineTypes.next = {
2876 MenhirLib.EngineTypes.semv = _2;
2877 MenhirLib.EngineTypes.startp = _startpos__2_;
2878 MenhirLib.EngineTypes.endp = _endpos__2_;
2879 MenhirLib.EngineTypes.next = {
2880 MenhirLib.EngineTypes.state = _menhir_s;
2881 MenhirLib.EngineTypes.semv = _1;
2882 MenhirLib.EngineTypes.startp = _startpos__1_;
2883 MenhirLib.EngineTypes.endp = _endpos__1_;
2884 MenhirLib.EngineTypes.next = _menhir_stack;
2885 };
2886 };
2887 } = _menhir_stack in
2888 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2889 let _2 : (
2890# 98 "parser_cocci_menhir.mly"
2891 (Ast_cocci.arithOp * Data.clt)
2892# 2893 "parser_cocci_menhir.ml"
2893 ) = Obj.magic _2 in
2894 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2895 let _startpos = _startpos__1_ in
2896 let _endpos = _endpos__3_ in
2897 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2898# 1288 "parser_cocci_menhir.mly"
2899 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2900# 2901 "parser_cocci_menhir.ml"
2901 in
2902 _menhir_env.MenhirLib.EngineTypes.stack <- {
2903 MenhirLib.EngineTypes.state = _menhir_s;
2904 MenhirLib.EngineTypes.semv = Obj.repr _v;
2905 MenhirLib.EngineTypes.startp = _startpos;
2906 MenhirLib.EngineTypes.endp = _endpos;
2907 MenhirLib.EngineTypes.next = _menhir_stack;
2908 });
2909 (fun _menhir_env ->
2910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2911 let {
2912 MenhirLib.EngineTypes.semv = _3;
2913 MenhirLib.EngineTypes.startp = _startpos__3_;
2914 MenhirLib.EngineTypes.endp = _endpos__3_;
2915 MenhirLib.EngineTypes.next = {
2916 MenhirLib.EngineTypes.semv = _2;
2917 MenhirLib.EngineTypes.startp = _startpos__2_;
2918 MenhirLib.EngineTypes.endp = _endpos__2_;
2919 MenhirLib.EngineTypes.next = {
2920 MenhirLib.EngineTypes.state = _menhir_s;
2921 MenhirLib.EngineTypes.semv = _1;
2922 MenhirLib.EngineTypes.startp = _startpos__1_;
2923 MenhirLib.EngineTypes.endp = _endpos__1_;
2924 MenhirLib.EngineTypes.next = _menhir_stack;
2925 };
2926 };
2927 } = _menhir_stack in
2928 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2929 let _2 : (
2930# 99 "parser_cocci_menhir.mly"
2931 (Data.clt)
2932# 2933 "parser_cocci_menhir.ml"
2933 ) = Obj.magic _2 in
2934 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2935 let _startpos = _startpos__1_ in
2936 let _endpos = _endpos__3_ in
2937 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2938# 1290 "parser_cocci_menhir.mly"
2939 ( P.arith_op Ast.Plus _1 _2 _3 )
2940# 2941 "parser_cocci_menhir.ml"
2941 in
2942 _menhir_env.MenhirLib.EngineTypes.stack <- {
2943 MenhirLib.EngineTypes.state = _menhir_s;
2944 MenhirLib.EngineTypes.semv = Obj.repr _v;
2945 MenhirLib.EngineTypes.startp = _startpos;
2946 MenhirLib.EngineTypes.endp = _endpos;
2947 MenhirLib.EngineTypes.next = _menhir_stack;
2948 });
2949 (fun _menhir_env ->
2950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2951 let {
2952 MenhirLib.EngineTypes.semv = _3;
2953 MenhirLib.EngineTypes.startp = _startpos__3_;
2954 MenhirLib.EngineTypes.endp = _endpos__3_;
2955 MenhirLib.EngineTypes.next = {
2956 MenhirLib.EngineTypes.semv = _2;
2957 MenhirLib.EngineTypes.startp = _startpos__2_;
2958 MenhirLib.EngineTypes.endp = _endpos__2_;
2959 MenhirLib.EngineTypes.next = {
2960 MenhirLib.EngineTypes.state = _menhir_s;
2961 MenhirLib.EngineTypes.semv = _1;
2962 MenhirLib.EngineTypes.startp = _startpos__1_;
2963 MenhirLib.EngineTypes.endp = _endpos__1_;
2964 MenhirLib.EngineTypes.next = _menhir_stack;
2965 };
2966 };
2967 } = _menhir_stack in
2968 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2969 let _2 : (
2970# 99 "parser_cocci_menhir.mly"
2971 (Data.clt)
2972# 2973 "parser_cocci_menhir.ml"
2973 ) = Obj.magic _2 in
2974 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2975 let _startpos = _startpos__1_ in
2976 let _endpos = _endpos__3_ in
2977 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2978# 1292 "parser_cocci_menhir.mly"
2979 ( P.arith_op Ast.Minus _1 _2 _3 )
2980# 2981 "parser_cocci_menhir.ml"
2981 in
2982 _menhir_env.MenhirLib.EngineTypes.stack <- {
2983 MenhirLib.EngineTypes.state = _menhir_s;
2984 MenhirLib.EngineTypes.semv = Obj.repr _v;
2985 MenhirLib.EngineTypes.startp = _startpos;
2986 MenhirLib.EngineTypes.endp = _endpos;
2987 MenhirLib.EngineTypes.next = _menhir_stack;
2988 });
2989 (fun _menhir_env ->
2990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2991 let {
2992 MenhirLib.EngineTypes.semv = _3;
2993 MenhirLib.EngineTypes.startp = _startpos__3_;
2994 MenhirLib.EngineTypes.endp = _endpos__3_;
2995 MenhirLib.EngineTypes.next = {
2996 MenhirLib.EngineTypes.semv = _2;
2997 MenhirLib.EngineTypes.startp = _startpos__2_;
2998 MenhirLib.EngineTypes.endp = _endpos__2_;
2999 MenhirLib.EngineTypes.next = {
3000 MenhirLib.EngineTypes.state = _menhir_s;
3001 MenhirLib.EngineTypes.semv = _1;
3002 MenhirLib.EngineTypes.startp = _startpos__1_;
3003 MenhirLib.EngineTypes.endp = _endpos__1_;
3004 MenhirLib.EngineTypes.next = _menhir_stack;
3005 };
3006 };
3007 } = _menhir_stack in
3008 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3009 let _2 : (
3010# 97 "parser_cocci_menhir.mly"
3011 (Ast_cocci.arithOp * Data.clt)
3012# 3013 "parser_cocci_menhir.ml"
3013 ) = Obj.magic _2 in
3014 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3015 let _startpos = _startpos__1_ in
3016 let _endpos = _endpos__3_ in
3017 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3018# 1294 "parser_cocci_menhir.mly"
3019 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3020# 3021 "parser_cocci_menhir.ml"
3021 in
3022 _menhir_env.MenhirLib.EngineTypes.stack <- {
3023 MenhirLib.EngineTypes.state = _menhir_s;
3024 MenhirLib.EngineTypes.semv = Obj.repr _v;
3025 MenhirLib.EngineTypes.startp = _startpos;
3026 MenhirLib.EngineTypes.endp = _endpos;
3027 MenhirLib.EngineTypes.next = _menhir_stack;
3028 });
3029 (fun _menhir_env ->
3030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3031 let {
3032 MenhirLib.EngineTypes.semv = _3;
3033 MenhirLib.EngineTypes.startp = _startpos__3_;
3034 MenhirLib.EngineTypes.endp = _endpos__3_;
3035 MenhirLib.EngineTypes.next = {
3036 MenhirLib.EngineTypes.semv = _2;
3037 MenhirLib.EngineTypes.startp = _startpos__2_;
3038 MenhirLib.EngineTypes.endp = _endpos__2_;
3039 MenhirLib.EngineTypes.next = {
3040 MenhirLib.EngineTypes.state = _menhir_s;
3041 MenhirLib.EngineTypes.semv = _1;
3042 MenhirLib.EngineTypes.startp = _startpos__1_;
3043 MenhirLib.EngineTypes.endp = _endpos__1_;
3044 MenhirLib.EngineTypes.next = _menhir_stack;
3045 };
3046 };
3047 } = _menhir_stack in
3048 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3049 let _2 : (
3050# 96 "parser_cocci_menhir.mly"
3051 (Ast_cocci.logicalOp * Data.clt)
3052# 3053 "parser_cocci_menhir.ml"
3053 ) = Obj.magic _2 in
3054 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3055 let _startpos = _startpos__1_ in
3056 let _endpos = _endpos__3_ in
3057 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3058# 1296 "parser_cocci_menhir.mly"
3059 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3060# 3061 "parser_cocci_menhir.ml"
3061 in
3062 _menhir_env.MenhirLib.EngineTypes.stack <- {
3063 MenhirLib.EngineTypes.state = _menhir_s;
3064 MenhirLib.EngineTypes.semv = Obj.repr _v;
3065 MenhirLib.EngineTypes.startp = _startpos;
3066 MenhirLib.EngineTypes.endp = _endpos;
3067 MenhirLib.EngineTypes.next = _menhir_stack;
3068 });
3069 (fun _menhir_env ->
3070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3071 let {
3072 MenhirLib.EngineTypes.semv = _3;
3073 MenhirLib.EngineTypes.startp = _startpos__3_;
3074 MenhirLib.EngineTypes.endp = _endpos__3_;
3075 MenhirLib.EngineTypes.next = {
3076 MenhirLib.EngineTypes.semv = _2;
3077 MenhirLib.EngineTypes.startp = _startpos__2_;
3078 MenhirLib.EngineTypes.endp = _endpos__2_;
3079 MenhirLib.EngineTypes.next = {
3080 MenhirLib.EngineTypes.state = _menhir_s;
3081 MenhirLib.EngineTypes.semv = _1;
3082 MenhirLib.EngineTypes.startp = _startpos__1_;
3083 MenhirLib.EngineTypes.endp = _endpos__1_;
3084 MenhirLib.EngineTypes.next = _menhir_stack;
3085 };
3086 };
3087 } = _menhir_stack in
3088 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3089 let _2 : (
3090# 95 "parser_cocci_menhir.mly"
3091 (Data.clt)
3092# 3093 "parser_cocci_menhir.ml"
3093 ) = Obj.magic _2 in
3094 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3095 let _startpos = _startpos__1_ in
3096 let _endpos = _endpos__3_ in
3097 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3098# 1298 "parser_cocci_menhir.mly"
3099 ( P.logic_op Ast.Eq _1 _2 _3 )
3100# 3101 "parser_cocci_menhir.ml"
3101 in
3102 _menhir_env.MenhirLib.EngineTypes.stack <- {
3103 MenhirLib.EngineTypes.state = _menhir_s;
3104 MenhirLib.EngineTypes.semv = Obj.repr _v;
3105 MenhirLib.EngineTypes.startp = _startpos;
3106 MenhirLib.EngineTypes.endp = _endpos;
3107 MenhirLib.EngineTypes.next = _menhir_stack;
3108 });
3109 (fun _menhir_env ->
3110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3111 let {
3112 MenhirLib.EngineTypes.semv = _3;
3113 MenhirLib.EngineTypes.startp = _startpos__3_;
3114 MenhirLib.EngineTypes.endp = _endpos__3_;
3115 MenhirLib.EngineTypes.next = {
3116 MenhirLib.EngineTypes.semv = _2;
3117 MenhirLib.EngineTypes.startp = _startpos__2_;
3118 MenhirLib.EngineTypes.endp = _endpos__2_;
3119 MenhirLib.EngineTypes.next = {
3120 MenhirLib.EngineTypes.state = _menhir_s;
3121 MenhirLib.EngineTypes.semv = _1;
3122 MenhirLib.EngineTypes.startp = _startpos__1_;
3123 MenhirLib.EngineTypes.endp = _endpos__1_;
3124 MenhirLib.EngineTypes.next = _menhir_stack;
3125 };
3126 };
3127 } = _menhir_stack in
3128 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3129 let _2 : (
3130# 95 "parser_cocci_menhir.mly"
3131 (Data.clt)
3132# 3133 "parser_cocci_menhir.ml"
3133 ) = Obj.magic _2 in
3134 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3135 let _startpos = _startpos__1_ in
3136 let _endpos = _endpos__3_ in
3137 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3138# 1300 "parser_cocci_menhir.mly"
3139 ( P.logic_op Ast.NotEq _1 _2 _3 )
3140# 3141 "parser_cocci_menhir.ml"
3141 in
3142 _menhir_env.MenhirLib.EngineTypes.stack <- {
3143 MenhirLib.EngineTypes.state = _menhir_s;
3144 MenhirLib.EngineTypes.semv = Obj.repr _v;
3145 MenhirLib.EngineTypes.startp = _startpos;
3146 MenhirLib.EngineTypes.endp = _endpos;
3147 MenhirLib.EngineTypes.next = _menhir_stack;
3148 });
3149 (fun _menhir_env ->
3150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3151 let {
3152 MenhirLib.EngineTypes.semv = _3;
3153 MenhirLib.EngineTypes.startp = _startpos__3_;
3154 MenhirLib.EngineTypes.endp = _endpos__3_;
3155 MenhirLib.EngineTypes.next = {
3156 MenhirLib.EngineTypes.semv = _2;
3157 MenhirLib.EngineTypes.startp = _startpos__2_;
3158 MenhirLib.EngineTypes.endp = _endpos__2_;
3159 MenhirLib.EngineTypes.next = {
3160 MenhirLib.EngineTypes.state = _menhir_s;
3161 MenhirLib.EngineTypes.semv = _1;
3162 MenhirLib.EngineTypes.startp = _startpos__1_;
3163 MenhirLib.EngineTypes.endp = _endpos__1_;
3164 MenhirLib.EngineTypes.next = _menhir_stack;
3165 };
3166 };
3167 } = _menhir_stack in
3168 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3169 let _2 : (
3170# 94 "parser_cocci_menhir.mly"
3171 (Data.clt)
3172# 3173 "parser_cocci_menhir.ml"
3173 ) = Obj.magic _2 in
3174 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3175 let _startpos = _startpos__1_ in
3176 let _endpos = _endpos__3_ in
3177 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3178# 1302 "parser_cocci_menhir.mly"
3179 ( P.arith_op Ast.And _1 _2 _3 )
3180# 3181 "parser_cocci_menhir.ml"
3181 in
3182 _menhir_env.MenhirLib.EngineTypes.stack <- {
3183 MenhirLib.EngineTypes.state = _menhir_s;
3184 MenhirLib.EngineTypes.semv = Obj.repr _v;
3185 MenhirLib.EngineTypes.startp = _startpos;
3186 MenhirLib.EngineTypes.endp = _endpos;
3187 MenhirLib.EngineTypes.next = _menhir_stack;
3188 });
3189 (fun _menhir_env ->
3190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3191 let {
3192 MenhirLib.EngineTypes.semv = _3;
3193 MenhirLib.EngineTypes.startp = _startpos__3_;
3194 MenhirLib.EngineTypes.endp = _endpos__3_;
3195 MenhirLib.EngineTypes.next = {
3196 MenhirLib.EngineTypes.semv = _2;
3197 MenhirLib.EngineTypes.startp = _startpos__2_;
3198 MenhirLib.EngineTypes.endp = _endpos__2_;
3199 MenhirLib.EngineTypes.next = {
3200 MenhirLib.EngineTypes.state = _menhir_s;
3201 MenhirLib.EngineTypes.semv = _1;
3202 MenhirLib.EngineTypes.startp = _startpos__1_;
3203 MenhirLib.EngineTypes.endp = _endpos__1_;
3204 MenhirLib.EngineTypes.next = _menhir_stack;
3205 };
3206 };
3207 } = _menhir_stack in
3208 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3209 let _2 : (
3210# 92 "parser_cocci_menhir.mly"
3211 (Data.clt)
3212# 3213 "parser_cocci_menhir.ml"
3213 ) = Obj.magic _2 in
3214 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3215 let _startpos = _startpos__1_ in
3216 let _endpos = _endpos__3_ in
3217 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3218# 1304 "parser_cocci_menhir.mly"
3219 ( P.arith_op Ast.Or _1 _2 _3 )
3220# 3221 "parser_cocci_menhir.ml"
3221 in
3222 _menhir_env.MenhirLib.EngineTypes.stack <- {
3223 MenhirLib.EngineTypes.state = _menhir_s;
3224 MenhirLib.EngineTypes.semv = Obj.repr _v;
3225 MenhirLib.EngineTypes.startp = _startpos;
3226 MenhirLib.EngineTypes.endp = _endpos;
3227 MenhirLib.EngineTypes.next = _menhir_stack;
3228 });
3229 (fun _menhir_env ->
3230 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3231 let {
3232 MenhirLib.EngineTypes.semv = _3;
3233 MenhirLib.EngineTypes.startp = _startpos__3_;
3234 MenhirLib.EngineTypes.endp = _endpos__3_;
3235 MenhirLib.EngineTypes.next = {
3236 MenhirLib.EngineTypes.semv = _2;
3237 MenhirLib.EngineTypes.startp = _startpos__2_;
3238 MenhirLib.EngineTypes.endp = _endpos__2_;
3239 MenhirLib.EngineTypes.next = {
3240 MenhirLib.EngineTypes.state = _menhir_s;
3241 MenhirLib.EngineTypes.semv = _1;
3242 MenhirLib.EngineTypes.startp = _startpos__1_;
3243 MenhirLib.EngineTypes.endp = _endpos__1_;
3244 MenhirLib.EngineTypes.next = _menhir_stack;
3245 };
3246 };
3247 } = _menhir_stack in
3248 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3249 let _2 : (
3250# 93 "parser_cocci_menhir.mly"
3251 (Data.clt)
3252# 3253 "parser_cocci_menhir.ml"
3253 ) = Obj.magic _2 in
3254 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3255 let _startpos = _startpos__1_ in
3256 let _endpos = _endpos__3_ in
3257 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3258# 1306 "parser_cocci_menhir.mly"
3259 ( P.arith_op Ast.Xor _1 _2 _3 )
3260# 3261 "parser_cocci_menhir.ml"
3261 in
3262 _menhir_env.MenhirLib.EngineTypes.stack <- {
3263 MenhirLib.EngineTypes.state = _menhir_s;
3264 MenhirLib.EngineTypes.semv = Obj.repr _v;
3265 MenhirLib.EngineTypes.startp = _startpos;
3266 MenhirLib.EngineTypes.endp = _endpos;
3267 MenhirLib.EngineTypes.next = _menhir_stack;
3268 });
3269 (fun _menhir_env ->
3270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3271 let {
3272 MenhirLib.EngineTypes.semv = _3;
3273 MenhirLib.EngineTypes.startp = _startpos__3_;
3274 MenhirLib.EngineTypes.endp = _endpos__3_;
3275 MenhirLib.EngineTypes.next = {
3276 MenhirLib.EngineTypes.semv = _2;
3277 MenhirLib.EngineTypes.startp = _startpos__2_;
3278 MenhirLib.EngineTypes.endp = _endpos__2_;
3279 MenhirLib.EngineTypes.next = {
3280 MenhirLib.EngineTypes.state = _menhir_s;
3281 MenhirLib.EngineTypes.semv = _1;
3282 MenhirLib.EngineTypes.startp = _startpos__1_;
3283 MenhirLib.EngineTypes.endp = _endpos__1_;
3284 MenhirLib.EngineTypes.next = _menhir_stack;
3285 };
3286 };
3287 } = _menhir_stack in
3288 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3289 let _2 : (
3290# 91 "parser_cocci_menhir.mly"
3291 (Data.clt)
3292# 3293 "parser_cocci_menhir.ml"
3293 ) = Obj.magic _2 in
3294 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3295 let _startpos = _startpos__1_ in
3296 let _endpos = _endpos__3_ in
3297 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3298# 1308 "parser_cocci_menhir.mly"
3299 ( P.logic_op Ast.AndLog _1 _2 _3 )
3300# 3301 "parser_cocci_menhir.ml"
3301 in
3302 _menhir_env.MenhirLib.EngineTypes.stack <- {
3303 MenhirLib.EngineTypes.state = _menhir_s;
3304 MenhirLib.EngineTypes.semv = Obj.repr _v;
3305 MenhirLib.EngineTypes.startp = _startpos;
3306 MenhirLib.EngineTypes.endp = _endpos;
3307 MenhirLib.EngineTypes.next = _menhir_stack;
3308 });
3309 (fun _menhir_env ->
3310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3311 let {
3312 MenhirLib.EngineTypes.semv = _3;
3313 MenhirLib.EngineTypes.startp = _startpos__3_;
3314 MenhirLib.EngineTypes.endp = _endpos__3_;
3315 MenhirLib.EngineTypes.next = {
3316 MenhirLib.EngineTypes.semv = _2;
3317 MenhirLib.EngineTypes.startp = _startpos__2_;
3318 MenhirLib.EngineTypes.endp = _endpos__2_;
3319 MenhirLib.EngineTypes.next = {
3320 MenhirLib.EngineTypes.state = _menhir_s;
3321 MenhirLib.EngineTypes.semv = _1;
3322 MenhirLib.EngineTypes.startp = _startpos__1_;
3323 MenhirLib.EngineTypes.endp = _endpos__1_;
3324 MenhirLib.EngineTypes.next = _menhir_stack;
3325 };
3326 };
3327 } = _menhir_stack in
3328 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3329 let _2 : (
3330# 90 "parser_cocci_menhir.mly"
3331 (Data.clt)
3332# 3333 "parser_cocci_menhir.ml"
3333 ) = Obj.magic _2 in
3334 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3335 let _startpos = _startpos__1_ in
3336 let _endpos = _endpos__3_ in
3337 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3338# 1310 "parser_cocci_menhir.mly"
3339 ( P.logic_op Ast.OrLog _1 _2 _3 )
3340# 3341 "parser_cocci_menhir.ml"
3341 in
3342 _menhir_env.MenhirLib.EngineTypes.stack <- {
3343 MenhirLib.EngineTypes.state = _menhir_s;
3344 MenhirLib.EngineTypes.semv = Obj.repr _v;
3345 MenhirLib.EngineTypes.startp = _startpos;
3346 MenhirLib.EngineTypes.endp = _endpos;
3347 MenhirLib.EngineTypes.next = _menhir_stack;
3348 });
3349 (fun _menhir_env ->
3350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3351 let {
3352 MenhirLib.EngineTypes.state = _menhir_s;
3353 MenhirLib.EngineTypes.semv = _1;
3354 MenhirLib.EngineTypes.startp = _startpos__1_;
3355 MenhirLib.EngineTypes.endp = _endpos__1_;
3356 MenhirLib.EngineTypes.next = _menhir_stack;
3357 } = _menhir_stack in
3358 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3359 let _startpos = _startpos__1_ in
3360 let _endpos = _endpos__1_ in
3361 let _v : 'tv_arith_expr_expr_invalid_ =
3362# 1284 "parser_cocci_menhir.mly"
3363 ( _1 )
3364# 3365 "parser_cocci_menhir.ml"
3365 in
3366 _menhir_env.MenhirLib.EngineTypes.stack <- {
3367 MenhirLib.EngineTypes.state = _menhir_s;
3368 MenhirLib.EngineTypes.semv = Obj.repr _v;
3369 MenhirLib.EngineTypes.startp = _startpos;
3370 MenhirLib.EngineTypes.endp = _endpos;
3371 MenhirLib.EngineTypes.next = _menhir_stack;
3372 });
3373 (fun _menhir_env ->
3374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3375 let {
3376 MenhirLib.EngineTypes.semv = _3;
3377 MenhirLib.EngineTypes.startp = _startpos__3_;
3378 MenhirLib.EngineTypes.endp = _endpos__3_;
3379 MenhirLib.EngineTypes.next = {
3380 MenhirLib.EngineTypes.semv = _2;
3381 MenhirLib.EngineTypes.startp = _startpos__2_;
3382 MenhirLib.EngineTypes.endp = _endpos__2_;
3383 MenhirLib.EngineTypes.next = {
3384 MenhirLib.EngineTypes.state = _menhir_s;
3385 MenhirLib.EngineTypes.semv = _1;
3386 MenhirLib.EngineTypes.startp = _startpos__1_;
3387 MenhirLib.EngineTypes.endp = _endpos__1_;
3388 MenhirLib.EngineTypes.next = _menhir_stack;
3389 };
3390 };
3391 } = _menhir_stack in
3392 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3393 let _2 : (
3394# 100 "parser_cocci_menhir.mly"
3395 (Data.clt)
3396# 3397 "parser_cocci_menhir.ml"
3397 ) = Obj.magic _2 in
3398 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3399 let _startpos = _startpos__1_ in
3400 let _endpos = _endpos__3_ in
3401 let _v : 'tv_arith_expr_expr_invalid_ =
3402# 1286 "parser_cocci_menhir.mly"
3403 ( P.arith_op Ast.Mul _1 _2 _3 )
3404# 3405 "parser_cocci_menhir.ml"
3405 in
3406 _menhir_env.MenhirLib.EngineTypes.stack <- {
3407 MenhirLib.EngineTypes.state = _menhir_s;
3408 MenhirLib.EngineTypes.semv = Obj.repr _v;
3409 MenhirLib.EngineTypes.startp = _startpos;
3410 MenhirLib.EngineTypes.endp = _endpos;
3411 MenhirLib.EngineTypes.next = _menhir_stack;
3412 });
3413 (fun _menhir_env ->
3414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3415 let {
3416 MenhirLib.EngineTypes.semv = _3;
3417 MenhirLib.EngineTypes.startp = _startpos__3_;
3418 MenhirLib.EngineTypes.endp = _endpos__3_;
3419 MenhirLib.EngineTypes.next = {
3420 MenhirLib.EngineTypes.semv = _2;
3421 MenhirLib.EngineTypes.startp = _startpos__2_;
3422 MenhirLib.EngineTypes.endp = _endpos__2_;
3423 MenhirLib.EngineTypes.next = {
3424 MenhirLib.EngineTypes.state = _menhir_s;
3425 MenhirLib.EngineTypes.semv = _1;
3426 MenhirLib.EngineTypes.startp = _startpos__1_;
3427 MenhirLib.EngineTypes.endp = _endpos__1_;
3428 MenhirLib.EngineTypes.next = _menhir_stack;
3429 };
3430 };
3431 } = _menhir_stack in
3432 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3433 let _2 : (
3434# 98 "parser_cocci_menhir.mly"
3435 (Ast_cocci.arithOp * Data.clt)
3436# 3437 "parser_cocci_menhir.ml"
3437 ) = Obj.magic _2 in
3438 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3439 let _startpos = _startpos__1_ in
3440 let _endpos = _endpos__3_ in
3441 let _v : 'tv_arith_expr_expr_invalid_ =
3442# 1288 "parser_cocci_menhir.mly"
3443 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3444# 3445 "parser_cocci_menhir.ml"
3445 in
3446 _menhir_env.MenhirLib.EngineTypes.stack <- {
3447 MenhirLib.EngineTypes.state = _menhir_s;
3448 MenhirLib.EngineTypes.semv = Obj.repr _v;
3449 MenhirLib.EngineTypes.startp = _startpos;
3450 MenhirLib.EngineTypes.endp = _endpos;
3451 MenhirLib.EngineTypes.next = _menhir_stack;
3452 });
3453 (fun _menhir_env ->
3454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3455 let {
3456 MenhirLib.EngineTypes.semv = _3;
3457 MenhirLib.EngineTypes.startp = _startpos__3_;
3458 MenhirLib.EngineTypes.endp = _endpos__3_;
3459 MenhirLib.EngineTypes.next = {
3460 MenhirLib.EngineTypes.semv = _2;
3461 MenhirLib.EngineTypes.startp = _startpos__2_;
3462 MenhirLib.EngineTypes.endp = _endpos__2_;
3463 MenhirLib.EngineTypes.next = {
3464 MenhirLib.EngineTypes.state = _menhir_s;
3465 MenhirLib.EngineTypes.semv = _1;
3466 MenhirLib.EngineTypes.startp = _startpos__1_;
3467 MenhirLib.EngineTypes.endp = _endpos__1_;
3468 MenhirLib.EngineTypes.next = _menhir_stack;
3469 };
3470 };
3471 } = _menhir_stack in
3472 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3473 let _2 : (
3474# 99 "parser_cocci_menhir.mly"
3475 (Data.clt)
3476# 3477 "parser_cocci_menhir.ml"
3477 ) = Obj.magic _2 in
3478 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3479 let _startpos = _startpos__1_ in
3480 let _endpos = _endpos__3_ in
3481 let _v : 'tv_arith_expr_expr_invalid_ =
3482# 1290 "parser_cocci_menhir.mly"
3483 ( P.arith_op Ast.Plus _1 _2 _3 )
3484# 3485 "parser_cocci_menhir.ml"
3485 in
3486 _menhir_env.MenhirLib.EngineTypes.stack <- {
3487 MenhirLib.EngineTypes.state = _menhir_s;
3488 MenhirLib.EngineTypes.semv = Obj.repr _v;
3489 MenhirLib.EngineTypes.startp = _startpos;
3490 MenhirLib.EngineTypes.endp = _endpos;
3491 MenhirLib.EngineTypes.next = _menhir_stack;
3492 });
3493 (fun _menhir_env ->
3494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3495 let {
3496 MenhirLib.EngineTypes.semv = _3;
3497 MenhirLib.EngineTypes.startp = _startpos__3_;
3498 MenhirLib.EngineTypes.endp = _endpos__3_;
3499 MenhirLib.EngineTypes.next = {
3500 MenhirLib.EngineTypes.semv = _2;
3501 MenhirLib.EngineTypes.startp = _startpos__2_;
3502 MenhirLib.EngineTypes.endp = _endpos__2_;
3503 MenhirLib.EngineTypes.next = {
3504 MenhirLib.EngineTypes.state = _menhir_s;
3505 MenhirLib.EngineTypes.semv = _1;
3506 MenhirLib.EngineTypes.startp = _startpos__1_;
3507 MenhirLib.EngineTypes.endp = _endpos__1_;
3508 MenhirLib.EngineTypes.next = _menhir_stack;
3509 };
3510 };
3511 } = _menhir_stack in
3512 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3513 let _2 : (
3514# 99 "parser_cocci_menhir.mly"
3515 (Data.clt)
3516# 3517 "parser_cocci_menhir.ml"
3517 ) = Obj.magic _2 in
3518 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3519 let _startpos = _startpos__1_ in
3520 let _endpos = _endpos__3_ in
3521 let _v : 'tv_arith_expr_expr_invalid_ =
3522# 1292 "parser_cocci_menhir.mly"
3523 ( P.arith_op Ast.Minus _1 _2 _3 )
3524# 3525 "parser_cocci_menhir.ml"
3525 in
3526 _menhir_env.MenhirLib.EngineTypes.stack <- {
3527 MenhirLib.EngineTypes.state = _menhir_s;
3528 MenhirLib.EngineTypes.semv = Obj.repr _v;
3529 MenhirLib.EngineTypes.startp = _startpos;
3530 MenhirLib.EngineTypes.endp = _endpos;
3531 MenhirLib.EngineTypes.next = _menhir_stack;
3532 });
3533 (fun _menhir_env ->
3534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3535 let {
3536 MenhirLib.EngineTypes.semv = _3;
3537 MenhirLib.EngineTypes.startp = _startpos__3_;
3538 MenhirLib.EngineTypes.endp = _endpos__3_;
3539 MenhirLib.EngineTypes.next = {
3540 MenhirLib.EngineTypes.semv = _2;
3541 MenhirLib.EngineTypes.startp = _startpos__2_;
3542 MenhirLib.EngineTypes.endp = _endpos__2_;
3543 MenhirLib.EngineTypes.next = {
3544 MenhirLib.EngineTypes.state = _menhir_s;
3545 MenhirLib.EngineTypes.semv = _1;
3546 MenhirLib.EngineTypes.startp = _startpos__1_;
3547 MenhirLib.EngineTypes.endp = _endpos__1_;
3548 MenhirLib.EngineTypes.next = _menhir_stack;
3549 };
3550 };
3551 } = _menhir_stack in
3552 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3553 let _2 : (
3554# 97 "parser_cocci_menhir.mly"
3555 (Ast_cocci.arithOp * Data.clt)
3556# 3557 "parser_cocci_menhir.ml"
3557 ) = Obj.magic _2 in
3558 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3559 let _startpos = _startpos__1_ in
3560 let _endpos = _endpos__3_ in
3561 let _v : 'tv_arith_expr_expr_invalid_ =
3562# 1294 "parser_cocci_menhir.mly"
3563 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3564# 3565 "parser_cocci_menhir.ml"
3565 in
3566 _menhir_env.MenhirLib.EngineTypes.stack <- {
3567 MenhirLib.EngineTypes.state = _menhir_s;
3568 MenhirLib.EngineTypes.semv = Obj.repr _v;
3569 MenhirLib.EngineTypes.startp = _startpos;
3570 MenhirLib.EngineTypes.endp = _endpos;
3571 MenhirLib.EngineTypes.next = _menhir_stack;
3572 });
3573 (fun _menhir_env ->
3574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3575 let {
3576 MenhirLib.EngineTypes.semv = _3;
3577 MenhirLib.EngineTypes.startp = _startpos__3_;
3578 MenhirLib.EngineTypes.endp = _endpos__3_;
3579 MenhirLib.EngineTypes.next = {
3580 MenhirLib.EngineTypes.semv = _2;
3581 MenhirLib.EngineTypes.startp = _startpos__2_;
3582 MenhirLib.EngineTypes.endp = _endpos__2_;
3583 MenhirLib.EngineTypes.next = {
3584 MenhirLib.EngineTypes.state = _menhir_s;
3585 MenhirLib.EngineTypes.semv = _1;
3586 MenhirLib.EngineTypes.startp = _startpos__1_;
3587 MenhirLib.EngineTypes.endp = _endpos__1_;
3588 MenhirLib.EngineTypes.next = _menhir_stack;
3589 };
3590 };
3591 } = _menhir_stack in
3592 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3593 let _2 : (
3594# 96 "parser_cocci_menhir.mly"
3595 (Ast_cocci.logicalOp * Data.clt)
3596# 3597 "parser_cocci_menhir.ml"
3597 ) = Obj.magic _2 in
3598 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3599 let _startpos = _startpos__1_ in
3600 let _endpos = _endpos__3_ in
3601 let _v : 'tv_arith_expr_expr_invalid_ =
3602# 1296 "parser_cocci_menhir.mly"
3603 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3604# 3605 "parser_cocci_menhir.ml"
3605 in
3606 _menhir_env.MenhirLib.EngineTypes.stack <- {
3607 MenhirLib.EngineTypes.state = _menhir_s;
3608 MenhirLib.EngineTypes.semv = Obj.repr _v;
3609 MenhirLib.EngineTypes.startp = _startpos;
3610 MenhirLib.EngineTypes.endp = _endpos;
3611 MenhirLib.EngineTypes.next = _menhir_stack;
3612 });
3613 (fun _menhir_env ->
3614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3615 let {
3616 MenhirLib.EngineTypes.semv = _3;
3617 MenhirLib.EngineTypes.startp = _startpos__3_;
3618 MenhirLib.EngineTypes.endp = _endpos__3_;
3619 MenhirLib.EngineTypes.next = {
3620 MenhirLib.EngineTypes.semv = _2;
3621 MenhirLib.EngineTypes.startp = _startpos__2_;
3622 MenhirLib.EngineTypes.endp = _endpos__2_;
3623 MenhirLib.EngineTypes.next = {
3624 MenhirLib.EngineTypes.state = _menhir_s;
3625 MenhirLib.EngineTypes.semv = _1;
3626 MenhirLib.EngineTypes.startp = _startpos__1_;
3627 MenhirLib.EngineTypes.endp = _endpos__1_;
3628 MenhirLib.EngineTypes.next = _menhir_stack;
3629 };
3630 };
3631 } = _menhir_stack in
3632 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3633 let _2 : (
3634# 95 "parser_cocci_menhir.mly"
3635 (Data.clt)
3636# 3637 "parser_cocci_menhir.ml"
3637 ) = Obj.magic _2 in
3638 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3639 let _startpos = _startpos__1_ in
3640 let _endpos = _endpos__3_ in
3641 let _v : 'tv_arith_expr_expr_invalid_ =
3642# 1298 "parser_cocci_menhir.mly"
3643 ( P.logic_op Ast.Eq _1 _2 _3 )
3644# 3645 "parser_cocci_menhir.ml"
3645 in
3646 _menhir_env.MenhirLib.EngineTypes.stack <- {
3647 MenhirLib.EngineTypes.state = _menhir_s;
3648 MenhirLib.EngineTypes.semv = Obj.repr _v;
3649 MenhirLib.EngineTypes.startp = _startpos;
3650 MenhirLib.EngineTypes.endp = _endpos;
3651 MenhirLib.EngineTypes.next = _menhir_stack;
3652 });
3653 (fun _menhir_env ->
3654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3655 let {
3656 MenhirLib.EngineTypes.semv = _3;
3657 MenhirLib.EngineTypes.startp = _startpos__3_;
3658 MenhirLib.EngineTypes.endp = _endpos__3_;
3659 MenhirLib.EngineTypes.next = {
3660 MenhirLib.EngineTypes.semv = _2;
3661 MenhirLib.EngineTypes.startp = _startpos__2_;
3662 MenhirLib.EngineTypes.endp = _endpos__2_;
3663 MenhirLib.EngineTypes.next = {
3664 MenhirLib.EngineTypes.state = _menhir_s;
3665 MenhirLib.EngineTypes.semv = _1;
3666 MenhirLib.EngineTypes.startp = _startpos__1_;
3667 MenhirLib.EngineTypes.endp = _endpos__1_;
3668 MenhirLib.EngineTypes.next = _menhir_stack;
3669 };
3670 };
3671 } = _menhir_stack in
3672 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3673 let _2 : (
3674# 95 "parser_cocci_menhir.mly"
3675 (Data.clt)
3676# 3677 "parser_cocci_menhir.ml"
3677 ) = Obj.magic _2 in
3678 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3679 let _startpos = _startpos__1_ in
3680 let _endpos = _endpos__3_ in
3681 let _v : 'tv_arith_expr_expr_invalid_ =
3682# 1300 "parser_cocci_menhir.mly"
3683 ( P.logic_op Ast.NotEq _1 _2 _3 )
3684# 3685 "parser_cocci_menhir.ml"
3685 in
3686 _menhir_env.MenhirLib.EngineTypes.stack <- {
3687 MenhirLib.EngineTypes.state = _menhir_s;
3688 MenhirLib.EngineTypes.semv = Obj.repr _v;
3689 MenhirLib.EngineTypes.startp = _startpos;
3690 MenhirLib.EngineTypes.endp = _endpos;
3691 MenhirLib.EngineTypes.next = _menhir_stack;
3692 });
3693 (fun _menhir_env ->
3694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3695 let {
3696 MenhirLib.EngineTypes.semv = _3;
3697 MenhirLib.EngineTypes.startp = _startpos__3_;
3698 MenhirLib.EngineTypes.endp = _endpos__3_;
3699 MenhirLib.EngineTypes.next = {
3700 MenhirLib.EngineTypes.semv = _2;
3701 MenhirLib.EngineTypes.startp = _startpos__2_;
3702 MenhirLib.EngineTypes.endp = _endpos__2_;
3703 MenhirLib.EngineTypes.next = {
3704 MenhirLib.EngineTypes.state = _menhir_s;
3705 MenhirLib.EngineTypes.semv = _1;
3706 MenhirLib.EngineTypes.startp = _startpos__1_;
3707 MenhirLib.EngineTypes.endp = _endpos__1_;
3708 MenhirLib.EngineTypes.next = _menhir_stack;
3709 };
3710 };
3711 } = _menhir_stack in
3712 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3713 let _2 : (
3714# 94 "parser_cocci_menhir.mly"
3715 (Data.clt)
3716# 3717 "parser_cocci_menhir.ml"
3717 ) = Obj.magic _2 in
3718 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3719 let _startpos = _startpos__1_ in
3720 let _endpos = _endpos__3_ in
3721 let _v : 'tv_arith_expr_expr_invalid_ =
3722# 1302 "parser_cocci_menhir.mly"
3723 ( P.arith_op Ast.And _1 _2 _3 )
3724# 3725 "parser_cocci_menhir.ml"
3725 in
3726 _menhir_env.MenhirLib.EngineTypes.stack <- {
3727 MenhirLib.EngineTypes.state = _menhir_s;
3728 MenhirLib.EngineTypes.semv = Obj.repr _v;
3729 MenhirLib.EngineTypes.startp = _startpos;
3730 MenhirLib.EngineTypes.endp = _endpos;
3731 MenhirLib.EngineTypes.next = _menhir_stack;
3732 });
3733 (fun _menhir_env ->
3734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3735 let {
3736 MenhirLib.EngineTypes.semv = _3;
3737 MenhirLib.EngineTypes.startp = _startpos__3_;
3738 MenhirLib.EngineTypes.endp = _endpos__3_;
3739 MenhirLib.EngineTypes.next = {
3740 MenhirLib.EngineTypes.semv = _2;
3741 MenhirLib.EngineTypes.startp = _startpos__2_;
3742 MenhirLib.EngineTypes.endp = _endpos__2_;
3743 MenhirLib.EngineTypes.next = {
3744 MenhirLib.EngineTypes.state = _menhir_s;
3745 MenhirLib.EngineTypes.semv = _1;
3746 MenhirLib.EngineTypes.startp = _startpos__1_;
3747 MenhirLib.EngineTypes.endp = _endpos__1_;
3748 MenhirLib.EngineTypes.next = _menhir_stack;
3749 };
3750 };
3751 } = _menhir_stack in
3752 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3753 let _2 : (
3754# 92 "parser_cocci_menhir.mly"
3755 (Data.clt)
3756# 3757 "parser_cocci_menhir.ml"
3757 ) = Obj.magic _2 in
3758 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3759 let _startpos = _startpos__1_ in
3760 let _endpos = _endpos__3_ in
3761 let _v : 'tv_arith_expr_expr_invalid_ =
3762# 1304 "parser_cocci_menhir.mly"
3763 ( P.arith_op Ast.Or _1 _2 _3 )
3764# 3765 "parser_cocci_menhir.ml"
3765 in
3766 _menhir_env.MenhirLib.EngineTypes.stack <- {
3767 MenhirLib.EngineTypes.state = _menhir_s;
3768 MenhirLib.EngineTypes.semv = Obj.repr _v;
3769 MenhirLib.EngineTypes.startp = _startpos;
3770 MenhirLib.EngineTypes.endp = _endpos;
3771 MenhirLib.EngineTypes.next = _menhir_stack;
3772 });
3773 (fun _menhir_env ->
3774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3775 let {
3776 MenhirLib.EngineTypes.semv = _3;
3777 MenhirLib.EngineTypes.startp = _startpos__3_;
3778 MenhirLib.EngineTypes.endp = _endpos__3_;
3779 MenhirLib.EngineTypes.next = {
3780 MenhirLib.EngineTypes.semv = _2;
3781 MenhirLib.EngineTypes.startp = _startpos__2_;
3782 MenhirLib.EngineTypes.endp = _endpos__2_;
3783 MenhirLib.EngineTypes.next = {
3784 MenhirLib.EngineTypes.state = _menhir_s;
3785 MenhirLib.EngineTypes.semv = _1;
3786 MenhirLib.EngineTypes.startp = _startpos__1_;
3787 MenhirLib.EngineTypes.endp = _endpos__1_;
3788 MenhirLib.EngineTypes.next = _menhir_stack;
3789 };
3790 };
3791 } = _menhir_stack in
3792 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3793 let _2 : (
3794# 93 "parser_cocci_menhir.mly"
3795 (Data.clt)
3796# 3797 "parser_cocci_menhir.ml"
3797 ) = Obj.magic _2 in
3798 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3799 let _startpos = _startpos__1_ in
3800 let _endpos = _endpos__3_ in
3801 let _v : 'tv_arith_expr_expr_invalid_ =
3802# 1306 "parser_cocci_menhir.mly"
3803 ( P.arith_op Ast.Xor _1 _2 _3 )
3804# 3805 "parser_cocci_menhir.ml"
3805 in
3806 _menhir_env.MenhirLib.EngineTypes.stack <- {
3807 MenhirLib.EngineTypes.state = _menhir_s;
3808 MenhirLib.EngineTypes.semv = Obj.repr _v;
3809 MenhirLib.EngineTypes.startp = _startpos;
3810 MenhirLib.EngineTypes.endp = _endpos;
3811 MenhirLib.EngineTypes.next = _menhir_stack;
3812 });
3813 (fun _menhir_env ->
3814 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3815 let {
3816 MenhirLib.EngineTypes.semv = _3;
3817 MenhirLib.EngineTypes.startp = _startpos__3_;
3818 MenhirLib.EngineTypes.endp = _endpos__3_;
3819 MenhirLib.EngineTypes.next = {
3820 MenhirLib.EngineTypes.semv = _2;
3821 MenhirLib.EngineTypes.startp = _startpos__2_;
3822 MenhirLib.EngineTypes.endp = _endpos__2_;
3823 MenhirLib.EngineTypes.next = {
3824 MenhirLib.EngineTypes.state = _menhir_s;
3825 MenhirLib.EngineTypes.semv = _1;
3826 MenhirLib.EngineTypes.startp = _startpos__1_;
3827 MenhirLib.EngineTypes.endp = _endpos__1_;
3828 MenhirLib.EngineTypes.next = _menhir_stack;
3829 };
3830 };
3831 } = _menhir_stack in
3832 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3833 let _2 : (
3834# 91 "parser_cocci_menhir.mly"
3835 (Data.clt)
3836# 3837 "parser_cocci_menhir.ml"
3837 ) = Obj.magic _2 in
3838 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3839 let _startpos = _startpos__1_ in
3840 let _endpos = _endpos__3_ in
3841 let _v : 'tv_arith_expr_expr_invalid_ =
3842# 1308 "parser_cocci_menhir.mly"
3843 ( P.logic_op Ast.AndLog _1 _2 _3 )
3844# 3845 "parser_cocci_menhir.ml"
3845 in
3846 _menhir_env.MenhirLib.EngineTypes.stack <- {
3847 MenhirLib.EngineTypes.state = _menhir_s;
3848 MenhirLib.EngineTypes.semv = Obj.repr _v;
3849 MenhirLib.EngineTypes.startp = _startpos;
3850 MenhirLib.EngineTypes.endp = _endpos;
3851 MenhirLib.EngineTypes.next = _menhir_stack;
3852 });
3853 (fun _menhir_env ->
3854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3855 let {
3856 MenhirLib.EngineTypes.semv = _3;
3857 MenhirLib.EngineTypes.startp = _startpos__3_;
3858 MenhirLib.EngineTypes.endp = _endpos__3_;
3859 MenhirLib.EngineTypes.next = {
3860 MenhirLib.EngineTypes.semv = _2;
3861 MenhirLib.EngineTypes.startp = _startpos__2_;
3862 MenhirLib.EngineTypes.endp = _endpos__2_;
3863 MenhirLib.EngineTypes.next = {
3864 MenhirLib.EngineTypes.state = _menhir_s;
3865 MenhirLib.EngineTypes.semv = _1;
3866 MenhirLib.EngineTypes.startp = _startpos__1_;
3867 MenhirLib.EngineTypes.endp = _endpos__1_;
3868 MenhirLib.EngineTypes.next = _menhir_stack;
3869 };
3870 };
3871 } = _menhir_stack in
3872 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3873 let _2 : (
3874# 90 "parser_cocci_menhir.mly"
3875 (Data.clt)
3876# 3877 "parser_cocci_menhir.ml"
3877 ) = Obj.magic _2 in
3878 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3879 let _startpos = _startpos__1_ in
3880 let _endpos = _endpos__3_ in
3881 let _v : 'tv_arith_expr_expr_invalid_ =
3882# 1310 "parser_cocci_menhir.mly"
3883 ( P.logic_op Ast.OrLog _1 _2 _3 )
3884# 3885 "parser_cocci_menhir.ml"
3885 in
3886 _menhir_env.MenhirLib.EngineTypes.stack <- {
3887 MenhirLib.EngineTypes.state = _menhir_s;
3888 MenhirLib.EngineTypes.semv = Obj.repr _v;
3889 MenhirLib.EngineTypes.startp = _startpos;
3890 MenhirLib.EngineTypes.endp = _endpos;
3891 MenhirLib.EngineTypes.next = _menhir_stack;
3892 });
3893 (fun _menhir_env ->
3894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3895 let {
3896 MenhirLib.EngineTypes.state = _menhir_s;
3897 MenhirLib.EngineTypes.startp = _startpos__1_;
3898 MenhirLib.EngineTypes.endp = _endpos__1_;
3899 MenhirLib.EngineTypes.next = _menhir_stack;
3900 } = _menhir_stack in
3901 let _startpos = _startpos__1_ in
3902 let _endpos = _endpos__1_ in
3903 let _v : 'tv_arity =
3904# 492 "parser_cocci_menhir.mly"
3905 ( Ast.UNIQUE )
3906# 3907 "parser_cocci_menhir.ml"
3907 in
3908 _menhir_env.MenhirLib.EngineTypes.stack <- {
3909 MenhirLib.EngineTypes.state = _menhir_s;
3910 MenhirLib.EngineTypes.semv = Obj.repr _v;
3911 MenhirLib.EngineTypes.startp = _startpos;
3912 MenhirLib.EngineTypes.endp = _endpos;
3913 MenhirLib.EngineTypes.next = _menhir_stack;
3914 });
3915 (fun _menhir_env ->
3916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3917 let {
3918 MenhirLib.EngineTypes.state = _menhir_s;
3919 MenhirLib.EngineTypes.startp = _startpos__1_;
3920 MenhirLib.EngineTypes.endp = _endpos__1_;
3921 MenhirLib.EngineTypes.next = _menhir_stack;
3922 } = _menhir_stack in
3923 let _startpos = _startpos__1_ in
3924 let _endpos = _endpos__1_ in
3925 let _v : 'tv_arity =
3926# 493 "parser_cocci_menhir.mly"
3927 ( Ast.OPT )
3928# 3929 "parser_cocci_menhir.ml"
3929 in
3930 _menhir_env.MenhirLib.EngineTypes.stack <- {
3931 MenhirLib.EngineTypes.state = _menhir_s;
3932 MenhirLib.EngineTypes.semv = Obj.repr _v;
3933 MenhirLib.EngineTypes.startp = _startpos;
3934 MenhirLib.EngineTypes.endp = _endpos;
3935 MenhirLib.EngineTypes.next = _menhir_stack;
3936 });
3937 (fun _menhir_env ->
3938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3939 let {
3940 MenhirLib.EngineTypes.state = _menhir_s;
3941 MenhirLib.EngineTypes.startp = _startpos__1_;
3942 MenhirLib.EngineTypes.endp = _endpos__1_;
3943 MenhirLib.EngineTypes.next = _menhir_stack;
3944 } = _menhir_stack in
3945 let _startpos = _startpos__1_ in
3946 let _endpos = _endpos__1_ in
3947 let _v : 'tv_arity =
3948# 494 "parser_cocci_menhir.mly"
3949 ( Ast.MULTI )
3950# 3951 "parser_cocci_menhir.ml"
3951 in
3952 _menhir_env.MenhirLib.EngineTypes.stack <- {
3953 MenhirLib.EngineTypes.state = _menhir_s;
3954 MenhirLib.EngineTypes.semv = Obj.repr _v;
3955 MenhirLib.EngineTypes.startp = _startpos;
3956 MenhirLib.EngineTypes.endp = _endpos;
3957 MenhirLib.EngineTypes.next = _menhir_stack;
3958 });
3959 (fun _menhir_env ->
3960 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3961 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
3962 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
3963 let _endpos = _startpos in
3964 let _v : 'tv_arity =
3965# 495 "parser_cocci_menhir.mly"
3966 ( Ast.NONE )
3967# 3968 "parser_cocci_menhir.ml"
3968 in
3969 _menhir_env.MenhirLib.EngineTypes.stack <- {
3970 MenhirLib.EngineTypes.state = _menhir_s;
3971 MenhirLib.EngineTypes.semv = Obj.repr _v;
3972 MenhirLib.EngineTypes.startp = _startpos;
3973 MenhirLib.EngineTypes.endp = _endpos;
3974 MenhirLib.EngineTypes.next = _menhir_stack;
3975 });
3976 (fun _menhir_env ->
3977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3978 let {
3979 MenhirLib.EngineTypes.semv = r;
3980 MenhirLib.EngineTypes.startp = _startpos_r_;
3981 MenhirLib.EngineTypes.endp = _endpos_r_;
3982 MenhirLib.EngineTypes.next = {
3983 MenhirLib.EngineTypes.semv = i;
3984 MenhirLib.EngineTypes.startp = _startpos_i_;
3985 MenhirLib.EngineTypes.endp = _endpos_i_;
3986 MenhirLib.EngineTypes.next = {
3987 MenhirLib.EngineTypes.state = _menhir_s;
3988 MenhirLib.EngineTypes.semv = l;
3989 MenhirLib.EngineTypes.startp = _startpos_l_;
3990 MenhirLib.EngineTypes.endp = _endpos_l_;
3991 MenhirLib.EngineTypes.next = _menhir_stack;
3992 };
3993 };
3994 } = _menhir_stack in
3995 let r : (
3996# 103 "parser_cocci_menhir.mly"
3997 (Data.clt)
3998# 3999 "parser_cocci_menhir.ml"
3999 ) = Obj.magic r in
4000 let i : 'tv_option_eexpr_ = Obj.magic i in
4001 let l : (
4002# 103 "parser_cocci_menhir.mly"
4003 (Data.clt)
4004# 4005 "parser_cocci_menhir.ml"
4005 ) = Obj.magic l in
4006 let _startpos = _startpos_l_ in
4007 let _endpos = _endpos_r_ in
4008 let _v : 'tv_array_dec =
4009# 1091 "parser_cocci_menhir.mly"
4010 ( (l,i,r) )
4011# 4012 "parser_cocci_menhir.ml"
4012 in
4013 _menhir_env.MenhirLib.EngineTypes.stack <- {
4014 MenhirLib.EngineTypes.state = _menhir_s;
4015 MenhirLib.EngineTypes.semv = Obj.repr _v;
4016 MenhirLib.EngineTypes.startp = _startpos;
4017 MenhirLib.EngineTypes.endp = _endpos;
4018 MenhirLib.EngineTypes.next = _menhir_stack;
4019 });
4020 (fun _menhir_env ->
4021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4022 let {
4023 MenhirLib.EngineTypes.state = _menhir_s;
4024 MenhirLib.EngineTypes.semv = _1;
4025 MenhirLib.EngineTypes.startp = _startpos__1_;
4026 MenhirLib.EngineTypes.endp = _endpos__1_;
4027 MenhirLib.EngineTypes.next = _menhir_stack;
4028 } = _menhir_stack in
4029 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4030 let _startpos = _startpos__1_ in
4031 let _endpos = _endpos__1_ in
4032 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4033# 1256 "parser_cocci_menhir.mly"
4034 ( _1 )
4035# 4036 "parser_cocci_menhir.ml"
4036 in
4037 _menhir_env.MenhirLib.EngineTypes.stack <- {
4038 MenhirLib.EngineTypes.state = _menhir_s;
4039 MenhirLib.EngineTypes.semv = Obj.repr _v;
4040 MenhirLib.EngineTypes.startp = _startpos;
4041 MenhirLib.EngineTypes.endp = _endpos;
4042 MenhirLib.EngineTypes.next = _menhir_stack;
4043 });
4044 (fun _menhir_env ->
4045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4046 let {
4047 MenhirLib.EngineTypes.semv = _3;
4048 MenhirLib.EngineTypes.startp = _startpos__3_;
4049 MenhirLib.EngineTypes.endp = _endpos__3_;
4050 MenhirLib.EngineTypes.next = {
4051 MenhirLib.EngineTypes.semv = _2;
4052 MenhirLib.EngineTypes.startp = _startpos__2_;
4053 MenhirLib.EngineTypes.endp = _endpos__2_;
4054 MenhirLib.EngineTypes.next = {
4055 MenhirLib.EngineTypes.state = _menhir_s;
4056 MenhirLib.EngineTypes.semv = _1;
4057 MenhirLib.EngineTypes.startp = _startpos__1_;
4058 MenhirLib.EngineTypes.endp = _endpos__1_;
4059 MenhirLib.EngineTypes.next = _menhir_stack;
4060 };
4061 };
4062 } = _menhir_stack in
4063 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4064 let _2 : (
4065# 109 "parser_cocci_menhir.mly"
4066 (Ast_cocci.assignOp * Data.clt)
4067# 4068 "parser_cocci_menhir.ml"
4068 ) = Obj.magic _2 in
4069 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4070 let _startpos = _startpos__1_ in
4071 let _endpos = _endpos__3_ in
4072 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4073# 1258 "parser_cocci_menhir.mly"
4074 ( let (op,clt) = _2 in
4075 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4076 Ast0.set_arg_exp _3,false)) )
4077# 4078 "parser_cocci_menhir.ml"
4078 in
4079 _menhir_env.MenhirLib.EngineTypes.stack <- {
4080 MenhirLib.EngineTypes.state = _menhir_s;
4081 MenhirLib.EngineTypes.semv = Obj.repr _v;
4082 MenhirLib.EngineTypes.startp = _startpos;
4083 MenhirLib.EngineTypes.endp = _endpos;
4084 MenhirLib.EngineTypes.next = _menhir_stack;
4085 });
4086 (fun _menhir_env ->
4087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4088 let {
4089 MenhirLib.EngineTypes.semv = _3;
4090 MenhirLib.EngineTypes.startp = _startpos__3_;
4091 MenhirLib.EngineTypes.endp = _endpos__3_;
4092 MenhirLib.EngineTypes.next = {
4093 MenhirLib.EngineTypes.semv = _2;
4094 MenhirLib.EngineTypes.startp = _startpos__2_;
4095 MenhirLib.EngineTypes.endp = _endpos__2_;
4096 MenhirLib.EngineTypes.next = {
4097 MenhirLib.EngineTypes.state = _menhir_s;
4098 MenhirLib.EngineTypes.semv = _1;
4099 MenhirLib.EngineTypes.startp = _startpos__1_;
4100 MenhirLib.EngineTypes.endp = _endpos__1_;
4101 MenhirLib.EngineTypes.next = _menhir_stack;
4102 };
4103 };
4104 } = _menhir_stack in
4105 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4106 let _2 : (
4107# 108 "parser_cocci_menhir.mly"
4108 (Data.clt)
4109# 4110 "parser_cocci_menhir.ml"
4110 ) = Obj.magic _2 in
4111 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4112 let _startpos = _startpos__1_ in
4113 let _endpos = _endpos__3_ in
4114 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4115# 1262 "parser_cocci_menhir.mly"
4116 ( Ast0.wrap
4117 (Ast0.Assignment
4118 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4119# 4120 "parser_cocci_menhir.ml"
4120 in
4121 _menhir_env.MenhirLib.EngineTypes.stack <- {
4122 MenhirLib.EngineTypes.state = _menhir_s;
4123 MenhirLib.EngineTypes.semv = Obj.repr _v;
4124 MenhirLib.EngineTypes.startp = _startpos;
4125 MenhirLib.EngineTypes.endp = _endpos;
4126 MenhirLib.EngineTypes.next = _menhir_stack;
4127 });
4128 (fun _menhir_env ->
4129 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4130 let {
4131 MenhirLib.EngineTypes.state = _menhir_s;
4132 MenhirLib.EngineTypes.semv = _1;
4133 MenhirLib.EngineTypes.startp = _startpos__1_;
4134 MenhirLib.EngineTypes.endp = _endpos__1_;
4135 MenhirLib.EngineTypes.next = _menhir_stack;
4136 } = _menhir_stack in
4137 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4138 let _startpos = _startpos__1_ in
4139 let _endpos = _endpos__1_ in
4140 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4141# 1256 "parser_cocci_menhir.mly"
4142 ( _1 )
4143# 4144 "parser_cocci_menhir.ml"
4144 in
4145 _menhir_env.MenhirLib.EngineTypes.stack <- {
4146 MenhirLib.EngineTypes.state = _menhir_s;
4147 MenhirLib.EngineTypes.semv = Obj.repr _v;
4148 MenhirLib.EngineTypes.startp = _startpos;
4149 MenhirLib.EngineTypes.endp = _endpos;
4150 MenhirLib.EngineTypes.next = _menhir_stack;
4151 });
4152 (fun _menhir_env ->
4153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4154 let {
4155 MenhirLib.EngineTypes.semv = _3;
4156 MenhirLib.EngineTypes.startp = _startpos__3_;
4157 MenhirLib.EngineTypes.endp = _endpos__3_;
4158 MenhirLib.EngineTypes.next = {
4159 MenhirLib.EngineTypes.semv = _2;
4160 MenhirLib.EngineTypes.startp = _startpos__2_;
4161 MenhirLib.EngineTypes.endp = _endpos__2_;
4162 MenhirLib.EngineTypes.next = {
4163 MenhirLib.EngineTypes.state = _menhir_s;
4164 MenhirLib.EngineTypes.semv = _1;
4165 MenhirLib.EngineTypes.startp = _startpos__1_;
4166 MenhirLib.EngineTypes.endp = _endpos__1_;
4167 MenhirLib.EngineTypes.next = _menhir_stack;
4168 };
4169 };
4170 } = _menhir_stack in
4171 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4172 let _2 : (
4173# 109 "parser_cocci_menhir.mly"
4174 (Ast_cocci.assignOp * Data.clt)
4175# 4176 "parser_cocci_menhir.ml"
4176 ) = Obj.magic _2 in
4177 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4178 let _startpos = _startpos__1_ in
4179 let _endpos = _endpos__3_ in
4180 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4181# 1258 "parser_cocci_menhir.mly"
4182 ( let (op,clt) = _2 in
4183 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4184 Ast0.set_arg_exp _3,false)) )
4185# 4186 "parser_cocci_menhir.ml"
4186 in
4187 _menhir_env.MenhirLib.EngineTypes.stack <- {
4188 MenhirLib.EngineTypes.state = _menhir_s;
4189 MenhirLib.EngineTypes.semv = Obj.repr _v;
4190 MenhirLib.EngineTypes.startp = _startpos;
4191 MenhirLib.EngineTypes.endp = _endpos;
4192 MenhirLib.EngineTypes.next = _menhir_stack;
4193 });
4194 (fun _menhir_env ->
4195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4196 let {
4197 MenhirLib.EngineTypes.semv = _3;
4198 MenhirLib.EngineTypes.startp = _startpos__3_;
4199 MenhirLib.EngineTypes.endp = _endpos__3_;
4200 MenhirLib.EngineTypes.next = {
4201 MenhirLib.EngineTypes.semv = _2;
4202 MenhirLib.EngineTypes.startp = _startpos__2_;
4203 MenhirLib.EngineTypes.endp = _endpos__2_;
4204 MenhirLib.EngineTypes.next = {
4205 MenhirLib.EngineTypes.state = _menhir_s;
4206 MenhirLib.EngineTypes.semv = _1;
4207 MenhirLib.EngineTypes.startp = _startpos__1_;
4208 MenhirLib.EngineTypes.endp = _endpos__1_;
4209 MenhirLib.EngineTypes.next = _menhir_stack;
4210 };
4211 };
4212 } = _menhir_stack in
4213 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4214 let _2 : (
4215# 108 "parser_cocci_menhir.mly"
4216 (Data.clt)
4217# 4218 "parser_cocci_menhir.ml"
4218 ) = Obj.magic _2 in
4219 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4220 let _startpos = _startpos__1_ in
4221 let _endpos = _endpos__3_ in
4222 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4223# 1262 "parser_cocci_menhir.mly"
4224 ( Ast0.wrap
4225 (Ast0.Assignment
4226 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4227# 4228 "parser_cocci_menhir.ml"
4228 in
4229 _menhir_env.MenhirLib.EngineTypes.stack <- {
4230 MenhirLib.EngineTypes.state = _menhir_s;
4231 MenhirLib.EngineTypes.semv = Obj.repr _v;
4232 MenhirLib.EngineTypes.startp = _startpos;
4233 MenhirLib.EngineTypes.endp = _endpos;
4234 MenhirLib.EngineTypes.next = _menhir_stack;
4235 });
4236 (fun _menhir_env ->
4237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4238 let {
4239 MenhirLib.EngineTypes.state = _menhir_s;
4240 MenhirLib.EngineTypes.semv = _1;
4241 MenhirLib.EngineTypes.startp = _startpos__1_;
4242 MenhirLib.EngineTypes.endp = _endpos__1_;
4243 MenhirLib.EngineTypes.next = _menhir_stack;
4244 } = _menhir_stack in
4245 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
4246 let _startpos = _startpos__1_ in
4247 let _endpos = _endpos__1_ in
4248 let _v : 'tv_assign_expr_expr_invalid_ =
4249# 1256 "parser_cocci_menhir.mly"
4250 ( _1 )
4251# 4252 "parser_cocci_menhir.ml"
4252 in
4253 _menhir_env.MenhirLib.EngineTypes.stack <- {
4254 MenhirLib.EngineTypes.state = _menhir_s;
4255 MenhirLib.EngineTypes.semv = Obj.repr _v;
4256 MenhirLib.EngineTypes.startp = _startpos;
4257 MenhirLib.EngineTypes.endp = _endpos;
4258 MenhirLib.EngineTypes.next = _menhir_stack;
4259 });
4260 (fun _menhir_env ->
4261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4262 let {
4263 MenhirLib.EngineTypes.semv = _3;
4264 MenhirLib.EngineTypes.startp = _startpos__3_;
4265 MenhirLib.EngineTypes.endp = _endpos__3_;
4266 MenhirLib.EngineTypes.next = {
4267 MenhirLib.EngineTypes.semv = _2;
4268 MenhirLib.EngineTypes.startp = _startpos__2_;
4269 MenhirLib.EngineTypes.endp = _endpos__2_;
4270 MenhirLib.EngineTypes.next = {
4271 MenhirLib.EngineTypes.state = _menhir_s;
4272 MenhirLib.EngineTypes.semv = _1;
4273 MenhirLib.EngineTypes.startp = _startpos__1_;
4274 MenhirLib.EngineTypes.endp = _endpos__1_;
4275 MenhirLib.EngineTypes.next = _menhir_stack;
4276 };
4277 };
4278 } = _menhir_stack in
4279 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4280 let _2 : (
4281# 109 "parser_cocci_menhir.mly"
4282 (Ast_cocci.assignOp * Data.clt)
4283# 4284 "parser_cocci_menhir.ml"
4284 ) = Obj.magic _2 in
4285 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4286 let _startpos = _startpos__1_ in
4287 let _endpos = _endpos__3_ in
4288 let _v : 'tv_assign_expr_expr_invalid_ =
4289# 1258 "parser_cocci_menhir.mly"
4290 ( let (op,clt) = _2 in
4291 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4292 Ast0.set_arg_exp _3,false)) )
4293# 4294 "parser_cocci_menhir.ml"
4294 in
4295 _menhir_env.MenhirLib.EngineTypes.stack <- {
4296 MenhirLib.EngineTypes.state = _menhir_s;
4297 MenhirLib.EngineTypes.semv = Obj.repr _v;
4298 MenhirLib.EngineTypes.startp = _startpos;
4299 MenhirLib.EngineTypes.endp = _endpos;
4300 MenhirLib.EngineTypes.next = _menhir_stack;
4301 });
4302 (fun _menhir_env ->
4303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4304 let {
4305 MenhirLib.EngineTypes.semv = _3;
4306 MenhirLib.EngineTypes.startp = _startpos__3_;
4307 MenhirLib.EngineTypes.endp = _endpos__3_;
4308 MenhirLib.EngineTypes.next = {
4309 MenhirLib.EngineTypes.semv = _2;
4310 MenhirLib.EngineTypes.startp = _startpos__2_;
4311 MenhirLib.EngineTypes.endp = _endpos__2_;
4312 MenhirLib.EngineTypes.next = {
4313 MenhirLib.EngineTypes.state = _menhir_s;
4314 MenhirLib.EngineTypes.semv = _1;
4315 MenhirLib.EngineTypes.startp = _startpos__1_;
4316 MenhirLib.EngineTypes.endp = _endpos__1_;
4317 MenhirLib.EngineTypes.next = _menhir_stack;
4318 };
4319 };
4320 } = _menhir_stack in
4321 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4322 let _2 : (
4323# 108 "parser_cocci_menhir.mly"
4324 (Data.clt)
4325# 4326 "parser_cocci_menhir.ml"
4326 ) = Obj.magic _2 in
4327 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4328 let _startpos = _startpos__1_ in
4329 let _endpos = _endpos__3_ in
4330 let _v : 'tv_assign_expr_expr_invalid_ =
4331# 1262 "parser_cocci_menhir.mly"
4332 ( Ast0.wrap
4333 (Ast0.Assignment
4334 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4335# 4336 "parser_cocci_menhir.ml"
4336 in
4337 _menhir_env.MenhirLib.EngineTypes.stack <- {
4338 MenhirLib.EngineTypes.state = _menhir_s;
4339 MenhirLib.EngineTypes.semv = Obj.repr _v;
4340 MenhirLib.EngineTypes.startp = _startpos;
4341 MenhirLib.EngineTypes.endp = _endpos;
4342 MenhirLib.EngineTypes.next = _menhir_stack;
4343 });
4344 (fun _menhir_env ->
4345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4346 let {
4347 MenhirLib.EngineTypes.state = _menhir_s;
4348 MenhirLib.EngineTypes.semv = _1;
4349 MenhirLib.EngineTypes.startp = _startpos__1_;
4350 MenhirLib.EngineTypes.endp = _endpos__1_;
4351 MenhirLib.EngineTypes.next = _menhir_stack;
4352 } = _menhir_stack in
4353 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4354 let _startpos = _startpos__1_ in
4355 let _endpos = _endpos__1_ in
4356 let _v : 'tv_assign_expr_bis =
4357# 1267 "parser_cocci_menhir.mly"
4358 ( _1 )
4359# 4360 "parser_cocci_menhir.ml"
4360 in
4361 _menhir_env.MenhirLib.EngineTypes.stack <- {
4362 MenhirLib.EngineTypes.state = _menhir_s;
4363 MenhirLib.EngineTypes.semv = Obj.repr _v;
4364 MenhirLib.EngineTypes.startp = _startpos;
4365 MenhirLib.EngineTypes.endp = _endpos;
4366 MenhirLib.EngineTypes.next = _menhir_stack;
4367 });
4368 (fun _menhir_env ->
4369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4370 let {
4371 MenhirLib.EngineTypes.semv = _3;
4372 MenhirLib.EngineTypes.startp = _startpos__3_;
4373 MenhirLib.EngineTypes.endp = _endpos__3_;
4374 MenhirLib.EngineTypes.next = {
4375 MenhirLib.EngineTypes.semv = _2;
4376 MenhirLib.EngineTypes.startp = _startpos__2_;
4377 MenhirLib.EngineTypes.endp = _endpos__2_;
4378 MenhirLib.EngineTypes.next = {
4379 MenhirLib.EngineTypes.state = _menhir_s;
4380 MenhirLib.EngineTypes.semv = _1;
4381 MenhirLib.EngineTypes.startp = _startpos__1_;
4382 MenhirLib.EngineTypes.endp = _endpos__1_;
4383 MenhirLib.EngineTypes.next = _menhir_stack;
4384 };
4385 };
4386 } = _menhir_stack in
4387 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4388 let _2 : (
4389# 109 "parser_cocci_menhir.mly"
4390 (Ast_cocci.assignOp * Data.clt)
4391# 4392 "parser_cocci_menhir.ml"
4392 ) = Obj.magic _2 in
4393 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4394 let _startpos = _startpos__1_ in
4395 let _endpos = _endpos__3_ in
4396 let _v : 'tv_assign_expr_bis =
4397# 1269 "parser_cocci_menhir.mly"
4398 ( let (op,clt) = _2 in
4399 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4400 Ast0.set_arg_exp _3,false)) )
4401# 4402 "parser_cocci_menhir.ml"
4402 in
4403 _menhir_env.MenhirLib.EngineTypes.stack <- {
4404 MenhirLib.EngineTypes.state = _menhir_s;
4405 MenhirLib.EngineTypes.semv = Obj.repr _v;
4406 MenhirLib.EngineTypes.startp = _startpos;
4407 MenhirLib.EngineTypes.endp = _endpos;
4408 MenhirLib.EngineTypes.next = _menhir_stack;
4409 });
4410 (fun _menhir_env ->
4411 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4412 let {
4413 MenhirLib.EngineTypes.semv = _3;
4414 MenhirLib.EngineTypes.startp = _startpos__3_;
4415 MenhirLib.EngineTypes.endp = _endpos__3_;
4416 MenhirLib.EngineTypes.next = {
4417 MenhirLib.EngineTypes.semv = _2;
4418 MenhirLib.EngineTypes.startp = _startpos__2_;
4419 MenhirLib.EngineTypes.endp = _endpos__2_;
4420 MenhirLib.EngineTypes.next = {
4421 MenhirLib.EngineTypes.state = _menhir_s;
4422 MenhirLib.EngineTypes.semv = _1;
4423 MenhirLib.EngineTypes.startp = _startpos__1_;
4424 MenhirLib.EngineTypes.endp = _endpos__1_;
4425 MenhirLib.EngineTypes.next = _menhir_stack;
4426 };
4427 };
4428 } = _menhir_stack in
4429 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4430 let _2 : (
4431# 108 "parser_cocci_menhir.mly"
4432 (Data.clt)
4433# 4434 "parser_cocci_menhir.ml"
4434 ) = Obj.magic _2 in
4435 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4436 let _startpos = _startpos__1_ in
4437 let _endpos = _endpos__3_ in
4438 let _v : 'tv_assign_expr_bis =
4439# 1273 "parser_cocci_menhir.mly"
4440 ( Ast0.wrap
4441 (Ast0.Assignment
4442 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4443# 4444 "parser_cocci_menhir.ml"
4444 in
4445 _menhir_env.MenhirLib.EngineTypes.stack <- {
4446 MenhirLib.EngineTypes.state = _menhir_s;
4447 MenhirLib.EngineTypes.semv = Obj.repr _v;
4448 MenhirLib.EngineTypes.startp = _startpos;
4449 MenhirLib.EngineTypes.endp = _endpos;
4450 MenhirLib.EngineTypes.next = _menhir_stack;
4451 });
4452 (fun _menhir_env ->
4453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4454 let {
4455 MenhirLib.EngineTypes.state = _menhir_s;
4456 MenhirLib.EngineTypes.semv = _1;
4457 MenhirLib.EngineTypes.startp = _startpos__1_;
4458 MenhirLib.EngineTypes.endp = _endpos__1_;
4459 MenhirLib.EngineTypes.next = _menhir_stack;
4460 } = _menhir_stack in
4461 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4462 let _startpos = _startpos__1_ in
4463 let _endpos = _endpos__1_ in
4464 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
4465# 1253 "parser_cocci_menhir.mly"
4466 ( _1 )
4467# 4468 "parser_cocci_menhir.ml"
4468 in
4469 _menhir_env.MenhirLib.EngineTypes.stack <- {
4470 MenhirLib.EngineTypes.state = _menhir_s;
4471 MenhirLib.EngineTypes.semv = Obj.repr _v;
4472 MenhirLib.EngineTypes.startp = _startpos;
4473 MenhirLib.EngineTypes.endp = _endpos;
4474 MenhirLib.EngineTypes.next = _menhir_stack;
4475 });
4476 (fun _menhir_env ->
4477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4478 let {
4479 MenhirLib.EngineTypes.state = _menhir_s;
4480 MenhirLib.EngineTypes.semv = _1;
4481 MenhirLib.EngineTypes.startp = _startpos__1_;
4482 MenhirLib.EngineTypes.endp = _endpos__1_;
4483 MenhirLib.EngineTypes.next = _menhir_stack;
4484 } = _menhir_stack in
4485 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4486 let _startpos = _startpos__1_ in
4487 let _endpos = _endpos__1_ in
4488 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
4489# 1253 "parser_cocci_menhir.mly"
4490 ( _1 )
4491# 4492 "parser_cocci_menhir.ml"
4492 in
4493 _menhir_env.MenhirLib.EngineTypes.stack <- {
4494 MenhirLib.EngineTypes.state = _menhir_s;
4495 MenhirLib.EngineTypes.semv = Obj.repr _v;
4496 MenhirLib.EngineTypes.startp = _startpos;
4497 MenhirLib.EngineTypes.endp = _endpos;
4498 MenhirLib.EngineTypes.next = _menhir_stack;
4499 });
4500 (fun _menhir_env ->
4501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4502 let {
4503 MenhirLib.EngineTypes.state = _menhir_s;
4504 MenhirLib.EngineTypes.semv = _1;
4505 MenhirLib.EngineTypes.startp = _startpos__1_;
4506 MenhirLib.EngineTypes.endp = _endpos__1_;
4507 MenhirLib.EngineTypes.next = _menhir_stack;
4508 } = _menhir_stack in
4509 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
4510 let _startpos = _startpos__1_ in
4511 let _endpos = _endpos__1_ in
4512 let _v : 'tv_basic_expr_expr_invalid_ =
4513# 1253 "parser_cocci_menhir.mly"
4514 ( _1 )
4515# 4516 "parser_cocci_menhir.ml"
4516 in
4517 _menhir_env.MenhirLib.EngineTypes.stack <- {
4518 MenhirLib.EngineTypes.state = _menhir_s;
4519 MenhirLib.EngineTypes.semv = Obj.repr _v;
4520 MenhirLib.EngineTypes.startp = _startpos;
4521 MenhirLib.EngineTypes.endp = _endpos;
4522 MenhirLib.EngineTypes.next = _menhir_stack;
4523 });
4524 (fun _menhir_env ->
4525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4526 let {
4527 MenhirLib.EngineTypes.semv = _3;
4528 MenhirLib.EngineTypes.startp = _startpos__3_;
4529 MenhirLib.EngineTypes.endp = _endpos__3_;
4530 MenhirLib.EngineTypes.next = {
4531 MenhirLib.EngineTypes.semv = _2;
4532 MenhirLib.EngineTypes.startp = _startpos__2_;
4533 MenhirLib.EngineTypes.endp = _endpos__2_;
4534 MenhirLib.EngineTypes.next = {
4535 MenhirLib.EngineTypes.state = _menhir_s;
4536 MenhirLib.EngineTypes.semv = _1;
4537 MenhirLib.EngineTypes.startp = _startpos__1_;
4538 MenhirLib.EngineTypes.endp = _endpos__1_;
4539 MenhirLib.EngineTypes.next = _menhir_stack;
4540 };
4541 };
4542 } = _menhir_stack in
4543 let _3 : 'tv_fun_start = Obj.magic _3 in
4544 let _2 : (
4545# 77 "parser_cocci_menhir.mly"
4546 (Data.clt)
4547# 4548 "parser_cocci_menhir.ml"
4548 ) = Obj.magic _2 in
4549 let _1 : (
4550# 57 "parser_cocci_menhir.mly"
4551 (Data.clt)
4552# 4553 "parser_cocci_menhir.ml"
4553 ) = Obj.magic _1 in
4554 let _startpos = _startpos__1_ in
4555 let _endpos = _endpos__3_ in
4556 let _v : 'tv_case_line =
4557# 955 "parser_cocci_menhir.mly"
4558 ( Ast0.wrap
4559 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
4560# 4561 "parser_cocci_menhir.ml"
4561 in
4562 _menhir_env.MenhirLib.EngineTypes.stack <- {
4563 MenhirLib.EngineTypes.state = _menhir_s;
4564 MenhirLib.EngineTypes.semv = Obj.repr _v;
4565 MenhirLib.EngineTypes.startp = _startpos;
4566 MenhirLib.EngineTypes.endp = _endpos;
4567 MenhirLib.EngineTypes.next = _menhir_stack;
4568 });
4569 (fun _menhir_env ->
4570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4571 let {
4572 MenhirLib.EngineTypes.semv = _4;
4573 MenhirLib.EngineTypes.startp = _startpos__4_;
4574 MenhirLib.EngineTypes.endp = _endpos__4_;
4575 MenhirLib.EngineTypes.next = {
4576 MenhirLib.EngineTypes.semv = _3;
4577 MenhirLib.EngineTypes.startp = _startpos__3_;
4578 MenhirLib.EngineTypes.endp = _endpos__3_;
4579 MenhirLib.EngineTypes.next = {
4580 MenhirLib.EngineTypes.semv = _2;
4581 MenhirLib.EngineTypes.startp = _startpos__2_;
4582 MenhirLib.EngineTypes.endp = _endpos__2_;
4583 MenhirLib.EngineTypes.next = {
4584 MenhirLib.EngineTypes.state = _menhir_s;
4585 MenhirLib.EngineTypes.semv = _1;
4586 MenhirLib.EngineTypes.startp = _startpos__1_;
4587 MenhirLib.EngineTypes.endp = _endpos__1_;
4588 MenhirLib.EngineTypes.next = _menhir_stack;
4589 };
4590 };
4591 };
4592 } = _menhir_stack in
4593 let _4 : 'tv_fun_start = Obj.magic _4 in
4594 let _3 : (
4595# 77 "parser_cocci_menhir.mly"
4596 (Data.clt)
4597# 4598 "parser_cocci_menhir.ml"
4598 ) = Obj.magic _3 in
4599 let _2 : 'tv_eexpr = Obj.magic _2 in
4600 let _1 : (
4601# 57 "parser_cocci_menhir.mly"
4602 (Data.clt)
4603# 4604 "parser_cocci_menhir.ml"
4604 ) = Obj.magic _1 in
4605 let _startpos = _startpos__1_ in
4606 let _endpos = _endpos__4_ in
4607 let _v : 'tv_case_line =
4608# 958 "parser_cocci_menhir.mly"
4609 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
4610# 4611 "parser_cocci_menhir.ml"
4611 in
4612 _menhir_env.MenhirLib.EngineTypes.stack <- {
4613 MenhirLib.EngineTypes.state = _menhir_s;
4614 MenhirLib.EngineTypes.semv = Obj.repr _v;
4615 MenhirLib.EngineTypes.startp = _startpos;
4616 MenhirLib.EngineTypes.endp = _endpos;
4617 MenhirLib.EngineTypes.next = _menhir_stack;
4618 });
4619 (fun _menhir_env ->
4620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4621 let {
4622 MenhirLib.EngineTypes.state = _menhir_s;
4623 MenhirLib.EngineTypes.semv = _1;
4624 MenhirLib.EngineTypes.startp = _startpos__1_;
4625 MenhirLib.EngineTypes.endp = _endpos__1_;
4626 MenhirLib.EngineTypes.next = _menhir_stack;
4627 } = _menhir_stack in
4628 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4629 let _startpos = _startpos__1_ in
4630 let _endpos = _endpos__1_ in
4631 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4632# 1313 "parser_cocci_menhir.mly"
4633 ( _1 )
4634# 4635 "parser_cocci_menhir.ml"
4635 in
4636 _menhir_env.MenhirLib.EngineTypes.stack <- {
4637 MenhirLib.EngineTypes.state = _menhir_s;
4638 MenhirLib.EngineTypes.semv = Obj.repr _v;
4639 MenhirLib.EngineTypes.startp = _startpos;
4640 MenhirLib.EngineTypes.endp = _endpos;
4641 MenhirLib.EngineTypes.next = _menhir_stack;
4642 });
4643 (fun _menhir_env ->
4644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4645 let {
4646 MenhirLib.EngineTypes.semv = e;
4647 MenhirLib.EngineTypes.startp = _startpos_e_;
4648 MenhirLib.EngineTypes.endp = _endpos_e_;
4649 MenhirLib.EngineTypes.next = {
4650 MenhirLib.EngineTypes.semv = rp;
4651 MenhirLib.EngineTypes.startp = _startpos_rp_;
4652 MenhirLib.EngineTypes.endp = _endpos_rp_;
4653 MenhirLib.EngineTypes.next = {
4654 MenhirLib.EngineTypes.semv = t;
4655 MenhirLib.EngineTypes.startp = _startpos_t_;
4656 MenhirLib.EngineTypes.endp = _endpos_t_;
4657 MenhirLib.EngineTypes.next = {
4658 MenhirLib.EngineTypes.state = _menhir_s;
4659 MenhirLib.EngineTypes.semv = lp;
4660 MenhirLib.EngineTypes.startp = _startpos_lp_;
4661 MenhirLib.EngineTypes.endp = _endpos_lp_;
4662 MenhirLib.EngineTypes.next = _menhir_stack;
4663 };
4664 };
4665 };
4666 } = _menhir_stack in
4667 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
4668 let rp : (
4669# 78 "parser_cocci_menhir.mly"
4670 (Data.clt)
4671# 4672 "parser_cocci_menhir.ml"
4672 ) = Obj.magic rp in
4673 let t : 'tv_ctype = Obj.magic t in
4674 let lp : (
4675# 77 "parser_cocci_menhir.mly"
4676 (Data.clt)
4677# 4678 "parser_cocci_menhir.ml"
4678 ) = Obj.magic lp in
4679 let _startpos = _startpos_lp_ in
4680 let _endpos = _endpos_e_ in
4681 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4682# 1315 "parser_cocci_menhir.mly"
4683 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4684 P.clt2mcode ")" rp, e)) )
4685# 4686 "parser_cocci_menhir.ml"
4686 in
4687 _menhir_env.MenhirLib.EngineTypes.stack <- {
4688 MenhirLib.EngineTypes.state = _menhir_s;
4689 MenhirLib.EngineTypes.semv = Obj.repr _v;
4690 MenhirLib.EngineTypes.startp = _startpos;
4691 MenhirLib.EngineTypes.endp = _endpos;
4692 MenhirLib.EngineTypes.next = _menhir_stack;
4693 });
4694 (fun _menhir_env ->
4695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4696 let {
4697 MenhirLib.EngineTypes.state = _menhir_s;
4698 MenhirLib.EngineTypes.semv = _1;
4699 MenhirLib.EngineTypes.startp = _startpos__1_;
4700 MenhirLib.EngineTypes.endp = _endpos__1_;
4701 MenhirLib.EngineTypes.next = _menhir_stack;
4702 } = _menhir_stack in
4703 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
4704 let _startpos = _startpos__1_ in
4705 let _endpos = _endpos__1_ in
4706 let _v : 'tv_cast_expr_eexpr_invalid_ =
4707# 1313 "parser_cocci_menhir.mly"
4708 ( _1 )
4709# 4710 "parser_cocci_menhir.ml"
4710 in
4711 _menhir_env.MenhirLib.EngineTypes.stack <- {
4712 MenhirLib.EngineTypes.state = _menhir_s;
4713 MenhirLib.EngineTypes.semv = Obj.repr _v;
4714 MenhirLib.EngineTypes.startp = _startpos;
4715 MenhirLib.EngineTypes.endp = _endpos;
4716 MenhirLib.EngineTypes.next = _menhir_stack;
4717 });
4718 (fun _menhir_env ->
4719 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4720 let {
4721 MenhirLib.EngineTypes.semv = e;
4722 MenhirLib.EngineTypes.startp = _startpos_e_;
4723 MenhirLib.EngineTypes.endp = _endpos_e_;
4724 MenhirLib.EngineTypes.next = {
4725 MenhirLib.EngineTypes.semv = rp;
4726 MenhirLib.EngineTypes.startp = _startpos_rp_;
4727 MenhirLib.EngineTypes.endp = _endpos_rp_;
4728 MenhirLib.EngineTypes.next = {
4729 MenhirLib.EngineTypes.semv = t;
4730 MenhirLib.EngineTypes.startp = _startpos_t_;
4731 MenhirLib.EngineTypes.endp = _endpos_t_;
4732 MenhirLib.EngineTypes.next = {
4733 MenhirLib.EngineTypes.state = _menhir_s;
4734 MenhirLib.EngineTypes.semv = lp;
4735 MenhirLib.EngineTypes.startp = _startpos_lp_;
4736 MenhirLib.EngineTypes.endp = _endpos_lp_;
4737 MenhirLib.EngineTypes.next = _menhir_stack;
4738 };
4739 };
4740 };
4741 } = _menhir_stack in
4742 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
4743 let rp : (
4744# 78 "parser_cocci_menhir.mly"
4745 (Data.clt)
4746# 4747 "parser_cocci_menhir.ml"
4747 ) = Obj.magic rp in
4748 let t : 'tv_ctype = Obj.magic t in
4749 let lp : (
4750# 77 "parser_cocci_menhir.mly"
4751 (Data.clt)
4752# 4753 "parser_cocci_menhir.ml"
4753 ) = Obj.magic lp in
4754 let _startpos = _startpos_lp_ in
4755 let _endpos = _endpos_e_ in
4756 let _v : 'tv_cast_expr_eexpr_invalid_ =
4757# 1315 "parser_cocci_menhir.mly"
4758 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4759 P.clt2mcode ")" rp, e)) )
4760# 4761 "parser_cocci_menhir.ml"
4761 in
4762 _menhir_env.MenhirLib.EngineTypes.stack <- {
4763 MenhirLib.EngineTypes.state = _menhir_s;
4764 MenhirLib.EngineTypes.semv = Obj.repr _v;
4765 MenhirLib.EngineTypes.startp = _startpos;
4766 MenhirLib.EngineTypes.endp = _endpos;
4767 MenhirLib.EngineTypes.next = _menhir_stack;
4768 });
4769 (fun _menhir_env ->
4770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4771 let {
4772 MenhirLib.EngineTypes.state = _menhir_s;
4773 MenhirLib.EngineTypes.semv = _1;
4774 MenhirLib.EngineTypes.startp = _startpos__1_;
4775 MenhirLib.EngineTypes.endp = _endpos__1_;
4776 MenhirLib.EngineTypes.next = _menhir_stack;
4777 } = _menhir_stack in
4778 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4779 let _startpos = _startpos__1_ in
4780 let _endpos = _endpos__1_ in
4781 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4782# 1313 "parser_cocci_menhir.mly"
4783 ( _1 )
4784# 4785 "parser_cocci_menhir.ml"
4785 in
4786 _menhir_env.MenhirLib.EngineTypes.stack <- {
4787 MenhirLib.EngineTypes.state = _menhir_s;
4788 MenhirLib.EngineTypes.semv = Obj.repr _v;
4789 MenhirLib.EngineTypes.startp = _startpos;
4790 MenhirLib.EngineTypes.endp = _endpos;
4791 MenhirLib.EngineTypes.next = _menhir_stack;
4792 });
4793 (fun _menhir_env ->
4794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4795 let {
4796 MenhirLib.EngineTypes.semv = e;
4797 MenhirLib.EngineTypes.startp = _startpos_e_;
4798 MenhirLib.EngineTypes.endp = _endpos_e_;
4799 MenhirLib.EngineTypes.next = {
4800 MenhirLib.EngineTypes.semv = rp;
4801 MenhirLib.EngineTypes.startp = _startpos_rp_;
4802 MenhirLib.EngineTypes.endp = _endpos_rp_;
4803 MenhirLib.EngineTypes.next = {
4804 MenhirLib.EngineTypes.semv = t;
4805 MenhirLib.EngineTypes.startp = _startpos_t_;
4806 MenhirLib.EngineTypes.endp = _endpos_t_;
4807 MenhirLib.EngineTypes.next = {
4808 MenhirLib.EngineTypes.state = _menhir_s;
4809 MenhirLib.EngineTypes.semv = lp;
4810 MenhirLib.EngineTypes.startp = _startpos_lp_;
4811 MenhirLib.EngineTypes.endp = _endpos_lp_;
4812 MenhirLib.EngineTypes.next = _menhir_stack;
4813 };
4814 };
4815 };
4816 } = _menhir_stack in
4817 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
4818 let rp : (
4819# 78 "parser_cocci_menhir.mly"
4820 (Data.clt)
4821# 4822 "parser_cocci_menhir.ml"
4822 ) = Obj.magic rp in
4823 let t : 'tv_ctype = Obj.magic t in
4824 let lp : (
4825# 77 "parser_cocci_menhir.mly"
4826 (Data.clt)
4827# 4828 "parser_cocci_menhir.ml"
4828 ) = Obj.magic lp in
4829 let _startpos = _startpos_lp_ in
4830 let _endpos = _endpos_e_ in
4831 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4832# 1315 "parser_cocci_menhir.mly"
4833 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4834 P.clt2mcode ")" rp, e)) )
4835# 4836 "parser_cocci_menhir.ml"
4836 in
4837 _menhir_env.MenhirLib.EngineTypes.stack <- {
4838 MenhirLib.EngineTypes.state = _menhir_s;
4839 MenhirLib.EngineTypes.semv = Obj.repr _v;
4840 MenhirLib.EngineTypes.startp = _startpos;
4841 MenhirLib.EngineTypes.endp = _endpos;
4842 MenhirLib.EngineTypes.next = _menhir_stack;
4843 });
4844 (fun _menhir_env ->
4845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4846 let {
4847 MenhirLib.EngineTypes.state = _menhir_s;
4848 MenhirLib.EngineTypes.semv = _1;
4849 MenhirLib.EngineTypes.startp = _startpos__1_;
4850 MenhirLib.EngineTypes.endp = _endpos__1_;
4851 MenhirLib.EngineTypes.next = _menhir_stack;
4852 } = _menhir_stack in
4853 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4854 let _startpos = _startpos__1_ in
4855 let _endpos = _endpos__1_ in
4856 let _v : 'tv_cast_expr_expr_invalid_ =
4857# 1313 "parser_cocci_menhir.mly"
4858 ( _1 )
4859# 4860 "parser_cocci_menhir.ml"
4860 in
4861 _menhir_env.MenhirLib.EngineTypes.stack <- {
4862 MenhirLib.EngineTypes.state = _menhir_s;
4863 MenhirLib.EngineTypes.semv = Obj.repr _v;
4864 MenhirLib.EngineTypes.startp = _startpos;
4865 MenhirLib.EngineTypes.endp = _endpos;
4866 MenhirLib.EngineTypes.next = _menhir_stack;
4867 });
4868 (fun _menhir_env ->
4869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4870 let {
4871 MenhirLib.EngineTypes.semv = e;
4872 MenhirLib.EngineTypes.startp = _startpos_e_;
4873 MenhirLib.EngineTypes.endp = _endpos_e_;
4874 MenhirLib.EngineTypes.next = {
4875 MenhirLib.EngineTypes.semv = rp;
4876 MenhirLib.EngineTypes.startp = _startpos_rp_;
4877 MenhirLib.EngineTypes.endp = _endpos_rp_;
4878 MenhirLib.EngineTypes.next = {
4879 MenhirLib.EngineTypes.semv = t;
4880 MenhirLib.EngineTypes.startp = _startpos_t_;
4881 MenhirLib.EngineTypes.endp = _endpos_t_;
4882 MenhirLib.EngineTypes.next = {
4883 MenhirLib.EngineTypes.state = _menhir_s;
4884 MenhirLib.EngineTypes.semv = lp;
4885 MenhirLib.EngineTypes.startp = _startpos_lp_;
4886 MenhirLib.EngineTypes.endp = _endpos_lp_;
4887 MenhirLib.EngineTypes.next = _menhir_stack;
4888 };
4889 };
4890 };
4891 } = _menhir_stack in
4892 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
4893 let rp : (
4894# 78 "parser_cocci_menhir.mly"
4895 (Data.clt)
4896# 4897 "parser_cocci_menhir.ml"
4897 ) = Obj.magic rp in
4898 let t : 'tv_ctype = Obj.magic t in
4899 let lp : (
4900# 77 "parser_cocci_menhir.mly"
4901 (Data.clt)
4902# 4903 "parser_cocci_menhir.ml"
4903 ) = Obj.magic lp in
4904 let _startpos = _startpos_lp_ in
4905 let _endpos = _endpos_e_ in
4906 let _v : 'tv_cast_expr_expr_invalid_ =
4907# 1315 "parser_cocci_menhir.mly"
4908 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4909 P.clt2mcode ")" rp, e)) )
4910# 4911 "parser_cocci_menhir.ml"
4911 in
4912 _menhir_env.MenhirLib.EngineTypes.stack <- {
4913 MenhirLib.EngineTypes.state = _menhir_s;
4914 MenhirLib.EngineTypes.semv = Obj.repr _v;
4915 MenhirLib.EngineTypes.startp = _startpos;
4916 MenhirLib.EngineTypes.endp = _endpos;
4917 MenhirLib.EngineTypes.next = _menhir_stack;
4918 });
4919 (fun _menhir_env ->
4920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4921 let {
4922 MenhirLib.EngineTypes.semv = _2;
4923 MenhirLib.EngineTypes.startp = _startpos__2_;
4924 MenhirLib.EngineTypes.endp = _endpos__2_;
4925 MenhirLib.EngineTypes.next = {
4926 MenhirLib.EngineTypes.state = _menhir_s;
4927 MenhirLib.EngineTypes.startp = _startpos__1_;
4928 MenhirLib.EngineTypes.endp = _endpos__1_;
4929 MenhirLib.EngineTypes.next = _menhir_stack;
4930 };
4931 } = _menhir_stack in
4932 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
4933 let _startpos = _startpos__1_ in
4934 let _endpos = _endpos__2_ in
4935 let _v : 'tv_choose_iso =
4936# 238 "parser_cocci_menhir.mly"
4937 ( List.map P.id2name _2 )
4938# 4939 "parser_cocci_menhir.ml"
4939 in
4940 _menhir_env.MenhirLib.EngineTypes.stack <- {
4941 MenhirLib.EngineTypes.state = _menhir_s;
4942 MenhirLib.EngineTypes.semv = Obj.repr _v;
4943 MenhirLib.EngineTypes.startp = _startpos;
4944 MenhirLib.EngineTypes.endp = _endpos;
4945 MenhirLib.EngineTypes.next = _menhir_stack;
4946 });
4947 (fun _menhir_env ->
4948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4949 let {
4950 MenhirLib.EngineTypes.semv = _2;
4951 MenhirLib.EngineTypes.startp = _startpos__2_;
4952 MenhirLib.EngineTypes.endp = _endpos__2_;
4953 MenhirLib.EngineTypes.next = {
4954 MenhirLib.EngineTypes.state = _menhir_s;
4955 MenhirLib.EngineTypes.semv = _1;
4956 MenhirLib.EngineTypes.startp = _startpos__1_;
4957 MenhirLib.EngineTypes.endp = _endpos__1_;
4958 MenhirLib.EngineTypes.next = _menhir_stack;
4959 };
4960 } = _menhir_stack in
4961 let _2 : (
4962# 74 "parser_cocci_menhir.mly"
4963 (Data.clt)
4964# 4965 "parser_cocci_menhir.ml"
4965 ) = Obj.magic _2 in
4966 let _1 : (
4967# 108 "parser_cocci_menhir.mly"
4968 (Data.clt)
4969# 4970 "parser_cocci_menhir.ml"
4970 ) = Obj.magic _1 in
4971 let _startpos = _startpos__1_ in
4972 let _endpos = _endpos__2_ in
4973 let _v : 'tv_comma_decls_TEllipsis_decl_ =
4974# 1678 "parser_cocci_menhir.mly"
4975 ( function dot_builder ->
4976 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
4977 dot_builder _2] )
4978# 4979 "parser_cocci_menhir.ml"
4979 in
4980 _menhir_env.MenhirLib.EngineTypes.stack <- {
4981 MenhirLib.EngineTypes.state = _menhir_s;
4982 MenhirLib.EngineTypes.semv = Obj.repr _v;
4983 MenhirLib.EngineTypes.startp = _startpos;
4984 MenhirLib.EngineTypes.endp = _endpos;
4985 MenhirLib.EngineTypes.next = _menhir_stack;
4986 });
4987 (fun _menhir_env ->
4988 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4989 let {
4990 MenhirLib.EngineTypes.semv = _2;
4991 MenhirLib.EngineTypes.startp = _startpos__2_;
4992 MenhirLib.EngineTypes.endp = _endpos__2_;
4993 MenhirLib.EngineTypes.next = {
4994 MenhirLib.EngineTypes.state = _menhir_s;
4995 MenhirLib.EngineTypes.semv = _1;
4996 MenhirLib.EngineTypes.startp = _startpos__1_;
4997 MenhirLib.EngineTypes.endp = _endpos__1_;
4998 MenhirLib.EngineTypes.next = _menhir_stack;
4999 };
5000 } = _menhir_stack in
5001 let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
5002 let _1 : (
5003# 108 "parser_cocci_menhir.mly"
5004 (Data.clt)
5005# 5006 "parser_cocci_menhir.ml"
5006 ) = Obj.magic _1 in
5007 let _startpos = _startpos__1_ in
5008 let _endpos = _endpos__2_ in
5009 let _v : 'tv_comma_decls_TEllipsis_decl_ =
5010# 1682 "parser_cocci_menhir.mly"
5011 ( function dot_builder ->
5012 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5013# 5014 "parser_cocci_menhir.ml"
5014 in
5015 _menhir_env.MenhirLib.EngineTypes.stack <- {
5016 MenhirLib.EngineTypes.state = _menhir_s;
5017 MenhirLib.EngineTypes.semv = Obj.repr _v;
5018 MenhirLib.EngineTypes.startp = _startpos;
5019 MenhirLib.EngineTypes.endp = _endpos;
5020 MenhirLib.EngineTypes.next = _menhir_stack;
5021 });
5022 (fun _menhir_env ->
5023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5024 let {
5025 MenhirLib.EngineTypes.semv = _2;
5026 MenhirLib.EngineTypes.startp = _startpos__2_;
5027 MenhirLib.EngineTypes.endp = _endpos__2_;
5028 MenhirLib.EngineTypes.next = {
5029 MenhirLib.EngineTypes.state = _menhir_s;
5030 MenhirLib.EngineTypes.semv = _1;
5031 MenhirLib.EngineTypes.startp = _startpos__1_;
5032 MenhirLib.EngineTypes.endp = _endpos__1_;
5033 MenhirLib.EngineTypes.next = _menhir_stack;
5034 };
5035 } = _menhir_stack in
5036 let _2 : (
5037# 74 "parser_cocci_menhir.mly"
5038 (Data.clt)
5039# 5040 "parser_cocci_menhir.ml"
5040 ) = Obj.magic _2 in
5041 let _1 : (
5042# 108 "parser_cocci_menhir.mly"
5043 (Data.clt)
5044# 5045 "parser_cocci_menhir.ml"
5045 ) = Obj.magic _1 in
5046 let _startpos = _startpos__1_ in
5047 let _endpos = _endpos__2_ in
5048 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5049# 1678 "parser_cocci_menhir.mly"
5050 ( function dot_builder ->
5051 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
5052 dot_builder _2] )
5053# 5054 "parser_cocci_menhir.ml"
5054 in
5055 _menhir_env.MenhirLib.EngineTypes.stack <- {
5056 MenhirLib.EngineTypes.state = _menhir_s;
5057 MenhirLib.EngineTypes.semv = Obj.repr _v;
5058 MenhirLib.EngineTypes.startp = _startpos;
5059 MenhirLib.EngineTypes.endp = _endpos;
5060 MenhirLib.EngineTypes.next = _menhir_stack;
5061 });
5062 (fun _menhir_env ->
5063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5064 let {
5065 MenhirLib.EngineTypes.semv = _2;
5066 MenhirLib.EngineTypes.startp = _startpos__2_;
5067 MenhirLib.EngineTypes.endp = _endpos__2_;
5068 MenhirLib.EngineTypes.next = {
5069 MenhirLib.EngineTypes.state = _menhir_s;
5070 MenhirLib.EngineTypes.semv = _1;
5071 MenhirLib.EngineTypes.startp = _startpos__1_;
5072 MenhirLib.EngineTypes.endp = _endpos__1_;
5073 MenhirLib.EngineTypes.next = _menhir_stack;
5074 };
5075 } = _menhir_stack in
5076 let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
5077 let _1 : (
5078# 108 "parser_cocci_menhir.mly"
5079 (Data.clt)
5080# 5081 "parser_cocci_menhir.ml"
5081 ) = Obj.magic _1 in
5082 let _startpos = _startpos__1_ in
5083 let _endpos = _endpos__2_ in
5084 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5085# 1682 "parser_cocci_menhir.mly"
5086 ( function dot_builder ->
5087 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5088# 5089 "parser_cocci_menhir.ml"
5089 in
5090 _menhir_env.MenhirLib.EngineTypes.stack <- {
5091 MenhirLib.EngineTypes.state = _menhir_s;
5092 MenhirLib.EngineTypes.semv = Obj.repr _v;
5093 MenhirLib.EngineTypes.startp = _startpos;
5094 MenhirLib.EngineTypes.endp = _endpos;
5095 MenhirLib.EngineTypes.next = _menhir_stack;
5096 });
5097 (fun _menhir_env ->
5098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5099 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5100 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5101 let _endpos = _startpos in
5102 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5103# 1144 "parser_cocci_menhir.mly"
5104 ( [] )
5105# 5106 "parser_cocci_menhir.ml"
5106 in
5107 _menhir_env.MenhirLib.EngineTypes.stack <- {
5108 MenhirLib.EngineTypes.state = _menhir_s;
5109 MenhirLib.EngineTypes.semv = Obj.repr _v;
5110 MenhirLib.EngineTypes.startp = _startpos;
5111 MenhirLib.EngineTypes.endp = _endpos;
5112 MenhirLib.EngineTypes.next = _menhir_stack;
5113 });
5114 (fun _menhir_env ->
5115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5116 let {
5117 MenhirLib.EngineTypes.semv = r;
5118 MenhirLib.EngineTypes.startp = _startpos_r_;
5119 MenhirLib.EngineTypes.endp = _endpos_r_;
5120 MenhirLib.EngineTypes.next = {
5121 MenhirLib.EngineTypes.state = _menhir_s;
5122 MenhirLib.EngineTypes.semv = d;
5123 MenhirLib.EngineTypes.startp = _startpos_d_;
5124 MenhirLib.EngineTypes.endp = _endpos_d_;
5125 MenhirLib.EngineTypes.next = _menhir_stack;
5126 };
5127 } = _menhir_stack in
5128 let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
5129 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
5130 let _startpos = _startpos_d_ in
5131 let _endpos = _endpos_r_ in
5132 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5133# 1146 "parser_cocci_menhir.mly"
5134 ( (function dot_builder -> [dot_builder d])::r )
5135# 5136 "parser_cocci_menhir.ml"
5136 in
5137 _menhir_env.MenhirLib.EngineTypes.stack <- {
5138 MenhirLib.EngineTypes.state = _menhir_s;
5139 MenhirLib.EngineTypes.semv = Obj.repr _v;
5140 MenhirLib.EngineTypes.startp = _startpos;
5141 MenhirLib.EngineTypes.endp = _endpos;
5142 MenhirLib.EngineTypes.next = _menhir_stack;
5143 });
5144 (fun _menhir_env ->
5145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5146 let {
5147 MenhirLib.EngineTypes.semv = r;
5148 MenhirLib.EngineTypes.startp = _startpos_r_;
5149 MenhirLib.EngineTypes.endp = _endpos_r_;
5150 MenhirLib.EngineTypes.next = {
5151 MenhirLib.EngineTypes.semv = c;
5152 MenhirLib.EngineTypes.startp = _startpos_c_;
5153 MenhirLib.EngineTypes.endp = _endpos_c_;
5154 MenhirLib.EngineTypes.next = {
5155 MenhirLib.EngineTypes.state = _menhir_s;
5156 MenhirLib.EngineTypes.semv = i;
5157 MenhirLib.EngineTypes.startp = _startpos_i_;
5158 MenhirLib.EngineTypes.endp = _endpos_i_;
5159 MenhirLib.EngineTypes.next = _menhir_stack;
5160 };
5161 };
5162 } = _menhir_stack in
5163 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5164 let c : (
5165# 108 "parser_cocci_menhir.mly"
5166 (Data.clt)
5167# 5168 "parser_cocci_menhir.ml"
5168 ) = Obj.magic c in
5169 let i : 'tv_initialize2 = Obj.magic i in
5170 let _startpos = _startpos_i_ in
5171 let _endpos = _endpos_r_ in
5172 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5173# 1148 "parser_cocci_menhir.mly"
5174 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5175 r )
5176# 5177 "parser_cocci_menhir.ml"
5177 in
5178 _menhir_env.MenhirLib.EngineTypes.stack <- {
5179 MenhirLib.EngineTypes.state = _menhir_s;
5180 MenhirLib.EngineTypes.semv = Obj.repr _v;
5181 MenhirLib.EngineTypes.startp = _startpos;
5182 MenhirLib.EngineTypes.endp = _endpos;
5183 MenhirLib.EngineTypes.next = _menhir_stack;
5184 });
5185 (fun _menhir_env ->
5186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5187 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5188 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5189 let _endpos = _startpos in
5190 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5191# 1152 "parser_cocci_menhir.mly"
5192 ( [] )
5193# 5194 "parser_cocci_menhir.ml"
5194 in
5195 _menhir_env.MenhirLib.EngineTypes.stack <- {
5196 MenhirLib.EngineTypes.state = _menhir_s;
5197 MenhirLib.EngineTypes.semv = Obj.repr _v;
5198 MenhirLib.EngineTypes.startp = _startpos;
5199 MenhirLib.EngineTypes.endp = _endpos;
5200 MenhirLib.EngineTypes.next = _menhir_stack;
5201 });
5202 (fun _menhir_env ->
5203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5204 let {
5205 MenhirLib.EngineTypes.semv = r;
5206 MenhirLib.EngineTypes.startp = _startpos_r_;
5207 MenhirLib.EngineTypes.endp = _endpos_r_;
5208 MenhirLib.EngineTypes.next = {
5209 MenhirLib.EngineTypes.semv = c;
5210 MenhirLib.EngineTypes.startp = _startpos_c_;
5211 MenhirLib.EngineTypes.endp = _endpos_c_;
5212 MenhirLib.EngineTypes.next = {
5213 MenhirLib.EngineTypes.state = _menhir_s;
5214 MenhirLib.EngineTypes.semv = i;
5215 MenhirLib.EngineTypes.startp = _startpos_i_;
5216 MenhirLib.EngineTypes.endp = _endpos_i_;
5217 MenhirLib.EngineTypes.next = _menhir_stack;
5218 };
5219 };
5220 } = _menhir_stack in
5221 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5222 let c : (
5223# 108 "parser_cocci_menhir.mly"
5224 (Data.clt)
5225# 5226 "parser_cocci_menhir.ml"
5226 ) = Obj.magic c in
5227 let i : 'tv_initialize2 = Obj.magic i in
5228 let _startpos = _startpos_i_ in
5229 let _endpos = _endpos_r_ in
5230 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5231# 1154 "parser_cocci_menhir.mly"
5232 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5233 r )
5234# 5235 "parser_cocci_menhir.ml"
5235 in
5236 _menhir_env.MenhirLib.EngineTypes.stack <- {
5237 MenhirLib.EngineTypes.state = _menhir_s;
5238 MenhirLib.EngineTypes.semv = Obj.repr _v;
5239 MenhirLib.EngineTypes.startp = _startpos;
5240 MenhirLib.EngineTypes.endp = _endpos;
5241 MenhirLib.EngineTypes.next = _menhir_stack;
5242 });
5243 (fun _menhir_env ->
5244 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5245 let {
5246 MenhirLib.EngineTypes.state = _menhir_s;
5247 MenhirLib.EngineTypes.semv = _1;
5248 MenhirLib.EngineTypes.startp = _startpos__1_;
5249 MenhirLib.EngineTypes.endp = _endpos__1_;
5250 MenhirLib.EngineTypes.next = _menhir_stack;
5251 } = _menhir_stack in
5252 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5253 let _startpos = _startpos__1_ in
5254 let _endpos = _endpos__1_ in
5255 let _v : 'tv_comma_list_any_strict_ =
5256# 1915 "parser_cocci_menhir.mly"
5257 ( _1 )
5258# 5259 "parser_cocci_menhir.ml"
5259 in
5260 _menhir_env.MenhirLib.EngineTypes.stack <- {
5261 MenhirLib.EngineTypes.state = _menhir_s;
5262 MenhirLib.EngineTypes.semv = Obj.repr _v;
5263 MenhirLib.EngineTypes.startp = _startpos;
5264 MenhirLib.EngineTypes.endp = _endpos;
5265 MenhirLib.EngineTypes.next = _menhir_stack;
5266 });
5267 (fun _menhir_env ->
5268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5269 let {
5270 MenhirLib.EngineTypes.state = _menhir_s;
5271 MenhirLib.EngineTypes.semv = _1;
5272 MenhirLib.EngineTypes.startp = _startpos__1_;
5273 MenhirLib.EngineTypes.endp = _endpos__1_;
5274 MenhirLib.EngineTypes.next = _menhir_stack;
5275 } = _menhir_stack in
5276 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5277 let _startpos = _startpos__1_ in
5278 let _endpos = _endpos__1_ in
5279 let _v : 'tv_comma_list_ctype_ =
5280# 1915 "parser_cocci_menhir.mly"
5281 ( _1 )
5282# 5283 "parser_cocci_menhir.ml"
5283 in
5284 _menhir_env.MenhirLib.EngineTypes.stack <- {
5285 MenhirLib.EngineTypes.state = _menhir_s;
5286 MenhirLib.EngineTypes.semv = Obj.repr _v;
5287 MenhirLib.EngineTypes.startp = _startpos;
5288 MenhirLib.EngineTypes.endp = _endpos;
5289 MenhirLib.EngineTypes.next = _menhir_stack;
5290 });
5291 (fun _menhir_env ->
5292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5293 let {
5294 MenhirLib.EngineTypes.state = _menhir_s;
5295 MenhirLib.EngineTypes.semv = _1;
5296 MenhirLib.EngineTypes.startp = _startpos__1_;
5297 MenhirLib.EngineTypes.endp = _endpos__1_;
5298 MenhirLib.EngineTypes.next = _menhir_stack;
5299 } = _menhir_stack in
5300 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5301 let _startpos = _startpos__1_ in
5302 let _endpos = _endpos__1_ in
5303 let _v : 'tv_comma_list_d_ident_ =
5304# 1915 "parser_cocci_menhir.mly"
5305 ( _1 )
5306# 5307 "parser_cocci_menhir.ml"
5307 in
5308 _menhir_env.MenhirLib.EngineTypes.stack <- {
5309 MenhirLib.EngineTypes.state = _menhir_s;
5310 MenhirLib.EngineTypes.semv = Obj.repr _v;
5311 MenhirLib.EngineTypes.startp = _startpos;
5312 MenhirLib.EngineTypes.endp = _endpos;
5313 MenhirLib.EngineTypes.next = _menhir_stack;
5314 });
5315 (fun _menhir_env ->
5316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5317 let {
5318 MenhirLib.EngineTypes.state = _menhir_s;
5319 MenhirLib.EngineTypes.semv = _1;
5320 MenhirLib.EngineTypes.startp = _startpos__1_;
5321 MenhirLib.EngineTypes.endp = _endpos__1_;
5322 MenhirLib.EngineTypes.next = _menhir_stack;
5323 } = _menhir_stack in
5324 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5325 let _startpos = _startpos__1_ in
5326 let _endpos = _endpos__1_ in
5327 let _v : 'tv_comma_list_ident_or_const_ =
5328# 1915 "parser_cocci_menhir.mly"
5329 ( _1 )
5330# 5331 "parser_cocci_menhir.ml"
5331 in
5332 _menhir_env.MenhirLib.EngineTypes.stack <- {
5333 MenhirLib.EngineTypes.state = _menhir_s;
5334 MenhirLib.EngineTypes.semv = Obj.repr _v;
5335 MenhirLib.EngineTypes.startp = _startpos;
5336 MenhirLib.EngineTypes.endp = _endpos;
5337 MenhirLib.EngineTypes.next = _menhir_stack;
5338 });
5339 (fun _menhir_env ->
5340 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5341 let {
5342 MenhirLib.EngineTypes.state = _menhir_s;
5343 MenhirLib.EngineTypes.semv = _1;
5344 MenhirLib.EngineTypes.startp = _startpos__1_;
5345 MenhirLib.EngineTypes.endp = _endpos__1_;
5346 MenhirLib.EngineTypes.next = _menhir_stack;
5347 } = _menhir_stack in
5348 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5349 let _startpos = _startpos__1_ in
5350 let _endpos = _endpos__1_ in
5351 let _v : 'tv_comma_list_meta_ident_ =
5352# 1915 "parser_cocci_menhir.mly"
5353 ( _1 )
5354# 5355 "parser_cocci_menhir.ml"
5355 in
5356 _menhir_env.MenhirLib.EngineTypes.stack <- {
5357 MenhirLib.EngineTypes.state = _menhir_s;
5358 MenhirLib.EngineTypes.semv = Obj.repr _v;
5359 MenhirLib.EngineTypes.startp = _startpos;
5360 MenhirLib.EngineTypes.endp = _endpos;
5361 MenhirLib.EngineTypes.next = _menhir_stack;
5362 });
5363 (fun _menhir_env ->
5364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5365 let {
5366 MenhirLib.EngineTypes.state = _menhir_s;
5367 MenhirLib.EngineTypes.semv = _1;
5368 MenhirLib.EngineTypes.startp = _startpos__1_;
5369 MenhirLib.EngineTypes.endp = _endpos__1_;
5370 MenhirLib.EngineTypes.next = _menhir_stack;
5371 } = _menhir_stack in
5372 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5373 let _startpos = _startpos__1_ in
5374 let _endpos = _endpos__1_ in
5375 let _v : 'tv_comma_list_pure_ident_ =
5376# 1915 "parser_cocci_menhir.mly"
5377 ( _1 )
5378# 5379 "parser_cocci_menhir.ml"
5379 in
5380 _menhir_env.MenhirLib.EngineTypes.stack <- {
5381 MenhirLib.EngineTypes.state = _menhir_s;
5382 MenhirLib.EngineTypes.semv = Obj.repr _v;
5383 MenhirLib.EngineTypes.startp = _startpos;
5384 MenhirLib.EngineTypes.endp = _endpos;
5385 MenhirLib.EngineTypes.next = _menhir_stack;
5386 });
5387 (fun _menhir_env ->
5388 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5389 let {
5390 MenhirLib.EngineTypes.state = _menhir_s;
5391 MenhirLib.EngineTypes.semv = _1;
5392 MenhirLib.EngineTypes.startp = _startpos__1_;
5393 MenhirLib.EngineTypes.endp = _endpos__1_;
5394 MenhirLib.EngineTypes.next = _menhir_stack;
5395 } = _menhir_stack in
5396 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5397 let _startpos = _startpos__1_ in
5398 let _endpos = _endpos__1_ in
5399 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5400# 1915 "parser_cocci_menhir.mly"
5401 ( _1 )
5402# 5403 "parser_cocci_menhir.ml"
5403 in
5404 _menhir_env.MenhirLib.EngineTypes.stack <- {
5405 MenhirLib.EngineTypes.state = _menhir_s;
5406 MenhirLib.EngineTypes.semv = Obj.repr _v;
5407 MenhirLib.EngineTypes.startp = _startpos;
5408 MenhirLib.EngineTypes.endp = _endpos;
5409 MenhirLib.EngineTypes.next = _menhir_stack;
5410 });
5411 (fun _menhir_env ->
5412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5413 let {
5414 MenhirLib.EngineTypes.state = _menhir_s;
5415 MenhirLib.EngineTypes.semv = _1;
5416 MenhirLib.EngineTypes.startp = _startpos__1_;
5417 MenhirLib.EngineTypes.endp = _endpos__1_;
5418 MenhirLib.EngineTypes.next = _menhir_stack;
5419 } = _menhir_stack in
5420 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic _1 in
5421 let _startpos = _startpos__1_ in
5422 let _endpos = _endpos__1_ in
5423 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
5424# 1915 "parser_cocci_menhir.mly"
5425 ( _1 )
5426# 5427 "parser_cocci_menhir.ml"
5427 in
5428 _menhir_env.MenhirLib.EngineTypes.stack <- {
5429 MenhirLib.EngineTypes.state = _menhir_s;
5430 MenhirLib.EngineTypes.semv = Obj.repr _v;
5431 MenhirLib.EngineTypes.startp = _startpos;
5432 MenhirLib.EngineTypes.endp = _endpos;
5433 MenhirLib.EngineTypes.next = _menhir_stack;
5434 });
5435 (fun _menhir_env ->
5436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5437 let {
5438 MenhirLib.EngineTypes.state = _menhir_s;
5439 MenhirLib.EngineTypes.semv = _1;
5440 MenhirLib.EngineTypes.startp = _startpos__1_;
5441 MenhirLib.EngineTypes.endp = _endpos__1_;
5442 MenhirLib.EngineTypes.next = _menhir_stack;
5443 } = _menhir_stack in
5444 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
5445 let _startpos = _startpos__1_ in
5446 let _endpos = _endpos__1_ in
5447 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
5448# 1915 "parser_cocci_menhir.mly"
5449 ( _1 )
5450# 5451 "parser_cocci_menhir.ml"
5451 in
5452 _menhir_env.MenhirLib.EngineTypes.stack <- {
5453 MenhirLib.EngineTypes.state = _menhir_s;
5454 MenhirLib.EngineTypes.semv = Obj.repr _v;
5455 MenhirLib.EngineTypes.startp = _startpos;
5456 MenhirLib.EngineTypes.endp = _endpos;
5457 MenhirLib.EngineTypes.next = _menhir_stack;
5458 });
5459 (fun _menhir_env ->
5460 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5461 let {
5462 MenhirLib.EngineTypes.state = _menhir_s;
5463 MenhirLib.EngineTypes.semv = _1;
5464 MenhirLib.EngineTypes.startp = _startpos__1_;
5465 MenhirLib.EngineTypes.endp = _endpos__1_;
5466 MenhirLib.EngineTypes.next = _menhir_stack;
5467 } = _menhir_stack in
5468 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
5469 let _startpos = _startpos__1_ in
5470 let _endpos = _endpos__1_ in
5471 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
5472# 1915 "parser_cocci_menhir.mly"
5473 ( _1 )
5474# 5475 "parser_cocci_menhir.ml"
5475 in
5476 _menhir_env.MenhirLib.EngineTypes.stack <- {
5477 MenhirLib.EngineTypes.state = _menhir_s;
5478 MenhirLib.EngineTypes.semv = Obj.repr _v;
5479 MenhirLib.EngineTypes.startp = _startpos;
5480 MenhirLib.EngineTypes.endp = _endpos;
5481 MenhirLib.EngineTypes.next = _menhir_stack;
5482 });
5483 (fun _menhir_env ->
5484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5485 let {
5486 MenhirLib.EngineTypes.state = _menhir_s;
5487 MenhirLib.EngineTypes.semv = _1;
5488 MenhirLib.EngineTypes.startp = _startpos__1_;
5489 MenhirLib.EngineTypes.endp = _endpos__1_;
5490 MenhirLib.EngineTypes.next = _menhir_stack;
5491 } = _menhir_stack in
5492 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
5493 let _startpos = _startpos__1_ in
5494 let _endpos = _endpos__1_ in
5495 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
5496# 1915 "parser_cocci_menhir.mly"
5497 ( _1 )
5498# 5499 "parser_cocci_menhir.ml"
5499 in
5500 _menhir_env.MenhirLib.EngineTypes.stack <- {
5501 MenhirLib.EngineTypes.state = _menhir_s;
5502 MenhirLib.EngineTypes.semv = Obj.repr _v;
5503 MenhirLib.EngineTypes.startp = _startpos;
5504 MenhirLib.EngineTypes.endp = _endpos;
5505 MenhirLib.EngineTypes.next = _menhir_stack;
5506 });
5507 (fun _menhir_env ->
5508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5509 let {
5510 MenhirLib.EngineTypes.state = _menhir_s;
5511 MenhirLib.EngineTypes.semv = _1;
5512 MenhirLib.EngineTypes.startp = _startpos__1_;
5513 MenhirLib.EngineTypes.endp = _endpos__1_;
5514 MenhirLib.EngineTypes.next = _menhir_stack;
5515 } = _menhir_stack in
5516 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic _1 in
5517 let _startpos = _startpos__1_ in
5518 let _endpos = _endpos__1_ in
5519 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
5520# 1915 "parser_cocci_menhir.mly"
5521 ( _1 )
5522# 5523 "parser_cocci_menhir.ml"
5523 in
5524 _menhir_env.MenhirLib.EngineTypes.stack <- {
5525 MenhirLib.EngineTypes.state = _menhir_s;
5526 MenhirLib.EngineTypes.semv = Obj.repr _v;
5527 MenhirLib.EngineTypes.startp = _startpos;
5528 MenhirLib.EngineTypes.endp = _endpos;
5529 MenhirLib.EngineTypes.next = _menhir_stack;
5530 });
5531 (fun _menhir_env ->
5532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5533 let {
5534 MenhirLib.EngineTypes.state = _menhir_s;
5535 MenhirLib.EngineTypes.semv = _1;
5536 MenhirLib.EngineTypes.startp = _startpos__1_;
5537 MenhirLib.EngineTypes.endp = _endpos__1_;
5538 MenhirLib.EngineTypes.next = _menhir_stack;
5539 } = _menhir_stack in
5540 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
5541 let _startpos = _startpos__1_ in
5542 let _endpos = _endpos__1_ in
5543 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
5544# 1915 "parser_cocci_menhir.mly"
5545 ( _1 )
5546# 5547 "parser_cocci_menhir.ml"
5547 in
5548 _menhir_env.MenhirLib.EngineTypes.stack <- {
5549 MenhirLib.EngineTypes.state = _menhir_s;
5550 MenhirLib.EngineTypes.semv = Obj.repr _v;
5551 MenhirLib.EngineTypes.startp = _startpos;
5552 MenhirLib.EngineTypes.endp = _endpos;
5553 MenhirLib.EngineTypes.next = _menhir_stack;
5554 });
5555 (fun _menhir_env ->
5556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5557 let {
5558 MenhirLib.EngineTypes.state = _menhir_s;
5559 MenhirLib.EngineTypes.semv = _1;
5560 MenhirLib.EngineTypes.startp = _startpos__1_;
5561 MenhirLib.EngineTypes.endp = _endpos__1_;
5562 MenhirLib.EngineTypes.next = _menhir_stack;
5563 } = _menhir_stack in
5564 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
5565 let _startpos = _startpos__1_ in
5566 let _endpos = _endpos__1_ in
5567 let _v : 'tv_comma_list_typedef_ident_ =
5568# 1915 "parser_cocci_menhir.mly"
5569 ( _1 )
5570# 5571 "parser_cocci_menhir.ml"
5571 in
5572 _menhir_env.MenhirLib.EngineTypes.stack <- {
5573 MenhirLib.EngineTypes.state = _menhir_s;
5574 MenhirLib.EngineTypes.semv = Obj.repr _v;
5575 MenhirLib.EngineTypes.startp = _startpos;
5576 MenhirLib.EngineTypes.endp = _endpos;
5577 MenhirLib.EngineTypes.next = _menhir_stack;
5578 });
5579 (fun _menhir_env ->
5580 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5581 let {
5582 MenhirLib.EngineTypes.state = _menhir_s;
5583 MenhirLib.EngineTypes.semv = _1;
5584 MenhirLib.EngineTypes.startp = _startpos__1_;
5585 MenhirLib.EngineTypes.endp = _endpos__1_;
5586 MenhirLib.EngineTypes.next = _menhir_stack;
5587 } = _menhir_stack in
5588 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5589 let _startpos = _startpos__1_ in
5590 let _endpos = _endpos__1_ in
5591 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5592# 1278 "parser_cocci_menhir.mly"
5593 ( _1 )
5594# 5595 "parser_cocci_menhir.ml"
5595 in
5596 _menhir_env.MenhirLib.EngineTypes.stack <- {
5597 MenhirLib.EngineTypes.state = _menhir_s;
5598 MenhirLib.EngineTypes.semv = Obj.repr _v;
5599 MenhirLib.EngineTypes.startp = _startpos;
5600 MenhirLib.EngineTypes.endp = _endpos;
5601 MenhirLib.EngineTypes.next = _menhir_stack;
5602 });
5603 (fun _menhir_env ->
5604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5605 let {
5606 MenhirLib.EngineTypes.semv = r;
5607 MenhirLib.EngineTypes.startp = _startpos_r_;
5608 MenhirLib.EngineTypes.endp = _endpos_r_;
5609 MenhirLib.EngineTypes.next = {
5610 MenhirLib.EngineTypes.semv = dd;
5611 MenhirLib.EngineTypes.startp = _startpos_dd_;
5612 MenhirLib.EngineTypes.endp = _endpos_dd_;
5613 MenhirLib.EngineTypes.next = {
5614 MenhirLib.EngineTypes.semv = t;
5615 MenhirLib.EngineTypes.startp = _startpos_t_;
5616 MenhirLib.EngineTypes.endp = _endpos_t_;
5617 MenhirLib.EngineTypes.next = {
5618 MenhirLib.EngineTypes.semv = w;
5619 MenhirLib.EngineTypes.startp = _startpos_w_;
5620 MenhirLib.EngineTypes.endp = _endpos_w_;
5621 MenhirLib.EngineTypes.next = {
5622 MenhirLib.EngineTypes.state = _menhir_s;
5623 MenhirLib.EngineTypes.semv = l;
5624 MenhirLib.EngineTypes.startp = _startpos_l_;
5625 MenhirLib.EngineTypes.endp = _endpos_l_;
5626 MenhirLib.EngineTypes.next = _menhir_stack;
5627 };
5628 };
5629 };
5630 };
5631 } = _menhir_stack in
5632 let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
5633 let dd : (
5634# 77 "parser_cocci_menhir.mly"
5635 (Data.clt)
5636# 5637 "parser_cocci_menhir.ml"
5637 ) = Obj.magic dd in
5638 let t : 'tv_option_eexpr_ = Obj.magic t in
5639 let w : (
5640# 77 "parser_cocci_menhir.mly"
5641 (Data.clt)
5642# 5643 "parser_cocci_menhir.ml"
5643 ) = Obj.magic w in
5644 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
5645 let _startpos = _startpos_l_ in
5646 let _endpos = _endpos_r_ in
5647 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5648# 1280 "parser_cocci_menhir.mly"
5649 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5650 P.clt2mcode ":" dd, r)) )
5651# 5652 "parser_cocci_menhir.ml"
5652 in
5653 _menhir_env.MenhirLib.EngineTypes.stack <- {
5654 MenhirLib.EngineTypes.state = _menhir_s;
5655 MenhirLib.EngineTypes.semv = Obj.repr _v;
5656 MenhirLib.EngineTypes.startp = _startpos;
5657 MenhirLib.EngineTypes.endp = _endpos;
5658 MenhirLib.EngineTypes.next = _menhir_stack;
5659 });
5660 (fun _menhir_env ->
5661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5662 let {
5663 MenhirLib.EngineTypes.state = _menhir_s;
5664 MenhirLib.EngineTypes.semv = _1;
5665 MenhirLib.EngineTypes.startp = _startpos__1_;
5666 MenhirLib.EngineTypes.endp = _endpos__1_;
5667 MenhirLib.EngineTypes.next = _menhir_stack;
5668 } = _menhir_stack in
5669 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5670 let _startpos = _startpos__1_ in
5671 let _endpos = _endpos__1_ in
5672 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5673# 1278 "parser_cocci_menhir.mly"
5674 ( _1 )
5675# 5676 "parser_cocci_menhir.ml"
5676 in
5677 _menhir_env.MenhirLib.EngineTypes.stack <- {
5678 MenhirLib.EngineTypes.state = _menhir_s;
5679 MenhirLib.EngineTypes.semv = Obj.repr _v;
5680 MenhirLib.EngineTypes.startp = _startpos;
5681 MenhirLib.EngineTypes.endp = _endpos;
5682 MenhirLib.EngineTypes.next = _menhir_stack;
5683 });
5684 (fun _menhir_env ->
5685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5686 let {
5687 MenhirLib.EngineTypes.semv = r;
5688 MenhirLib.EngineTypes.startp = _startpos_r_;
5689 MenhirLib.EngineTypes.endp = _endpos_r_;
5690 MenhirLib.EngineTypes.next = {
5691 MenhirLib.EngineTypes.semv = dd;
5692 MenhirLib.EngineTypes.startp = _startpos_dd_;
5693 MenhirLib.EngineTypes.endp = _endpos_dd_;
5694 MenhirLib.EngineTypes.next = {
5695 MenhirLib.EngineTypes.semv = t;
5696 MenhirLib.EngineTypes.startp = _startpos_t_;
5697 MenhirLib.EngineTypes.endp = _endpos_t_;
5698 MenhirLib.EngineTypes.next = {
5699 MenhirLib.EngineTypes.semv = w;
5700 MenhirLib.EngineTypes.startp = _startpos_w_;
5701 MenhirLib.EngineTypes.endp = _endpos_w_;
5702 MenhirLib.EngineTypes.next = {
5703 MenhirLib.EngineTypes.state = _menhir_s;
5704 MenhirLib.EngineTypes.semv = l;
5705 MenhirLib.EngineTypes.startp = _startpos_l_;
5706 MenhirLib.EngineTypes.endp = _endpos_l_;
5707 MenhirLib.EngineTypes.next = _menhir_stack;
5708 };
5709 };
5710 };
5711 };
5712 } = _menhir_stack in
5713 let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
5714 let dd : (
5715# 77 "parser_cocci_menhir.mly"
5716 (Data.clt)
5717# 5718 "parser_cocci_menhir.ml"
5718 ) = Obj.magic dd in
5719 let t : 'tv_option_eexpr_ = Obj.magic t in
5720 let w : (
5721# 77 "parser_cocci_menhir.mly"
5722 (Data.clt)
5723# 5724 "parser_cocci_menhir.ml"
5724 ) = Obj.magic w in
5725 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
5726 let _startpos = _startpos_l_ in
5727 let _endpos = _endpos_r_ in
5728 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5729# 1280 "parser_cocci_menhir.mly"
5730 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5731 P.clt2mcode ":" dd, r)) )
5732# 5733 "parser_cocci_menhir.ml"
5733 in
5734 _menhir_env.MenhirLib.EngineTypes.stack <- {
5735 MenhirLib.EngineTypes.state = _menhir_s;
5736 MenhirLib.EngineTypes.semv = Obj.repr _v;
5737 MenhirLib.EngineTypes.startp = _startpos;
5738 MenhirLib.EngineTypes.endp = _endpos;
5739 MenhirLib.EngineTypes.next = _menhir_stack;
5740 });
5741 (fun _menhir_env ->
5742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5743 let {
5744 MenhirLib.EngineTypes.state = _menhir_s;
5745 MenhirLib.EngineTypes.semv = _1;
5746 MenhirLib.EngineTypes.startp = _startpos__1_;
5747 MenhirLib.EngineTypes.endp = _endpos__1_;
5748 MenhirLib.EngineTypes.next = _menhir_stack;
5749 } = _menhir_stack in
5750 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
5751 let _startpos = _startpos__1_ in
5752 let _endpos = _endpos__1_ in
5753 let _v : 'tv_cond_expr_expr_invalid_ =
5754# 1278 "parser_cocci_menhir.mly"
5755 ( _1 )
5756# 5757 "parser_cocci_menhir.ml"
5757 in
5758 _menhir_env.MenhirLib.EngineTypes.stack <- {
5759 MenhirLib.EngineTypes.state = _menhir_s;
5760 MenhirLib.EngineTypes.semv = Obj.repr _v;
5761 MenhirLib.EngineTypes.startp = _startpos;
5762 MenhirLib.EngineTypes.endp = _endpos;
5763 MenhirLib.EngineTypes.next = _menhir_stack;
5764 });
5765 (fun _menhir_env ->
5766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5767 let {
5768 MenhirLib.EngineTypes.semv = r;
5769 MenhirLib.EngineTypes.startp = _startpos_r_;
5770 MenhirLib.EngineTypes.endp = _endpos_r_;
5771 MenhirLib.EngineTypes.next = {
5772 MenhirLib.EngineTypes.semv = dd;
5773 MenhirLib.EngineTypes.startp = _startpos_dd_;
5774 MenhirLib.EngineTypes.endp = _endpos_dd_;
5775 MenhirLib.EngineTypes.next = {
5776 MenhirLib.EngineTypes.semv = t;
5777 MenhirLib.EngineTypes.startp = _startpos_t_;
5778 MenhirLib.EngineTypes.endp = _endpos_t_;
5779 MenhirLib.EngineTypes.next = {
5780 MenhirLib.EngineTypes.semv = w;
5781 MenhirLib.EngineTypes.startp = _startpos_w_;
5782 MenhirLib.EngineTypes.endp = _endpos_w_;
5783 MenhirLib.EngineTypes.next = {
5784 MenhirLib.EngineTypes.state = _menhir_s;
5785 MenhirLib.EngineTypes.semv = l;
5786 MenhirLib.EngineTypes.startp = _startpos_l_;
5787 MenhirLib.EngineTypes.endp = _endpos_l_;
5788 MenhirLib.EngineTypes.next = _menhir_stack;
5789 };
5790 };
5791 };
5792 };
5793 } = _menhir_stack in
5794 let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
5795 let dd : (
5796# 77 "parser_cocci_menhir.mly"
5797 (Data.clt)
5798# 5799 "parser_cocci_menhir.ml"
5799 ) = Obj.magic dd in
5800 let t : 'tv_option_eexpr_ = Obj.magic t in
5801 let w : (
5802# 77 "parser_cocci_menhir.mly"
5803 (Data.clt)
5804# 5805 "parser_cocci_menhir.ml"
5805 ) = Obj.magic w in
5806 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
5807 let _startpos = _startpos_l_ in
5808 let _endpos = _endpos_r_ in
5809 let _v : 'tv_cond_expr_expr_invalid_ =
5810# 1280 "parser_cocci_menhir.mly"
5811 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5812 P.clt2mcode ":" dd, r)) )
5813# 5814 "parser_cocci_menhir.ml"
5814 in
5815 _menhir_env.MenhirLib.EngineTypes.stack <- {
5816 MenhirLib.EngineTypes.state = _menhir_s;
5817 MenhirLib.EngineTypes.semv = Obj.repr _v;
5818 MenhirLib.EngineTypes.startp = _startpos;
5819 MenhirLib.EngineTypes.endp = _endpos;
5820 MenhirLib.EngineTypes.next = _menhir_stack;
5821 });
5822 (fun _menhir_env ->
5823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5824 let {
5825 MenhirLib.EngineTypes.state = _menhir_s;
5826 MenhirLib.EngineTypes.semv = _1;
5827 MenhirLib.EngineTypes.startp = _startpos__1_;
5828 MenhirLib.EngineTypes.endp = _endpos__1_;
5829 MenhirLib.EngineTypes.next = _menhir_stack;
5830 } = _menhir_stack in
5831 let _1 : (
5832# 54 "parser_cocci_menhir.mly"
5833 (Data.clt)
5834# 5835 "parser_cocci_menhir.ml"
5835 ) = Obj.magic _1 in
5836 let _startpos = _startpos__1_ in
5837 let _endpos = _endpos__1_ in
5838 let _v : 'tv_const_vol =
5839# 864 "parser_cocci_menhir.mly"
5840 ( P.clt2mcode Ast.Const _1 )
5841# 5842 "parser_cocci_menhir.ml"
5842 in
5843 _menhir_env.MenhirLib.EngineTypes.stack <- {
5844 MenhirLib.EngineTypes.state = _menhir_s;
5845 MenhirLib.EngineTypes.semv = Obj.repr _v;
5846 MenhirLib.EngineTypes.startp = _startpos;
5847 MenhirLib.EngineTypes.endp = _endpos;
5848 MenhirLib.EngineTypes.next = _menhir_stack;
5849 });
5850 (fun _menhir_env ->
5851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5852 let {
5853 MenhirLib.EngineTypes.state = _menhir_s;
5854 MenhirLib.EngineTypes.semv = _1;
5855 MenhirLib.EngineTypes.startp = _startpos__1_;
5856 MenhirLib.EngineTypes.endp = _endpos__1_;
5857 MenhirLib.EngineTypes.next = _menhir_stack;
5858 } = _menhir_stack in
5859 let _1 : (
5860# 54 "parser_cocci_menhir.mly"
5861 (Data.clt)
5862# 5863 "parser_cocci_menhir.ml"
5863 ) = Obj.magic _1 in
5864 let _startpos = _startpos__1_ in
5865 let _endpos = _endpos__1_ in
5866 let _v : 'tv_const_vol =
5867# 865 "parser_cocci_menhir.mly"
5868 ( P.clt2mcode Ast.Volatile _1 )
5869# 5870 "parser_cocci_menhir.ml"
5870 in
5871 _menhir_env.MenhirLib.EngineTypes.stack <- {
5872 MenhirLib.EngineTypes.state = _menhir_s;
5873 MenhirLib.EngineTypes.semv = Obj.repr _v;
5874 MenhirLib.EngineTypes.startp = _startpos;
5875 MenhirLib.EngineTypes.endp = _endpos;
5876 MenhirLib.EngineTypes.next = _menhir_stack;
5877 });
5878 (fun _menhir_env ->
5879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5880 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5881 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5882 let _endpos = _startpos in
5883 let _v : 'tv_continue_struct_decl_list =
5884# 616 "parser_cocci_menhir.mly"
5885 ( [] )
5886# 5887 "parser_cocci_menhir.ml"
5887 in
5888 _menhir_env.MenhirLib.EngineTypes.stack <- {
5889 MenhirLib.EngineTypes.state = _menhir_s;
5890 MenhirLib.EngineTypes.semv = Obj.repr _v;
5891 MenhirLib.EngineTypes.startp = _startpos;
5892 MenhirLib.EngineTypes.endp = _endpos;
5893 MenhirLib.EngineTypes.next = _menhir_stack;
5894 });
5895 (fun _menhir_env ->
5896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5897 let {
5898 MenhirLib.EngineTypes.semv = _2;
5899 MenhirLib.EngineTypes.startp = _startpos__2_;
5900 MenhirLib.EngineTypes.endp = _endpos__2_;
5901 MenhirLib.EngineTypes.next = {
5902 MenhirLib.EngineTypes.state = _menhir_s;
5903 MenhirLib.EngineTypes.semv = _1;
5904 MenhirLib.EngineTypes.startp = _startpos__1_;
5905 MenhirLib.EngineTypes.endp = _endpos__1_;
5906 MenhirLib.EngineTypes.next = _menhir_stack;
5907 };
5908 } = _menhir_stack in
5909 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
5910 let _1 : 'tv_struct_decl = Obj.magic _1 in
5911 let _startpos = _startpos__1_ in
5912 let _endpos = _endpos__2_ in
5913 let _v : 'tv_continue_struct_decl_list =
5914# 617 "parser_cocci_menhir.mly"
5915 ( _1@_2 )
5916# 5917 "parser_cocci_menhir.ml"
5917 in
5918 _menhir_env.MenhirLib.EngineTypes.stack <- {
5919 MenhirLib.EngineTypes.state = _menhir_s;
5920 MenhirLib.EngineTypes.semv = Obj.repr _v;
5921 MenhirLib.EngineTypes.startp = _startpos;
5922 MenhirLib.EngineTypes.endp = _endpos;
5923 MenhirLib.EngineTypes.next = _menhir_stack;
5924 });
5925 (fun _menhir_env ->
5926 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5927 let {
5928 MenhirLib.EngineTypes.state = _menhir_s;
5929 MenhirLib.EngineTypes.semv = _1;
5930 MenhirLib.EngineTypes.startp = _startpos__1_;
5931 MenhirLib.EngineTypes.endp = _endpos__1_;
5932 MenhirLib.EngineTypes.next = _menhir_stack;
5933 } = _menhir_stack in
5934 let _1 : 'tv_struct_decl = Obj.magic _1 in
5935 let _startpos = _startpos__1_ in
5936 let _endpos = _endpos__1_ in
5937 let _v : 'tv_continue_struct_decl_list =
5938# 618 "parser_cocci_menhir.mly"
5939 ( _1 )
5940# 5941 "parser_cocci_menhir.ml"
5941 in
5942 _menhir_env.MenhirLib.EngineTypes.stack <- {
5943 MenhirLib.EngineTypes.state = _menhir_s;
5944 MenhirLib.EngineTypes.semv = Obj.repr _v;
5945 MenhirLib.EngineTypes.startp = _startpos;
5946 MenhirLib.EngineTypes.endp = _endpos;
5947 MenhirLib.EngineTypes.next = _menhir_stack;
5948 });
5949 (fun _menhir_env ->
5950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5951 let {
5952 MenhirLib.EngineTypes.semv = m;
5953 MenhirLib.EngineTypes.startp = _startpos_m_;
5954 MenhirLib.EngineTypes.endp = _endpos_m_;
5955 MenhirLib.EngineTypes.next = {
5956 MenhirLib.EngineTypes.semv = ty00;
5957 MenhirLib.EngineTypes.startp = _startpos_ty00_;
5958 MenhirLib.EngineTypes.endp = _endpos_ty00_;
5959 MenhirLib.EngineTypes.next = {
5960 MenhirLib.EngineTypes.state = _menhir_s;
5961 MenhirLib.EngineTypes.semv = r0;
5962 MenhirLib.EngineTypes.startp = _startpos_r0_;
5963 MenhirLib.EngineTypes.endp = _endpos_r0_;
5964 MenhirLib.EngineTypes.next = _menhir_stack;
5965 };
5966 };
5967 } = _menhir_stack in
5968 let m : 'tv_list_TMul_ = Obj.magic m in
5969 let ty00 : (
5970# 49 "parser_cocci_menhir.mly"
5971 (Data.clt)
5972# 5973 "parser_cocci_menhir.ml"
5973 ) = Obj.magic ty00 in
5974 let r0 : (
5975# 51 "parser_cocci_menhir.mly"
5976 (Data.clt)
5977# 5978 "parser_cocci_menhir.ml"
5978 ) = Obj.magic r0 in
5979 let _startpos = _startpos_r0_ in
5980 let _endpos = _endpos_m_ in
5981 let _v : 'tv_ctype = let ty =
5982 let ty0 = ty00 in
5983 let r = r0 in
5984 let ty =
5985 let ty = ty0 in
5986
5987# 502 "parser_cocci_menhir.mly"
5988 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
5989# 5990 "parser_cocci_menhir.ml"
5990
5991 in
5992
5993# 554 "parser_cocci_menhir.mly"
5994 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
5995# 5996 "parser_cocci_menhir.ml"
5996
5997 in
5998 let cv =
5999
6000# 39 "standard.mly"
6001 ( None )
6002# 6003 "parser_cocci_menhir.ml"
6003
6004 in
6005
6006# 562 "parser_cocci_menhir.mly"
6007 ( P.pointerify (P.make_cv cv ty) m )
6008# 6009 "parser_cocci_menhir.ml"
6009 in
6010 _menhir_env.MenhirLib.EngineTypes.stack <- {
6011 MenhirLib.EngineTypes.state = _menhir_s;
6012 MenhirLib.EngineTypes.semv = Obj.repr _v;
6013 MenhirLib.EngineTypes.startp = _startpos;
6014 MenhirLib.EngineTypes.endp = _endpos;
6015 MenhirLib.EngineTypes.next = _menhir_stack;
6016 });
6017 (fun _menhir_env ->
6018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6019 let {
6020 MenhirLib.EngineTypes.semv = m;
6021 MenhirLib.EngineTypes.startp = _startpos_m_;
6022 MenhirLib.EngineTypes.endp = _endpos_m_;
6023 MenhirLib.EngineTypes.next = {
6024 MenhirLib.EngineTypes.semv = ty00;
6025 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6026 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6027 MenhirLib.EngineTypes.next = {
6028 MenhirLib.EngineTypes.state = _menhir_s;
6029 MenhirLib.EngineTypes.semv = r0;
6030 MenhirLib.EngineTypes.startp = _startpos_r0_;
6031 MenhirLib.EngineTypes.endp = _endpos_r0_;
6032 MenhirLib.EngineTypes.next = _menhir_stack;
6033 };
6034 };
6035 } = _menhir_stack in
6036 let m : 'tv_list_TMul_ = Obj.magic m in
6037 let ty00 : (
6038# 49 "parser_cocci_menhir.mly"
6039 (Data.clt)
6040# 6041 "parser_cocci_menhir.ml"
6041 ) = Obj.magic ty00 in
6042 let r0 : (
6043# 51 "parser_cocci_menhir.mly"
6044 (Data.clt)
6045# 6046 "parser_cocci_menhir.ml"
6046 ) = Obj.magic r0 in
6047 let _startpos = _startpos_r0_ in
6048 let _endpos = _endpos_m_ in
6049 let _v : 'tv_ctype = let ty =
6050 let ty0 = ty00 in
6051 let r = r0 in
6052 let ty =
6053 let ty = ty0 in
6054
6055# 504 "parser_cocci_menhir.mly"
6056 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6057# 6058 "parser_cocci_menhir.ml"
6058
6059 in
6060
6061# 554 "parser_cocci_menhir.mly"
6062 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6063# 6064 "parser_cocci_menhir.ml"
6064
6065 in
6066 let cv =
6067
6068# 39 "standard.mly"
6069 ( None )
6070# 6071 "parser_cocci_menhir.ml"
6071
6072 in
6073
6074# 562 "parser_cocci_menhir.mly"
6075 ( P.pointerify (P.make_cv cv ty) m )
6076# 6077 "parser_cocci_menhir.ml"
6077 in
6078 _menhir_env.MenhirLib.EngineTypes.stack <- {
6079 MenhirLib.EngineTypes.state = _menhir_s;
6080 MenhirLib.EngineTypes.semv = Obj.repr _v;
6081 MenhirLib.EngineTypes.startp = _startpos;
6082 MenhirLib.EngineTypes.endp = _endpos;
6083 MenhirLib.EngineTypes.next = _menhir_stack;
6084 });
6085 (fun _menhir_env ->
6086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6087 let {
6088 MenhirLib.EngineTypes.semv = m;
6089 MenhirLib.EngineTypes.startp = _startpos_m_;
6090 MenhirLib.EngineTypes.endp = _endpos_m_;
6091 MenhirLib.EngineTypes.next = {
6092 MenhirLib.EngineTypes.semv = ty00;
6093 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6094 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6095 MenhirLib.EngineTypes.next = {
6096 MenhirLib.EngineTypes.state = _menhir_s;
6097 MenhirLib.EngineTypes.semv = r0;
6098 MenhirLib.EngineTypes.startp = _startpos_r0_;
6099 MenhirLib.EngineTypes.endp = _endpos_r0_;
6100 MenhirLib.EngineTypes.next = _menhir_stack;
6101 };
6102 };
6103 } = _menhir_stack in
6104 let m : 'tv_list_TMul_ = Obj.magic m in
6105 let ty00 : (
6106# 49 "parser_cocci_menhir.mly"
6107 (Data.clt)
6108# 6109 "parser_cocci_menhir.ml"
6109 ) = Obj.magic ty00 in
6110 let r0 : (
6111# 51 "parser_cocci_menhir.mly"
6112 (Data.clt)
6113# 6114 "parser_cocci_menhir.ml"
6114 ) = Obj.magic r0 in
6115 let _startpos = _startpos_r0_ in
6116 let _endpos = _endpos_m_ in
6117 let _v : 'tv_ctype = let ty =
6118 let ty0 = ty00 in
6119 let r = r0 in
6120 let ty =
6121 let ty = ty0 in
6122
6123# 506 "parser_cocci_menhir.mly"
6124 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6125# 6126 "parser_cocci_menhir.ml"
6126
6127 in
6128
6129# 554 "parser_cocci_menhir.mly"
6130 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6131# 6132 "parser_cocci_menhir.ml"
6132
6133 in
6134 let cv =
6135
6136# 39 "standard.mly"
6137 ( None )
6138# 6139 "parser_cocci_menhir.ml"
6139
6140 in
6141
6142# 562 "parser_cocci_menhir.mly"
6143 ( P.pointerify (P.make_cv cv ty) m )
6144# 6145 "parser_cocci_menhir.ml"
6145 in
6146 _menhir_env.MenhirLib.EngineTypes.stack <- {
6147 MenhirLib.EngineTypes.state = _menhir_s;
6148 MenhirLib.EngineTypes.semv = Obj.repr _v;
6149 MenhirLib.EngineTypes.startp = _startpos;
6150 MenhirLib.EngineTypes.endp = _endpos;
6151 MenhirLib.EngineTypes.next = _menhir_stack;
6152 });
6153 (fun _menhir_env ->
6154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6155 let {
6156 MenhirLib.EngineTypes.semv = m;
6157 MenhirLib.EngineTypes.startp = _startpos_m_;
6158 MenhirLib.EngineTypes.endp = _endpos_m_;
6159 MenhirLib.EngineTypes.next = {
6160 MenhirLib.EngineTypes.semv = p00;
6161 MenhirLib.EngineTypes.startp = _startpos_p00_;
6162 MenhirLib.EngineTypes.endp = _endpos_p00_;
6163 MenhirLib.EngineTypes.next = {
6164 MenhirLib.EngineTypes.state = _menhir_s;
6165 MenhirLib.EngineTypes.semv = r0;
6166 MenhirLib.EngineTypes.startp = _startpos_r0_;
6167 MenhirLib.EngineTypes.endp = _endpos_r0_;
6168 MenhirLib.EngineTypes.next = _menhir_stack;
6169 };
6170 };
6171 } = _menhir_stack in
6172 let m : 'tv_list_TMul_ = Obj.magic m in
6173 let p00 : (
6174# 65 "parser_cocci_menhir.mly"
6175 (Parse_aux.info)
6176# 6177 "parser_cocci_menhir.ml"
6177 ) = Obj.magic p00 in
6178 let r0 : (
6179# 51 "parser_cocci_menhir.mly"
6180 (Data.clt)
6181# 6182 "parser_cocci_menhir.ml"
6182 ) = Obj.magic r0 in
6183 let _startpos = _startpos_r0_ in
6184 let _endpos = _endpos_m_ in
6185 let _v : 'tv_ctype = let ty =
6186 let p0 = p00 in
6187 let r = r0 in
6188 let ty =
6189 let p = p0 in
6190
6191# 508 "parser_cocci_menhir.mly"
6192 ( let (nm,pure,clt) = p in
6193 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6194# 6195 "parser_cocci_menhir.ml"
6195
6196 in
6197
6198# 554 "parser_cocci_menhir.mly"
6199 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6200# 6201 "parser_cocci_menhir.ml"
6201
6202 in
6203 let cv =
6204
6205# 39 "standard.mly"
6206 ( None )
6207# 6208 "parser_cocci_menhir.ml"
6208
6209 in
6210
6211# 562 "parser_cocci_menhir.mly"
6212 ( P.pointerify (P.make_cv cv ty) m )
6213# 6214 "parser_cocci_menhir.ml"
6214 in
6215 _menhir_env.MenhirLib.EngineTypes.stack <- {
6216 MenhirLib.EngineTypes.state = _menhir_s;
6217 MenhirLib.EngineTypes.semv = Obj.repr _v;
6218 MenhirLib.EngineTypes.startp = _startpos;
6219 MenhirLib.EngineTypes.endp = _endpos;
6220 MenhirLib.EngineTypes.next = _menhir_stack;
6221 });
6222 (fun _menhir_env ->
6223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6224 let {
6225 MenhirLib.EngineTypes.semv = m;
6226 MenhirLib.EngineTypes.startp = _startpos_m_;
6227 MenhirLib.EngineTypes.endp = _endpos_m_;
6228 MenhirLib.EngineTypes.next = {
6229 MenhirLib.EngineTypes.semv = p00;
6230 MenhirLib.EngineTypes.startp = _startpos_p00_;
6231 MenhirLib.EngineTypes.endp = _endpos_p00_;
6232 MenhirLib.EngineTypes.next = {
6233 MenhirLib.EngineTypes.startp = _startpos__3_;
6234 MenhirLib.EngineTypes.endp = _endpos__3_;
6235 MenhirLib.EngineTypes.next = {
6236 MenhirLib.EngineTypes.semv = r00;
6237 MenhirLib.EngineTypes.startp = _startpos_r00_;
6238 MenhirLib.EngineTypes.endp = _endpos_r00_;
6239 MenhirLib.EngineTypes.next = {
6240 MenhirLib.EngineTypes.state = _menhir_s;
6241 MenhirLib.EngineTypes.semv = r1;
6242 MenhirLib.EngineTypes.startp = _startpos_r1_;
6243 MenhirLib.EngineTypes.endp = _endpos_r1_;
6244 MenhirLib.EngineTypes.next = _menhir_stack;
6245 };
6246 };
6247 };
6248 };
6249 } = _menhir_stack in
6250 let m : 'tv_list_TMul_ = Obj.magic m in
6251 let p00 : (
6252# 59 "parser_cocci_menhir.mly"
6253 (string * Data.clt)
6254# 6255 "parser_cocci_menhir.ml"
6255 ) = Obj.magic p00 in
6256 let r00 : (
6257# 47 "parser_cocci_menhir.mly"
6258 (string)
6259# 6260 "parser_cocci_menhir.ml"
6260 ) = Obj.magic r00 in
6261 let r1 : (
6262# 51 "parser_cocci_menhir.mly"
6263 (Data.clt)
6264# 6265 "parser_cocci_menhir.ml"
6265 ) = Obj.magic r1 in
6266 let _startpos = _startpos_r1_ in
6267 let _endpos = _endpos_m_ in
6268 let _v : 'tv_ctype = let ty =
6269 let p0 = p00 in
6270 let r0 = r00 in
6271 let r = r1 in
6272 let ty =
6273 let p = p0 in
6274 let r = r0 in
6275
6276# 511 "parser_cocci_menhir.mly"
6277 ( let nm = (r,P.id2name p) in
6278 (* this is only possible when we are in a metavar decl. Otherwise,
6279 it will be represented already as a MetaType *)
6280 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6281 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6282 Ast0.Impure (*will be ignored*))) )
6283# 6284 "parser_cocci_menhir.ml"
6284
6285 in
6286
6287# 554 "parser_cocci_menhir.mly"
6288 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6289# 6290 "parser_cocci_menhir.ml"
6290
6291 in
6292 let cv =
6293
6294# 39 "standard.mly"
6295 ( None )
6296# 6297 "parser_cocci_menhir.ml"
6297
6298 in
6299
6300# 562 "parser_cocci_menhir.mly"
6301 ( P.pointerify (P.make_cv cv ty) m )
6302# 6303 "parser_cocci_menhir.ml"
6303 in
6304 _menhir_env.MenhirLib.EngineTypes.stack <- {
6305 MenhirLib.EngineTypes.state = _menhir_s;
6306 MenhirLib.EngineTypes.semv = Obj.repr _v;
6307 MenhirLib.EngineTypes.startp = _startpos;
6308 MenhirLib.EngineTypes.endp = _endpos;
6309 MenhirLib.EngineTypes.next = _menhir_stack;
6310 });
6311 (fun _menhir_env ->
6312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6313 let {
6314 MenhirLib.EngineTypes.semv = m;
6315 MenhirLib.EngineTypes.startp = _startpos_m_;
6316 MenhirLib.EngineTypes.endp = _endpos_m_;
6317 MenhirLib.EngineTypes.next = {
6318 MenhirLib.EngineTypes.semv = ty00;
6319 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6320 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6321 MenhirLib.EngineTypes.next = {
6322 MenhirLib.EngineTypes.state = _menhir_s;
6323 MenhirLib.EngineTypes.semv = r0;
6324 MenhirLib.EngineTypes.startp = _startpos_r0_;
6325 MenhirLib.EngineTypes.endp = _endpos_r0_;
6326 MenhirLib.EngineTypes.next = _menhir_stack;
6327 };
6328 };
6329 } = _menhir_stack in
6330 let m : 'tv_list_TMul_ = Obj.magic m in
6331 let ty00 : (
6332# 49 "parser_cocci_menhir.mly"
6333 (Data.clt)
6334# 6335 "parser_cocci_menhir.ml"
6335 ) = Obj.magic ty00 in
6336 let r0 : (
6337# 51 "parser_cocci_menhir.mly"
6338 (Data.clt)
6339# 6340 "parser_cocci_menhir.ml"
6340 ) = Obj.magic r0 in
6341 let _startpos = _startpos_r0_ in
6342 let _endpos = _endpos_m_ in
6343 let _v : 'tv_ctype = let ty =
6344 let ty0 = ty00 in
6345 let r = r0 in
6346 let ty =
6347 let ty = ty0 in
6348
6349# 518 "parser_cocci_menhir.mly"
6350 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6351# 6352 "parser_cocci_menhir.ml"
6352
6353 in
6354
6355# 554 "parser_cocci_menhir.mly"
6356 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6357# 6358 "parser_cocci_menhir.ml"
6358
6359 in
6360 let cv =
6361
6362# 39 "standard.mly"
6363 ( None )
6364# 6365 "parser_cocci_menhir.ml"
6365
6366 in
6367
6368# 562 "parser_cocci_menhir.mly"
6369 ( P.pointerify (P.make_cv cv ty) m )
6370# 6371 "parser_cocci_menhir.ml"
6371 in
6372 _menhir_env.MenhirLib.EngineTypes.stack <- {
6373 MenhirLib.EngineTypes.state = _menhir_s;
6374 MenhirLib.EngineTypes.semv = Obj.repr _v;
6375 MenhirLib.EngineTypes.startp = _startpos;
6376 MenhirLib.EngineTypes.endp = _endpos;
6377 MenhirLib.EngineTypes.next = _menhir_stack;
6378 });
6379 (fun _menhir_env ->
6380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6381 let {
6382 MenhirLib.EngineTypes.semv = m;
6383 MenhirLib.EngineTypes.startp = _startpos_m_;
6384 MenhirLib.EngineTypes.endp = _endpos_m_;
6385 MenhirLib.EngineTypes.next = {
6386 MenhirLib.EngineTypes.semv = ty200;
6387 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6388 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6389 MenhirLib.EngineTypes.next = {
6390 MenhirLib.EngineTypes.semv = ty100;
6391 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6392 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6393 MenhirLib.EngineTypes.next = {
6394 MenhirLib.EngineTypes.state = _menhir_s;
6395 MenhirLib.EngineTypes.semv = r0;
6396 MenhirLib.EngineTypes.startp = _startpos_r0_;
6397 MenhirLib.EngineTypes.endp = _endpos_r0_;
6398 MenhirLib.EngineTypes.next = _menhir_stack;
6399 };
6400 };
6401 };
6402 } = _menhir_stack in
6403 let m : 'tv_list_TMul_ = Obj.magic m in
6404 let ty200 : (
6405# 49 "parser_cocci_menhir.mly"
6406 (Data.clt)
6407# 6408 "parser_cocci_menhir.ml"
6408 ) = Obj.magic ty200 in
6409 let ty100 : (
6410# 49 "parser_cocci_menhir.mly"
6411 (Data.clt)
6412# 6413 "parser_cocci_menhir.ml"
6413 ) = Obj.magic ty100 in
6414 let r0 : (
6415# 51 "parser_cocci_menhir.mly"
6416 (Data.clt)
6417# 6418 "parser_cocci_menhir.ml"
6418 ) = Obj.magic r0 in
6419 let _startpos = _startpos_r0_ in
6420 let _endpos = _endpos_m_ in
6421 let _v : 'tv_ctype = let ty =
6422 let ty20 = ty200 in
6423 let ty10 = ty100 in
6424 let r = r0 in
6425 let ty =
6426 let ty2 = ty20 in
6427 let ty1 = ty10 in
6428
6429# 520 "parser_cocci_menhir.mly"
6430 ( Ast0.wrap
6431 (Ast0.BaseType
6432 (Ast.LongLongType,
6433 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6434# 6435 "parser_cocci_menhir.ml"
6435
6436 in
6437
6438# 554 "parser_cocci_menhir.mly"
6439 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6440# 6441 "parser_cocci_menhir.ml"
6441
6442 in
6443 let cv =
6444
6445# 39 "standard.mly"
6446 ( None )
6447# 6448 "parser_cocci_menhir.ml"
6448
6449 in
6450
6451# 562 "parser_cocci_menhir.mly"
6452 ( P.pointerify (P.make_cv cv ty) m )
6453# 6454 "parser_cocci_menhir.ml"
6454 in
6455 _menhir_env.MenhirLib.EngineTypes.stack <- {
6456 MenhirLib.EngineTypes.state = _menhir_s;
6457 MenhirLib.EngineTypes.semv = Obj.repr _v;
6458 MenhirLib.EngineTypes.startp = _startpos;
6459 MenhirLib.EngineTypes.endp = _endpos;
6460 MenhirLib.EngineTypes.next = _menhir_stack;
6461 });
6462 (fun _menhir_env ->
6463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6464 let {
6465 MenhirLib.EngineTypes.semv = m;
6466 MenhirLib.EngineTypes.startp = _startpos_m_;
6467 MenhirLib.EngineTypes.endp = _endpos_m_;
6468 MenhirLib.EngineTypes.next = {
6469 MenhirLib.EngineTypes.semv = ty00;
6470 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6471 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6472 MenhirLib.EngineTypes.next = {
6473 MenhirLib.EngineTypes.state = _menhir_s;
6474 MenhirLib.EngineTypes.semv = r0;
6475 MenhirLib.EngineTypes.startp = _startpos_r0_;
6476 MenhirLib.EngineTypes.endp = _endpos_r0_;
6477 MenhirLib.EngineTypes.next = _menhir_stack;
6478 };
6479 };
6480 } = _menhir_stack in
6481 let m : 'tv_list_TMul_ = Obj.magic m in
6482 let ty00 : (
6483# 49 "parser_cocci_menhir.mly"
6484 (Data.clt)
6485# 6486 "parser_cocci_menhir.ml"
6486 ) = Obj.magic ty00 in
6487 let r0 : (
6488# 51 "parser_cocci_menhir.mly"
6489 (Data.clt)
6490# 6491 "parser_cocci_menhir.ml"
6491 ) = Obj.magic r0 in
6492 let _startpos = _startpos_r0_ in
6493 let _endpos = _endpos_m_ in
6494 let _v : 'tv_ctype = let ty =
6495 let ty0 = ty00 in
6496 let r = r0 in
6497 let ty =
6498 let ty = ty0 in
6499
6500# 502 "parser_cocci_menhir.mly"
6501 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6502# 6503 "parser_cocci_menhir.ml"
6503
6504 in
6505
6506# 556 "parser_cocci_menhir.mly"
6507 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6508# 6509 "parser_cocci_menhir.ml"
6509
6510 in
6511 let cv =
6512
6513# 39 "standard.mly"
6514 ( None )
6515# 6516 "parser_cocci_menhir.ml"
6516
6517 in
6518
6519# 562 "parser_cocci_menhir.mly"
6520 ( P.pointerify (P.make_cv cv ty) m )
6521# 6522 "parser_cocci_menhir.ml"
6522 in
6523 _menhir_env.MenhirLib.EngineTypes.stack <- {
6524 MenhirLib.EngineTypes.state = _menhir_s;
6525 MenhirLib.EngineTypes.semv = Obj.repr _v;
6526 MenhirLib.EngineTypes.startp = _startpos;
6527 MenhirLib.EngineTypes.endp = _endpos;
6528 MenhirLib.EngineTypes.next = _menhir_stack;
6529 });
6530 (fun _menhir_env ->
6531 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6532 let {
6533 MenhirLib.EngineTypes.semv = m;
6534 MenhirLib.EngineTypes.startp = _startpos_m_;
6535 MenhirLib.EngineTypes.endp = _endpos_m_;
6536 MenhirLib.EngineTypes.next = {
6537 MenhirLib.EngineTypes.semv = ty00;
6538 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6539 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6540 MenhirLib.EngineTypes.next = {
6541 MenhirLib.EngineTypes.state = _menhir_s;
6542 MenhirLib.EngineTypes.semv = r0;
6543 MenhirLib.EngineTypes.startp = _startpos_r0_;
6544 MenhirLib.EngineTypes.endp = _endpos_r0_;
6545 MenhirLib.EngineTypes.next = _menhir_stack;
6546 };
6547 };
6548 } = _menhir_stack in
6549 let m : 'tv_list_TMul_ = Obj.magic m in
6550 let ty00 : (
6551# 49 "parser_cocci_menhir.mly"
6552 (Data.clt)
6553# 6554 "parser_cocci_menhir.ml"
6554 ) = Obj.magic ty00 in
6555 let r0 : (
6556# 51 "parser_cocci_menhir.mly"
6557 (Data.clt)
6558# 6559 "parser_cocci_menhir.ml"
6559 ) = Obj.magic r0 in
6560 let _startpos = _startpos_r0_ in
6561 let _endpos = _endpos_m_ in
6562 let _v : 'tv_ctype = let ty =
6563 let ty0 = ty00 in
6564 let r = r0 in
6565 let ty =
6566 let ty = ty0 in
6567
6568# 504 "parser_cocci_menhir.mly"
6569 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6570# 6571 "parser_cocci_menhir.ml"
6571
6572 in
6573
6574# 556 "parser_cocci_menhir.mly"
6575 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6576# 6577 "parser_cocci_menhir.ml"
6577
6578 in
6579 let cv =
6580
6581# 39 "standard.mly"
6582 ( None )
6583# 6584 "parser_cocci_menhir.ml"
6584
6585 in
6586
6587# 562 "parser_cocci_menhir.mly"
6588 ( P.pointerify (P.make_cv cv ty) m )
6589# 6590 "parser_cocci_menhir.ml"
6590 in
6591 _menhir_env.MenhirLib.EngineTypes.stack <- {
6592 MenhirLib.EngineTypes.state = _menhir_s;
6593 MenhirLib.EngineTypes.semv = Obj.repr _v;
6594 MenhirLib.EngineTypes.startp = _startpos;
6595 MenhirLib.EngineTypes.endp = _endpos;
6596 MenhirLib.EngineTypes.next = _menhir_stack;
6597 });
6598 (fun _menhir_env ->
6599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6600 let {
6601 MenhirLib.EngineTypes.semv = m;
6602 MenhirLib.EngineTypes.startp = _startpos_m_;
6603 MenhirLib.EngineTypes.endp = _endpos_m_;
6604 MenhirLib.EngineTypes.next = {
6605 MenhirLib.EngineTypes.semv = ty00;
6606 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6607 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6608 MenhirLib.EngineTypes.next = {
6609 MenhirLib.EngineTypes.state = _menhir_s;
6610 MenhirLib.EngineTypes.semv = r0;
6611 MenhirLib.EngineTypes.startp = _startpos_r0_;
6612 MenhirLib.EngineTypes.endp = _endpos_r0_;
6613 MenhirLib.EngineTypes.next = _menhir_stack;
6614 };
6615 };
6616 } = _menhir_stack in
6617 let m : 'tv_list_TMul_ = Obj.magic m in
6618 let ty00 : (
6619# 49 "parser_cocci_menhir.mly"
6620 (Data.clt)
6621# 6622 "parser_cocci_menhir.ml"
6622 ) = Obj.magic ty00 in
6623 let r0 : (
6624# 51 "parser_cocci_menhir.mly"
6625 (Data.clt)
6626# 6627 "parser_cocci_menhir.ml"
6627 ) = Obj.magic r0 in
6628 let _startpos = _startpos_r0_ in
6629 let _endpos = _endpos_m_ in
6630 let _v : 'tv_ctype = let ty =
6631 let ty0 = ty00 in
6632 let r = r0 in
6633 let ty =
6634 let ty = ty0 in
6635
6636# 506 "parser_cocci_menhir.mly"
6637 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6638# 6639 "parser_cocci_menhir.ml"
6639
6640 in
6641
6642# 556 "parser_cocci_menhir.mly"
6643 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6644# 6645 "parser_cocci_menhir.ml"
6645
6646 in
6647 let cv =
6648
6649# 39 "standard.mly"
6650 ( None )
6651# 6652 "parser_cocci_menhir.ml"
6652
6653 in
6654
6655# 562 "parser_cocci_menhir.mly"
6656 ( P.pointerify (P.make_cv cv ty) m )
6657# 6658 "parser_cocci_menhir.ml"
6658 in
6659 _menhir_env.MenhirLib.EngineTypes.stack <- {
6660 MenhirLib.EngineTypes.state = _menhir_s;
6661 MenhirLib.EngineTypes.semv = Obj.repr _v;
6662 MenhirLib.EngineTypes.startp = _startpos;
6663 MenhirLib.EngineTypes.endp = _endpos;
6664 MenhirLib.EngineTypes.next = _menhir_stack;
6665 });
6666 (fun _menhir_env ->
6667 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6668 let {
6669 MenhirLib.EngineTypes.semv = m;
6670 MenhirLib.EngineTypes.startp = _startpos_m_;
6671 MenhirLib.EngineTypes.endp = _endpos_m_;
6672 MenhirLib.EngineTypes.next = {
6673 MenhirLib.EngineTypes.semv = p00;
6674 MenhirLib.EngineTypes.startp = _startpos_p00_;
6675 MenhirLib.EngineTypes.endp = _endpos_p00_;
6676 MenhirLib.EngineTypes.next = {
6677 MenhirLib.EngineTypes.state = _menhir_s;
6678 MenhirLib.EngineTypes.semv = r0;
6679 MenhirLib.EngineTypes.startp = _startpos_r0_;
6680 MenhirLib.EngineTypes.endp = _endpos_r0_;
6681 MenhirLib.EngineTypes.next = _menhir_stack;
6682 };
6683 };
6684 } = _menhir_stack in
6685 let m : 'tv_list_TMul_ = Obj.magic m in
6686 let p00 : (
6687# 65 "parser_cocci_menhir.mly"
6688 (Parse_aux.info)
6689# 6690 "parser_cocci_menhir.ml"
6690 ) = Obj.magic p00 in
6691 let r0 : (
6692# 51 "parser_cocci_menhir.mly"
6693 (Data.clt)
6694# 6695 "parser_cocci_menhir.ml"
6695 ) = Obj.magic r0 in
6696 let _startpos = _startpos_r0_ in
6697 let _endpos = _endpos_m_ in
6698 let _v : 'tv_ctype = let ty =
6699 let p0 = p00 in
6700 let r = r0 in
6701 let ty =
6702 let p = p0 in
6703
6704# 508 "parser_cocci_menhir.mly"
6705 ( let (nm,pure,clt) = p in
6706 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6707# 6708 "parser_cocci_menhir.ml"
6708
6709 in
6710
6711# 556 "parser_cocci_menhir.mly"
6712 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6713# 6714 "parser_cocci_menhir.ml"
6714
6715 in
6716 let cv =
6717
6718# 39 "standard.mly"
6719 ( None )
6720# 6721 "parser_cocci_menhir.ml"
6721
6722 in
6723
6724# 562 "parser_cocci_menhir.mly"
6725 ( P.pointerify (P.make_cv cv ty) m )
6726# 6727 "parser_cocci_menhir.ml"
6727 in
6728 _menhir_env.MenhirLib.EngineTypes.stack <- {
6729 MenhirLib.EngineTypes.state = _menhir_s;
6730 MenhirLib.EngineTypes.semv = Obj.repr _v;
6731 MenhirLib.EngineTypes.startp = _startpos;
6732 MenhirLib.EngineTypes.endp = _endpos;
6733 MenhirLib.EngineTypes.next = _menhir_stack;
6734 });
6735 (fun _menhir_env ->
6736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6737 let {
6738 MenhirLib.EngineTypes.semv = m;
6739 MenhirLib.EngineTypes.startp = _startpos_m_;
6740 MenhirLib.EngineTypes.endp = _endpos_m_;
6741 MenhirLib.EngineTypes.next = {
6742 MenhirLib.EngineTypes.semv = p00;
6743 MenhirLib.EngineTypes.startp = _startpos_p00_;
6744 MenhirLib.EngineTypes.endp = _endpos_p00_;
6745 MenhirLib.EngineTypes.next = {
6746 MenhirLib.EngineTypes.startp = _startpos__3_;
6747 MenhirLib.EngineTypes.endp = _endpos__3_;
6748 MenhirLib.EngineTypes.next = {
6749 MenhirLib.EngineTypes.semv = r00;
6750 MenhirLib.EngineTypes.startp = _startpos_r00_;
6751 MenhirLib.EngineTypes.endp = _endpos_r00_;
6752 MenhirLib.EngineTypes.next = {
6753 MenhirLib.EngineTypes.state = _menhir_s;
6754 MenhirLib.EngineTypes.semv = r1;
6755 MenhirLib.EngineTypes.startp = _startpos_r1_;
6756 MenhirLib.EngineTypes.endp = _endpos_r1_;
6757 MenhirLib.EngineTypes.next = _menhir_stack;
6758 };
6759 };
6760 };
6761 };
6762 } = _menhir_stack in
6763 let m : 'tv_list_TMul_ = Obj.magic m in
6764 let p00 : (
6765# 59 "parser_cocci_menhir.mly"
6766 (string * Data.clt)
6767# 6768 "parser_cocci_menhir.ml"
6768 ) = Obj.magic p00 in
6769 let r00 : (
6770# 47 "parser_cocci_menhir.mly"
6771 (string)
6772# 6773 "parser_cocci_menhir.ml"
6773 ) = Obj.magic r00 in
6774 let r1 : (
6775# 51 "parser_cocci_menhir.mly"
6776 (Data.clt)
6777# 6778 "parser_cocci_menhir.ml"
6778 ) = Obj.magic r1 in
6779 let _startpos = _startpos_r1_ in
6780 let _endpos = _endpos_m_ in
6781 let _v : 'tv_ctype = let ty =
6782 let p0 = p00 in
6783 let r0 = r00 in
6784 let r = r1 in
6785 let ty =
6786 let p = p0 in
6787 let r = r0 in
6788
6789# 511 "parser_cocci_menhir.mly"
6790 ( let nm = (r,P.id2name p) in
6791 (* this is only possible when we are in a metavar decl. Otherwise,
6792 it will be represented already as a MetaType *)
6793 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6794 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6795 Ast0.Impure (*will be ignored*))) )
6796# 6797 "parser_cocci_menhir.ml"
6797
6798 in
6799
6800# 556 "parser_cocci_menhir.mly"
6801 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6802# 6803 "parser_cocci_menhir.ml"
6803
6804 in
6805 let cv =
6806
6807# 39 "standard.mly"
6808 ( None )
6809# 6810 "parser_cocci_menhir.ml"
6810
6811 in
6812
6813# 562 "parser_cocci_menhir.mly"
6814 ( P.pointerify (P.make_cv cv ty) m )
6815# 6816 "parser_cocci_menhir.ml"
6816 in
6817 _menhir_env.MenhirLib.EngineTypes.stack <- {
6818 MenhirLib.EngineTypes.state = _menhir_s;
6819 MenhirLib.EngineTypes.semv = Obj.repr _v;
6820 MenhirLib.EngineTypes.startp = _startpos;
6821 MenhirLib.EngineTypes.endp = _endpos;
6822 MenhirLib.EngineTypes.next = _menhir_stack;
6823 });
6824 (fun _menhir_env ->
6825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6826 let {
6827 MenhirLib.EngineTypes.semv = m;
6828 MenhirLib.EngineTypes.startp = _startpos_m_;
6829 MenhirLib.EngineTypes.endp = _endpos_m_;
6830 MenhirLib.EngineTypes.next = {
6831 MenhirLib.EngineTypes.semv = ty00;
6832 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6833 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6834 MenhirLib.EngineTypes.next = {
6835 MenhirLib.EngineTypes.state = _menhir_s;
6836 MenhirLib.EngineTypes.semv = r0;
6837 MenhirLib.EngineTypes.startp = _startpos_r0_;
6838 MenhirLib.EngineTypes.endp = _endpos_r0_;
6839 MenhirLib.EngineTypes.next = _menhir_stack;
6840 };
6841 };
6842 } = _menhir_stack in
6843 let m : 'tv_list_TMul_ = Obj.magic m in
6844 let ty00 : (
6845# 49 "parser_cocci_menhir.mly"
6846 (Data.clt)
6847# 6848 "parser_cocci_menhir.ml"
6848 ) = Obj.magic ty00 in
6849 let r0 : (
6850# 51 "parser_cocci_menhir.mly"
6851 (Data.clt)
6852# 6853 "parser_cocci_menhir.ml"
6853 ) = Obj.magic r0 in
6854 let _startpos = _startpos_r0_ in
6855 let _endpos = _endpos_m_ in
6856 let _v : 'tv_ctype = let ty =
6857 let ty0 = ty00 in
6858 let r = r0 in
6859 let ty =
6860 let ty = ty0 in
6861
6862# 518 "parser_cocci_menhir.mly"
6863 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6864# 6865 "parser_cocci_menhir.ml"
6865
6866 in
6867
6868# 556 "parser_cocci_menhir.mly"
6869 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6870# 6871 "parser_cocci_menhir.ml"
6871
6872 in
6873 let cv =
6874
6875# 39 "standard.mly"
6876 ( None )
6877# 6878 "parser_cocci_menhir.ml"
6878
6879 in
6880
6881# 562 "parser_cocci_menhir.mly"
6882 ( P.pointerify (P.make_cv cv ty) m )
6883# 6884 "parser_cocci_menhir.ml"
6884 in
6885 _menhir_env.MenhirLib.EngineTypes.stack <- {
6886 MenhirLib.EngineTypes.state = _menhir_s;
6887 MenhirLib.EngineTypes.semv = Obj.repr _v;
6888 MenhirLib.EngineTypes.startp = _startpos;
6889 MenhirLib.EngineTypes.endp = _endpos;
6890 MenhirLib.EngineTypes.next = _menhir_stack;
6891 });
6892 (fun _menhir_env ->
6893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6894 let {
6895 MenhirLib.EngineTypes.semv = m;
6896 MenhirLib.EngineTypes.startp = _startpos_m_;
6897 MenhirLib.EngineTypes.endp = _endpos_m_;
6898 MenhirLib.EngineTypes.next = {
6899 MenhirLib.EngineTypes.semv = ty200;
6900 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6901 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6902 MenhirLib.EngineTypes.next = {
6903 MenhirLib.EngineTypes.semv = ty100;
6904 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6905 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6906 MenhirLib.EngineTypes.next = {
6907 MenhirLib.EngineTypes.state = _menhir_s;
6908 MenhirLib.EngineTypes.semv = r0;
6909 MenhirLib.EngineTypes.startp = _startpos_r0_;
6910 MenhirLib.EngineTypes.endp = _endpos_r0_;
6911 MenhirLib.EngineTypes.next = _menhir_stack;
6912 };
6913 };
6914 };
6915 } = _menhir_stack in
6916 let m : 'tv_list_TMul_ = Obj.magic m in
6917 let ty200 : (
6918# 49 "parser_cocci_menhir.mly"
6919 (Data.clt)
6920# 6921 "parser_cocci_menhir.ml"
6921 ) = Obj.magic ty200 in
6922 let ty100 : (
6923# 49 "parser_cocci_menhir.mly"
6924 (Data.clt)
6925# 6926 "parser_cocci_menhir.ml"
6926 ) = Obj.magic ty100 in
6927 let r0 : (
6928# 51 "parser_cocci_menhir.mly"
6929 (Data.clt)
6930# 6931 "parser_cocci_menhir.ml"
6931 ) = Obj.magic r0 in
6932 let _startpos = _startpos_r0_ in
6933 let _endpos = _endpos_m_ in
6934 let _v : 'tv_ctype = let ty =
6935 let ty20 = ty200 in
6936 let ty10 = ty100 in
6937 let r = r0 in
6938 let ty =
6939 let ty2 = ty20 in
6940 let ty1 = ty10 in
6941
6942# 520 "parser_cocci_menhir.mly"
6943 ( Ast0.wrap
6944 (Ast0.BaseType
6945 (Ast.LongLongType,
6946 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6947# 6948 "parser_cocci_menhir.ml"
6948
6949 in
6950
6951# 556 "parser_cocci_menhir.mly"
6952 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6953# 6954 "parser_cocci_menhir.ml"
6954
6955 in
6956 let cv =
6957
6958# 39 "standard.mly"
6959 ( None )
6960# 6961 "parser_cocci_menhir.ml"
6961
6962 in
6963
6964# 562 "parser_cocci_menhir.mly"
6965 ( P.pointerify (P.make_cv cv ty) m )
6966# 6967 "parser_cocci_menhir.ml"
6967 in
6968 _menhir_env.MenhirLib.EngineTypes.stack <- {
6969 MenhirLib.EngineTypes.state = _menhir_s;
6970 MenhirLib.EngineTypes.semv = Obj.repr _v;
6971 MenhirLib.EngineTypes.startp = _startpos;
6972 MenhirLib.EngineTypes.endp = _endpos;
6973 MenhirLib.EngineTypes.next = _menhir_stack;
6974 });
6975 (fun _menhir_env ->
6976 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6977 let {
6978 MenhirLib.EngineTypes.semv = m;
6979 MenhirLib.EngineTypes.startp = _startpos_m_;
6980 MenhirLib.EngineTypes.endp = _endpos_m_;
6981 MenhirLib.EngineTypes.next = {
6982 MenhirLib.EngineTypes.state = _menhir_s;
6983 MenhirLib.EngineTypes.semv = ty00;
6984 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6985 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6986 MenhirLib.EngineTypes.next = _menhir_stack;
6987 };
6988 } = _menhir_stack in
6989 let m : 'tv_list_TMul_ = Obj.magic m in
6990 let ty00 : (
6991# 49 "parser_cocci_menhir.mly"
6992 (Data.clt)
6993# 6994 "parser_cocci_menhir.ml"
6994 ) = Obj.magic ty00 in
6995 let _startpos = _startpos_ty00_ in
6996 let _endpos = _endpos_m_ in
6997 let _v : 'tv_ctype = let ty =
6998 let ty0 = ty00 in
6999 let ty =
7000 let ty = ty0 in
7001
7002# 502 "parser_cocci_menhir.mly"
7003 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7004# 7005 "parser_cocci_menhir.ml"
7005
7006 in
7007
7008# 557 "parser_cocci_menhir.mly"
7009 ( ty )
7010# 7011 "parser_cocci_menhir.ml"
7011
7012 in
7013 let cv =
7014
7015# 39 "standard.mly"
7016 ( None )
7017# 7018 "parser_cocci_menhir.ml"
7018
7019 in
7020
7021# 562 "parser_cocci_menhir.mly"
7022 ( P.pointerify (P.make_cv cv ty) m )
7023# 7024 "parser_cocci_menhir.ml"
7024 in
7025 _menhir_env.MenhirLib.EngineTypes.stack <- {
7026 MenhirLib.EngineTypes.state = _menhir_s;
7027 MenhirLib.EngineTypes.semv = Obj.repr _v;
7028 MenhirLib.EngineTypes.startp = _startpos;
7029 MenhirLib.EngineTypes.endp = _endpos;
7030 MenhirLib.EngineTypes.next = _menhir_stack;
7031 });
7032 (fun _menhir_env ->
7033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7034 let {
7035 MenhirLib.EngineTypes.semv = m;
7036 MenhirLib.EngineTypes.startp = _startpos_m_;
7037 MenhirLib.EngineTypes.endp = _endpos_m_;
7038 MenhirLib.EngineTypes.next = {
7039 MenhirLib.EngineTypes.state = _menhir_s;
7040 MenhirLib.EngineTypes.semv = ty00;
7041 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7042 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7043 MenhirLib.EngineTypes.next = _menhir_stack;
7044 };
7045 } = _menhir_stack in
7046 let m : 'tv_list_TMul_ = Obj.magic m in
7047 let ty00 : (
7048# 49 "parser_cocci_menhir.mly"
7049 (Data.clt)
7050# 7051 "parser_cocci_menhir.ml"
7051 ) = Obj.magic ty00 in
7052 let _startpos = _startpos_ty00_ in
7053 let _endpos = _endpos_m_ in
7054 let _v : 'tv_ctype = let ty =
7055 let ty0 = ty00 in
7056 let ty =
7057 let ty = ty0 in
7058
7059# 504 "parser_cocci_menhir.mly"
7060 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7061# 7062 "parser_cocci_menhir.ml"
7062
7063 in
7064
7065# 557 "parser_cocci_menhir.mly"
7066 ( ty )
7067# 7068 "parser_cocci_menhir.ml"
7068
7069 in
7070 let cv =
7071
7072# 39 "standard.mly"
7073 ( None )
7074# 7075 "parser_cocci_menhir.ml"
7075
7076 in
7077
7078# 562 "parser_cocci_menhir.mly"
7079 ( P.pointerify (P.make_cv cv ty) m )
7080# 7081 "parser_cocci_menhir.ml"
7081 in
7082 _menhir_env.MenhirLib.EngineTypes.stack <- {
7083 MenhirLib.EngineTypes.state = _menhir_s;
7084 MenhirLib.EngineTypes.semv = Obj.repr _v;
7085 MenhirLib.EngineTypes.startp = _startpos;
7086 MenhirLib.EngineTypes.endp = _endpos;
7087 MenhirLib.EngineTypes.next = _menhir_stack;
7088 });
7089 (fun _menhir_env ->
7090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7091 let {
7092 MenhirLib.EngineTypes.semv = m;
7093 MenhirLib.EngineTypes.startp = _startpos_m_;
7094 MenhirLib.EngineTypes.endp = _endpos_m_;
7095 MenhirLib.EngineTypes.next = {
7096 MenhirLib.EngineTypes.state = _menhir_s;
7097 MenhirLib.EngineTypes.semv = ty00;
7098 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7099 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7100 MenhirLib.EngineTypes.next = _menhir_stack;
7101 };
7102 } = _menhir_stack in
7103 let m : 'tv_list_TMul_ = Obj.magic m in
7104 let ty00 : (
7105# 49 "parser_cocci_menhir.mly"
7106 (Data.clt)
7107# 7108 "parser_cocci_menhir.ml"
7108 ) = Obj.magic ty00 in
7109 let _startpos = _startpos_ty00_ in
7110 let _endpos = _endpos_m_ in
7111 let _v : 'tv_ctype = let ty =
7112 let ty0 = ty00 in
7113 let ty =
7114 let ty = ty0 in
7115
7116# 506 "parser_cocci_menhir.mly"
7117 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7118# 7119 "parser_cocci_menhir.ml"
7119
7120 in
7121
7122# 557 "parser_cocci_menhir.mly"
7123 ( ty )
7124# 7125 "parser_cocci_menhir.ml"
7125
7126 in
7127 let cv =
7128
7129# 39 "standard.mly"
7130 ( None )
7131# 7132 "parser_cocci_menhir.ml"
7132
7133 in
7134
7135# 562 "parser_cocci_menhir.mly"
7136 ( P.pointerify (P.make_cv cv ty) m )
7137# 7138 "parser_cocci_menhir.ml"
7138 in
7139 _menhir_env.MenhirLib.EngineTypes.stack <- {
7140 MenhirLib.EngineTypes.state = _menhir_s;
7141 MenhirLib.EngineTypes.semv = Obj.repr _v;
7142 MenhirLib.EngineTypes.startp = _startpos;
7143 MenhirLib.EngineTypes.endp = _endpos;
7144 MenhirLib.EngineTypes.next = _menhir_stack;
7145 });
7146 (fun _menhir_env ->
7147 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7148 let {
7149 MenhirLib.EngineTypes.semv = m;
7150 MenhirLib.EngineTypes.startp = _startpos_m_;
7151 MenhirLib.EngineTypes.endp = _endpos_m_;
7152 MenhirLib.EngineTypes.next = {
7153 MenhirLib.EngineTypes.state = _menhir_s;
7154 MenhirLib.EngineTypes.semv = p00;
7155 MenhirLib.EngineTypes.startp = _startpos_p00_;
7156 MenhirLib.EngineTypes.endp = _endpos_p00_;
7157 MenhirLib.EngineTypes.next = _menhir_stack;
7158 };
7159 } = _menhir_stack in
7160 let m : 'tv_list_TMul_ = Obj.magic m in
7161 let p00 : (
7162# 65 "parser_cocci_menhir.mly"
7163 (Parse_aux.info)
7164# 7165 "parser_cocci_menhir.ml"
7165 ) = Obj.magic p00 in
7166 let _startpos = _startpos_p00_ in
7167 let _endpos = _endpos_m_ in
7168 let _v : 'tv_ctype = let ty =
7169 let p0 = p00 in
7170 let ty =
7171 let p = p0 in
7172
7173# 508 "parser_cocci_menhir.mly"
7174 ( let (nm,pure,clt) = p in
7175 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7176# 7177 "parser_cocci_menhir.ml"
7177
7178 in
7179
7180# 557 "parser_cocci_menhir.mly"
7181 ( ty )
7182# 7183 "parser_cocci_menhir.ml"
7183
7184 in
7185 let cv =
7186
7187# 39 "standard.mly"
7188 ( None )
7189# 7190 "parser_cocci_menhir.ml"
7190
7191 in
7192
7193# 562 "parser_cocci_menhir.mly"
7194 ( P.pointerify (P.make_cv cv ty) m )
7195# 7196 "parser_cocci_menhir.ml"
7196 in
7197 _menhir_env.MenhirLib.EngineTypes.stack <- {
7198 MenhirLib.EngineTypes.state = _menhir_s;
7199 MenhirLib.EngineTypes.semv = Obj.repr _v;
7200 MenhirLib.EngineTypes.startp = _startpos;
7201 MenhirLib.EngineTypes.endp = _endpos;
7202 MenhirLib.EngineTypes.next = _menhir_stack;
7203 });
7204 (fun _menhir_env ->
7205 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7206 let {
7207 MenhirLib.EngineTypes.semv = m;
7208 MenhirLib.EngineTypes.startp = _startpos_m_;
7209 MenhirLib.EngineTypes.endp = _endpos_m_;
7210 MenhirLib.EngineTypes.next = {
7211 MenhirLib.EngineTypes.semv = p00;
7212 MenhirLib.EngineTypes.startp = _startpos_p00_;
7213 MenhirLib.EngineTypes.endp = _endpos_p00_;
7214 MenhirLib.EngineTypes.next = {
7215 MenhirLib.EngineTypes.startp = _startpos__2_;
7216 MenhirLib.EngineTypes.endp = _endpos__2_;
7217 MenhirLib.EngineTypes.next = {
7218 MenhirLib.EngineTypes.state = _menhir_s;
7219 MenhirLib.EngineTypes.semv = r00;
7220 MenhirLib.EngineTypes.startp = _startpos_r00_;
7221 MenhirLib.EngineTypes.endp = _endpos_r00_;
7222 MenhirLib.EngineTypes.next = _menhir_stack;
7223 };
7224 };
7225 };
7226 } = _menhir_stack in
7227 let m : 'tv_list_TMul_ = Obj.magic m in
7228 let p00 : (
7229# 59 "parser_cocci_menhir.mly"
7230 (string * Data.clt)
7231# 7232 "parser_cocci_menhir.ml"
7232 ) = Obj.magic p00 in
7233 let r00 : (
7234# 47 "parser_cocci_menhir.mly"
7235 (string)
7236# 7237 "parser_cocci_menhir.ml"
7237 ) = Obj.magic r00 in
7238 let _startpos = _startpos_r00_ in
7239 let _endpos = _endpos_m_ in
7240 let _v : 'tv_ctype = let ty =
7241 let p0 = p00 in
7242 let r0 = r00 in
7243 let ty =
7244 let p = p0 in
7245 let r = r0 in
7246
7247# 511 "parser_cocci_menhir.mly"
7248 ( let nm = (r,P.id2name p) in
7249 (* this is only possible when we are in a metavar decl. Otherwise,
7250 it will be represented already as a MetaType *)
7251 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7252 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7253 Ast0.Impure (*will be ignored*))) )
7254# 7255 "parser_cocci_menhir.ml"
7255
7256 in
7257
7258# 557 "parser_cocci_menhir.mly"
7259 ( ty )
7260# 7261 "parser_cocci_menhir.ml"
7261
7262 in
7263 let cv =
7264
7265# 39 "standard.mly"
7266 ( None )
7267# 7268 "parser_cocci_menhir.ml"
7268
7269 in
7270
7271# 562 "parser_cocci_menhir.mly"
7272 ( P.pointerify (P.make_cv cv ty) m )
7273# 7274 "parser_cocci_menhir.ml"
7274 in
7275 _menhir_env.MenhirLib.EngineTypes.stack <- {
7276 MenhirLib.EngineTypes.state = _menhir_s;
7277 MenhirLib.EngineTypes.semv = Obj.repr _v;
7278 MenhirLib.EngineTypes.startp = _startpos;
7279 MenhirLib.EngineTypes.endp = _endpos;
7280 MenhirLib.EngineTypes.next = _menhir_stack;
7281 });
7282 (fun _menhir_env ->
7283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7284 let {
7285 MenhirLib.EngineTypes.semv = m;
7286 MenhirLib.EngineTypes.startp = _startpos_m_;
7287 MenhirLib.EngineTypes.endp = _endpos_m_;
7288 MenhirLib.EngineTypes.next = {
7289 MenhirLib.EngineTypes.state = _menhir_s;
7290 MenhirLib.EngineTypes.semv = ty00;
7291 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7292 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7293 MenhirLib.EngineTypes.next = _menhir_stack;
7294 };
7295 } = _menhir_stack in
7296 let m : 'tv_list_TMul_ = Obj.magic m in
7297 let ty00 : (
7298# 49 "parser_cocci_menhir.mly"
7299 (Data.clt)
7300# 7301 "parser_cocci_menhir.ml"
7301 ) = Obj.magic ty00 in
7302 let _startpos = _startpos_ty00_ in
7303 let _endpos = _endpos_m_ in
7304 let _v : 'tv_ctype = let ty =
7305 let ty0 = ty00 in
7306 let ty =
7307 let ty = ty0 in
7308
7309# 518 "parser_cocci_menhir.mly"
7310 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7311# 7312 "parser_cocci_menhir.ml"
7312
7313 in
7314
7315# 557 "parser_cocci_menhir.mly"
7316 ( ty )
7317# 7318 "parser_cocci_menhir.ml"
7318
7319 in
7320 let cv =
7321
7322# 39 "standard.mly"
7323 ( None )
7324# 7325 "parser_cocci_menhir.ml"
7325
7326 in
7327
7328# 562 "parser_cocci_menhir.mly"
7329 ( P.pointerify (P.make_cv cv ty) m )
7330# 7331 "parser_cocci_menhir.ml"
7331 in
7332 _menhir_env.MenhirLib.EngineTypes.stack <- {
7333 MenhirLib.EngineTypes.state = _menhir_s;
7334 MenhirLib.EngineTypes.semv = Obj.repr _v;
7335 MenhirLib.EngineTypes.startp = _startpos;
7336 MenhirLib.EngineTypes.endp = _endpos;
7337 MenhirLib.EngineTypes.next = _menhir_stack;
7338 });
7339 (fun _menhir_env ->
7340 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7341 let {
7342 MenhirLib.EngineTypes.semv = m;
7343 MenhirLib.EngineTypes.startp = _startpos_m_;
7344 MenhirLib.EngineTypes.endp = _endpos_m_;
7345 MenhirLib.EngineTypes.next = {
7346 MenhirLib.EngineTypes.semv = ty200;
7347 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7348 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7349 MenhirLib.EngineTypes.next = {
7350 MenhirLib.EngineTypes.state = _menhir_s;
7351 MenhirLib.EngineTypes.semv = ty100;
7352 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7353 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7354 MenhirLib.EngineTypes.next = _menhir_stack;
7355 };
7356 };
7357 } = _menhir_stack in
7358 let m : 'tv_list_TMul_ = Obj.magic m in
7359 let ty200 : (
7360# 49 "parser_cocci_menhir.mly"
7361 (Data.clt)
7362# 7363 "parser_cocci_menhir.ml"
7363 ) = Obj.magic ty200 in
7364 let ty100 : (
7365# 49 "parser_cocci_menhir.mly"
7366 (Data.clt)
7367# 7368 "parser_cocci_menhir.ml"
7368 ) = Obj.magic ty100 in
7369 let _startpos = _startpos_ty100_ in
7370 let _endpos = _endpos_m_ in
7371 let _v : 'tv_ctype = let ty =
7372 let ty20 = ty200 in
7373 let ty10 = ty100 in
7374 let ty =
7375 let ty2 = ty20 in
7376 let ty1 = ty10 in
7377
7378# 520 "parser_cocci_menhir.mly"
7379 ( Ast0.wrap
7380 (Ast0.BaseType
7381 (Ast.LongLongType,
7382 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7383# 7384 "parser_cocci_menhir.ml"
7384
7385 in
7386
7387# 557 "parser_cocci_menhir.mly"
7388 ( ty )
7389# 7390 "parser_cocci_menhir.ml"
7390
7391 in
7392 let cv =
7393
7394# 39 "standard.mly"
7395 ( None )
7396# 7397 "parser_cocci_menhir.ml"
7397
7398 in
7399
7400# 562 "parser_cocci_menhir.mly"
7401 ( P.pointerify (P.make_cv cv ty) m )
7402# 7403 "parser_cocci_menhir.ml"
7403 in
7404 _menhir_env.MenhirLib.EngineTypes.stack <- {
7405 MenhirLib.EngineTypes.state = _menhir_s;
7406 MenhirLib.EngineTypes.semv = Obj.repr _v;
7407 MenhirLib.EngineTypes.startp = _startpos;
7408 MenhirLib.EngineTypes.endp = _endpos;
7409 MenhirLib.EngineTypes.next = _menhir_stack;
7410 });
7411 (fun _menhir_env ->
7412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7413 let {
7414 MenhirLib.EngineTypes.semv = m;
7415 MenhirLib.EngineTypes.startp = _startpos_m_;
7416 MenhirLib.EngineTypes.endp = _endpos_m_;
7417 MenhirLib.EngineTypes.next = {
7418 MenhirLib.EngineTypes.state = _menhir_s;
7419 MenhirLib.EngineTypes.semv = ty00;
7420 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7421 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7422 MenhirLib.EngineTypes.next = _menhir_stack;
7423 };
7424 } = _menhir_stack in
7425 let m : 'tv_list_TMul_ = Obj.magic m in
7426 let ty00 : (
7427# 50 "parser_cocci_menhir.mly"
7428 (Data.clt)
7429# 7430 "parser_cocci_menhir.ml"
7430 ) = Obj.magic ty00 in
7431 let _startpos = _startpos_ty00_ in
7432 let _endpos = _endpos_m_ in
7433 let _v : 'tv_ctype = let ty =
7434 let ty0 = ty00 in
7435 let ty =
7436 let ty = ty0 in
7437
7438# 528 "parser_cocci_menhir.mly"
7439 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
7440# 7441 "parser_cocci_menhir.ml"
7441
7442 in
7443
7444# 558 "parser_cocci_menhir.mly"
7445 ( ty )
7446# 7447 "parser_cocci_menhir.ml"
7447
7448 in
7449 let cv =
7450
7451# 39 "standard.mly"
7452 ( None )
7453# 7454 "parser_cocci_menhir.ml"
7454
7455 in
7456
7457# 562 "parser_cocci_menhir.mly"
7458 ( P.pointerify (P.make_cv cv ty) m )
7459# 7460 "parser_cocci_menhir.ml"
7460 in
7461 _menhir_env.MenhirLib.EngineTypes.stack <- {
7462 MenhirLib.EngineTypes.state = _menhir_s;
7463 MenhirLib.EngineTypes.semv = Obj.repr _v;
7464 MenhirLib.EngineTypes.startp = _startpos;
7465 MenhirLib.EngineTypes.endp = _endpos;
7466 MenhirLib.EngineTypes.next = _menhir_stack;
7467 });
7468 (fun _menhir_env ->
7469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7470 let {
7471 MenhirLib.EngineTypes.semv = m;
7472 MenhirLib.EngineTypes.startp = _startpos_m_;
7473 MenhirLib.EngineTypes.endp = _endpos_m_;
7474 MenhirLib.EngineTypes.next = {
7475 MenhirLib.EngineTypes.state = _menhir_s;
7476 MenhirLib.EngineTypes.semv = ty00;
7477 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7478 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7479 MenhirLib.EngineTypes.next = _menhir_stack;
7480 };
7481 } = _menhir_stack in
7482 let m : 'tv_list_TMul_ = Obj.magic m in
7483 let ty00 : (
7484# 49 "parser_cocci_menhir.mly"
7485 (Data.clt)
7486# 7487 "parser_cocci_menhir.ml"
7487 ) = Obj.magic ty00 in
7488 let _startpos = _startpos_ty00_ in
7489 let _endpos = _endpos_m_ in
7490 let _v : 'tv_ctype = let ty =
7491 let ty0 = ty00 in
7492 let ty =
7493 let ty = ty0 in
7494
7495# 530 "parser_cocci_menhir.mly"
7496 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
7497# 7498 "parser_cocci_menhir.ml"
7498
7499 in
7500
7501# 558 "parser_cocci_menhir.mly"
7502 ( ty )
7503# 7504 "parser_cocci_menhir.ml"
7504
7505 in
7506 let cv =
7507
7508# 39 "standard.mly"
7509 ( None )
7510# 7511 "parser_cocci_menhir.ml"
7511
7512 in
7513
7514# 562 "parser_cocci_menhir.mly"
7515 ( P.pointerify (P.make_cv cv ty) m )
7516# 7517 "parser_cocci_menhir.ml"
7517 in
7518 _menhir_env.MenhirLib.EngineTypes.stack <- {
7519 MenhirLib.EngineTypes.state = _menhir_s;
7520 MenhirLib.EngineTypes.semv = Obj.repr _v;
7521 MenhirLib.EngineTypes.startp = _startpos;
7522 MenhirLib.EngineTypes.endp = _endpos;
7523 MenhirLib.EngineTypes.next = _menhir_stack;
7524 });
7525 (fun _menhir_env ->
7526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7527 let {
7528 MenhirLib.EngineTypes.semv = m;
7529 MenhirLib.EngineTypes.startp = _startpos_m_;
7530 MenhirLib.EngineTypes.endp = _endpos_m_;
7531 MenhirLib.EngineTypes.next = {
7532 MenhirLib.EngineTypes.state = _menhir_s;
7533 MenhirLib.EngineTypes.semv = ty00;
7534 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7535 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7536 MenhirLib.EngineTypes.next = _menhir_stack;
7537 };
7538 } = _menhir_stack in
7539 let m : 'tv_list_TMul_ = Obj.magic m in
7540 let ty00 : (
7541# 49 "parser_cocci_menhir.mly"
7542 (Data.clt)
7543# 7544 "parser_cocci_menhir.ml"
7544 ) = Obj.magic ty00 in
7545 let _startpos = _startpos_ty00_ in
7546 let _endpos = _endpos_m_ in
7547 let _v : 'tv_ctype = let ty =
7548 let ty0 = ty00 in
7549 let ty =
7550 let ty = ty0 in
7551
7552# 532 "parser_cocci_menhir.mly"
7553 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
7554# 7555 "parser_cocci_menhir.ml"
7555
7556 in
7557
7558# 558 "parser_cocci_menhir.mly"
7559 ( ty )
7560# 7561 "parser_cocci_menhir.ml"
7561
7562 in
7563 let cv =
7564
7565# 39 "standard.mly"
7566 ( None )
7567# 7568 "parser_cocci_menhir.ml"
7568
7569 in
7570
7571# 562 "parser_cocci_menhir.mly"
7572 ( P.pointerify (P.make_cv cv ty) m )
7573# 7574 "parser_cocci_menhir.ml"
7574 in
7575 _menhir_env.MenhirLib.EngineTypes.stack <- {
7576 MenhirLib.EngineTypes.state = _menhir_s;
7577 MenhirLib.EngineTypes.semv = Obj.repr _v;
7578 MenhirLib.EngineTypes.startp = _startpos;
7579 MenhirLib.EngineTypes.endp = _endpos;
7580 MenhirLib.EngineTypes.next = _menhir_stack;
7581 });
7582 (fun _menhir_env ->
7583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7584 let {
7585 MenhirLib.EngineTypes.semv = m;
7586 MenhirLib.EngineTypes.startp = _startpos_m_;
7587 MenhirLib.EngineTypes.endp = _endpos_m_;
7588 MenhirLib.EngineTypes.next = {
7589 MenhirLib.EngineTypes.semv = i00;
7590 MenhirLib.EngineTypes.startp = _startpos_i00_;
7591 MenhirLib.EngineTypes.endp = _endpos_i00_;
7592 MenhirLib.EngineTypes.next = {
7593 MenhirLib.EngineTypes.state = _menhir_s;
7594 MenhirLib.EngineTypes.semv = s00;
7595 MenhirLib.EngineTypes.startp = _startpos_s00_;
7596 MenhirLib.EngineTypes.endp = _endpos_s00_;
7597 MenhirLib.EngineTypes.next = _menhir_stack;
7598 };
7599 };
7600 } = _menhir_stack in
7601 let m : 'tv_list_TMul_ = Obj.magic m in
7602 let i00 : 'tv_ident = Obj.magic i00 in
7603 let s00 : (
7604# 50 "parser_cocci_menhir.mly"
7605 (Data.clt)
7606# 7607 "parser_cocci_menhir.ml"
7607 ) = Obj.magic s00 in
7608 let _startpos = _startpos_s00_ in
7609 let _endpos = _endpos_m_ in
7610 let _v : 'tv_ctype = let ty =
7611 let i0 = i00 in
7612 let s0 = s00 in
7613 let ty =
7614 let i = i0 in
7615 let s = s0 in
7616
7617# 534 "parser_cocci_menhir.mly"
7618 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
7619# 7620 "parser_cocci_menhir.ml"
7620
7621 in
7622
7623# 558 "parser_cocci_menhir.mly"
7624 ( ty )
7625# 7626 "parser_cocci_menhir.ml"
7626
7627 in
7628 let cv =
7629
7630# 39 "standard.mly"
7631 ( None )
7632# 7633 "parser_cocci_menhir.ml"
7633
7634 in
7635
7636# 562 "parser_cocci_menhir.mly"
7637 ( P.pointerify (P.make_cv cv ty) m )
7638# 7639 "parser_cocci_menhir.ml"
7639 in
7640 _menhir_env.MenhirLib.EngineTypes.stack <- {
7641 MenhirLib.EngineTypes.state = _menhir_s;
7642 MenhirLib.EngineTypes.semv = Obj.repr _v;
7643 MenhirLib.EngineTypes.startp = _startpos;
7644 MenhirLib.EngineTypes.endp = _endpos;
7645 MenhirLib.EngineTypes.next = _menhir_stack;
7646 });
7647 (fun _menhir_env ->
7648 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7649 let {
7650 MenhirLib.EngineTypes.semv = m;
7651 MenhirLib.EngineTypes.startp = _startpos_m_;
7652 MenhirLib.EngineTypes.endp = _endpos_m_;
7653 MenhirLib.EngineTypes.next = {
7654 MenhirLib.EngineTypes.semv = i00;
7655 MenhirLib.EngineTypes.startp = _startpos_i00_;
7656 MenhirLib.EngineTypes.endp = _endpos_i00_;
7657 MenhirLib.EngineTypes.next = {
7658 MenhirLib.EngineTypes.state = _menhir_s;
7659 MenhirLib.EngineTypes.semv = s00;
7660 MenhirLib.EngineTypes.startp = _startpos_s00_;
7661 MenhirLib.EngineTypes.endp = _endpos_s00_;
7662 MenhirLib.EngineTypes.next = _menhir_stack;
7663 };
7664 };
7665 } = _menhir_stack in
7666 let m : 'tv_list_TMul_ = Obj.magic m in
7667 let i00 : 'tv_ident = Obj.magic i00 in
7668 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7669 let _startpos = _startpos_s00_ in
7670 let _endpos = _endpos_m_ in
7671 let _v : 'tv_ctype = let ty =
7672 let i0 = i00 in
7673 let s0 = s00 in
7674 let ty =
7675 let i = i0 in
7676 let s = s0 in
7677
7678# 536 "parser_cocci_menhir.mly"
7679 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
7680# 7681 "parser_cocci_menhir.ml"
7681
7682 in
7683
7684# 558 "parser_cocci_menhir.mly"
7685 ( ty )
7686# 7687 "parser_cocci_menhir.ml"
7687
7688 in
7689 let cv =
7690
7691# 39 "standard.mly"
7692 ( None )
7693# 7694 "parser_cocci_menhir.ml"
7694
7695 in
7696
7697# 562 "parser_cocci_menhir.mly"
7698 ( P.pointerify (P.make_cv cv ty) m )
7699# 7700 "parser_cocci_menhir.ml"
7700 in
7701 _menhir_env.MenhirLib.EngineTypes.stack <- {
7702 MenhirLib.EngineTypes.state = _menhir_s;
7703 MenhirLib.EngineTypes.semv = Obj.repr _v;
7704 MenhirLib.EngineTypes.startp = _startpos;
7705 MenhirLib.EngineTypes.endp = _endpos;
7706 MenhirLib.EngineTypes.next = _menhir_stack;
7707 });
7708 (fun _menhir_env ->
7709 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7710 let {
7711 MenhirLib.EngineTypes.semv = m;
7712 MenhirLib.EngineTypes.startp = _startpos_m_;
7713 MenhirLib.EngineTypes.endp = _endpos_m_;
7714 MenhirLib.EngineTypes.next = {
7715 MenhirLib.EngineTypes.semv = r00;
7716 MenhirLib.EngineTypes.startp = _startpos_r00_;
7717 MenhirLib.EngineTypes.endp = _endpos_r00_;
7718 MenhirLib.EngineTypes.next = {
7719 MenhirLib.EngineTypes.semv = d00;
7720 MenhirLib.EngineTypes.startp = _startpos_d00_;
7721 MenhirLib.EngineTypes.endp = _endpos_d00_;
7722 MenhirLib.EngineTypes.next = {
7723 MenhirLib.EngineTypes.semv = l00;
7724 MenhirLib.EngineTypes.startp = _startpos_l00_;
7725 MenhirLib.EngineTypes.endp = _endpos_l00_;
7726 MenhirLib.EngineTypes.next = {
7727 MenhirLib.EngineTypes.state = _menhir_s;
7728 MenhirLib.EngineTypes.semv = s00;
7729 MenhirLib.EngineTypes.startp = _startpos_s00_;
7730 MenhirLib.EngineTypes.endp = _endpos_s00_;
7731 MenhirLib.EngineTypes.next = _menhir_stack;
7732 };
7733 };
7734 };
7735 };
7736 } = _menhir_stack in
7737 let m : 'tv_list_TMul_ = Obj.magic m in
7738 let r00 : (
7739# 102 "parser_cocci_menhir.mly"
7740 (Data.clt)
7741# 7742 "parser_cocci_menhir.ml"
7742 ) = Obj.magic r00 in
7743 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7744 let l00 : (
7745# 102 "parser_cocci_menhir.mly"
7746 (Data.clt)
7747# 7748 "parser_cocci_menhir.ml"
7748 ) = Obj.magic l00 in
7749 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7750 let _startpos = _startpos_s00_ in
7751 let _endpos = _endpos_m_ in
7752 let _v : 'tv_ctype = let ty =
7753 let r0 = r00 in
7754 let d0 = d00 in
7755 let l0 = l00 in
7756 let s0 = s00 in
7757 let ty =
7758 let r = r0 in
7759 let d = d0 in
7760 let l = l0 in
7761 let s = s0 in
7762 let i =
7763
7764# 39 "standard.mly"
7765 ( None )
7766# 7767 "parser_cocci_menhir.ml"
7767
7768 in
7769
7770# 539 "parser_cocci_menhir.mly"
7771 ( (if i = None && !Data.in_iso
7772 then failwith "structures must be named in the iso file");
7773 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7774 P.clt2mcode "{" l,
7775 d, P.clt2mcode "}" r)) )
7776# 7777 "parser_cocci_menhir.ml"
7777
7778 in
7779
7780# 558 "parser_cocci_menhir.mly"
7781 ( ty )
7782# 7783 "parser_cocci_menhir.ml"
7783
7784 in
7785 let cv =
7786
7787# 39 "standard.mly"
7788 ( None )
7789# 7790 "parser_cocci_menhir.ml"
7790
7791 in
7792
7793# 562 "parser_cocci_menhir.mly"
7794 ( P.pointerify (P.make_cv cv ty) m )
7795# 7796 "parser_cocci_menhir.ml"
7796 in
7797 _menhir_env.MenhirLib.EngineTypes.stack <- {
7798 MenhirLib.EngineTypes.state = _menhir_s;
7799 MenhirLib.EngineTypes.semv = Obj.repr _v;
7800 MenhirLib.EngineTypes.startp = _startpos;
7801 MenhirLib.EngineTypes.endp = _endpos;
7802 MenhirLib.EngineTypes.next = _menhir_stack;
7803 });
7804 (fun _menhir_env ->
7805 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7806 let {
7807 MenhirLib.EngineTypes.semv = m;
7808 MenhirLib.EngineTypes.startp = _startpos_m_;
7809 MenhirLib.EngineTypes.endp = _endpos_m_;
7810 MenhirLib.EngineTypes.next = {
7811 MenhirLib.EngineTypes.semv = r00;
7812 MenhirLib.EngineTypes.startp = _startpos_r00_;
7813 MenhirLib.EngineTypes.endp = _endpos_r00_;
7814 MenhirLib.EngineTypes.next = {
7815 MenhirLib.EngineTypes.semv = d00;
7816 MenhirLib.EngineTypes.startp = _startpos_d00_;
7817 MenhirLib.EngineTypes.endp = _endpos_d00_;
7818 MenhirLib.EngineTypes.next = {
7819 MenhirLib.EngineTypes.semv = l00;
7820 MenhirLib.EngineTypes.startp = _startpos_l00_;
7821 MenhirLib.EngineTypes.endp = _endpos_l00_;
7822 MenhirLib.EngineTypes.next = {
7823 MenhirLib.EngineTypes.semv = x000;
7824 MenhirLib.EngineTypes.startp = _startpos_x000_;
7825 MenhirLib.EngineTypes.endp = _endpos_x000_;
7826 MenhirLib.EngineTypes.next = {
7827 MenhirLib.EngineTypes.state = _menhir_s;
7828 MenhirLib.EngineTypes.semv = s00;
7829 MenhirLib.EngineTypes.startp = _startpos_s00_;
7830 MenhirLib.EngineTypes.endp = _endpos_s00_;
7831 MenhirLib.EngineTypes.next = _menhir_stack;
7832 };
7833 };
7834 };
7835 };
7836 };
7837 } = _menhir_stack in
7838 let m : 'tv_list_TMul_ = Obj.magic m in
7839 let r00 : (
7840# 102 "parser_cocci_menhir.mly"
7841 (Data.clt)
7842# 7843 "parser_cocci_menhir.ml"
7843 ) = Obj.magic r00 in
7844 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7845 let l00 : (
7846# 102 "parser_cocci_menhir.mly"
7847 (Data.clt)
7848# 7849 "parser_cocci_menhir.ml"
7849 ) = Obj.magic l00 in
7850 let x000 : 'tv_ident = Obj.magic x000 in
7851 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7852 let _startpos = _startpos_s00_ in
7853 let _endpos = _endpos_m_ in
7854 let _v : 'tv_ctype = let ty =
7855 let r0 = r00 in
7856 let d0 = d00 in
7857 let l0 = l00 in
7858 let x00 = x000 in
7859 let s0 = s00 in
7860 let ty =
7861 let r = r0 in
7862 let d = d0 in
7863 let l = l0 in
7864 let x0 = x00 in
7865 let s = s0 in
7866 let i =
7867 let x = x0 in
7868
7869# 41 "standard.mly"
7870 ( Some x )
7871# 7872 "parser_cocci_menhir.ml"
7872
7873 in
7874
7875# 539 "parser_cocci_menhir.mly"
7876 ( (if i = None && !Data.in_iso
7877 then failwith "structures must be named in the iso file");
7878 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7879 P.clt2mcode "{" l,
7880 d, P.clt2mcode "}" r)) )
7881# 7882 "parser_cocci_menhir.ml"
7882
7883 in
7884
7885# 558 "parser_cocci_menhir.mly"
7886 ( ty )
7887# 7888 "parser_cocci_menhir.ml"
7888
7889 in
7890 let cv =
7891
7892# 39 "standard.mly"
7893 ( None )
7894# 7895 "parser_cocci_menhir.ml"
7895
7896 in
7897
7898# 562 "parser_cocci_menhir.mly"
7899 ( P.pointerify (P.make_cv cv ty) m )
7900# 7901 "parser_cocci_menhir.ml"
7901 in
7902 _menhir_env.MenhirLib.EngineTypes.stack <- {
7903 MenhirLib.EngineTypes.state = _menhir_s;
7904 MenhirLib.EngineTypes.semv = Obj.repr _v;
7905 MenhirLib.EngineTypes.startp = _startpos;
7906 MenhirLib.EngineTypes.endp = _endpos;
7907 MenhirLib.EngineTypes.next = _menhir_stack;
7908 });
7909 (fun _menhir_env ->
7910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7911 let {
7912 MenhirLib.EngineTypes.semv = m;
7913 MenhirLib.EngineTypes.startp = _startpos_m_;
7914 MenhirLib.EngineTypes.endp = _endpos_m_;
7915 MenhirLib.EngineTypes.next = {
7916 MenhirLib.EngineTypes.semv = r00;
7917 MenhirLib.EngineTypes.startp = _startpos_r00_;
7918 MenhirLib.EngineTypes.endp = _endpos_r00_;
7919 MenhirLib.EngineTypes.next = {
7920 MenhirLib.EngineTypes.semv = d00;
7921 MenhirLib.EngineTypes.startp = _startpos_d00_;
7922 MenhirLib.EngineTypes.endp = _endpos_d00_;
7923 MenhirLib.EngineTypes.next = {
7924 MenhirLib.EngineTypes.semv = l00;
7925 MenhirLib.EngineTypes.startp = _startpos_l00_;
7926 MenhirLib.EngineTypes.endp = _endpos_l00_;
7927 MenhirLib.EngineTypes.next = {
7928 MenhirLib.EngineTypes.state = _menhir_s;
7929 MenhirLib.EngineTypes.semv = s00;
7930 MenhirLib.EngineTypes.startp = _startpos_s00_;
7931 MenhirLib.EngineTypes.endp = _endpos_s00_;
7932 MenhirLib.EngineTypes.next = _menhir_stack;
7933 };
7934 };
7935 };
7936 };
7937 } = _menhir_stack in
7938 let m : 'tv_list_TMul_ = Obj.magic m in
7939 let r00 : (
7940# 102 "parser_cocci_menhir.mly"
7941 (Data.clt)
7942# 7943 "parser_cocci_menhir.ml"
7943 ) = Obj.magic r00 in
7944 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7945 let l00 : (
7946# 102 "parser_cocci_menhir.mly"
7947 (Data.clt)
7948# 7949 "parser_cocci_menhir.ml"
7949 ) = Obj.magic l00 in
7950 let s00 : (
7951# 65 "parser_cocci_menhir.mly"
7952 (Parse_aux.info)
7953# 7954 "parser_cocci_menhir.ml"
7954 ) = Obj.magic s00 in
7955 let _startpos = _startpos_s00_ in
7956 let _endpos = _endpos_m_ in
7957 let _v : 'tv_ctype = let ty =
7958 let r0 = r00 in
7959 let d0 = d00 in
7960 let l0 = l00 in
7961 let s0 = s00 in
7962 let ty =
7963 let r = r0 in
7964 let d = d0 in
7965 let l = l0 in
7966 let s = s0 in
7967
7968# 545 "parser_cocci_menhir.mly"
7969 ( let (nm,pure,clt) = s in
7970 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
7971 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
7972# 7973 "parser_cocci_menhir.ml"
7973
7974 in
7975
7976# 558 "parser_cocci_menhir.mly"
7977 ( ty )
7978# 7979 "parser_cocci_menhir.ml"
7979
7980 in
7981 let cv =
7982
7983# 39 "standard.mly"
7984 ( None )
7985# 7986 "parser_cocci_menhir.ml"
7986
7987 in
7988
7989# 562 "parser_cocci_menhir.mly"
7990 ( P.pointerify (P.make_cv cv ty) m )
7991# 7992 "parser_cocci_menhir.ml"
7992 in
7993 _menhir_env.MenhirLib.EngineTypes.stack <- {
7994 MenhirLib.EngineTypes.state = _menhir_s;
7995 MenhirLib.EngineTypes.semv = Obj.repr _v;
7996 MenhirLib.EngineTypes.startp = _startpos;
7997 MenhirLib.EngineTypes.endp = _endpos;
7998 MenhirLib.EngineTypes.next = _menhir_stack;
7999 });
8000 (fun _menhir_env ->
8001 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8002 let {
8003 MenhirLib.EngineTypes.semv = m;
8004 MenhirLib.EngineTypes.startp = _startpos_m_;
8005 MenhirLib.EngineTypes.endp = _endpos_m_;
8006 MenhirLib.EngineTypes.next = {
8007 MenhirLib.EngineTypes.state = _menhir_s;
8008 MenhirLib.EngineTypes.semv = p00;
8009 MenhirLib.EngineTypes.startp = _startpos_p00_;
8010 MenhirLib.EngineTypes.endp = _endpos_p00_;
8011 MenhirLib.EngineTypes.next = _menhir_stack;
8012 };
8013 } = _menhir_stack in
8014 let m : 'tv_list_TMul_ = Obj.magic m in
8015 let p00 : (
8016# 59 "parser_cocci_menhir.mly"
8017 (string * Data.clt)
8018# 8019 "parser_cocci_menhir.ml"
8019 ) = Obj.magic p00 in
8020 let _startpos = _startpos_p00_ in
8021 let _endpos = _endpos_m_ in
8022 let _v : 'tv_ctype = let ty =
8023 let p0 = p00 in
8024 let ty =
8025 let p = p0 in
8026
8027# 549 "parser_cocci_menhir.mly"
8028 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
8029# 8030 "parser_cocci_menhir.ml"
8030
8031 in
8032
8033# 558 "parser_cocci_menhir.mly"
8034 ( ty )
8035# 8036 "parser_cocci_menhir.ml"
8036
8037 in
8038 let cv =
8039
8040# 39 "standard.mly"
8041 ( None )
8042# 8043 "parser_cocci_menhir.ml"
8043
8044 in
8045
8046# 562 "parser_cocci_menhir.mly"
8047 ( P.pointerify (P.make_cv cv ty) m )
8048# 8049 "parser_cocci_menhir.ml"
8049 in
8050 _menhir_env.MenhirLib.EngineTypes.stack <- {
8051 MenhirLib.EngineTypes.state = _menhir_s;
8052 MenhirLib.EngineTypes.semv = Obj.repr _v;
8053 MenhirLib.EngineTypes.startp = _startpos;
8054 MenhirLib.EngineTypes.endp = _endpos;
8055 MenhirLib.EngineTypes.next = _menhir_stack;
8056 });
8057 (fun _menhir_env ->
8058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8059 let {
8060 MenhirLib.EngineTypes.semv = m;
8061 MenhirLib.EngineTypes.startp = _startpos_m_;
8062 MenhirLib.EngineTypes.endp = _endpos_m_;
8063 MenhirLib.EngineTypes.next = {
8064 MenhirLib.EngineTypes.semv = ty00;
8065 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8066 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8067 MenhirLib.EngineTypes.next = {
8068 MenhirLib.EngineTypes.semv = r0;
8069 MenhirLib.EngineTypes.startp = _startpos_r0_;
8070 MenhirLib.EngineTypes.endp = _endpos_r0_;
8071 MenhirLib.EngineTypes.next = {
8072 MenhirLib.EngineTypes.state = _menhir_s;
8073 MenhirLib.EngineTypes.semv = x0;
8074 MenhirLib.EngineTypes.startp = _startpos_x0_;
8075 MenhirLib.EngineTypes.endp = _endpos_x0_;
8076 MenhirLib.EngineTypes.next = _menhir_stack;
8077 };
8078 };
8079 };
8080 } = _menhir_stack in
8081 let m : 'tv_list_TMul_ = Obj.magic m in
8082 let ty00 : (
8083# 49 "parser_cocci_menhir.mly"
8084 (Data.clt)
8085# 8086 "parser_cocci_menhir.ml"
8086 ) = Obj.magic ty00 in
8087 let r0 : (
8088# 51 "parser_cocci_menhir.mly"
8089 (Data.clt)
8090# 8091 "parser_cocci_menhir.ml"
8091 ) = Obj.magic r0 in
8092 let x0 : 'tv_const_vol = Obj.magic x0 in
8093 let _startpos = _startpos_x0_ in
8094 let _endpos = _endpos_m_ in
8095 let _v : 'tv_ctype = let ty =
8096 let ty0 = ty00 in
8097 let r = r0 in
8098 let ty =
8099 let ty = ty0 in
8100
8101# 502 "parser_cocci_menhir.mly"
8102 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8103# 8104 "parser_cocci_menhir.ml"
8104
8105 in
8106
8107# 554 "parser_cocci_menhir.mly"
8108 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8109# 8110 "parser_cocci_menhir.ml"
8110
8111 in
8112 let cv =
8113 let x = x0 in
8114
8115# 41 "standard.mly"
8116 ( Some x )
8117# 8118 "parser_cocci_menhir.ml"
8118
8119 in
8120
8121# 562 "parser_cocci_menhir.mly"
8122 ( P.pointerify (P.make_cv cv ty) m )
8123# 8124 "parser_cocci_menhir.ml"
8124 in
8125 _menhir_env.MenhirLib.EngineTypes.stack <- {
8126 MenhirLib.EngineTypes.state = _menhir_s;
8127 MenhirLib.EngineTypes.semv = Obj.repr _v;
8128 MenhirLib.EngineTypes.startp = _startpos;
8129 MenhirLib.EngineTypes.endp = _endpos;
8130 MenhirLib.EngineTypes.next = _menhir_stack;
8131 });
8132 (fun _menhir_env ->
8133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8134 let {
8135 MenhirLib.EngineTypes.semv = m;
8136 MenhirLib.EngineTypes.startp = _startpos_m_;
8137 MenhirLib.EngineTypes.endp = _endpos_m_;
8138 MenhirLib.EngineTypes.next = {
8139 MenhirLib.EngineTypes.semv = ty00;
8140 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8141 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8142 MenhirLib.EngineTypes.next = {
8143 MenhirLib.EngineTypes.semv = r0;
8144 MenhirLib.EngineTypes.startp = _startpos_r0_;
8145 MenhirLib.EngineTypes.endp = _endpos_r0_;
8146 MenhirLib.EngineTypes.next = {
8147 MenhirLib.EngineTypes.state = _menhir_s;
8148 MenhirLib.EngineTypes.semv = x0;
8149 MenhirLib.EngineTypes.startp = _startpos_x0_;
8150 MenhirLib.EngineTypes.endp = _endpos_x0_;
8151 MenhirLib.EngineTypes.next = _menhir_stack;
8152 };
8153 };
8154 };
8155 } = _menhir_stack in
8156 let m : 'tv_list_TMul_ = Obj.magic m in
8157 let ty00 : (
8158# 49 "parser_cocci_menhir.mly"
8159 (Data.clt)
8160# 8161 "parser_cocci_menhir.ml"
8161 ) = Obj.magic ty00 in
8162 let r0 : (
8163# 51 "parser_cocci_menhir.mly"
8164 (Data.clt)
8165# 8166 "parser_cocci_menhir.ml"
8166 ) = Obj.magic r0 in
8167 let x0 : 'tv_const_vol = Obj.magic x0 in
8168 let _startpos = _startpos_x0_ in
8169 let _endpos = _endpos_m_ in
8170 let _v : 'tv_ctype = let ty =
8171 let ty0 = ty00 in
8172 let r = r0 in
8173 let ty =
8174 let ty = ty0 in
8175
8176# 504 "parser_cocci_menhir.mly"
8177 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8178# 8179 "parser_cocci_menhir.ml"
8179
8180 in
8181
8182# 554 "parser_cocci_menhir.mly"
8183 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8184# 8185 "parser_cocci_menhir.ml"
8185
8186 in
8187 let cv =
8188 let x = x0 in
8189
8190# 41 "standard.mly"
8191 ( Some x )
8192# 8193 "parser_cocci_menhir.ml"
8193
8194 in
8195
8196# 562 "parser_cocci_menhir.mly"
8197 ( P.pointerify (P.make_cv cv ty) m )
8198# 8199 "parser_cocci_menhir.ml"
8199 in
8200 _menhir_env.MenhirLib.EngineTypes.stack <- {
8201 MenhirLib.EngineTypes.state = _menhir_s;
8202 MenhirLib.EngineTypes.semv = Obj.repr _v;
8203 MenhirLib.EngineTypes.startp = _startpos;
8204 MenhirLib.EngineTypes.endp = _endpos;
8205 MenhirLib.EngineTypes.next = _menhir_stack;
8206 });
8207 (fun _menhir_env ->
8208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8209 let {
8210 MenhirLib.EngineTypes.semv = m;
8211 MenhirLib.EngineTypes.startp = _startpos_m_;
8212 MenhirLib.EngineTypes.endp = _endpos_m_;
8213 MenhirLib.EngineTypes.next = {
8214 MenhirLib.EngineTypes.semv = ty00;
8215 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8216 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8217 MenhirLib.EngineTypes.next = {
8218 MenhirLib.EngineTypes.semv = r0;
8219 MenhirLib.EngineTypes.startp = _startpos_r0_;
8220 MenhirLib.EngineTypes.endp = _endpos_r0_;
8221 MenhirLib.EngineTypes.next = {
8222 MenhirLib.EngineTypes.state = _menhir_s;
8223 MenhirLib.EngineTypes.semv = x0;
8224 MenhirLib.EngineTypes.startp = _startpos_x0_;
8225 MenhirLib.EngineTypes.endp = _endpos_x0_;
8226 MenhirLib.EngineTypes.next = _menhir_stack;
8227 };
8228 };
8229 };
8230 } = _menhir_stack in
8231 let m : 'tv_list_TMul_ = Obj.magic m in
8232 let ty00 : (
8233# 49 "parser_cocci_menhir.mly"
8234 (Data.clt)
8235# 8236 "parser_cocci_menhir.ml"
8236 ) = Obj.magic ty00 in
8237 let r0 : (
8238# 51 "parser_cocci_menhir.mly"
8239 (Data.clt)
8240# 8241 "parser_cocci_menhir.ml"
8241 ) = Obj.magic r0 in
8242 let x0 : 'tv_const_vol = Obj.magic x0 in
8243 let _startpos = _startpos_x0_ in
8244 let _endpos = _endpos_m_ in
8245 let _v : 'tv_ctype = let ty =
8246 let ty0 = ty00 in
8247 let r = r0 in
8248 let ty =
8249 let ty = ty0 in
8250
8251# 506 "parser_cocci_menhir.mly"
8252 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8253# 8254 "parser_cocci_menhir.ml"
8254
8255 in
8256
8257# 554 "parser_cocci_menhir.mly"
8258 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8259# 8260 "parser_cocci_menhir.ml"
8260
8261 in
8262 let cv =
8263 let x = x0 in
8264
8265# 41 "standard.mly"
8266 ( Some x )
8267# 8268 "parser_cocci_menhir.ml"
8268
8269 in
8270
8271# 562 "parser_cocci_menhir.mly"
8272 ( P.pointerify (P.make_cv cv ty) m )
8273# 8274 "parser_cocci_menhir.ml"
8274 in
8275 _menhir_env.MenhirLib.EngineTypes.stack <- {
8276 MenhirLib.EngineTypes.state = _menhir_s;
8277 MenhirLib.EngineTypes.semv = Obj.repr _v;
8278 MenhirLib.EngineTypes.startp = _startpos;
8279 MenhirLib.EngineTypes.endp = _endpos;
8280 MenhirLib.EngineTypes.next = _menhir_stack;
8281 });
8282 (fun _menhir_env ->
8283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8284 let {
8285 MenhirLib.EngineTypes.semv = m;
8286 MenhirLib.EngineTypes.startp = _startpos_m_;
8287 MenhirLib.EngineTypes.endp = _endpos_m_;
8288 MenhirLib.EngineTypes.next = {
8289 MenhirLib.EngineTypes.semv = p00;
8290 MenhirLib.EngineTypes.startp = _startpos_p00_;
8291 MenhirLib.EngineTypes.endp = _endpos_p00_;
8292 MenhirLib.EngineTypes.next = {
8293 MenhirLib.EngineTypes.semv = r0;
8294 MenhirLib.EngineTypes.startp = _startpos_r0_;
8295 MenhirLib.EngineTypes.endp = _endpos_r0_;
8296 MenhirLib.EngineTypes.next = {
8297 MenhirLib.EngineTypes.state = _menhir_s;
8298 MenhirLib.EngineTypes.semv = x0;
8299 MenhirLib.EngineTypes.startp = _startpos_x0_;
8300 MenhirLib.EngineTypes.endp = _endpos_x0_;
8301 MenhirLib.EngineTypes.next = _menhir_stack;
8302 };
8303 };
8304 };
8305 } = _menhir_stack in
8306 let m : 'tv_list_TMul_ = Obj.magic m in
8307 let p00 : (
8308# 65 "parser_cocci_menhir.mly"
8309 (Parse_aux.info)
8310# 8311 "parser_cocci_menhir.ml"
8311 ) = Obj.magic p00 in
8312 let r0 : (
8313# 51 "parser_cocci_menhir.mly"
8314 (Data.clt)
8315# 8316 "parser_cocci_menhir.ml"
8316 ) = Obj.magic r0 in
8317 let x0 : 'tv_const_vol = Obj.magic x0 in
8318 let _startpos = _startpos_x0_ in
8319 let _endpos = _endpos_m_ in
8320 let _v : 'tv_ctype = let ty =
8321 let p0 = p00 in
8322 let r = r0 in
8323 let ty =
8324 let p = p0 in
8325
8326# 508 "parser_cocci_menhir.mly"
8327 ( let (nm,pure,clt) = p in
8328 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8329# 8330 "parser_cocci_menhir.ml"
8330
8331 in
8332
8333# 554 "parser_cocci_menhir.mly"
8334 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8335# 8336 "parser_cocci_menhir.ml"
8336
8337 in
8338 let cv =
8339 let x = x0 in
8340
8341# 41 "standard.mly"
8342 ( Some x )
8343# 8344 "parser_cocci_menhir.ml"
8344
8345 in
8346
8347# 562 "parser_cocci_menhir.mly"
8348 ( P.pointerify (P.make_cv cv ty) m )
8349# 8350 "parser_cocci_menhir.ml"
8350 in
8351 _menhir_env.MenhirLib.EngineTypes.stack <- {
8352 MenhirLib.EngineTypes.state = _menhir_s;
8353 MenhirLib.EngineTypes.semv = Obj.repr _v;
8354 MenhirLib.EngineTypes.startp = _startpos;
8355 MenhirLib.EngineTypes.endp = _endpos;
8356 MenhirLib.EngineTypes.next = _menhir_stack;
8357 });
8358 (fun _menhir_env ->
8359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8360 let {
8361 MenhirLib.EngineTypes.semv = m;
8362 MenhirLib.EngineTypes.startp = _startpos_m_;
8363 MenhirLib.EngineTypes.endp = _endpos_m_;
8364 MenhirLib.EngineTypes.next = {
8365 MenhirLib.EngineTypes.semv = p00;
8366 MenhirLib.EngineTypes.startp = _startpos_p00_;
8367 MenhirLib.EngineTypes.endp = _endpos_p00_;
8368 MenhirLib.EngineTypes.next = {
8369 MenhirLib.EngineTypes.startp = _startpos__4_;
8370 MenhirLib.EngineTypes.endp = _endpos__4_;
8371 MenhirLib.EngineTypes.next = {
8372 MenhirLib.EngineTypes.semv = r00;
8373 MenhirLib.EngineTypes.startp = _startpos_r00_;
8374 MenhirLib.EngineTypes.endp = _endpos_r00_;
8375 MenhirLib.EngineTypes.next = {
8376 MenhirLib.EngineTypes.semv = r1;
8377 MenhirLib.EngineTypes.startp = _startpos_r1_;
8378 MenhirLib.EngineTypes.endp = _endpos_r1_;
8379 MenhirLib.EngineTypes.next = {
8380 MenhirLib.EngineTypes.state = _menhir_s;
8381 MenhirLib.EngineTypes.semv = x0;
8382 MenhirLib.EngineTypes.startp = _startpos_x0_;
8383 MenhirLib.EngineTypes.endp = _endpos_x0_;
8384 MenhirLib.EngineTypes.next = _menhir_stack;
8385 };
8386 };
8387 };
8388 };
8389 };
8390 } = _menhir_stack in
8391 let m : 'tv_list_TMul_ = Obj.magic m in
8392 let p00 : (
8393# 59 "parser_cocci_menhir.mly"
8394 (string * Data.clt)
8395# 8396 "parser_cocci_menhir.ml"
8396 ) = Obj.magic p00 in
8397 let r00 : (
8398# 47 "parser_cocci_menhir.mly"
8399 (string)
8400# 8401 "parser_cocci_menhir.ml"
8401 ) = Obj.magic r00 in
8402 let r1 : (
8403# 51 "parser_cocci_menhir.mly"
8404 (Data.clt)
8405# 8406 "parser_cocci_menhir.ml"
8406 ) = Obj.magic r1 in
8407 let x0 : 'tv_const_vol = Obj.magic x0 in
8408 let _startpos = _startpos_x0_ in
8409 let _endpos = _endpos_m_ in
8410 let _v : 'tv_ctype = let ty =
8411 let p0 = p00 in
8412 let r0 = r00 in
8413 let r = r1 in
8414 let ty =
8415 let p = p0 in
8416 let r = r0 in
8417
8418# 511 "parser_cocci_menhir.mly"
8419 ( let nm = (r,P.id2name p) in
8420 (* this is only possible when we are in a metavar decl. Otherwise,
8421 it will be represented already as a MetaType *)
8422 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8423 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8424 Ast0.Impure (*will be ignored*))) )
8425# 8426 "parser_cocci_menhir.ml"
8426
8427 in
8428
8429# 554 "parser_cocci_menhir.mly"
8430 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8431# 8432 "parser_cocci_menhir.ml"
8432
8433 in
8434 let cv =
8435 let x = x0 in
8436
8437# 41 "standard.mly"
8438 ( Some x )
8439# 8440 "parser_cocci_menhir.ml"
8440
8441 in
8442
8443# 562 "parser_cocci_menhir.mly"
8444 ( P.pointerify (P.make_cv cv ty) m )
8445# 8446 "parser_cocci_menhir.ml"
8446 in
8447 _menhir_env.MenhirLib.EngineTypes.stack <- {
8448 MenhirLib.EngineTypes.state = _menhir_s;
8449 MenhirLib.EngineTypes.semv = Obj.repr _v;
8450 MenhirLib.EngineTypes.startp = _startpos;
8451 MenhirLib.EngineTypes.endp = _endpos;
8452 MenhirLib.EngineTypes.next = _menhir_stack;
8453 });
8454 (fun _menhir_env ->
8455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8456 let {
8457 MenhirLib.EngineTypes.semv = m;
8458 MenhirLib.EngineTypes.startp = _startpos_m_;
8459 MenhirLib.EngineTypes.endp = _endpos_m_;
8460 MenhirLib.EngineTypes.next = {
8461 MenhirLib.EngineTypes.semv = ty00;
8462 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8463 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8464 MenhirLib.EngineTypes.next = {
8465 MenhirLib.EngineTypes.semv = r0;
8466 MenhirLib.EngineTypes.startp = _startpos_r0_;
8467 MenhirLib.EngineTypes.endp = _endpos_r0_;
8468 MenhirLib.EngineTypes.next = {
8469 MenhirLib.EngineTypes.state = _menhir_s;
8470 MenhirLib.EngineTypes.semv = x0;
8471 MenhirLib.EngineTypes.startp = _startpos_x0_;
8472 MenhirLib.EngineTypes.endp = _endpos_x0_;
8473 MenhirLib.EngineTypes.next = _menhir_stack;
8474 };
8475 };
8476 };
8477 } = _menhir_stack in
8478 let m : 'tv_list_TMul_ = Obj.magic m in
8479 let ty00 : (
8480# 49 "parser_cocci_menhir.mly"
8481 (Data.clt)
8482# 8483 "parser_cocci_menhir.ml"
8483 ) = Obj.magic ty00 in
8484 let r0 : (
8485# 51 "parser_cocci_menhir.mly"
8486 (Data.clt)
8487# 8488 "parser_cocci_menhir.ml"
8488 ) = Obj.magic r0 in
8489 let x0 : 'tv_const_vol = Obj.magic x0 in
8490 let _startpos = _startpos_x0_ in
8491 let _endpos = _endpos_m_ in
8492 let _v : 'tv_ctype = let ty =
8493 let ty0 = ty00 in
8494 let r = r0 in
8495 let ty =
8496 let ty = ty0 in
8497
8498# 518 "parser_cocci_menhir.mly"
8499 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8500# 8501 "parser_cocci_menhir.ml"
8501
8502 in
8503
8504# 554 "parser_cocci_menhir.mly"
8505 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8506# 8507 "parser_cocci_menhir.ml"
8507
8508 in
8509 let cv =
8510 let x = x0 in
8511
8512# 41 "standard.mly"
8513 ( Some x )
8514# 8515 "parser_cocci_menhir.ml"
8515
8516 in
8517
8518# 562 "parser_cocci_menhir.mly"
8519 ( P.pointerify (P.make_cv cv ty) m )
8520# 8521 "parser_cocci_menhir.ml"
8521 in
8522 _menhir_env.MenhirLib.EngineTypes.stack <- {
8523 MenhirLib.EngineTypes.state = _menhir_s;
8524 MenhirLib.EngineTypes.semv = Obj.repr _v;
8525 MenhirLib.EngineTypes.startp = _startpos;
8526 MenhirLib.EngineTypes.endp = _endpos;
8527 MenhirLib.EngineTypes.next = _menhir_stack;
8528 });
8529 (fun _menhir_env ->
8530 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8531 let {
8532 MenhirLib.EngineTypes.semv = m;
8533 MenhirLib.EngineTypes.startp = _startpos_m_;
8534 MenhirLib.EngineTypes.endp = _endpos_m_;
8535 MenhirLib.EngineTypes.next = {
8536 MenhirLib.EngineTypes.semv = ty200;
8537 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8538 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8539 MenhirLib.EngineTypes.next = {
8540 MenhirLib.EngineTypes.semv = ty100;
8541 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8542 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8543 MenhirLib.EngineTypes.next = {
8544 MenhirLib.EngineTypes.semv = r0;
8545 MenhirLib.EngineTypes.startp = _startpos_r0_;
8546 MenhirLib.EngineTypes.endp = _endpos_r0_;
8547 MenhirLib.EngineTypes.next = {
8548 MenhirLib.EngineTypes.state = _menhir_s;
8549 MenhirLib.EngineTypes.semv = x0;
8550 MenhirLib.EngineTypes.startp = _startpos_x0_;
8551 MenhirLib.EngineTypes.endp = _endpos_x0_;
8552 MenhirLib.EngineTypes.next = _menhir_stack;
8553 };
8554 };
8555 };
8556 };
8557 } = _menhir_stack in
8558 let m : 'tv_list_TMul_ = Obj.magic m in
8559 let ty200 : (
8560# 49 "parser_cocci_menhir.mly"
8561 (Data.clt)
8562# 8563 "parser_cocci_menhir.ml"
8563 ) = Obj.magic ty200 in
8564 let ty100 : (
8565# 49 "parser_cocci_menhir.mly"
8566 (Data.clt)
8567# 8568 "parser_cocci_menhir.ml"
8568 ) = Obj.magic ty100 in
8569 let r0 : (
8570# 51 "parser_cocci_menhir.mly"
8571 (Data.clt)
8572# 8573 "parser_cocci_menhir.ml"
8573 ) = Obj.magic r0 in
8574 let x0 : 'tv_const_vol = Obj.magic x0 in
8575 let _startpos = _startpos_x0_ in
8576 let _endpos = _endpos_m_ in
8577 let _v : 'tv_ctype = let ty =
8578 let ty20 = ty200 in
8579 let ty10 = ty100 in
8580 let r = r0 in
8581 let ty =
8582 let ty2 = ty20 in
8583 let ty1 = ty10 in
8584
8585# 520 "parser_cocci_menhir.mly"
8586 ( Ast0.wrap
8587 (Ast0.BaseType
8588 (Ast.LongLongType,
8589 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8590# 8591 "parser_cocci_menhir.ml"
8591
8592 in
8593
8594# 554 "parser_cocci_menhir.mly"
8595 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8596# 8597 "parser_cocci_menhir.ml"
8597
8598 in
8599 let cv =
8600 let x = x0 in
8601
8602# 41 "standard.mly"
8603 ( Some x )
8604# 8605 "parser_cocci_menhir.ml"
8605
8606 in
8607
8608# 562 "parser_cocci_menhir.mly"
8609 ( P.pointerify (P.make_cv cv ty) m )
8610# 8611 "parser_cocci_menhir.ml"
8611 in
8612 _menhir_env.MenhirLib.EngineTypes.stack <- {
8613 MenhirLib.EngineTypes.state = _menhir_s;
8614 MenhirLib.EngineTypes.semv = Obj.repr _v;
8615 MenhirLib.EngineTypes.startp = _startpos;
8616 MenhirLib.EngineTypes.endp = _endpos;
8617 MenhirLib.EngineTypes.next = _menhir_stack;
8618 });
8619 (fun _menhir_env ->
8620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8621 let {
8622 MenhirLib.EngineTypes.semv = m;
8623 MenhirLib.EngineTypes.startp = _startpos_m_;
8624 MenhirLib.EngineTypes.endp = _endpos_m_;
8625 MenhirLib.EngineTypes.next = {
8626 MenhirLib.EngineTypes.semv = ty00;
8627 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8628 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8629 MenhirLib.EngineTypes.next = {
8630 MenhirLib.EngineTypes.semv = r0;
8631 MenhirLib.EngineTypes.startp = _startpos_r0_;
8632 MenhirLib.EngineTypes.endp = _endpos_r0_;
8633 MenhirLib.EngineTypes.next = {
8634 MenhirLib.EngineTypes.state = _menhir_s;
8635 MenhirLib.EngineTypes.semv = x0;
8636 MenhirLib.EngineTypes.startp = _startpos_x0_;
8637 MenhirLib.EngineTypes.endp = _endpos_x0_;
8638 MenhirLib.EngineTypes.next = _menhir_stack;
8639 };
8640 };
8641 };
8642 } = _menhir_stack in
8643 let m : 'tv_list_TMul_ = Obj.magic m in
8644 let ty00 : (
8645# 49 "parser_cocci_menhir.mly"
8646 (Data.clt)
8647# 8648 "parser_cocci_menhir.ml"
8648 ) = Obj.magic ty00 in
8649 let r0 : (
8650# 51 "parser_cocci_menhir.mly"
8651 (Data.clt)
8652# 8653 "parser_cocci_menhir.ml"
8653 ) = Obj.magic r0 in
8654 let x0 : 'tv_const_vol = Obj.magic x0 in
8655 let _startpos = _startpos_x0_ in
8656 let _endpos = _endpos_m_ in
8657 let _v : 'tv_ctype = let ty =
8658 let ty0 = ty00 in
8659 let r = r0 in
8660 let ty =
8661 let ty = ty0 in
8662
8663# 502 "parser_cocci_menhir.mly"
8664 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8665# 8666 "parser_cocci_menhir.ml"
8666
8667 in
8668
8669# 556 "parser_cocci_menhir.mly"
8670 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8671# 8672 "parser_cocci_menhir.ml"
8672
8673 in
8674 let cv =
8675 let x = x0 in
8676
8677# 41 "standard.mly"
8678 ( Some x )
8679# 8680 "parser_cocci_menhir.ml"
8680
8681 in
8682
8683# 562 "parser_cocci_menhir.mly"
8684 ( P.pointerify (P.make_cv cv ty) m )
8685# 8686 "parser_cocci_menhir.ml"
8686 in
8687 _menhir_env.MenhirLib.EngineTypes.stack <- {
8688 MenhirLib.EngineTypes.state = _menhir_s;
8689 MenhirLib.EngineTypes.semv = Obj.repr _v;
8690 MenhirLib.EngineTypes.startp = _startpos;
8691 MenhirLib.EngineTypes.endp = _endpos;
8692 MenhirLib.EngineTypes.next = _menhir_stack;
8693 });
8694 (fun _menhir_env ->
8695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8696 let {
8697 MenhirLib.EngineTypes.semv = m;
8698 MenhirLib.EngineTypes.startp = _startpos_m_;
8699 MenhirLib.EngineTypes.endp = _endpos_m_;
8700 MenhirLib.EngineTypes.next = {
8701 MenhirLib.EngineTypes.semv = ty00;
8702 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8703 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8704 MenhirLib.EngineTypes.next = {
8705 MenhirLib.EngineTypes.semv = r0;
8706 MenhirLib.EngineTypes.startp = _startpos_r0_;
8707 MenhirLib.EngineTypes.endp = _endpos_r0_;
8708 MenhirLib.EngineTypes.next = {
8709 MenhirLib.EngineTypes.state = _menhir_s;
8710 MenhirLib.EngineTypes.semv = x0;
8711 MenhirLib.EngineTypes.startp = _startpos_x0_;
8712 MenhirLib.EngineTypes.endp = _endpos_x0_;
8713 MenhirLib.EngineTypes.next = _menhir_stack;
8714 };
8715 };
8716 };
8717 } = _menhir_stack in
8718 let m : 'tv_list_TMul_ = Obj.magic m in
8719 let ty00 : (
8720# 49 "parser_cocci_menhir.mly"
8721 (Data.clt)
8722# 8723 "parser_cocci_menhir.ml"
8723 ) = Obj.magic ty00 in
8724 let r0 : (
8725# 51 "parser_cocci_menhir.mly"
8726 (Data.clt)
8727# 8728 "parser_cocci_menhir.ml"
8728 ) = Obj.magic r0 in
8729 let x0 : 'tv_const_vol = Obj.magic x0 in
8730 let _startpos = _startpos_x0_ in
8731 let _endpos = _endpos_m_ in
8732 let _v : 'tv_ctype = let ty =
8733 let ty0 = ty00 in
8734 let r = r0 in
8735 let ty =
8736 let ty = ty0 in
8737
8738# 504 "parser_cocci_menhir.mly"
8739 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8740# 8741 "parser_cocci_menhir.ml"
8741
8742 in
8743
8744# 556 "parser_cocci_menhir.mly"
8745 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8746# 8747 "parser_cocci_menhir.ml"
8747
8748 in
8749 let cv =
8750 let x = x0 in
8751
8752# 41 "standard.mly"
8753 ( Some x )
8754# 8755 "parser_cocci_menhir.ml"
8755
8756 in
8757
8758# 562 "parser_cocci_menhir.mly"
8759 ( P.pointerify (P.make_cv cv ty) m )
8760# 8761 "parser_cocci_menhir.ml"
8761 in
8762 _menhir_env.MenhirLib.EngineTypes.stack <- {
8763 MenhirLib.EngineTypes.state = _menhir_s;
8764 MenhirLib.EngineTypes.semv = Obj.repr _v;
8765 MenhirLib.EngineTypes.startp = _startpos;
8766 MenhirLib.EngineTypes.endp = _endpos;
8767 MenhirLib.EngineTypes.next = _menhir_stack;
8768 });
8769 (fun _menhir_env ->
8770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8771 let {
8772 MenhirLib.EngineTypes.semv = m;
8773 MenhirLib.EngineTypes.startp = _startpos_m_;
8774 MenhirLib.EngineTypes.endp = _endpos_m_;
8775 MenhirLib.EngineTypes.next = {
8776 MenhirLib.EngineTypes.semv = ty00;
8777 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8778 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8779 MenhirLib.EngineTypes.next = {
8780 MenhirLib.EngineTypes.semv = r0;
8781 MenhirLib.EngineTypes.startp = _startpos_r0_;
8782 MenhirLib.EngineTypes.endp = _endpos_r0_;
8783 MenhirLib.EngineTypes.next = {
8784 MenhirLib.EngineTypes.state = _menhir_s;
8785 MenhirLib.EngineTypes.semv = x0;
8786 MenhirLib.EngineTypes.startp = _startpos_x0_;
8787 MenhirLib.EngineTypes.endp = _endpos_x0_;
8788 MenhirLib.EngineTypes.next = _menhir_stack;
8789 };
8790 };
8791 };
8792 } = _menhir_stack in
8793 let m : 'tv_list_TMul_ = Obj.magic m in
8794 let ty00 : (
8795# 49 "parser_cocci_menhir.mly"
8796 (Data.clt)
8797# 8798 "parser_cocci_menhir.ml"
8798 ) = Obj.magic ty00 in
8799 let r0 : (
8800# 51 "parser_cocci_menhir.mly"
8801 (Data.clt)
8802# 8803 "parser_cocci_menhir.ml"
8803 ) = Obj.magic r0 in
8804 let x0 : 'tv_const_vol = Obj.magic x0 in
8805 let _startpos = _startpos_x0_ in
8806 let _endpos = _endpos_m_ in
8807 let _v : 'tv_ctype = let ty =
8808 let ty0 = ty00 in
8809 let r = r0 in
8810 let ty =
8811 let ty = ty0 in
8812
8813# 506 "parser_cocci_menhir.mly"
8814 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8815# 8816 "parser_cocci_menhir.ml"
8816
8817 in
8818
8819# 556 "parser_cocci_menhir.mly"
8820 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8821# 8822 "parser_cocci_menhir.ml"
8822
8823 in
8824 let cv =
8825 let x = x0 in
8826
8827# 41 "standard.mly"
8828 ( Some x )
8829# 8830 "parser_cocci_menhir.ml"
8830
8831 in
8832
8833# 562 "parser_cocci_menhir.mly"
8834 ( P.pointerify (P.make_cv cv ty) m )
8835# 8836 "parser_cocci_menhir.ml"
8836 in
8837 _menhir_env.MenhirLib.EngineTypes.stack <- {
8838 MenhirLib.EngineTypes.state = _menhir_s;
8839 MenhirLib.EngineTypes.semv = Obj.repr _v;
8840 MenhirLib.EngineTypes.startp = _startpos;
8841 MenhirLib.EngineTypes.endp = _endpos;
8842 MenhirLib.EngineTypes.next = _menhir_stack;
8843 });
8844 (fun _menhir_env ->
8845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8846 let {
8847 MenhirLib.EngineTypes.semv = m;
8848 MenhirLib.EngineTypes.startp = _startpos_m_;
8849 MenhirLib.EngineTypes.endp = _endpos_m_;
8850 MenhirLib.EngineTypes.next = {
8851 MenhirLib.EngineTypes.semv = p00;
8852 MenhirLib.EngineTypes.startp = _startpos_p00_;
8853 MenhirLib.EngineTypes.endp = _endpos_p00_;
8854 MenhirLib.EngineTypes.next = {
8855 MenhirLib.EngineTypes.semv = r0;
8856 MenhirLib.EngineTypes.startp = _startpos_r0_;
8857 MenhirLib.EngineTypes.endp = _endpos_r0_;
8858 MenhirLib.EngineTypes.next = {
8859 MenhirLib.EngineTypes.state = _menhir_s;
8860 MenhirLib.EngineTypes.semv = x0;
8861 MenhirLib.EngineTypes.startp = _startpos_x0_;
8862 MenhirLib.EngineTypes.endp = _endpos_x0_;
8863 MenhirLib.EngineTypes.next = _menhir_stack;
8864 };
8865 };
8866 };
8867 } = _menhir_stack in
8868 let m : 'tv_list_TMul_ = Obj.magic m in
8869 let p00 : (
8870# 65 "parser_cocci_menhir.mly"
8871 (Parse_aux.info)
8872# 8873 "parser_cocci_menhir.ml"
8873 ) = Obj.magic p00 in
8874 let r0 : (
8875# 51 "parser_cocci_menhir.mly"
8876 (Data.clt)
8877# 8878 "parser_cocci_menhir.ml"
8878 ) = Obj.magic r0 in
8879 let x0 : 'tv_const_vol = Obj.magic x0 in
8880 let _startpos = _startpos_x0_ in
8881 let _endpos = _endpos_m_ in
8882 let _v : 'tv_ctype = let ty =
8883 let p0 = p00 in
8884 let r = r0 in
8885 let ty =
8886 let p = p0 in
8887
8888# 508 "parser_cocci_menhir.mly"
8889 ( let (nm,pure,clt) = p in
8890 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8891# 8892 "parser_cocci_menhir.ml"
8892
8893 in
8894
8895# 556 "parser_cocci_menhir.mly"
8896 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8897# 8898 "parser_cocci_menhir.ml"
8898
8899 in
8900 let cv =
8901 let x = x0 in
8902
8903# 41 "standard.mly"
8904 ( Some x )
8905# 8906 "parser_cocci_menhir.ml"
8906
8907 in
8908
8909# 562 "parser_cocci_menhir.mly"
8910 ( P.pointerify (P.make_cv cv ty) m )
8911# 8912 "parser_cocci_menhir.ml"
8912 in
8913 _menhir_env.MenhirLib.EngineTypes.stack <- {
8914 MenhirLib.EngineTypes.state = _menhir_s;
8915 MenhirLib.EngineTypes.semv = Obj.repr _v;
8916 MenhirLib.EngineTypes.startp = _startpos;
8917 MenhirLib.EngineTypes.endp = _endpos;
8918 MenhirLib.EngineTypes.next = _menhir_stack;
8919 });
8920 (fun _menhir_env ->
8921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8922 let {
8923 MenhirLib.EngineTypes.semv = m;
8924 MenhirLib.EngineTypes.startp = _startpos_m_;
8925 MenhirLib.EngineTypes.endp = _endpos_m_;
8926 MenhirLib.EngineTypes.next = {
8927 MenhirLib.EngineTypes.semv = p00;
8928 MenhirLib.EngineTypes.startp = _startpos_p00_;
8929 MenhirLib.EngineTypes.endp = _endpos_p00_;
8930 MenhirLib.EngineTypes.next = {
8931 MenhirLib.EngineTypes.startp = _startpos__4_;
8932 MenhirLib.EngineTypes.endp = _endpos__4_;
8933 MenhirLib.EngineTypes.next = {
8934 MenhirLib.EngineTypes.semv = r00;
8935 MenhirLib.EngineTypes.startp = _startpos_r00_;
8936 MenhirLib.EngineTypes.endp = _endpos_r00_;
8937 MenhirLib.EngineTypes.next = {
8938 MenhirLib.EngineTypes.semv = r1;
8939 MenhirLib.EngineTypes.startp = _startpos_r1_;
8940 MenhirLib.EngineTypes.endp = _endpos_r1_;
8941 MenhirLib.EngineTypes.next = {
8942 MenhirLib.EngineTypes.state = _menhir_s;
8943 MenhirLib.EngineTypes.semv = x0;
8944 MenhirLib.EngineTypes.startp = _startpos_x0_;
8945 MenhirLib.EngineTypes.endp = _endpos_x0_;
8946 MenhirLib.EngineTypes.next = _menhir_stack;
8947 };
8948 };
8949 };
8950 };
8951 };
8952 } = _menhir_stack in
8953 let m : 'tv_list_TMul_ = Obj.magic m in
8954 let p00 : (
8955# 59 "parser_cocci_menhir.mly"
8956 (string * Data.clt)
8957# 8958 "parser_cocci_menhir.ml"
8958 ) = Obj.magic p00 in
8959 let r00 : (
8960# 47 "parser_cocci_menhir.mly"
8961 (string)
8962# 8963 "parser_cocci_menhir.ml"
8963 ) = Obj.magic r00 in
8964 let r1 : (
8965# 51 "parser_cocci_menhir.mly"
8966 (Data.clt)
8967# 8968 "parser_cocci_menhir.ml"
8968 ) = Obj.magic r1 in
8969 let x0 : 'tv_const_vol = Obj.magic x0 in
8970 let _startpos = _startpos_x0_ in
8971 let _endpos = _endpos_m_ in
8972 let _v : 'tv_ctype = let ty =
8973 let p0 = p00 in
8974 let r0 = r00 in
8975 let r = r1 in
8976 let ty =
8977 let p = p0 in
8978 let r = r0 in
8979
8980# 511 "parser_cocci_menhir.mly"
8981 ( let nm = (r,P.id2name p) in
8982 (* this is only possible when we are in a metavar decl. Otherwise,
8983 it will be represented already as a MetaType *)
8984 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8985 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8986 Ast0.Impure (*will be ignored*))) )
8987# 8988 "parser_cocci_menhir.ml"
8988
8989 in
8990
8991# 556 "parser_cocci_menhir.mly"
8992 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8993# 8994 "parser_cocci_menhir.ml"
8994
8995 in
8996 let cv =
8997 let x = x0 in
8998
8999# 41 "standard.mly"
9000 ( Some x )
9001# 9002 "parser_cocci_menhir.ml"
9002
9003 in
9004
9005# 562 "parser_cocci_menhir.mly"
9006 ( P.pointerify (P.make_cv cv ty) m )
9007# 9008 "parser_cocci_menhir.ml"
9008 in
9009 _menhir_env.MenhirLib.EngineTypes.stack <- {
9010 MenhirLib.EngineTypes.state = _menhir_s;
9011 MenhirLib.EngineTypes.semv = Obj.repr _v;
9012 MenhirLib.EngineTypes.startp = _startpos;
9013 MenhirLib.EngineTypes.endp = _endpos;
9014 MenhirLib.EngineTypes.next = _menhir_stack;
9015 });
9016 (fun _menhir_env ->
9017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9018 let {
9019 MenhirLib.EngineTypes.semv = m;
9020 MenhirLib.EngineTypes.startp = _startpos_m_;
9021 MenhirLib.EngineTypes.endp = _endpos_m_;
9022 MenhirLib.EngineTypes.next = {
9023 MenhirLib.EngineTypes.semv = ty00;
9024 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9025 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9026 MenhirLib.EngineTypes.next = {
9027 MenhirLib.EngineTypes.semv = r0;
9028 MenhirLib.EngineTypes.startp = _startpos_r0_;
9029 MenhirLib.EngineTypes.endp = _endpos_r0_;
9030 MenhirLib.EngineTypes.next = {
9031 MenhirLib.EngineTypes.state = _menhir_s;
9032 MenhirLib.EngineTypes.semv = x0;
9033 MenhirLib.EngineTypes.startp = _startpos_x0_;
9034 MenhirLib.EngineTypes.endp = _endpos_x0_;
9035 MenhirLib.EngineTypes.next = _menhir_stack;
9036 };
9037 };
9038 };
9039 } = _menhir_stack in
9040 let m : 'tv_list_TMul_ = Obj.magic m in
9041 let ty00 : (
9042# 49 "parser_cocci_menhir.mly"
9043 (Data.clt)
9044# 9045 "parser_cocci_menhir.ml"
9045 ) = Obj.magic ty00 in
9046 let r0 : (
9047# 51 "parser_cocci_menhir.mly"
9048 (Data.clt)
9049# 9050 "parser_cocci_menhir.ml"
9050 ) = Obj.magic r0 in
9051 let x0 : 'tv_const_vol = Obj.magic x0 in
9052 let _startpos = _startpos_x0_ in
9053 let _endpos = _endpos_m_ in
9054 let _v : 'tv_ctype = let ty =
9055 let ty0 = ty00 in
9056 let r = r0 in
9057 let ty =
9058 let ty = ty0 in
9059
9060# 518 "parser_cocci_menhir.mly"
9061 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9062# 9063 "parser_cocci_menhir.ml"
9063
9064 in
9065
9066# 556 "parser_cocci_menhir.mly"
9067 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9068# 9069 "parser_cocci_menhir.ml"
9069
9070 in
9071 let cv =
9072 let x = x0 in
9073
9074# 41 "standard.mly"
9075 ( Some x )
9076# 9077 "parser_cocci_menhir.ml"
9077
9078 in
9079
9080# 562 "parser_cocci_menhir.mly"
9081 ( P.pointerify (P.make_cv cv ty) m )
9082# 9083 "parser_cocci_menhir.ml"
9083 in
9084 _menhir_env.MenhirLib.EngineTypes.stack <- {
9085 MenhirLib.EngineTypes.state = _menhir_s;
9086 MenhirLib.EngineTypes.semv = Obj.repr _v;
9087 MenhirLib.EngineTypes.startp = _startpos;
9088 MenhirLib.EngineTypes.endp = _endpos;
9089 MenhirLib.EngineTypes.next = _menhir_stack;
9090 });
9091 (fun _menhir_env ->
9092 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9093 let {
9094 MenhirLib.EngineTypes.semv = m;
9095 MenhirLib.EngineTypes.startp = _startpos_m_;
9096 MenhirLib.EngineTypes.endp = _endpos_m_;
9097 MenhirLib.EngineTypes.next = {
9098 MenhirLib.EngineTypes.semv = ty200;
9099 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9100 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9101 MenhirLib.EngineTypes.next = {
9102 MenhirLib.EngineTypes.semv = ty100;
9103 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9104 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9105 MenhirLib.EngineTypes.next = {
9106 MenhirLib.EngineTypes.semv = r0;
9107 MenhirLib.EngineTypes.startp = _startpos_r0_;
9108 MenhirLib.EngineTypes.endp = _endpos_r0_;
9109 MenhirLib.EngineTypes.next = {
9110 MenhirLib.EngineTypes.state = _menhir_s;
9111 MenhirLib.EngineTypes.semv = x0;
9112 MenhirLib.EngineTypes.startp = _startpos_x0_;
9113 MenhirLib.EngineTypes.endp = _endpos_x0_;
9114 MenhirLib.EngineTypes.next = _menhir_stack;
9115 };
9116 };
9117 };
9118 };
9119 } = _menhir_stack in
9120 let m : 'tv_list_TMul_ = Obj.magic m in
9121 let ty200 : (
9122# 49 "parser_cocci_menhir.mly"
9123 (Data.clt)
9124# 9125 "parser_cocci_menhir.ml"
9125 ) = Obj.magic ty200 in
9126 let ty100 : (
9127# 49 "parser_cocci_menhir.mly"
9128 (Data.clt)
9129# 9130 "parser_cocci_menhir.ml"
9130 ) = Obj.magic ty100 in
9131 let r0 : (
9132# 51 "parser_cocci_menhir.mly"
9133 (Data.clt)
9134# 9135 "parser_cocci_menhir.ml"
9135 ) = Obj.magic r0 in
9136 let x0 : 'tv_const_vol = Obj.magic x0 in
9137 let _startpos = _startpos_x0_ in
9138 let _endpos = _endpos_m_ in
9139 let _v : 'tv_ctype = let ty =
9140 let ty20 = ty200 in
9141 let ty10 = ty100 in
9142 let r = r0 in
9143 let ty =
9144 let ty2 = ty20 in
9145 let ty1 = ty10 in
9146
9147# 520 "parser_cocci_menhir.mly"
9148 ( Ast0.wrap
9149 (Ast0.BaseType
9150 (Ast.LongLongType,
9151 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9152# 9153 "parser_cocci_menhir.ml"
9153
9154 in
9155
9156# 556 "parser_cocci_menhir.mly"
9157 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9158# 9159 "parser_cocci_menhir.ml"
9159
9160 in
9161 let cv =
9162 let x = x0 in
9163
9164# 41 "standard.mly"
9165 ( Some x )
9166# 9167 "parser_cocci_menhir.ml"
9167
9168 in
9169
9170# 562 "parser_cocci_menhir.mly"
9171 ( P.pointerify (P.make_cv cv ty) m )
9172# 9173 "parser_cocci_menhir.ml"
9173 in
9174 _menhir_env.MenhirLib.EngineTypes.stack <- {
9175 MenhirLib.EngineTypes.state = _menhir_s;
9176 MenhirLib.EngineTypes.semv = Obj.repr _v;
9177 MenhirLib.EngineTypes.startp = _startpos;
9178 MenhirLib.EngineTypes.endp = _endpos;
9179 MenhirLib.EngineTypes.next = _menhir_stack;
9180 });
9181 (fun _menhir_env ->
9182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9183 let {
9184 MenhirLib.EngineTypes.semv = m;
9185 MenhirLib.EngineTypes.startp = _startpos_m_;
9186 MenhirLib.EngineTypes.endp = _endpos_m_;
9187 MenhirLib.EngineTypes.next = {
9188 MenhirLib.EngineTypes.semv = ty00;
9189 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9190 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9191 MenhirLib.EngineTypes.next = {
9192 MenhirLib.EngineTypes.state = _menhir_s;
9193 MenhirLib.EngineTypes.semv = x0;
9194 MenhirLib.EngineTypes.startp = _startpos_x0_;
9195 MenhirLib.EngineTypes.endp = _endpos_x0_;
9196 MenhirLib.EngineTypes.next = _menhir_stack;
9197 };
9198 };
9199 } = _menhir_stack in
9200 let m : 'tv_list_TMul_ = Obj.magic m in
9201 let ty00 : (
9202# 49 "parser_cocci_menhir.mly"
9203 (Data.clt)
9204# 9205 "parser_cocci_menhir.ml"
9205 ) = Obj.magic ty00 in
9206 let x0 : 'tv_const_vol = Obj.magic x0 in
9207 let _startpos = _startpos_x0_ in
9208 let _endpos = _endpos_m_ in
9209 let _v : 'tv_ctype = let ty =
9210 let ty0 = ty00 in
9211 let ty =
9212 let ty = ty0 in
9213
9214# 502 "parser_cocci_menhir.mly"
9215 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9216# 9217 "parser_cocci_menhir.ml"
9217
9218 in
9219
9220# 557 "parser_cocci_menhir.mly"
9221 ( ty )
9222# 9223 "parser_cocci_menhir.ml"
9223
9224 in
9225 let cv =
9226 let x = x0 in
9227
9228# 41 "standard.mly"
9229 ( Some x )
9230# 9231 "parser_cocci_menhir.ml"
9231
9232 in
9233
9234# 562 "parser_cocci_menhir.mly"
9235 ( P.pointerify (P.make_cv cv ty) m )
9236# 9237 "parser_cocci_menhir.ml"
9237 in
9238 _menhir_env.MenhirLib.EngineTypes.stack <- {
9239 MenhirLib.EngineTypes.state = _menhir_s;
9240 MenhirLib.EngineTypes.semv = Obj.repr _v;
9241 MenhirLib.EngineTypes.startp = _startpos;
9242 MenhirLib.EngineTypes.endp = _endpos;
9243 MenhirLib.EngineTypes.next = _menhir_stack;
9244 });
9245 (fun _menhir_env ->
9246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9247 let {
9248 MenhirLib.EngineTypes.semv = m;
9249 MenhirLib.EngineTypes.startp = _startpos_m_;
9250 MenhirLib.EngineTypes.endp = _endpos_m_;
9251 MenhirLib.EngineTypes.next = {
9252 MenhirLib.EngineTypes.semv = ty00;
9253 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9254 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9255 MenhirLib.EngineTypes.next = {
9256 MenhirLib.EngineTypes.state = _menhir_s;
9257 MenhirLib.EngineTypes.semv = x0;
9258 MenhirLib.EngineTypes.startp = _startpos_x0_;
9259 MenhirLib.EngineTypes.endp = _endpos_x0_;
9260 MenhirLib.EngineTypes.next = _menhir_stack;
9261 };
9262 };
9263 } = _menhir_stack in
9264 let m : 'tv_list_TMul_ = Obj.magic m in
9265 let ty00 : (
9266# 49 "parser_cocci_menhir.mly"
9267 (Data.clt)
9268# 9269 "parser_cocci_menhir.ml"
9269 ) = Obj.magic ty00 in
9270 let x0 : 'tv_const_vol = Obj.magic x0 in
9271 let _startpos = _startpos_x0_ in
9272 let _endpos = _endpos_m_ in
9273 let _v : 'tv_ctype = let ty =
9274 let ty0 = ty00 in
9275 let ty =
9276 let ty = ty0 in
9277
9278# 504 "parser_cocci_menhir.mly"
9279 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9280# 9281 "parser_cocci_menhir.ml"
9281
9282 in
9283
9284# 557 "parser_cocci_menhir.mly"
9285 ( ty )
9286# 9287 "parser_cocci_menhir.ml"
9287
9288 in
9289 let cv =
9290 let x = x0 in
9291
9292# 41 "standard.mly"
9293 ( Some x )
9294# 9295 "parser_cocci_menhir.ml"
9295
9296 in
9297
9298# 562 "parser_cocci_menhir.mly"
9299 ( P.pointerify (P.make_cv cv ty) m )
9300# 9301 "parser_cocci_menhir.ml"
9301 in
9302 _menhir_env.MenhirLib.EngineTypes.stack <- {
9303 MenhirLib.EngineTypes.state = _menhir_s;
9304 MenhirLib.EngineTypes.semv = Obj.repr _v;
9305 MenhirLib.EngineTypes.startp = _startpos;
9306 MenhirLib.EngineTypes.endp = _endpos;
9307 MenhirLib.EngineTypes.next = _menhir_stack;
9308 });
9309 (fun _menhir_env ->
9310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9311 let {
9312 MenhirLib.EngineTypes.semv = m;
9313 MenhirLib.EngineTypes.startp = _startpos_m_;
9314 MenhirLib.EngineTypes.endp = _endpos_m_;
9315 MenhirLib.EngineTypes.next = {
9316 MenhirLib.EngineTypes.semv = ty00;
9317 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9318 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9319 MenhirLib.EngineTypes.next = {
9320 MenhirLib.EngineTypes.state = _menhir_s;
9321 MenhirLib.EngineTypes.semv = x0;
9322 MenhirLib.EngineTypes.startp = _startpos_x0_;
9323 MenhirLib.EngineTypes.endp = _endpos_x0_;
9324 MenhirLib.EngineTypes.next = _menhir_stack;
9325 };
9326 };
9327 } = _menhir_stack in
9328 let m : 'tv_list_TMul_ = Obj.magic m in
9329 let ty00 : (
9330# 49 "parser_cocci_menhir.mly"
9331 (Data.clt)
9332# 9333 "parser_cocci_menhir.ml"
9333 ) = Obj.magic ty00 in
9334 let x0 : 'tv_const_vol = Obj.magic x0 in
9335 let _startpos = _startpos_x0_ in
9336 let _endpos = _endpos_m_ in
9337 let _v : 'tv_ctype = let ty =
9338 let ty0 = ty00 in
9339 let ty =
9340 let ty = ty0 in
9341
9342# 506 "parser_cocci_menhir.mly"
9343 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9344# 9345 "parser_cocci_menhir.ml"
9345
9346 in
9347
9348# 557 "parser_cocci_menhir.mly"
9349 ( ty )
9350# 9351 "parser_cocci_menhir.ml"
9351
9352 in
9353 let cv =
9354 let x = x0 in
9355
9356# 41 "standard.mly"
9357 ( Some x )
9358# 9359 "parser_cocci_menhir.ml"
9359
9360 in
9361
9362# 562 "parser_cocci_menhir.mly"
9363 ( P.pointerify (P.make_cv cv ty) m )
9364# 9365 "parser_cocci_menhir.ml"
9365 in
9366 _menhir_env.MenhirLib.EngineTypes.stack <- {
9367 MenhirLib.EngineTypes.state = _menhir_s;
9368 MenhirLib.EngineTypes.semv = Obj.repr _v;
9369 MenhirLib.EngineTypes.startp = _startpos;
9370 MenhirLib.EngineTypes.endp = _endpos;
9371 MenhirLib.EngineTypes.next = _menhir_stack;
9372 });
9373 (fun _menhir_env ->
9374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9375 let {
9376 MenhirLib.EngineTypes.semv = m;
9377 MenhirLib.EngineTypes.startp = _startpos_m_;
9378 MenhirLib.EngineTypes.endp = _endpos_m_;
9379 MenhirLib.EngineTypes.next = {
9380 MenhirLib.EngineTypes.semv = p00;
9381 MenhirLib.EngineTypes.startp = _startpos_p00_;
9382 MenhirLib.EngineTypes.endp = _endpos_p00_;
9383 MenhirLib.EngineTypes.next = {
9384 MenhirLib.EngineTypes.state = _menhir_s;
9385 MenhirLib.EngineTypes.semv = x0;
9386 MenhirLib.EngineTypes.startp = _startpos_x0_;
9387 MenhirLib.EngineTypes.endp = _endpos_x0_;
9388 MenhirLib.EngineTypes.next = _menhir_stack;
9389 };
9390 };
9391 } = _menhir_stack in
9392 let m : 'tv_list_TMul_ = Obj.magic m in
9393 let p00 : (
9394# 65 "parser_cocci_menhir.mly"
9395 (Parse_aux.info)
9396# 9397 "parser_cocci_menhir.ml"
9397 ) = Obj.magic p00 in
9398 let x0 : 'tv_const_vol = Obj.magic x0 in
9399 let _startpos = _startpos_x0_ in
9400 let _endpos = _endpos_m_ in
9401 let _v : 'tv_ctype = let ty =
9402 let p0 = p00 in
9403 let ty =
9404 let p = p0 in
9405
9406# 508 "parser_cocci_menhir.mly"
9407 ( let (nm,pure,clt) = p in
9408 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9409# 9410 "parser_cocci_menhir.ml"
9410
9411 in
9412
9413# 557 "parser_cocci_menhir.mly"
9414 ( ty )
9415# 9416 "parser_cocci_menhir.ml"
9416
9417 in
9418 let cv =
9419 let x = x0 in
9420
9421# 41 "standard.mly"
9422 ( Some x )
9423# 9424 "parser_cocci_menhir.ml"
9424
9425 in
9426
9427# 562 "parser_cocci_menhir.mly"
9428 ( P.pointerify (P.make_cv cv ty) m )
9429# 9430 "parser_cocci_menhir.ml"
9430 in
9431 _menhir_env.MenhirLib.EngineTypes.stack <- {
9432 MenhirLib.EngineTypes.state = _menhir_s;
9433 MenhirLib.EngineTypes.semv = Obj.repr _v;
9434 MenhirLib.EngineTypes.startp = _startpos;
9435 MenhirLib.EngineTypes.endp = _endpos;
9436 MenhirLib.EngineTypes.next = _menhir_stack;
9437 });
9438 (fun _menhir_env ->
9439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9440 let {
9441 MenhirLib.EngineTypes.semv = m;
9442 MenhirLib.EngineTypes.startp = _startpos_m_;
9443 MenhirLib.EngineTypes.endp = _endpos_m_;
9444 MenhirLib.EngineTypes.next = {
9445 MenhirLib.EngineTypes.semv = p00;
9446 MenhirLib.EngineTypes.startp = _startpos_p00_;
9447 MenhirLib.EngineTypes.endp = _endpos_p00_;
9448 MenhirLib.EngineTypes.next = {
9449 MenhirLib.EngineTypes.startp = _startpos__3_;
9450 MenhirLib.EngineTypes.endp = _endpos__3_;
9451 MenhirLib.EngineTypes.next = {
9452 MenhirLib.EngineTypes.semv = r00;
9453 MenhirLib.EngineTypes.startp = _startpos_r00_;
9454 MenhirLib.EngineTypes.endp = _endpos_r00_;
9455 MenhirLib.EngineTypes.next = {
9456 MenhirLib.EngineTypes.state = _menhir_s;
9457 MenhirLib.EngineTypes.semv = x0;
9458 MenhirLib.EngineTypes.startp = _startpos_x0_;
9459 MenhirLib.EngineTypes.endp = _endpos_x0_;
9460 MenhirLib.EngineTypes.next = _menhir_stack;
9461 };
9462 };
9463 };
9464 };
9465 } = _menhir_stack in
9466 let m : 'tv_list_TMul_ = Obj.magic m in
9467 let p00 : (
9468# 59 "parser_cocci_menhir.mly"
9469 (string * Data.clt)
9470# 9471 "parser_cocci_menhir.ml"
9471 ) = Obj.magic p00 in
9472 let r00 : (
9473# 47 "parser_cocci_menhir.mly"
9474 (string)
9475# 9476 "parser_cocci_menhir.ml"
9476 ) = Obj.magic r00 in
9477 let x0 : 'tv_const_vol = Obj.magic x0 in
9478 let _startpos = _startpos_x0_ in
9479 let _endpos = _endpos_m_ in
9480 let _v : 'tv_ctype = let ty =
9481 let p0 = p00 in
9482 let r0 = r00 in
9483 let ty =
9484 let p = p0 in
9485 let r = r0 in
9486
9487# 511 "parser_cocci_menhir.mly"
9488 ( let nm = (r,P.id2name p) in
9489 (* this is only possible when we are in a metavar decl. Otherwise,
9490 it will be represented already as a MetaType *)
9491 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9492 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9493 Ast0.Impure (*will be ignored*))) )
9494# 9495 "parser_cocci_menhir.ml"
9495
9496 in
9497
9498# 557 "parser_cocci_menhir.mly"
9499 ( ty )
9500# 9501 "parser_cocci_menhir.ml"
9501
9502 in
9503 let cv =
9504 let x = x0 in
9505
9506# 41 "standard.mly"
9507 ( Some x )
9508# 9509 "parser_cocci_menhir.ml"
9509
9510 in
9511
9512# 562 "parser_cocci_menhir.mly"
9513 ( P.pointerify (P.make_cv cv ty) m )
9514# 9515 "parser_cocci_menhir.ml"
9515 in
9516 _menhir_env.MenhirLib.EngineTypes.stack <- {
9517 MenhirLib.EngineTypes.state = _menhir_s;
9518 MenhirLib.EngineTypes.semv = Obj.repr _v;
9519 MenhirLib.EngineTypes.startp = _startpos;
9520 MenhirLib.EngineTypes.endp = _endpos;
9521 MenhirLib.EngineTypes.next = _menhir_stack;
9522 });
9523 (fun _menhir_env ->
9524 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9525 let {
9526 MenhirLib.EngineTypes.semv = m;
9527 MenhirLib.EngineTypes.startp = _startpos_m_;
9528 MenhirLib.EngineTypes.endp = _endpos_m_;
9529 MenhirLib.EngineTypes.next = {
9530 MenhirLib.EngineTypes.semv = ty00;
9531 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9532 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9533 MenhirLib.EngineTypes.next = {
9534 MenhirLib.EngineTypes.state = _menhir_s;
9535 MenhirLib.EngineTypes.semv = x0;
9536 MenhirLib.EngineTypes.startp = _startpos_x0_;
9537 MenhirLib.EngineTypes.endp = _endpos_x0_;
9538 MenhirLib.EngineTypes.next = _menhir_stack;
9539 };
9540 };
9541 } = _menhir_stack in
9542 let m : 'tv_list_TMul_ = Obj.magic m in
9543 let ty00 : (
9544# 49 "parser_cocci_menhir.mly"
9545 (Data.clt)
9546# 9547 "parser_cocci_menhir.ml"
9547 ) = Obj.magic ty00 in
9548 let x0 : 'tv_const_vol = Obj.magic x0 in
9549 let _startpos = _startpos_x0_ in
9550 let _endpos = _endpos_m_ in
9551 let _v : 'tv_ctype = let ty =
9552 let ty0 = ty00 in
9553 let ty =
9554 let ty = ty0 in
9555
9556# 518 "parser_cocci_menhir.mly"
9557 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9558# 9559 "parser_cocci_menhir.ml"
9559
9560 in
9561
9562# 557 "parser_cocci_menhir.mly"
9563 ( ty )
9564# 9565 "parser_cocci_menhir.ml"
9565
9566 in
9567 let cv =
9568 let x = x0 in
9569
9570# 41 "standard.mly"
9571 ( Some x )
9572# 9573 "parser_cocci_menhir.ml"
9573
9574 in
9575
9576# 562 "parser_cocci_menhir.mly"
9577 ( P.pointerify (P.make_cv cv ty) m )
9578# 9579 "parser_cocci_menhir.ml"
9579 in
9580 _menhir_env.MenhirLib.EngineTypes.stack <- {
9581 MenhirLib.EngineTypes.state = _menhir_s;
9582 MenhirLib.EngineTypes.semv = Obj.repr _v;
9583 MenhirLib.EngineTypes.startp = _startpos;
9584 MenhirLib.EngineTypes.endp = _endpos;
9585 MenhirLib.EngineTypes.next = _menhir_stack;
9586 });
9587 (fun _menhir_env ->
9588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9589 let {
9590 MenhirLib.EngineTypes.semv = m;
9591 MenhirLib.EngineTypes.startp = _startpos_m_;
9592 MenhirLib.EngineTypes.endp = _endpos_m_;
9593 MenhirLib.EngineTypes.next = {
9594 MenhirLib.EngineTypes.semv = ty200;
9595 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9596 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9597 MenhirLib.EngineTypes.next = {
9598 MenhirLib.EngineTypes.semv = ty100;
9599 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9600 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9601 MenhirLib.EngineTypes.next = {
9602 MenhirLib.EngineTypes.state = _menhir_s;
9603 MenhirLib.EngineTypes.semv = x0;
9604 MenhirLib.EngineTypes.startp = _startpos_x0_;
9605 MenhirLib.EngineTypes.endp = _endpos_x0_;
9606 MenhirLib.EngineTypes.next = _menhir_stack;
9607 };
9608 };
9609 };
9610 } = _menhir_stack in
9611 let m : 'tv_list_TMul_ = Obj.magic m in
9612 let ty200 : (
9613# 49 "parser_cocci_menhir.mly"
9614 (Data.clt)
9615# 9616 "parser_cocci_menhir.ml"
9616 ) = Obj.magic ty200 in
9617 let ty100 : (
9618# 49 "parser_cocci_menhir.mly"
9619 (Data.clt)
9620# 9621 "parser_cocci_menhir.ml"
9621 ) = Obj.magic ty100 in
9622 let x0 : 'tv_const_vol = Obj.magic x0 in
9623 let _startpos = _startpos_x0_ in
9624 let _endpos = _endpos_m_ in
9625 let _v : 'tv_ctype = let ty =
9626 let ty20 = ty200 in
9627 let ty10 = ty100 in
9628 let ty =
9629 let ty2 = ty20 in
9630 let ty1 = ty10 in
9631
9632# 520 "parser_cocci_menhir.mly"
9633 ( Ast0.wrap
9634 (Ast0.BaseType
9635 (Ast.LongLongType,
9636 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9637# 9638 "parser_cocci_menhir.ml"
9638
9639 in
9640
9641# 557 "parser_cocci_menhir.mly"
9642 ( ty )
9643# 9644 "parser_cocci_menhir.ml"
9644
9645 in
9646 let cv =
9647 let x = x0 in
9648
9649# 41 "standard.mly"
9650 ( Some x )
9651# 9652 "parser_cocci_menhir.ml"
9652
9653 in
9654
9655# 562 "parser_cocci_menhir.mly"
9656 ( P.pointerify (P.make_cv cv ty) m )
9657# 9658 "parser_cocci_menhir.ml"
9658 in
9659 _menhir_env.MenhirLib.EngineTypes.stack <- {
9660 MenhirLib.EngineTypes.state = _menhir_s;
9661 MenhirLib.EngineTypes.semv = Obj.repr _v;
9662 MenhirLib.EngineTypes.startp = _startpos;
9663 MenhirLib.EngineTypes.endp = _endpos;
9664 MenhirLib.EngineTypes.next = _menhir_stack;
9665 });
9666 (fun _menhir_env ->
9667 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9668 let {
9669 MenhirLib.EngineTypes.semv = m;
9670 MenhirLib.EngineTypes.startp = _startpos_m_;
9671 MenhirLib.EngineTypes.endp = _endpos_m_;
9672 MenhirLib.EngineTypes.next = {
9673 MenhirLib.EngineTypes.semv = ty00;
9674 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9675 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9676 MenhirLib.EngineTypes.next = {
9677 MenhirLib.EngineTypes.state = _menhir_s;
9678 MenhirLib.EngineTypes.semv = x0;
9679 MenhirLib.EngineTypes.startp = _startpos_x0_;
9680 MenhirLib.EngineTypes.endp = _endpos_x0_;
9681 MenhirLib.EngineTypes.next = _menhir_stack;
9682 };
9683 };
9684 } = _menhir_stack in
9685 let m : 'tv_list_TMul_ = Obj.magic m in
9686 let ty00 : (
9687# 50 "parser_cocci_menhir.mly"
9688 (Data.clt)
9689# 9690 "parser_cocci_menhir.ml"
9690 ) = Obj.magic ty00 in
9691 let x0 : 'tv_const_vol = Obj.magic x0 in
9692 let _startpos = _startpos_x0_ in
9693 let _endpos = _endpos_m_ in
9694 let _v : 'tv_ctype = let ty =
9695 let ty0 = ty00 in
9696 let ty =
9697 let ty = ty0 in
9698
9699# 528 "parser_cocci_menhir.mly"
9700 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
9701# 9702 "parser_cocci_menhir.ml"
9702
9703 in
9704
9705# 558 "parser_cocci_menhir.mly"
9706 ( ty )
9707# 9708 "parser_cocci_menhir.ml"
9708
9709 in
9710 let cv =
9711 let x = x0 in
9712
9713# 41 "standard.mly"
9714 ( Some x )
9715# 9716 "parser_cocci_menhir.ml"
9716
9717 in
9718
9719# 562 "parser_cocci_menhir.mly"
9720 ( P.pointerify (P.make_cv cv ty) m )
9721# 9722 "parser_cocci_menhir.ml"
9722 in
9723 _menhir_env.MenhirLib.EngineTypes.stack <- {
9724 MenhirLib.EngineTypes.state = _menhir_s;
9725 MenhirLib.EngineTypes.semv = Obj.repr _v;
9726 MenhirLib.EngineTypes.startp = _startpos;
9727 MenhirLib.EngineTypes.endp = _endpos;
9728 MenhirLib.EngineTypes.next = _menhir_stack;
9729 });
9730 (fun _menhir_env ->
9731 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9732 let {
9733 MenhirLib.EngineTypes.semv = m;
9734 MenhirLib.EngineTypes.startp = _startpos_m_;
9735 MenhirLib.EngineTypes.endp = _endpos_m_;
9736 MenhirLib.EngineTypes.next = {
9737 MenhirLib.EngineTypes.semv = ty00;
9738 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9739 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9740 MenhirLib.EngineTypes.next = {
9741 MenhirLib.EngineTypes.state = _menhir_s;
9742 MenhirLib.EngineTypes.semv = x0;
9743 MenhirLib.EngineTypes.startp = _startpos_x0_;
9744 MenhirLib.EngineTypes.endp = _endpos_x0_;
9745 MenhirLib.EngineTypes.next = _menhir_stack;
9746 };
9747 };
9748 } = _menhir_stack in
9749 let m : 'tv_list_TMul_ = Obj.magic m in
9750 let ty00 : (
9751# 49 "parser_cocci_menhir.mly"
9752 (Data.clt)
9753# 9754 "parser_cocci_menhir.ml"
9754 ) = Obj.magic ty00 in
9755 let x0 : 'tv_const_vol = Obj.magic x0 in
9756 let _startpos = _startpos_x0_ in
9757 let _endpos = _endpos_m_ in
9758 let _v : 'tv_ctype = let ty =
9759 let ty0 = ty00 in
9760 let ty =
9761 let ty = ty0 in
9762
9763# 530 "parser_cocci_menhir.mly"
9764 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
9765# 9766 "parser_cocci_menhir.ml"
9766
9767 in
9768
9769# 558 "parser_cocci_menhir.mly"
9770 ( ty )
9771# 9772 "parser_cocci_menhir.ml"
9772
9773 in
9774 let cv =
9775 let x = x0 in
9776
9777# 41 "standard.mly"
9778 ( Some x )
9779# 9780 "parser_cocci_menhir.ml"
9780
9781 in
9782
9783# 562 "parser_cocci_menhir.mly"
9784 ( P.pointerify (P.make_cv cv ty) m )
9785# 9786 "parser_cocci_menhir.ml"
9786 in
9787 _menhir_env.MenhirLib.EngineTypes.stack <- {
9788 MenhirLib.EngineTypes.state = _menhir_s;
9789 MenhirLib.EngineTypes.semv = Obj.repr _v;
9790 MenhirLib.EngineTypes.startp = _startpos;
9791 MenhirLib.EngineTypes.endp = _endpos;
9792 MenhirLib.EngineTypes.next = _menhir_stack;
9793 });
9794 (fun _menhir_env ->
9795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9796 let {
9797 MenhirLib.EngineTypes.semv = m;
9798 MenhirLib.EngineTypes.startp = _startpos_m_;
9799 MenhirLib.EngineTypes.endp = _endpos_m_;
9800 MenhirLib.EngineTypes.next = {
9801 MenhirLib.EngineTypes.semv = ty00;
9802 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9803 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9804 MenhirLib.EngineTypes.next = {
9805 MenhirLib.EngineTypes.state = _menhir_s;
9806 MenhirLib.EngineTypes.semv = x0;
9807 MenhirLib.EngineTypes.startp = _startpos_x0_;
9808 MenhirLib.EngineTypes.endp = _endpos_x0_;
9809 MenhirLib.EngineTypes.next = _menhir_stack;
9810 };
9811 };
9812 } = _menhir_stack in
9813 let m : 'tv_list_TMul_ = Obj.magic m in
9814 let ty00 : (
9815# 49 "parser_cocci_menhir.mly"
9816 (Data.clt)
9817# 9818 "parser_cocci_menhir.ml"
9818 ) = Obj.magic ty00 in
9819 let x0 : 'tv_const_vol = Obj.magic x0 in
9820 let _startpos = _startpos_x0_ in
9821 let _endpos = _endpos_m_ in
9822 let _v : 'tv_ctype = let ty =
9823 let ty0 = ty00 in
9824 let ty =
9825 let ty = ty0 in
9826
9827# 532 "parser_cocci_menhir.mly"
9828 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
9829# 9830 "parser_cocci_menhir.ml"
9830
9831 in
9832
9833# 558 "parser_cocci_menhir.mly"
9834 ( ty )
9835# 9836 "parser_cocci_menhir.ml"
9836
9837 in
9838 let cv =
9839 let x = x0 in
9840
9841# 41 "standard.mly"
9842 ( Some x )
9843# 9844 "parser_cocci_menhir.ml"
9844
9845 in
9846
9847# 562 "parser_cocci_menhir.mly"
9848 ( P.pointerify (P.make_cv cv ty) m )
9849# 9850 "parser_cocci_menhir.ml"
9850 in
9851 _menhir_env.MenhirLib.EngineTypes.stack <- {
9852 MenhirLib.EngineTypes.state = _menhir_s;
9853 MenhirLib.EngineTypes.semv = Obj.repr _v;
9854 MenhirLib.EngineTypes.startp = _startpos;
9855 MenhirLib.EngineTypes.endp = _endpos;
9856 MenhirLib.EngineTypes.next = _menhir_stack;
9857 });
9858 (fun _menhir_env ->
9859 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9860 let {
9861 MenhirLib.EngineTypes.semv = m;
9862 MenhirLib.EngineTypes.startp = _startpos_m_;
9863 MenhirLib.EngineTypes.endp = _endpos_m_;
9864 MenhirLib.EngineTypes.next = {
9865 MenhirLib.EngineTypes.semv = i00;
9866 MenhirLib.EngineTypes.startp = _startpos_i00_;
9867 MenhirLib.EngineTypes.endp = _endpos_i00_;
9868 MenhirLib.EngineTypes.next = {
9869 MenhirLib.EngineTypes.semv = s00;
9870 MenhirLib.EngineTypes.startp = _startpos_s00_;
9871 MenhirLib.EngineTypes.endp = _endpos_s00_;
9872 MenhirLib.EngineTypes.next = {
9873 MenhirLib.EngineTypes.state = _menhir_s;
9874 MenhirLib.EngineTypes.semv = x0;
9875 MenhirLib.EngineTypes.startp = _startpos_x0_;
9876 MenhirLib.EngineTypes.endp = _endpos_x0_;
9877 MenhirLib.EngineTypes.next = _menhir_stack;
9878 };
9879 };
9880 };
9881 } = _menhir_stack in
9882 let m : 'tv_list_TMul_ = Obj.magic m in
9883 let i00 : 'tv_ident = Obj.magic i00 in
9884 let s00 : (
9885# 50 "parser_cocci_menhir.mly"
9886 (Data.clt)
9887# 9888 "parser_cocci_menhir.ml"
9888 ) = Obj.magic s00 in
9889 let x0 : 'tv_const_vol = Obj.magic x0 in
9890 let _startpos = _startpos_x0_ in
9891 let _endpos = _endpos_m_ in
9892 let _v : 'tv_ctype = let ty =
9893 let i0 = i00 in
9894 let s0 = s00 in
9895 let ty =
9896 let i = i0 in
9897 let s = s0 in
9898
9899# 534 "parser_cocci_menhir.mly"
9900 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
9901# 9902 "parser_cocci_menhir.ml"
9902
9903 in
9904
9905# 558 "parser_cocci_menhir.mly"
9906 ( ty )
9907# 9908 "parser_cocci_menhir.ml"
9908
9909 in
9910 let cv =
9911 let x = x0 in
9912
9913# 41 "standard.mly"
9914 ( Some x )
9915# 9916 "parser_cocci_menhir.ml"
9916
9917 in
9918
9919# 562 "parser_cocci_menhir.mly"
9920 ( P.pointerify (P.make_cv cv ty) m )
9921# 9922 "parser_cocci_menhir.ml"
9922 in
9923 _menhir_env.MenhirLib.EngineTypes.stack <- {
9924 MenhirLib.EngineTypes.state = _menhir_s;
9925 MenhirLib.EngineTypes.semv = Obj.repr _v;
9926 MenhirLib.EngineTypes.startp = _startpos;
9927 MenhirLib.EngineTypes.endp = _endpos;
9928 MenhirLib.EngineTypes.next = _menhir_stack;
9929 });
9930 (fun _menhir_env ->
9931 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9932 let {
9933 MenhirLib.EngineTypes.semv = m;
9934 MenhirLib.EngineTypes.startp = _startpos_m_;
9935 MenhirLib.EngineTypes.endp = _endpos_m_;
9936 MenhirLib.EngineTypes.next = {
9937 MenhirLib.EngineTypes.semv = i00;
9938 MenhirLib.EngineTypes.startp = _startpos_i00_;
9939 MenhirLib.EngineTypes.endp = _endpos_i00_;
9940 MenhirLib.EngineTypes.next = {
9941 MenhirLib.EngineTypes.semv = s00;
9942 MenhirLib.EngineTypes.startp = _startpos_s00_;
9943 MenhirLib.EngineTypes.endp = _endpos_s00_;
9944 MenhirLib.EngineTypes.next = {
9945 MenhirLib.EngineTypes.state = _menhir_s;
9946 MenhirLib.EngineTypes.semv = x0;
9947 MenhirLib.EngineTypes.startp = _startpos_x0_;
9948 MenhirLib.EngineTypes.endp = _endpos_x0_;
9949 MenhirLib.EngineTypes.next = _menhir_stack;
9950 };
9951 };
9952 };
9953 } = _menhir_stack in
9954 let m : 'tv_list_TMul_ = Obj.magic m in
9955 let i00 : 'tv_ident = Obj.magic i00 in
9956 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9957 let x0 : 'tv_const_vol = Obj.magic x0 in
9958 let _startpos = _startpos_x0_ in
9959 let _endpos = _endpos_m_ in
9960 let _v : 'tv_ctype = let ty =
9961 let i0 = i00 in
9962 let s0 = s00 in
9963 let ty =
9964 let i = i0 in
9965 let s = s0 in
9966
9967# 536 "parser_cocci_menhir.mly"
9968 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
9969# 9970 "parser_cocci_menhir.ml"
9970
9971 in
9972
9973# 558 "parser_cocci_menhir.mly"
9974 ( ty )
9975# 9976 "parser_cocci_menhir.ml"
9976
9977 in
9978 let cv =
9979 let x = x0 in
9980
9981# 41 "standard.mly"
9982 ( Some x )
9983# 9984 "parser_cocci_menhir.ml"
9984
9985 in
9986
9987# 562 "parser_cocci_menhir.mly"
9988 ( P.pointerify (P.make_cv cv ty) m )
9989# 9990 "parser_cocci_menhir.ml"
9990 in
9991 _menhir_env.MenhirLib.EngineTypes.stack <- {
9992 MenhirLib.EngineTypes.state = _menhir_s;
9993 MenhirLib.EngineTypes.semv = Obj.repr _v;
9994 MenhirLib.EngineTypes.startp = _startpos;
9995 MenhirLib.EngineTypes.endp = _endpos;
9996 MenhirLib.EngineTypes.next = _menhir_stack;
9997 });
9998 (fun _menhir_env ->
9999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10000 let {
10001 MenhirLib.EngineTypes.semv = m;
10002 MenhirLib.EngineTypes.startp = _startpos_m_;
10003 MenhirLib.EngineTypes.endp = _endpos_m_;
10004 MenhirLib.EngineTypes.next = {
10005 MenhirLib.EngineTypes.semv = r00;
10006 MenhirLib.EngineTypes.startp = _startpos_r00_;
10007 MenhirLib.EngineTypes.endp = _endpos_r00_;
10008 MenhirLib.EngineTypes.next = {
10009 MenhirLib.EngineTypes.semv = d00;
10010 MenhirLib.EngineTypes.startp = _startpos_d00_;
10011 MenhirLib.EngineTypes.endp = _endpos_d00_;
10012 MenhirLib.EngineTypes.next = {
10013 MenhirLib.EngineTypes.semv = l00;
10014 MenhirLib.EngineTypes.startp = _startpos_l00_;
10015 MenhirLib.EngineTypes.endp = _endpos_l00_;
10016 MenhirLib.EngineTypes.next = {
10017 MenhirLib.EngineTypes.semv = s00;
10018 MenhirLib.EngineTypes.startp = _startpos_s00_;
10019 MenhirLib.EngineTypes.endp = _endpos_s00_;
10020 MenhirLib.EngineTypes.next = {
10021 MenhirLib.EngineTypes.state = _menhir_s;
10022 MenhirLib.EngineTypes.semv = x0;
10023 MenhirLib.EngineTypes.startp = _startpos_x0_;
10024 MenhirLib.EngineTypes.endp = _endpos_x0_;
10025 MenhirLib.EngineTypes.next = _menhir_stack;
10026 };
10027 };
10028 };
10029 };
10030 };
10031 } = _menhir_stack in
10032 let m : 'tv_list_TMul_ = Obj.magic m in
10033 let r00 : (
10034# 102 "parser_cocci_menhir.mly"
10035 (Data.clt)
10036# 10037 "parser_cocci_menhir.ml"
10037 ) = Obj.magic r00 in
10038 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10039 let l00 : (
10040# 102 "parser_cocci_menhir.mly"
10041 (Data.clt)
10042# 10043 "parser_cocci_menhir.ml"
10043 ) = Obj.magic l00 in
10044 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10045 let x0 : 'tv_const_vol = Obj.magic x0 in
10046 let _startpos = _startpos_x0_ in
10047 let _endpos = _endpos_m_ in
10048 let _v : 'tv_ctype = let ty =
10049 let r0 = r00 in
10050 let d0 = d00 in
10051 let l0 = l00 in
10052 let s0 = s00 in
10053 let ty =
10054 let r = r0 in
10055 let d = d0 in
10056 let l = l0 in
10057 let s = s0 in
10058 let i =
10059
10060# 39 "standard.mly"
10061 ( None )
10062# 10063 "parser_cocci_menhir.ml"
10063
10064 in
10065
10066# 539 "parser_cocci_menhir.mly"
10067 ( (if i = None && !Data.in_iso
10068 then failwith "structures must be named in the iso file");
10069 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10070 P.clt2mcode "{" l,
10071 d, P.clt2mcode "}" r)) )
10072# 10073 "parser_cocci_menhir.ml"
10073
10074 in
10075
10076# 558 "parser_cocci_menhir.mly"
10077 ( ty )
10078# 10079 "parser_cocci_menhir.ml"
10079
10080 in
10081 let cv =
10082 let x = x0 in
10083
10084# 41 "standard.mly"
10085 ( Some x )
10086# 10087 "parser_cocci_menhir.ml"
10087
10088 in
10089
10090# 562 "parser_cocci_menhir.mly"
10091 ( P.pointerify (P.make_cv cv ty) m )
10092# 10093 "parser_cocci_menhir.ml"
10093 in
10094 _menhir_env.MenhirLib.EngineTypes.stack <- {
10095 MenhirLib.EngineTypes.state = _menhir_s;
10096 MenhirLib.EngineTypes.semv = Obj.repr _v;
10097 MenhirLib.EngineTypes.startp = _startpos;
10098 MenhirLib.EngineTypes.endp = _endpos;
10099 MenhirLib.EngineTypes.next = _menhir_stack;
10100 });
10101 (fun _menhir_env ->
10102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10103 let {
10104 MenhirLib.EngineTypes.semv = m;
10105 MenhirLib.EngineTypes.startp = _startpos_m_;
10106 MenhirLib.EngineTypes.endp = _endpos_m_;
10107 MenhirLib.EngineTypes.next = {
10108 MenhirLib.EngineTypes.semv = r00;
10109 MenhirLib.EngineTypes.startp = _startpos_r00_;
10110 MenhirLib.EngineTypes.endp = _endpos_r00_;
10111 MenhirLib.EngineTypes.next = {
10112 MenhirLib.EngineTypes.semv = d00;
10113 MenhirLib.EngineTypes.startp = _startpos_d00_;
10114 MenhirLib.EngineTypes.endp = _endpos_d00_;
10115 MenhirLib.EngineTypes.next = {
10116 MenhirLib.EngineTypes.semv = l00;
10117 MenhirLib.EngineTypes.startp = _startpos_l00_;
10118 MenhirLib.EngineTypes.endp = _endpos_l00_;
10119 MenhirLib.EngineTypes.next = {
10120 MenhirLib.EngineTypes.semv = x000;
10121 MenhirLib.EngineTypes.startp = _startpos_x000_;
10122 MenhirLib.EngineTypes.endp = _endpos_x000_;
10123 MenhirLib.EngineTypes.next = {
10124 MenhirLib.EngineTypes.semv = s00;
10125 MenhirLib.EngineTypes.startp = _startpos_s00_;
10126 MenhirLib.EngineTypes.endp = _endpos_s00_;
10127 MenhirLib.EngineTypes.next = {
10128 MenhirLib.EngineTypes.state = _menhir_s;
10129 MenhirLib.EngineTypes.semv = x0;
10130 MenhirLib.EngineTypes.startp = _startpos_x0_;
10131 MenhirLib.EngineTypes.endp = _endpos_x0_;
10132 MenhirLib.EngineTypes.next = _menhir_stack;
10133 };
10134 };
10135 };
10136 };
10137 };
10138 };
10139 } = _menhir_stack in
10140 let m : 'tv_list_TMul_ = Obj.magic m in
10141 let r00 : (
10142# 102 "parser_cocci_menhir.mly"
10143 (Data.clt)
10144# 10145 "parser_cocci_menhir.ml"
10145 ) = Obj.magic r00 in
10146 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10147 let l00 : (
10148# 102 "parser_cocci_menhir.mly"
10149 (Data.clt)
10150# 10151 "parser_cocci_menhir.ml"
10151 ) = Obj.magic l00 in
10152 let x000 : 'tv_ident = Obj.magic x000 in
10153 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10154 let x0 : 'tv_const_vol = Obj.magic x0 in
10155 let _startpos = _startpos_x0_ in
10156 let _endpos = _endpos_m_ in
10157 let _v : 'tv_ctype = let ty =
10158 let r0 = r00 in
10159 let d0 = d00 in
10160 let l0 = l00 in
10161 let x00 = x000 in
10162 let s0 = s00 in
10163 let ty =
10164 let r = r0 in
10165 let d = d0 in
10166 let l = l0 in
10167 let x0 = x00 in
10168 let s = s0 in
10169 let i =
10170 let x = x0 in
10171
10172# 41 "standard.mly"
10173 ( Some x )
10174# 10175 "parser_cocci_menhir.ml"
10175
10176 in
10177
10178# 539 "parser_cocci_menhir.mly"
10179 ( (if i = None && !Data.in_iso
10180 then failwith "structures must be named in the iso file");
10181 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10182 P.clt2mcode "{" l,
10183 d, P.clt2mcode "}" r)) )
10184# 10185 "parser_cocci_menhir.ml"
10185
10186 in
10187
10188# 558 "parser_cocci_menhir.mly"
10189 ( ty )
10190# 10191 "parser_cocci_menhir.ml"
10191
10192 in
10193 let cv =
10194 let x = x0 in
10195
10196# 41 "standard.mly"
10197 ( Some x )
10198# 10199 "parser_cocci_menhir.ml"
10199
10200 in
10201
10202# 562 "parser_cocci_menhir.mly"
10203 ( P.pointerify (P.make_cv cv ty) m )
10204# 10205 "parser_cocci_menhir.ml"
10205 in
10206 _menhir_env.MenhirLib.EngineTypes.stack <- {
10207 MenhirLib.EngineTypes.state = _menhir_s;
10208 MenhirLib.EngineTypes.semv = Obj.repr _v;
10209 MenhirLib.EngineTypes.startp = _startpos;
10210 MenhirLib.EngineTypes.endp = _endpos;
10211 MenhirLib.EngineTypes.next = _menhir_stack;
10212 });
10213 (fun _menhir_env ->
10214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10215 let {
10216 MenhirLib.EngineTypes.semv = m;
10217 MenhirLib.EngineTypes.startp = _startpos_m_;
10218 MenhirLib.EngineTypes.endp = _endpos_m_;
10219 MenhirLib.EngineTypes.next = {
10220 MenhirLib.EngineTypes.semv = r00;
10221 MenhirLib.EngineTypes.startp = _startpos_r00_;
10222 MenhirLib.EngineTypes.endp = _endpos_r00_;
10223 MenhirLib.EngineTypes.next = {
10224 MenhirLib.EngineTypes.semv = d00;
10225 MenhirLib.EngineTypes.startp = _startpos_d00_;
10226 MenhirLib.EngineTypes.endp = _endpos_d00_;
10227 MenhirLib.EngineTypes.next = {
10228 MenhirLib.EngineTypes.semv = l00;
10229 MenhirLib.EngineTypes.startp = _startpos_l00_;
10230 MenhirLib.EngineTypes.endp = _endpos_l00_;
10231 MenhirLib.EngineTypes.next = {
10232 MenhirLib.EngineTypes.semv = s00;
10233 MenhirLib.EngineTypes.startp = _startpos_s00_;
10234 MenhirLib.EngineTypes.endp = _endpos_s00_;
10235 MenhirLib.EngineTypes.next = {
10236 MenhirLib.EngineTypes.state = _menhir_s;
10237 MenhirLib.EngineTypes.semv = x0;
10238 MenhirLib.EngineTypes.startp = _startpos_x0_;
10239 MenhirLib.EngineTypes.endp = _endpos_x0_;
10240 MenhirLib.EngineTypes.next = _menhir_stack;
10241 };
10242 };
10243 };
10244 };
10245 };
10246 } = _menhir_stack in
10247 let m : 'tv_list_TMul_ = Obj.magic m in
10248 let r00 : (
10249# 102 "parser_cocci_menhir.mly"
10250 (Data.clt)
10251# 10252 "parser_cocci_menhir.ml"
10252 ) = Obj.magic r00 in
10253 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10254 let l00 : (
10255# 102 "parser_cocci_menhir.mly"
10256 (Data.clt)
10257# 10258 "parser_cocci_menhir.ml"
10258 ) = Obj.magic l00 in
10259 let s00 : (
10260# 65 "parser_cocci_menhir.mly"
10261 (Parse_aux.info)
10262# 10263 "parser_cocci_menhir.ml"
10263 ) = Obj.magic s00 in
10264 let x0 : 'tv_const_vol = Obj.magic x0 in
10265 let _startpos = _startpos_x0_ in
10266 let _endpos = _endpos_m_ in
10267 let _v : 'tv_ctype = let ty =
10268 let r0 = r00 in
10269 let d0 = d00 in
10270 let l0 = l00 in
10271 let s0 = s00 in
10272 let ty =
10273 let r = r0 in
10274 let d = d0 in
10275 let l = l0 in
10276 let s = s0 in
10277
10278# 545 "parser_cocci_menhir.mly"
10279 ( let (nm,pure,clt) = s in
10280 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
10281 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
10282# 10283 "parser_cocci_menhir.ml"
10283
10284 in
10285
10286# 558 "parser_cocci_menhir.mly"
10287 ( ty )
10288# 10289 "parser_cocci_menhir.ml"
10289
10290 in
10291 let cv =
10292 let x = x0 in
10293
10294# 41 "standard.mly"
10295 ( Some x )
10296# 10297 "parser_cocci_menhir.ml"
10297
10298 in
10299
10300# 562 "parser_cocci_menhir.mly"
10301 ( P.pointerify (P.make_cv cv ty) m )
10302# 10303 "parser_cocci_menhir.ml"
10303 in
10304 _menhir_env.MenhirLib.EngineTypes.stack <- {
10305 MenhirLib.EngineTypes.state = _menhir_s;
10306 MenhirLib.EngineTypes.semv = Obj.repr _v;
10307 MenhirLib.EngineTypes.startp = _startpos;
10308 MenhirLib.EngineTypes.endp = _endpos;
10309 MenhirLib.EngineTypes.next = _menhir_stack;
10310 });
10311 (fun _menhir_env ->
10312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10313 let {
10314 MenhirLib.EngineTypes.semv = m;
10315 MenhirLib.EngineTypes.startp = _startpos_m_;
10316 MenhirLib.EngineTypes.endp = _endpos_m_;
10317 MenhirLib.EngineTypes.next = {
10318 MenhirLib.EngineTypes.semv = p00;
10319 MenhirLib.EngineTypes.startp = _startpos_p00_;
10320 MenhirLib.EngineTypes.endp = _endpos_p00_;
10321 MenhirLib.EngineTypes.next = {
10322 MenhirLib.EngineTypes.state = _menhir_s;
10323 MenhirLib.EngineTypes.semv = x0;
10324 MenhirLib.EngineTypes.startp = _startpos_x0_;
10325 MenhirLib.EngineTypes.endp = _endpos_x0_;
10326 MenhirLib.EngineTypes.next = _menhir_stack;
10327 };
10328 };
10329 } = _menhir_stack in
10330 let m : 'tv_list_TMul_ = Obj.magic m in
10331 let p00 : (
10332# 59 "parser_cocci_menhir.mly"
10333 (string * Data.clt)
10334# 10335 "parser_cocci_menhir.ml"
10335 ) = Obj.magic p00 in
10336 let x0 : 'tv_const_vol = Obj.magic x0 in
10337 let _startpos = _startpos_x0_ in
10338 let _endpos = _endpos_m_ in
10339 let _v : 'tv_ctype = let ty =
10340 let p0 = p00 in
10341 let ty =
10342 let p = p0 in
10343
10344# 549 "parser_cocci_menhir.mly"
10345 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
10346# 10347 "parser_cocci_menhir.ml"
10347
10348 in
10349
10350# 558 "parser_cocci_menhir.mly"
10351 ( ty )
10352# 10353 "parser_cocci_menhir.ml"
10353
10354 in
10355 let cv =
10356 let x = x0 in
10357
10358# 41 "standard.mly"
10359 ( Some x )
10360# 10361 "parser_cocci_menhir.ml"
10361
10362 in
10363
10364# 562 "parser_cocci_menhir.mly"
10365 ( P.pointerify (P.make_cv cv ty) m )
10366# 10367 "parser_cocci_menhir.ml"
10367 in
10368 _menhir_env.MenhirLib.EngineTypes.stack <- {
10369 MenhirLib.EngineTypes.state = _menhir_s;
10370 MenhirLib.EngineTypes.semv = Obj.repr _v;
10371 MenhirLib.EngineTypes.startp = _startpos;
10372 MenhirLib.EngineTypes.endp = _endpos;
10373 MenhirLib.EngineTypes.next = _menhir_stack;
10374 });
10375 (fun _menhir_env ->
10376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10377 let {
10378 MenhirLib.EngineTypes.state = _menhir_s;
10379 MenhirLib.EngineTypes.semv = r;
10380 MenhirLib.EngineTypes.startp = _startpos_r_;
10381 MenhirLib.EngineTypes.endp = _endpos_r_;
10382 MenhirLib.EngineTypes.next = _menhir_stack;
10383 } = _menhir_stack in
10384 let r : (
10385# 51 "parser_cocci_menhir.mly"
10386 (Data.clt)
10387# 10388 "parser_cocci_menhir.ml"
10388 ) = Obj.magic r in
10389 let _startpos = _startpos_r_ in
10390 let _endpos = _endpos_r_ in
10391 let _v : 'tv_ctype =
10392# 564 "parser_cocci_menhir.mly"
10393 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
10394# 10395 "parser_cocci_menhir.ml"
10395 in
10396 _menhir_env.MenhirLib.EngineTypes.stack <- {
10397 MenhirLib.EngineTypes.state = _menhir_s;
10398 MenhirLib.EngineTypes.semv = Obj.repr _v;
10399 MenhirLib.EngineTypes.startp = _startpos;
10400 MenhirLib.EngineTypes.endp = _endpos;
10401 MenhirLib.EngineTypes.next = _menhir_stack;
10402 });
10403 (fun _menhir_env ->
10404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10405 let {
10406 MenhirLib.EngineTypes.state = _menhir_s;
10407 MenhirLib.EngineTypes.semv = r;
10408 MenhirLib.EngineTypes.startp = _startpos_r_;
10409 MenhirLib.EngineTypes.endp = _endpos_r_;
10410 MenhirLib.EngineTypes.next = _menhir_stack;
10411 } = _menhir_stack in
10412 let r : (
10413# 51 "parser_cocci_menhir.mly"
10414 (Data.clt)
10415# 10416 "parser_cocci_menhir.ml"
10416 ) = Obj.magic r in
10417 let _startpos = _startpos_r_ in
10418 let _endpos = _endpos_r_ in
10419 let _v : 'tv_ctype =
10420# 566 "parser_cocci_menhir.mly"
10421 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
10422# 10423 "parser_cocci_menhir.ml"
10423 in
10424 _menhir_env.MenhirLib.EngineTypes.stack <- {
10425 MenhirLib.EngineTypes.state = _menhir_s;
10426 MenhirLib.EngineTypes.semv = Obj.repr _v;
10427 MenhirLib.EngineTypes.startp = _startpos;
10428 MenhirLib.EngineTypes.endp = _endpos;
10429 MenhirLib.EngineTypes.next = _menhir_stack;
10430 });
10431 (fun _menhir_env ->
10432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10433 let {
10434 MenhirLib.EngineTypes.semv = rp;
10435 MenhirLib.EngineTypes.startp = _startpos_rp_;
10436 MenhirLib.EngineTypes.endp = _endpos_rp_;
10437 MenhirLib.EngineTypes.next = {
10438 MenhirLib.EngineTypes.semv = t;
10439 MenhirLib.EngineTypes.startp = _startpos_t_;
10440 MenhirLib.EngineTypes.endp = _endpos_t_;
10441 MenhirLib.EngineTypes.next = {
10442 MenhirLib.EngineTypes.state = _menhir_s;
10443 MenhirLib.EngineTypes.semv = lp;
10444 MenhirLib.EngineTypes.startp = _startpos_lp_;
10445 MenhirLib.EngineTypes.endp = _endpos_lp_;
10446 MenhirLib.EngineTypes.next = _menhir_stack;
10447 };
10448 };
10449 } = _menhir_stack in
10450 let rp : (
10451# 78 "parser_cocci_menhir.mly"
10452 (Data.clt)
10453# 10454 "parser_cocci_menhir.ml"
10454 ) = Obj.magic rp in
10455 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
10456 let lp : (
10457# 77 "parser_cocci_menhir.mly"
10458 (Data.clt)
10459# 10460 "parser_cocci_menhir.ml"
10460 ) = Obj.magic lp in
10461 let _startpos = _startpos_lp_ in
10462 let _endpos = _endpos_rp_ in
10463 let _v : 'tv_ctype =
10464# 568 "parser_cocci_menhir.mly"
10465 ( let (mids,code) = t in
10466 Ast0.wrap
10467 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
10468# 10469 "parser_cocci_menhir.ml"
10469 in
10470 _menhir_env.MenhirLib.EngineTypes.stack <- {
10471 MenhirLib.EngineTypes.state = _menhir_s;
10472 MenhirLib.EngineTypes.semv = Obj.repr _v;
10473 MenhirLib.EngineTypes.startp = _startpos;
10474 MenhirLib.EngineTypes.endp = _endpos;
10475 MenhirLib.EngineTypes.next = _menhir_stack;
10476 });
10477 (fun _menhir_env ->
10478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10479 let {
10480 MenhirLib.EngineTypes.semv = _2;
10481 MenhirLib.EngineTypes.startp = _startpos__2_;
10482 MenhirLib.EngineTypes.endp = _endpos__2_;
10483 MenhirLib.EngineTypes.next = {
10484 MenhirLib.EngineTypes.state = _menhir_s;
10485 MenhirLib.EngineTypes.semv = _1;
10486 MenhirLib.EngineTypes.startp = _startpos__1_;
10487 MenhirLib.EngineTypes.endp = _endpos__1_;
10488 MenhirLib.EngineTypes.next = _menhir_stack;
10489 };
10490 } = _menhir_stack in
10491 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
10492 let _1 : 'tv_ident = Obj.magic _1 in
10493 let _startpos = _startpos__1_ in
10494 let _endpos = _endpos__2_ in
10495 let _v : 'tv_d_ident =
10496# 1082 "parser_cocci_menhir.mly"
10497 ( (_1,
10498 function t ->
10499 List.fold_right
10500 (function (l,i,r) ->
10501 function rest ->
10502 Ast0.wrap
10503 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
10504 _2 t) )
10505# 10506 "parser_cocci_menhir.ml"
10506 in
10507 _menhir_env.MenhirLib.EngineTypes.stack <- {
10508 MenhirLib.EngineTypes.state = _menhir_s;
10509 MenhirLib.EngineTypes.semv = Obj.repr _v;
10510 MenhirLib.EngineTypes.startp = _startpos;
10511 MenhirLib.EngineTypes.endp = _endpos;
10512 MenhirLib.EngineTypes.next = _menhir_stack;
10513 });
10514 (fun _menhir_env ->
10515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10516 let {
10517 MenhirLib.EngineTypes.semv = i;
10518 MenhirLib.EngineTypes.startp = _startpos_i_;
10519 MenhirLib.EngineTypes.endp = _endpos_i_;
10520 MenhirLib.EngineTypes.next = {
10521 MenhirLib.EngineTypes.state = _menhir_s;
10522 MenhirLib.EngineTypes.semv = t;
10523 MenhirLib.EngineTypes.startp = _startpos_t_;
10524 MenhirLib.EngineTypes.endp = _endpos_t_;
10525 MenhirLib.EngineTypes.next = _menhir_stack;
10526 };
10527 } = _menhir_stack in
10528 let i : 'tv_ident = Obj.magic i in
10529 let t : 'tv_ctype = Obj.magic t in
10530 let _startpos = _startpos_t_ in
10531 let _endpos = _endpos_i_ in
10532 let _v : 'tv_decl =
10533# 838 "parser_cocci_menhir.mly"
10534 ( Ast0.wrap(Ast0.Param(t, Some i)) )
10535# 10536 "parser_cocci_menhir.ml"
10536 in
10537 _menhir_env.MenhirLib.EngineTypes.stack <- {
10538 MenhirLib.EngineTypes.state = _menhir_s;
10539 MenhirLib.EngineTypes.semv = Obj.repr _v;
10540 MenhirLib.EngineTypes.startp = _startpos;
10541 MenhirLib.EngineTypes.endp = _endpos;
10542 MenhirLib.EngineTypes.next = _menhir_stack;
10543 });
10544 (fun _menhir_env ->
10545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10546 let {
10547 MenhirLib.EngineTypes.state = _menhir_s;
10548 MenhirLib.EngineTypes.semv = t;
10549 MenhirLib.EngineTypes.startp = _startpos_t_;
10550 MenhirLib.EngineTypes.endp = _endpos_t_;
10551 MenhirLib.EngineTypes.next = _menhir_stack;
10552 } = _menhir_stack in
10553 let t : 'tv_ctype = Obj.magic t in
10554 let _startpos = _startpos_t_ in
10555 let _endpos = _endpos_t_ in
10556 let _v : 'tv_decl =
10557# 839 "parser_cocci_menhir.mly"
10558 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
10559# 10560 "parser_cocci_menhir.ml"
10560 in
10561 _menhir_env.MenhirLib.EngineTypes.stack <- {
10562 MenhirLib.EngineTypes.state = _menhir_s;
10563 MenhirLib.EngineTypes.semv = Obj.repr _v;
10564 MenhirLib.EngineTypes.startp = _startpos;
10565 MenhirLib.EngineTypes.endp = _endpos;
10566 MenhirLib.EngineTypes.next = _menhir_stack;
10567 });
10568 (fun _menhir_env ->
10569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10570 let {
10571 MenhirLib.EngineTypes.semv = rp1;
10572 MenhirLib.EngineTypes.startp = _startpos_rp1_;
10573 MenhirLib.EngineTypes.endp = _endpos_rp1_;
10574 MenhirLib.EngineTypes.next = {
10575 MenhirLib.EngineTypes.semv = d;
10576 MenhirLib.EngineTypes.startp = _startpos_d_;
10577 MenhirLib.EngineTypes.endp = _endpos_d_;
10578 MenhirLib.EngineTypes.next = {
10579 MenhirLib.EngineTypes.semv = lp1;
10580 MenhirLib.EngineTypes.startp = _startpos_lp1_;
10581 MenhirLib.EngineTypes.endp = _endpos_lp1_;
10582 MenhirLib.EngineTypes.next = {
10583 MenhirLib.EngineTypes.semv = rp;
10584 MenhirLib.EngineTypes.startp = _startpos_rp_;
10585 MenhirLib.EngineTypes.endp = _endpos_rp_;
10586 MenhirLib.EngineTypes.next = {
10587 MenhirLib.EngineTypes.semv = i;
10588 MenhirLib.EngineTypes.startp = _startpos_i_;
10589 MenhirLib.EngineTypes.endp = _endpos_i_;
10590 MenhirLib.EngineTypes.next = {
10591 MenhirLib.EngineTypes.semv = s;
10592 MenhirLib.EngineTypes.startp = _startpos_s_;
10593 MenhirLib.EngineTypes.endp = _endpos_s_;
10594 MenhirLib.EngineTypes.next = {
10595 MenhirLib.EngineTypes.semv = lp;
10596 MenhirLib.EngineTypes.startp = _startpos_lp_;
10597 MenhirLib.EngineTypes.endp = _endpos_lp_;
10598 MenhirLib.EngineTypes.next = {
10599 MenhirLib.EngineTypes.state = _menhir_s;
10600 MenhirLib.EngineTypes.semv = t;
10601 MenhirLib.EngineTypes.startp = _startpos_t_;
10602 MenhirLib.EngineTypes.endp = _endpos_t_;
10603 MenhirLib.EngineTypes.next = _menhir_stack;
10604 };
10605 };
10606 };
10607 };
10608 };
10609 };
10610 };
10611 } = _menhir_stack in
10612 let rp1 : (
10613# 78 "parser_cocci_menhir.mly"
10614 (Data.clt)
10615# 10616 "parser_cocci_menhir.ml"
10616 ) = Obj.magic rp1 in
10617 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
10618 let lp1 : (
10619# 77 "parser_cocci_menhir.mly"
10620 (Data.clt)
10621# 10622 "parser_cocci_menhir.ml"
10622 ) = Obj.magic lp1 in
10623 let rp : (
10624# 78 "parser_cocci_menhir.mly"
10625 (Data.clt)
10626# 10627 "parser_cocci_menhir.ml"
10627 ) = Obj.magic rp in
10628 let i : 'tv_ident = Obj.magic i in
10629 let s : (
10630# 100 "parser_cocci_menhir.mly"
10631 (Data.clt)
10632# 10633 "parser_cocci_menhir.ml"
10633 ) = Obj.magic s in
10634 let lp : (
10635# 77 "parser_cocci_menhir.mly"
10636 (Data.clt)
10637# 10638 "parser_cocci_menhir.ml"
10638 ) = Obj.magic lp in
10639 let t : 'tv_ctype = Obj.magic t in
10640 let _startpos = _startpos_t_ in
10641 let _endpos = _endpos_rp1_ in
10642 let _v : 'tv_decl =
10643# 842 "parser_cocci_menhir.mly"
10644 ( let fnptr =
10645 Ast0.wrap
10646 (Ast0.FunctionPointer
10647 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
10648 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
10649 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
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# 65 "parser_cocci_menhir.mly"
10670 (Parse_aux.info)
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 =
10676# 849 "parser_cocci_menhir.mly"
10677 ( let (nm,pure,clt) = _1 in
10678 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
10679# 10680 "parser_cocci_menhir.ml"
10680 in
10681 _menhir_env.MenhirLib.EngineTypes.stack <- {
10682 MenhirLib.EngineTypes.state = _menhir_s;
10683 MenhirLib.EngineTypes.semv = Obj.repr _v;
10684 MenhirLib.EngineTypes.startp = _startpos;
10685 MenhirLib.EngineTypes.endp = _endpos;
10686 MenhirLib.EngineTypes.next = _menhir_stack;
10687 });
10688 (fun _menhir_env ->
10689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10690 let {
10691 MenhirLib.EngineTypes.state = _menhir_s;
10692 MenhirLib.EngineTypes.semv = _1;
10693 MenhirLib.EngineTypes.startp = _startpos__1_;
10694 MenhirLib.EngineTypes.endp = _endpos__1_;
10695 MenhirLib.EngineTypes.next = _menhir_stack;
10696 } = _menhir_stack in
10697 let _1 : (
10698# 59 "parser_cocci_menhir.mly"
10699 (string * Data.clt)
10700# 10701 "parser_cocci_menhir.ml"
10701 ) = Obj.magic _1 in
10702 let _startpos = _startpos__1_ in
10703 let _endpos = _endpos__1_ in
10704 let _v : 'tv_decl_ident =
10705# 1627 "parser_cocci_menhir.mly"
10706 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
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 {
10719 MenhirLib.EngineTypes.state = _menhir_s;
10720 MenhirLib.EngineTypes.semv = _1;
10721 MenhirLib.EngineTypes.startp = _startpos__1_;
10722 MenhirLib.EngineTypes.endp = _endpos__1_;
10723 MenhirLib.EngineTypes.next = _menhir_stack;
10724 } = _menhir_stack in
10725 let _1 : (
10726# 63 "parser_cocci_menhir.mly"
10727 (Parse_aux.idinfo)
10728# 10729 "parser_cocci_menhir.ml"
10729 ) = Obj.magic _1 in
10730 let _startpos = _startpos__1_ in
10731 let _endpos = _endpos__1_ in
10732 let _v : 'tv_decl_ident =
10733# 1629 "parser_cocci_menhir.mly"
10734 ( let (nm,constraints,pure,clt) = _1 in
10735 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
10736# 10737 "parser_cocci_menhir.ml"
10737 in
10738 _menhir_env.MenhirLib.EngineTypes.stack <- {
10739 MenhirLib.EngineTypes.state = _menhir_s;
10740 MenhirLib.EngineTypes.semv = Obj.repr _v;
10741 MenhirLib.EngineTypes.startp = _startpos;
10742 MenhirLib.EngineTypes.endp = _endpos;
10743 MenhirLib.EngineTypes.next = _menhir_stack;
10744 });
10745 (fun _menhir_env ->
10746 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10747 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10748 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10749 let _endpos = _startpos in
10750 let _v : 'tv_decl_list_decl_ =
10751# 1649 "parser_cocci_menhir.mly"
10752 ( Ast0.wrap(Ast0.DOTS([])) )
10753# 10754 "parser_cocci_menhir.ml"
10754 in
10755 _menhir_env.MenhirLib.EngineTypes.stack <- {
10756 MenhirLib.EngineTypes.state = _menhir_s;
10757 MenhirLib.EngineTypes.semv = Obj.repr _v;
10758 MenhirLib.EngineTypes.startp = _startpos;
10759 MenhirLib.EngineTypes.endp = _endpos;
10760 MenhirLib.EngineTypes.next = _menhir_stack;
10761 });
10762 (fun _menhir_env ->
10763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10764 let {
10765 MenhirLib.EngineTypes.state = _menhir_s;
10766 MenhirLib.EngineTypes.semv = _1;
10767 MenhirLib.EngineTypes.startp = _startpos__1_;
10768 MenhirLib.EngineTypes.endp = _endpos__1_;
10769 MenhirLib.EngineTypes.next = _menhir_stack;
10770 } = _menhir_stack in
10771 let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
10772 let _startpos = _startpos__1_ in
10773 let _endpos = _endpos__1_ in
10774 let _v : 'tv_decl_list_decl_ =
10775# 1651 "parser_cocci_menhir.mly"
10776 (let circle x =
10777 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10778 if List.exists circle _1
10779 then Ast0.wrap(Ast0.CIRCLES(_1))
10780 else Ast0.wrap(Ast0.DOTS(_1)) )
10781# 10782 "parser_cocci_menhir.ml"
10782 in
10783 _menhir_env.MenhirLib.EngineTypes.stack <- {
10784 MenhirLib.EngineTypes.state = _menhir_s;
10785 MenhirLib.EngineTypes.semv = Obj.repr _v;
10786 MenhirLib.EngineTypes.startp = _startpos;
10787 MenhirLib.EngineTypes.endp = _endpos;
10788 MenhirLib.EngineTypes.next = _menhir_stack;
10789 });
10790 (fun _menhir_env ->
10791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10792 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10793 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10794 let _endpos = _startpos in
10795 let _v : 'tv_decl_list_name_opt_decl_ =
10796# 1649 "parser_cocci_menhir.mly"
10797 ( Ast0.wrap(Ast0.DOTS([])) )
10798# 10799 "parser_cocci_menhir.ml"
10799 in
10800 _menhir_env.MenhirLib.EngineTypes.stack <- {
10801 MenhirLib.EngineTypes.state = _menhir_s;
10802 MenhirLib.EngineTypes.semv = Obj.repr _v;
10803 MenhirLib.EngineTypes.startp = _startpos;
10804 MenhirLib.EngineTypes.endp = _endpos;
10805 MenhirLib.EngineTypes.next = _menhir_stack;
10806 });
10807 (fun _menhir_env ->
10808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10809 let {
10810 MenhirLib.EngineTypes.state = _menhir_s;
10811 MenhirLib.EngineTypes.semv = _1;
10812 MenhirLib.EngineTypes.startp = _startpos__1_;
10813 MenhirLib.EngineTypes.endp = _endpos__1_;
10814 MenhirLib.EngineTypes.next = _menhir_stack;
10815 } = _menhir_stack in
10816 let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
10817 let _startpos = _startpos__1_ in
10818 let _endpos = _endpos__1_ in
10819 let _v : 'tv_decl_list_name_opt_decl_ =
10820# 1651 "parser_cocci_menhir.mly"
10821 (let circle x =
10822 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10823 if List.exists circle _1
10824 then Ast0.wrap(Ast0.CIRCLES(_1))
10825 else Ast0.wrap(Ast0.DOTS(_1)) )
10826# 10827 "parser_cocci_menhir.ml"
10827 in
10828 _menhir_env.MenhirLib.EngineTypes.stack <- {
10829 MenhirLib.EngineTypes.state = _menhir_s;
10830 MenhirLib.EngineTypes.semv = Obj.repr _v;
10831 MenhirLib.EngineTypes.startp = _startpos;
10832 MenhirLib.EngineTypes.endp = _endpos;
10833 MenhirLib.EngineTypes.next = _menhir_stack;
10834 });
10835 (fun _menhir_env ->
10836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10837 let {
10838 MenhirLib.EngineTypes.state = _menhir_s;
10839 MenhirLib.EngineTypes.semv = _1;
10840 MenhirLib.EngineTypes.startp = _startpos__1_;
10841 MenhirLib.EngineTypes.endp = _endpos__1_;
10842 MenhirLib.EngineTypes.next = _menhir_stack;
10843 } = _menhir_stack in
10844 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10845 let _startpos = _startpos__1_ in
10846 let _endpos = _endpos__1_ in
10847 let _v : 'tv_decl_list_start_decl_ =
10848# 1658 "parser_cocci_menhir.mly"
10849 ( [_1] )
10850# 10851 "parser_cocci_menhir.ml"
10851 in
10852 _menhir_env.MenhirLib.EngineTypes.stack <- {
10853 MenhirLib.EngineTypes.state = _menhir_s;
10854 MenhirLib.EngineTypes.semv = Obj.repr _v;
10855 MenhirLib.EngineTypes.startp = _startpos;
10856 MenhirLib.EngineTypes.endp = _endpos;
10857 MenhirLib.EngineTypes.next = _menhir_stack;
10858 });
10859 (fun _menhir_env ->
10860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10861 let {
10862 MenhirLib.EngineTypes.semv = _3;
10863 MenhirLib.EngineTypes.startp = _startpos__3_;
10864 MenhirLib.EngineTypes.endp = _endpos__3_;
10865 MenhirLib.EngineTypes.next = {
10866 MenhirLib.EngineTypes.semv = _2;
10867 MenhirLib.EngineTypes.startp = _startpos__2_;
10868 MenhirLib.EngineTypes.endp = _endpos__2_;
10869 MenhirLib.EngineTypes.next = {
10870 MenhirLib.EngineTypes.state = _menhir_s;
10871 MenhirLib.EngineTypes.semv = _1;
10872 MenhirLib.EngineTypes.startp = _startpos__1_;
10873 MenhirLib.EngineTypes.endp = _endpos__1_;
10874 MenhirLib.EngineTypes.next = _menhir_stack;
10875 };
10876 };
10877 } = _menhir_stack in
10878 let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
10879 let _2 : (
10880# 108 "parser_cocci_menhir.mly"
10881 (Data.clt)
10882# 10883 "parser_cocci_menhir.ml"
10883 ) = Obj.magic _2 in
10884 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10885 let _startpos = _startpos__1_ in
10886 let _endpos = _endpos__3_ in
10887 let _v : 'tv_decl_list_start_decl_ =
10888# 1660 "parser_cocci_menhir.mly"
10889 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10890# 10891 "parser_cocci_menhir.ml"
10891 in
10892 _menhir_env.MenhirLib.EngineTypes.stack <- {
10893 MenhirLib.EngineTypes.state = _menhir_s;
10894 MenhirLib.EngineTypes.semv = Obj.repr _v;
10895 MenhirLib.EngineTypes.startp = _startpos;
10896 MenhirLib.EngineTypes.endp = _endpos;
10897 MenhirLib.EngineTypes.next = _menhir_stack;
10898 });
10899 (fun _menhir_env ->
10900 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10901 let {
10902 MenhirLib.EngineTypes.semv = _2;
10903 MenhirLib.EngineTypes.startp = _startpos__2_;
10904 MenhirLib.EngineTypes.endp = _endpos__2_;
10905 MenhirLib.EngineTypes.next = {
10906 MenhirLib.EngineTypes.state = _menhir_s;
10907 MenhirLib.EngineTypes.semv = _1;
10908 MenhirLib.EngineTypes.startp = _startpos__1_;
10909 MenhirLib.EngineTypes.endp = _endpos__1_;
10910 MenhirLib.EngineTypes.next = _menhir_stack;
10911 };
10912 } = _menhir_stack in
10913 let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
10914 let _1 : (
10915# 74 "parser_cocci_menhir.mly"
10916 (Data.clt)
10917# 10918 "parser_cocci_menhir.ml"
10918 ) = Obj.magic _1 in
10919 let _startpos = _startpos__1_ in
10920 let _endpos = _endpos__2_ in
10921 let _v : 'tv_decl_list_start_decl_ =
10922# 1662 "parser_cocci_menhir.mly"
10923 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
10924 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
10925# 10926 "parser_cocci_menhir.ml"
10926 in
10927 _menhir_env.MenhirLib.EngineTypes.stack <- {
10928 MenhirLib.EngineTypes.state = _menhir_s;
10929 MenhirLib.EngineTypes.semv = Obj.repr _v;
10930 MenhirLib.EngineTypes.startp = _startpos;
10931 MenhirLib.EngineTypes.endp = _endpos;
10932 MenhirLib.EngineTypes.next = _menhir_stack;
10933 });
10934 (fun _menhir_env ->
10935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10936 let {
10937 MenhirLib.EngineTypes.state = _menhir_s;
10938 MenhirLib.EngineTypes.semv = _1;
10939 MenhirLib.EngineTypes.startp = _startpos__1_;
10940 MenhirLib.EngineTypes.endp = _endpos__1_;
10941 MenhirLib.EngineTypes.next = _menhir_stack;
10942 } = _menhir_stack in
10943 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
10944 let _startpos = _startpos__1_ in
10945 let _endpos = _endpos__1_ in
10946 let _v : 'tv_decl_list_start_name_opt_decl_ =
10947# 1658 "parser_cocci_menhir.mly"
10948 ( [_1] )
10949# 10950 "parser_cocci_menhir.ml"
10950 in
10951 _menhir_env.MenhirLib.EngineTypes.stack <- {
10952 MenhirLib.EngineTypes.state = _menhir_s;
10953 MenhirLib.EngineTypes.semv = Obj.repr _v;
10954 MenhirLib.EngineTypes.startp = _startpos;
10955 MenhirLib.EngineTypes.endp = _endpos;
10956 MenhirLib.EngineTypes.next = _menhir_stack;
10957 });
10958 (fun _menhir_env ->
10959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10960 let {
10961 MenhirLib.EngineTypes.semv = _3;
10962 MenhirLib.EngineTypes.startp = _startpos__3_;
10963 MenhirLib.EngineTypes.endp = _endpos__3_;
10964 MenhirLib.EngineTypes.next = {
10965 MenhirLib.EngineTypes.semv = _2;
10966 MenhirLib.EngineTypes.startp = _startpos__2_;
10967 MenhirLib.EngineTypes.endp = _endpos__2_;
10968 MenhirLib.EngineTypes.next = {
10969 MenhirLib.EngineTypes.state = _menhir_s;
10970 MenhirLib.EngineTypes.semv = _1;
10971 MenhirLib.EngineTypes.startp = _startpos__1_;
10972 MenhirLib.EngineTypes.endp = _endpos__1_;
10973 MenhirLib.EngineTypes.next = _menhir_stack;
10974 };
10975 };
10976 } = _menhir_stack in
10977 let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
10978 let _2 : (
10979# 108 "parser_cocci_menhir.mly"
10980 (Data.clt)
10981# 10982 "parser_cocci_menhir.ml"
10982 ) = Obj.magic _2 in
10983 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
10984 let _startpos = _startpos__1_ in
10985 let _endpos = _endpos__3_ in
10986 let _v : 'tv_decl_list_start_name_opt_decl_ =
10987# 1660 "parser_cocci_menhir.mly"
10988 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10989# 10990 "parser_cocci_menhir.ml"
10990 in
10991 _menhir_env.MenhirLib.EngineTypes.stack <- {
10992 MenhirLib.EngineTypes.state = _menhir_s;
10993 MenhirLib.EngineTypes.semv = Obj.repr _v;
10994 MenhirLib.EngineTypes.startp = _startpos;
10995 MenhirLib.EngineTypes.endp = _endpos;
10996 MenhirLib.EngineTypes.next = _menhir_stack;
10997 });
10998 (fun _menhir_env ->
10999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11000 let {
11001 MenhirLib.EngineTypes.semv = _2;
11002 MenhirLib.EngineTypes.startp = _startpos__2_;
11003 MenhirLib.EngineTypes.endp = _endpos__2_;
11004 MenhirLib.EngineTypes.next = {
11005 MenhirLib.EngineTypes.state = _menhir_s;
11006 MenhirLib.EngineTypes.semv = _1;
11007 MenhirLib.EngineTypes.startp = _startpos__1_;
11008 MenhirLib.EngineTypes.endp = _endpos__1_;
11009 MenhirLib.EngineTypes.next = _menhir_stack;
11010 };
11011 } = _menhir_stack in
11012 let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
11013 let _1 : (
11014# 74 "parser_cocci_menhir.mly"
11015 (Data.clt)
11016# 11017 "parser_cocci_menhir.ml"
11017 ) = Obj.magic _1 in
11018 let _startpos = _startpos__1_ in
11019 let _endpos = _endpos__2_ in
11020 let _v : 'tv_decl_list_start_name_opt_decl_ =
11021# 1662 "parser_cocci_menhir.mly"
11022 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
11023 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
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 : (
11043# 65 "parser_cocci_menhir.mly"
11044 (Parse_aux.info)
11045# 11046 "parser_cocci_menhir.ml"
11046 ) = Obj.magic _1 in
11047 let _startpos = _startpos__1_ in
11048 let _endpos = _endpos__1_ in
11049 let _v : 'tv_decl_statement =
11050# 1160 "parser_cocci_menhir.mly"
11051 ( let (nm,pure,clt) = _1 in
11052 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11053# 11054 "parser_cocci_menhir.ml"
11054 in
11055 _menhir_env.MenhirLib.EngineTypes.stack <- {
11056 MenhirLib.EngineTypes.state = _menhir_s;
11057 MenhirLib.EngineTypes.semv = Obj.repr _v;
11058 MenhirLib.EngineTypes.startp = _startpos;
11059 MenhirLib.EngineTypes.endp = _endpos;
11060 MenhirLib.EngineTypes.next = _menhir_stack;
11061 });
11062 (fun _menhir_env ->
11063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11064 let {
11065 MenhirLib.EngineTypes.state = _menhir_s;
11066 MenhirLib.EngineTypes.semv = _1;
11067 MenhirLib.EngineTypes.startp = _startpos__1_;
11068 MenhirLib.EngineTypes.endp = _endpos__1_;
11069 MenhirLib.EngineTypes.next = _menhir_stack;
11070 } = _menhir_stack in
11071 let _1 : 'tv_decl_var = Obj.magic _1 in
11072 let _startpos = _startpos__1_ in
11073 let _endpos = _endpos__1_ in
11074 let _v : 'tv_decl_statement =
11075# 1163 "parser_cocci_menhir.mly"
11076 ( List.map
11077 (function x ->
11078 Ast0.wrap
11079 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11080 _1 )
11081# 11082 "parser_cocci_menhir.ml"
11082 in
11083 _menhir_env.MenhirLib.EngineTypes.stack <- {
11084 MenhirLib.EngineTypes.state = _menhir_s;
11085 MenhirLib.EngineTypes.semv = Obj.repr _v;
11086 MenhirLib.EngineTypes.startp = _startpos;
11087 MenhirLib.EngineTypes.endp = _endpos;
11088 MenhirLib.EngineTypes.next = _menhir_stack;
11089 });
11090 (fun _menhir_env ->
11091 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11092 let {
11093 MenhirLib.EngineTypes.state = _menhir_s;
11094 MenhirLib.EngineTypes.semv = _1;
11095 MenhirLib.EngineTypes.startp = _startpos__1_;
11096 MenhirLib.EngineTypes.endp = _endpos__1_;
11097 MenhirLib.EngineTypes.next = _menhir_stack;
11098 } = _menhir_stack in
11099 let _1 : 'tv_statement = Obj.magic _1 in
11100 let _startpos = _startpos__1_ in
11101 let _endpos = _endpos__1_ in
11102 let _v : 'tv_decl_statement =
11103# 1168 "parser_cocci_menhir.mly"
11104 ( [_1] )
11105# 11106 "parser_cocci_menhir.ml"
11106 in
11107 _menhir_env.MenhirLib.EngineTypes.stack <- {
11108 MenhirLib.EngineTypes.state = _menhir_s;
11109 MenhirLib.EngineTypes.semv = Obj.repr _v;
11110 MenhirLib.EngineTypes.startp = _startpos;
11111 MenhirLib.EngineTypes.endp = _endpos;
11112 MenhirLib.EngineTypes.next = _menhir_stack;
11113 });
11114 (fun _menhir_env ->
11115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11116 let {
11117 MenhirLib.EngineTypes.semv = _3;
11118 MenhirLib.EngineTypes.startp = _startpos__3_;
11119 MenhirLib.EngineTypes.endp = _endpos__3_;
11120 MenhirLib.EngineTypes.next = {
11121 MenhirLib.EngineTypes.semv = t;
11122 MenhirLib.EngineTypes.startp = _startpos_t_;
11123 MenhirLib.EngineTypes.endp = _endpos_t_;
11124 MenhirLib.EngineTypes.next = {
11125 MenhirLib.EngineTypes.state = _menhir_s;
11126 MenhirLib.EngineTypes.semv = _1;
11127 MenhirLib.EngineTypes.startp = _startpos__1_;
11128 MenhirLib.EngineTypes.endp = _endpos__1_;
11129 MenhirLib.EngineTypes.next = _menhir_stack;
11130 };
11131 };
11132 } = _menhir_stack in
11133 let _3 : (
11134# 78 "parser_cocci_menhir.mly"
11135 (Data.clt)
11136# 11137 "parser_cocci_menhir.ml"
11137 ) = Obj.magic _3 in
11138 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
11139 let _1 : (
11140# 77 "parser_cocci_menhir.mly"
11141 (Data.clt)
11142# 11143 "parser_cocci_menhir.ml"
11143 ) = Obj.magic _1 in
11144 let _startpos = _startpos__1_ in
11145 let _endpos = _endpos__3_ in
11146 let _v : 'tv_decl_statement =
11147# 1177 "parser_cocci_menhir.mly"
11148 ( let (mids,code) = t in
11149 if List.for_all
11150 (function x ->
11151 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
11152 code
11153 then []
11154 else
11155 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
11156 P.clt2mcode ")" _3))] )
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 : (
11176# 65 "parser_cocci_menhir.mly"
11177 (Parse_aux.info)
11178# 11179 "parser_cocci_menhir.ml"
11179 ) = Obj.magic _1 in
11180 let _startpos = _startpos__1_ in
11181 let _endpos = _endpos__1_ in
11182 let _v : 'tv_decl_statement_expr =
11183# 1190 "parser_cocci_menhir.mly"
11184 ( let (nm,pure,clt) = _1 in
11185 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11186# 11187 "parser_cocci_menhir.ml"
11187 in
11188 _menhir_env.MenhirLib.EngineTypes.stack <- {
11189 MenhirLib.EngineTypes.state = _menhir_s;
11190 MenhirLib.EngineTypes.semv = Obj.repr _v;
11191 MenhirLib.EngineTypes.startp = _startpos;
11192 MenhirLib.EngineTypes.endp = _endpos;
11193 MenhirLib.EngineTypes.next = _menhir_stack;
11194 });
11195 (fun _menhir_env ->
11196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11197 let {
11198 MenhirLib.EngineTypes.state = _menhir_s;
11199 MenhirLib.EngineTypes.semv = _1;
11200 MenhirLib.EngineTypes.startp = _startpos__1_;
11201 MenhirLib.EngineTypes.endp = _endpos__1_;
11202 MenhirLib.EngineTypes.next = _menhir_stack;
11203 } = _menhir_stack in
11204 let _1 : 'tv_decl_var = Obj.magic _1 in
11205 let _startpos = _startpos__1_ in
11206 let _endpos = _endpos__1_ in
11207 let _v : 'tv_decl_statement_expr =
11208# 1193 "parser_cocci_menhir.mly"
11209 ( List.map
11210 (function x ->
11211 Ast0.wrap
11212 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11213 _1 )
11214# 11215 "parser_cocci_menhir.ml"
11215 in
11216 _menhir_env.MenhirLib.EngineTypes.stack <- {
11217 MenhirLib.EngineTypes.state = _menhir_s;
11218 MenhirLib.EngineTypes.semv = Obj.repr _v;
11219 MenhirLib.EngineTypes.startp = _startpos;
11220 MenhirLib.EngineTypes.endp = _endpos;
11221 MenhirLib.EngineTypes.next = _menhir_stack;
11222 });
11223 (fun _menhir_env ->
11224 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11225 let {
11226 MenhirLib.EngineTypes.state = _menhir_s;
11227 MenhirLib.EngineTypes.semv = _1;
11228 MenhirLib.EngineTypes.startp = _startpos__1_;
11229 MenhirLib.EngineTypes.endp = _endpos__1_;
11230 MenhirLib.EngineTypes.next = _menhir_stack;
11231 } = _menhir_stack in
11232 let _1 : 'tv_statement = Obj.magic _1 in
11233 let _startpos = _startpos__1_ in
11234 let _endpos = _endpos__1_ in
11235 let _v : 'tv_decl_statement_expr =
11236# 1198 "parser_cocci_menhir.mly"
11237 ( [_1] )
11238# 11239 "parser_cocci_menhir.ml"
11239 in
11240 _menhir_env.MenhirLib.EngineTypes.stack <- {
11241 MenhirLib.EngineTypes.state = _menhir_s;
11242 MenhirLib.EngineTypes.semv = Obj.repr _v;
11243 MenhirLib.EngineTypes.startp = _startpos;
11244 MenhirLib.EngineTypes.endp = _endpos;
11245 MenhirLib.EngineTypes.next = _menhir_stack;
11246 });
11247 (fun _menhir_env ->
11248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11249 let {
11250 MenhirLib.EngineTypes.semv = _3;
11251 MenhirLib.EngineTypes.startp = _startpos__3_;
11252 MenhirLib.EngineTypes.endp = _endpos__3_;
11253 MenhirLib.EngineTypes.next = {
11254 MenhirLib.EngineTypes.semv = t;
11255 MenhirLib.EngineTypes.startp = _startpos_t_;
11256 MenhirLib.EngineTypes.endp = _endpos_t_;
11257 MenhirLib.EngineTypes.next = {
11258 MenhirLib.EngineTypes.state = _menhir_s;
11259 MenhirLib.EngineTypes.semv = _1;
11260 MenhirLib.EngineTypes.startp = _startpos__1_;
11261 MenhirLib.EngineTypes.endp = _endpos__1_;
11262 MenhirLib.EngineTypes.next = _menhir_stack;
11263 };
11264 };
11265 } = _menhir_stack in
11266 let _3 : (
11267# 78 "parser_cocci_menhir.mly"
11268 (Data.clt)
11269# 11270 "parser_cocci_menhir.ml"
11270 ) = Obj.magic _3 in
11271 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
11272 let _1 : (
11273# 77 "parser_cocci_menhir.mly"
11274 (Data.clt)
11275# 11276 "parser_cocci_menhir.ml"
11276 ) = Obj.magic _1 in
11277 let _startpos = _startpos__1_ in
11278 let _endpos = _endpos__3_ in
11279 let _v : 'tv_decl_statement_expr =
11280# 1207 "parser_cocci_menhir.mly"
11281 ( let (mids,code) = t in
11282 if List.for_all (function [] -> true | _ -> false) code
11283 then []
11284 else
11285 let dot_code =
11286 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
11287 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
11288 P.clt2mcode ")" _3))] )
11289# 11290 "parser_cocci_menhir.ml"
11290 in
11291 _menhir_env.MenhirLib.EngineTypes.stack <- {
11292 MenhirLib.EngineTypes.state = _menhir_s;
11293 MenhirLib.EngineTypes.semv = Obj.repr _v;
11294 MenhirLib.EngineTypes.startp = _startpos;
11295 MenhirLib.EngineTypes.endp = _endpos;
11296 MenhirLib.EngineTypes.next = _menhir_stack;
11297 });
11298 (fun _menhir_env ->
11299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11300 let {
11301 MenhirLib.EngineTypes.semv = pv;
11302 MenhirLib.EngineTypes.startp = _startpos_pv_;
11303 MenhirLib.EngineTypes.endp = _endpos_pv_;
11304 MenhirLib.EngineTypes.next = {
11305 MenhirLib.EngineTypes.state = _menhir_s;
11306 MenhirLib.EngineTypes.semv = t;
11307 MenhirLib.EngineTypes.startp = _startpos_t_;
11308 MenhirLib.EngineTypes.endp = _endpos_t_;
11309 MenhirLib.EngineTypes.next = _menhir_stack;
11310 };
11311 } = _menhir_stack in
11312 let pv : (
11313# 108 "parser_cocci_menhir.mly"
11314 (Data.clt)
11315# 11316 "parser_cocci_menhir.ml"
11316 ) = Obj.magic pv in
11317 let t : 'tv_ctype = Obj.magic t in
11318 let _startpos = _startpos_t_ in
11319 let _endpos = _endpos_pv_ in
11320 let _v : 'tv_decl_var =
11321# 970 "parser_cocci_menhir.mly"
11322 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
11323# 11324 "parser_cocci_menhir.ml"
11324 in
11325 _menhir_env.MenhirLib.EngineTypes.stack <- {
11326 MenhirLib.EngineTypes.state = _menhir_s;
11327 MenhirLib.EngineTypes.semv = Obj.repr _v;
11328 MenhirLib.EngineTypes.startp = _startpos;
11329 MenhirLib.EngineTypes.endp = _endpos;
11330 MenhirLib.EngineTypes.next = _menhir_stack;
11331 });
11332 (fun _menhir_env ->
11333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11334 let {
11335 MenhirLib.EngineTypes.semv = pv;
11336 MenhirLib.EngineTypes.startp = _startpos_pv_;
11337 MenhirLib.EngineTypes.endp = _endpos_pv_;
11338 MenhirLib.EngineTypes.next = {
11339 MenhirLib.EngineTypes.semv = d;
11340 MenhirLib.EngineTypes.startp = _startpos_d_;
11341 MenhirLib.EngineTypes.endp = _endpos_d_;
11342 MenhirLib.EngineTypes.next = {
11343 MenhirLib.EngineTypes.state = _menhir_s;
11344 MenhirLib.EngineTypes.semv = t;
11345 MenhirLib.EngineTypes.startp = _startpos_t_;
11346 MenhirLib.EngineTypes.endp = _endpos_t_;
11347 MenhirLib.EngineTypes.next = _menhir_stack;
11348 };
11349 };
11350 } = _menhir_stack in
11351 let pv : (
11352# 108 "parser_cocci_menhir.mly"
11353 (Data.clt)
11354# 11355 "parser_cocci_menhir.ml"
11355 ) = Obj.magic pv in
11356 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11357 let t : 'tv_ctype = Obj.magic t in
11358 let _startpos = _startpos_t_ in
11359 let _endpos = _endpos_pv_ in
11360 let _v : 'tv_decl_var = let s =
11361
11362# 39 "standard.mly"
11363 ( None )
11364# 11365 "parser_cocci_menhir.ml"
11365
11366 in
11367
11368# 972 "parser_cocci_menhir.mly"
11369 ( List.map
11370 (function (id,fn) ->
11371 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11372 d )
11373# 11374 "parser_cocci_menhir.ml"
11374 in
11375 _menhir_env.MenhirLib.EngineTypes.stack <- {
11376 MenhirLib.EngineTypes.state = _menhir_s;
11377 MenhirLib.EngineTypes.semv = Obj.repr _v;
11378 MenhirLib.EngineTypes.startp = _startpos;
11379 MenhirLib.EngineTypes.endp = _endpos;
11380 MenhirLib.EngineTypes.next = _menhir_stack;
11381 });
11382 (fun _menhir_env ->
11383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11384 let {
11385 MenhirLib.EngineTypes.semv = pv;
11386 MenhirLib.EngineTypes.startp = _startpos_pv_;
11387 MenhirLib.EngineTypes.endp = _endpos_pv_;
11388 MenhirLib.EngineTypes.next = {
11389 MenhirLib.EngineTypes.semv = d;
11390 MenhirLib.EngineTypes.startp = _startpos_d_;
11391 MenhirLib.EngineTypes.endp = _endpos_d_;
11392 MenhirLib.EngineTypes.next = {
11393 MenhirLib.EngineTypes.semv = t;
11394 MenhirLib.EngineTypes.startp = _startpos_t_;
11395 MenhirLib.EngineTypes.endp = _endpos_t_;
11396 MenhirLib.EngineTypes.next = {
11397 MenhirLib.EngineTypes.state = _menhir_s;
11398 MenhirLib.EngineTypes.semv = x0;
11399 MenhirLib.EngineTypes.startp = _startpos_x0_;
11400 MenhirLib.EngineTypes.endp = _endpos_x0_;
11401 MenhirLib.EngineTypes.next = _menhir_stack;
11402 };
11403 };
11404 };
11405 } = _menhir_stack in
11406 let pv : (
11407# 108 "parser_cocci_menhir.mly"
11408 (Data.clt)
11409# 11410 "parser_cocci_menhir.ml"
11410 ) = Obj.magic pv in
11411 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11412 let t : 'tv_ctype = Obj.magic t in
11413 let x0 : 'tv_storage = Obj.magic x0 in
11414 let _startpos = _startpos_x0_ in
11415 let _endpos = _endpos_pv_ in
11416 let _v : 'tv_decl_var = let s =
11417 let x = x0 in
11418
11419# 41 "standard.mly"
11420 ( Some x )
11421# 11422 "parser_cocci_menhir.ml"
11422
11423 in
11424
11425# 972 "parser_cocci_menhir.mly"
11426 ( List.map
11427 (function (id,fn) ->
11428 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11429 d )
11430# 11431 "parser_cocci_menhir.ml"
11431 in
11432 _menhir_env.MenhirLib.EngineTypes.stack <- {
11433 MenhirLib.EngineTypes.state = _menhir_s;
11434 MenhirLib.EngineTypes.semv = Obj.repr _v;
11435 MenhirLib.EngineTypes.startp = _startpos;
11436 MenhirLib.EngineTypes.endp = _endpos;
11437 MenhirLib.EngineTypes.next = _menhir_stack;
11438 });
11439 (fun _menhir_env ->
11440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11441 let {
11442 MenhirLib.EngineTypes.state = _menhir_s;
11443 MenhirLib.EngineTypes.semv = f;
11444 MenhirLib.EngineTypes.startp = _startpos_f_;
11445 MenhirLib.EngineTypes.endp = _endpos_f_;
11446 MenhirLib.EngineTypes.next = _menhir_stack;
11447 } = _menhir_stack in
11448 let f : 'tv_funproto = Obj.magic f in
11449 let _startpos = _startpos_f_ in
11450 let _endpos = _endpos_f_ in
11451 let _v : 'tv_decl_var =
11452# 976 "parser_cocci_menhir.mly"
11453 ( [f] )
11454# 11455 "parser_cocci_menhir.ml"
11455 in
11456 _menhir_env.MenhirLib.EngineTypes.stack <- {
11457 MenhirLib.EngineTypes.state = _menhir_s;
11458 MenhirLib.EngineTypes.semv = Obj.repr _v;
11459 MenhirLib.EngineTypes.startp = _startpos;
11460 MenhirLib.EngineTypes.endp = _endpos;
11461 MenhirLib.EngineTypes.next = _menhir_stack;
11462 });
11463 (fun _menhir_env ->
11464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11465 let {
11466 MenhirLib.EngineTypes.semv = pv;
11467 MenhirLib.EngineTypes.startp = _startpos_pv_;
11468 MenhirLib.EngineTypes.endp = _endpos_pv_;
11469 MenhirLib.EngineTypes.next = {
11470 MenhirLib.EngineTypes.semv = e;
11471 MenhirLib.EngineTypes.startp = _startpos_e_;
11472 MenhirLib.EngineTypes.endp = _endpos_e_;
11473 MenhirLib.EngineTypes.next = {
11474 MenhirLib.EngineTypes.semv = q;
11475 MenhirLib.EngineTypes.startp = _startpos_q_;
11476 MenhirLib.EngineTypes.endp = _endpos_q_;
11477 MenhirLib.EngineTypes.next = {
11478 MenhirLib.EngineTypes.semv = d;
11479 MenhirLib.EngineTypes.startp = _startpos_d_;
11480 MenhirLib.EngineTypes.endp = _endpos_d_;
11481 MenhirLib.EngineTypes.next = {
11482 MenhirLib.EngineTypes.state = _menhir_s;
11483 MenhirLib.EngineTypes.semv = t;
11484 MenhirLib.EngineTypes.startp = _startpos_t_;
11485 MenhirLib.EngineTypes.endp = _endpos_t_;
11486 MenhirLib.EngineTypes.next = _menhir_stack;
11487 };
11488 };
11489 };
11490 };
11491 } = _menhir_stack in
11492 let pv : (
11493# 108 "parser_cocci_menhir.mly"
11494 (Data.clt)
11495# 11496 "parser_cocci_menhir.ml"
11496 ) = Obj.magic pv in
11497 let e : 'tv_initialize = Obj.magic e in
11498 let q : (
11499# 108 "parser_cocci_menhir.mly"
11500 (Data.clt)
11501# 11502 "parser_cocci_menhir.ml"
11502 ) = Obj.magic q in
11503 let d : 'tv_d_ident = Obj.magic d in
11504 let t : 'tv_ctype = Obj.magic t in
11505 let _startpos = _startpos_t_ in
11506 let _endpos = _endpos_pv_ in
11507 let _v : 'tv_decl_var = let s =
11508
11509# 39 "standard.mly"
11510 ( None )
11511# 11512 "parser_cocci_menhir.ml"
11512
11513 in
11514
11515# 978 "parser_cocci_menhir.mly"
11516 (let (id,fn) = d in
11517 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11518# 11519 "parser_cocci_menhir.ml"
11519 in
11520 _menhir_env.MenhirLib.EngineTypes.stack <- {
11521 MenhirLib.EngineTypes.state = _menhir_s;
11522 MenhirLib.EngineTypes.semv = Obj.repr _v;
11523 MenhirLib.EngineTypes.startp = _startpos;
11524 MenhirLib.EngineTypes.endp = _endpos;
11525 MenhirLib.EngineTypes.next = _menhir_stack;
11526 });
11527 (fun _menhir_env ->
11528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11529 let {
11530 MenhirLib.EngineTypes.semv = pv;
11531 MenhirLib.EngineTypes.startp = _startpos_pv_;
11532 MenhirLib.EngineTypes.endp = _endpos_pv_;
11533 MenhirLib.EngineTypes.next = {
11534 MenhirLib.EngineTypes.semv = e;
11535 MenhirLib.EngineTypes.startp = _startpos_e_;
11536 MenhirLib.EngineTypes.endp = _endpos_e_;
11537 MenhirLib.EngineTypes.next = {
11538 MenhirLib.EngineTypes.semv = q;
11539 MenhirLib.EngineTypes.startp = _startpos_q_;
11540 MenhirLib.EngineTypes.endp = _endpos_q_;
11541 MenhirLib.EngineTypes.next = {
11542 MenhirLib.EngineTypes.semv = d;
11543 MenhirLib.EngineTypes.startp = _startpos_d_;
11544 MenhirLib.EngineTypes.endp = _endpos_d_;
11545 MenhirLib.EngineTypes.next = {
11546 MenhirLib.EngineTypes.semv = t;
11547 MenhirLib.EngineTypes.startp = _startpos_t_;
11548 MenhirLib.EngineTypes.endp = _endpos_t_;
11549 MenhirLib.EngineTypes.next = {
11550 MenhirLib.EngineTypes.state = _menhir_s;
11551 MenhirLib.EngineTypes.semv = x0;
11552 MenhirLib.EngineTypes.startp = _startpos_x0_;
11553 MenhirLib.EngineTypes.endp = _endpos_x0_;
11554 MenhirLib.EngineTypes.next = _menhir_stack;
11555 };
11556 };
11557 };
11558 };
11559 };
11560 } = _menhir_stack in
11561 let pv : (
11562# 108 "parser_cocci_menhir.mly"
11563 (Data.clt)
11564# 11565 "parser_cocci_menhir.ml"
11565 ) = Obj.magic pv in
11566 let e : 'tv_initialize = Obj.magic e in
11567 let q : (
11568# 108 "parser_cocci_menhir.mly"
11569 (Data.clt)
11570# 11571 "parser_cocci_menhir.ml"
11571 ) = Obj.magic q in
11572 let d : 'tv_d_ident = Obj.magic d in
11573 let t : 'tv_ctype = Obj.magic t in
11574 let x0 : 'tv_storage = Obj.magic x0 in
11575 let _startpos = _startpos_x0_ in
11576 let _endpos = _endpos_pv_ in
11577 let _v : 'tv_decl_var = let s =
11578 let x = x0 in
11579
11580# 41 "standard.mly"
11581 ( Some x )
11582# 11583 "parser_cocci_menhir.ml"
11583
11584 in
11585
11586# 978 "parser_cocci_menhir.mly"
11587 (let (id,fn) = d in
11588 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11589# 11590 "parser_cocci_menhir.ml"
11590 in
11591 _menhir_env.MenhirLib.EngineTypes.stack <- {
11592 MenhirLib.EngineTypes.state = _menhir_s;
11593 MenhirLib.EngineTypes.semv = Obj.repr _v;
11594 MenhirLib.EngineTypes.startp = _startpos;
11595 MenhirLib.EngineTypes.endp = _endpos;
11596 MenhirLib.EngineTypes.next = _menhir_stack;
11597 });
11598 (fun _menhir_env ->
11599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11600 let {
11601 MenhirLib.EngineTypes.semv = pv;
11602 MenhirLib.EngineTypes.startp = _startpos_pv_;
11603 MenhirLib.EngineTypes.endp = _endpos_pv_;
11604 MenhirLib.EngineTypes.next = {
11605 MenhirLib.EngineTypes.semv = d;
11606 MenhirLib.EngineTypes.startp = _startpos_d_;
11607 MenhirLib.EngineTypes.endp = _endpos_d_;
11608 MenhirLib.EngineTypes.next = {
11609 MenhirLib.EngineTypes.state = _menhir_s;
11610 MenhirLib.EngineTypes.semv = i;
11611 MenhirLib.EngineTypes.startp = _startpos_i_;
11612 MenhirLib.EngineTypes.endp = _endpos_i_;
11613 MenhirLib.EngineTypes.next = _menhir_stack;
11614 };
11615 };
11616 } = _menhir_stack in
11617 let pv : (
11618# 108 "parser_cocci_menhir.mly"
11619 (Data.clt)
11620# 11621 "parser_cocci_menhir.ml"
11621 ) = Obj.magic pv in
11622 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11623 let i : 'tv_pure_ident = Obj.magic i in
11624 let _startpos = _startpos_i_ in
11625 let _endpos = _endpos_pv_ in
11626 let _v : 'tv_decl_var = let cv =
11627
11628# 39 "standard.mly"
11629 ( None )
11630# 11631 "parser_cocci_menhir.ml"
11631
11632 in
11633 let s =
11634
11635# 39 "standard.mly"
11636 ( None )
11637# 11638 "parser_cocci_menhir.ml"
11638
11639 in
11640
11641# 983 "parser_cocci_menhir.mly"
11642 ( List.map
11643 (function (id,fn) ->
11644 let idtype =
11645 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11646 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11647 d )
11648# 11649 "parser_cocci_menhir.ml"
11649 in
11650 _menhir_env.MenhirLib.EngineTypes.stack <- {
11651 MenhirLib.EngineTypes.state = _menhir_s;
11652 MenhirLib.EngineTypes.semv = Obj.repr _v;
11653 MenhirLib.EngineTypes.startp = _startpos;
11654 MenhirLib.EngineTypes.endp = _endpos;
11655 MenhirLib.EngineTypes.next = _menhir_stack;
11656 });
11657 (fun _menhir_env ->
11658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11659 let {
11660 MenhirLib.EngineTypes.semv = pv;
11661 MenhirLib.EngineTypes.startp = _startpos_pv_;
11662 MenhirLib.EngineTypes.endp = _endpos_pv_;
11663 MenhirLib.EngineTypes.next = {
11664 MenhirLib.EngineTypes.semv = d;
11665 MenhirLib.EngineTypes.startp = _startpos_d_;
11666 MenhirLib.EngineTypes.endp = _endpos_d_;
11667 MenhirLib.EngineTypes.next = {
11668 MenhirLib.EngineTypes.semv = i;
11669 MenhirLib.EngineTypes.startp = _startpos_i_;
11670 MenhirLib.EngineTypes.endp = _endpos_i_;
11671 MenhirLib.EngineTypes.next = {
11672 MenhirLib.EngineTypes.state = _menhir_s;
11673 MenhirLib.EngineTypes.semv = x0;
11674 MenhirLib.EngineTypes.startp = _startpos_x0_;
11675 MenhirLib.EngineTypes.endp = _endpos_x0_;
11676 MenhirLib.EngineTypes.next = _menhir_stack;
11677 };
11678 };
11679 };
11680 } = _menhir_stack in
11681 let pv : (
11682# 108 "parser_cocci_menhir.mly"
11683 (Data.clt)
11684# 11685 "parser_cocci_menhir.ml"
11685 ) = Obj.magic pv in
11686 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11687 let i : 'tv_pure_ident = Obj.magic i in
11688 let x0 : 'tv_const_vol = Obj.magic x0 in
11689 let _startpos = _startpos_x0_ in
11690 let _endpos = _endpos_pv_ in
11691 let _v : 'tv_decl_var = let cv =
11692 let x = x0 in
11693
11694# 41 "standard.mly"
11695 ( Some x )
11696# 11697 "parser_cocci_menhir.ml"
11697
11698 in
11699 let s =
11700
11701# 39 "standard.mly"
11702 ( None )
11703# 11704 "parser_cocci_menhir.ml"
11704
11705 in
11706
11707# 983 "parser_cocci_menhir.mly"
11708 ( List.map
11709 (function (id,fn) ->
11710 let idtype =
11711 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11712 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11713 d )
11714# 11715 "parser_cocci_menhir.ml"
11715 in
11716 _menhir_env.MenhirLib.EngineTypes.stack <- {
11717 MenhirLib.EngineTypes.state = _menhir_s;
11718 MenhirLib.EngineTypes.semv = Obj.repr _v;
11719 MenhirLib.EngineTypes.startp = _startpos;
11720 MenhirLib.EngineTypes.endp = _endpos;
11721 MenhirLib.EngineTypes.next = _menhir_stack;
11722 });
11723 (fun _menhir_env ->
11724 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11725 let {
11726 MenhirLib.EngineTypes.semv = pv;
11727 MenhirLib.EngineTypes.startp = _startpos_pv_;
11728 MenhirLib.EngineTypes.endp = _endpos_pv_;
11729 MenhirLib.EngineTypes.next = {
11730 MenhirLib.EngineTypes.semv = d;
11731 MenhirLib.EngineTypes.startp = _startpos_d_;
11732 MenhirLib.EngineTypes.endp = _endpos_d_;
11733 MenhirLib.EngineTypes.next = {
11734 MenhirLib.EngineTypes.semv = i;
11735 MenhirLib.EngineTypes.startp = _startpos_i_;
11736 MenhirLib.EngineTypes.endp = _endpos_i_;
11737 MenhirLib.EngineTypes.next = {
11738 MenhirLib.EngineTypes.state = _menhir_s;
11739 MenhirLib.EngineTypes.semv = x0;
11740 MenhirLib.EngineTypes.startp = _startpos_x0_;
11741 MenhirLib.EngineTypes.endp = _endpos_x0_;
11742 MenhirLib.EngineTypes.next = _menhir_stack;
11743 };
11744 };
11745 };
11746 } = _menhir_stack in
11747 let pv : (
11748# 108 "parser_cocci_menhir.mly"
11749 (Data.clt)
11750# 11751 "parser_cocci_menhir.ml"
11751 ) = Obj.magic pv in
11752 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11753 let i : 'tv_pure_ident = Obj.magic i in
11754 let x0 : 'tv_storage = Obj.magic x0 in
11755 let _startpos = _startpos_x0_ in
11756 let _endpos = _endpos_pv_ in
11757 let _v : 'tv_decl_var = let cv =
11758
11759# 39 "standard.mly"
11760 ( None )
11761# 11762 "parser_cocci_menhir.ml"
11762
11763 in
11764 let s =
11765 let x = x0 in
11766
11767# 41 "standard.mly"
11768 ( Some x )
11769# 11770 "parser_cocci_menhir.ml"
11770
11771 in
11772
11773# 983 "parser_cocci_menhir.mly"
11774 ( List.map
11775 (function (id,fn) ->
11776 let idtype =
11777 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11778 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11779 d )
11780# 11781 "parser_cocci_menhir.ml"
11781 in
11782 _menhir_env.MenhirLib.EngineTypes.stack <- {
11783 MenhirLib.EngineTypes.state = _menhir_s;
11784 MenhirLib.EngineTypes.semv = Obj.repr _v;
11785 MenhirLib.EngineTypes.startp = _startpos;
11786 MenhirLib.EngineTypes.endp = _endpos;
11787 MenhirLib.EngineTypes.next = _menhir_stack;
11788 });
11789 (fun _menhir_env ->
11790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11791 let {
11792 MenhirLib.EngineTypes.semv = pv;
11793 MenhirLib.EngineTypes.startp = _startpos_pv_;
11794 MenhirLib.EngineTypes.endp = _endpos_pv_;
11795 MenhirLib.EngineTypes.next = {
11796 MenhirLib.EngineTypes.semv = d;
11797 MenhirLib.EngineTypes.startp = _startpos_d_;
11798 MenhirLib.EngineTypes.endp = _endpos_d_;
11799 MenhirLib.EngineTypes.next = {
11800 MenhirLib.EngineTypes.semv = i;
11801 MenhirLib.EngineTypes.startp = _startpos_i_;
11802 MenhirLib.EngineTypes.endp = _endpos_i_;
11803 MenhirLib.EngineTypes.next = {
11804 MenhirLib.EngineTypes.semv = x1;
11805 MenhirLib.EngineTypes.startp = _startpos_x1_;
11806 MenhirLib.EngineTypes.endp = _endpos_x1_;
11807 MenhirLib.EngineTypes.next = {
11808 MenhirLib.EngineTypes.state = _menhir_s;
11809 MenhirLib.EngineTypes.semv = x0;
11810 MenhirLib.EngineTypes.startp = _startpos_x0_;
11811 MenhirLib.EngineTypes.endp = _endpos_x0_;
11812 MenhirLib.EngineTypes.next = _menhir_stack;
11813 };
11814 };
11815 };
11816 };
11817 } = _menhir_stack in
11818 let pv : (
11819# 108 "parser_cocci_menhir.mly"
11820 (Data.clt)
11821# 11822 "parser_cocci_menhir.ml"
11822 ) = Obj.magic pv in
11823 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11824 let i : 'tv_pure_ident = Obj.magic i in
11825 let x1 : 'tv_const_vol = Obj.magic x1 in
11826 let x0 : 'tv_storage = Obj.magic x0 in
11827 let _startpos = _startpos_x0_ in
11828 let _endpos = _endpos_pv_ in
11829 let _v : 'tv_decl_var = let cv =
11830 let x = x1 in
11831
11832# 41 "standard.mly"
11833 ( Some x )
11834# 11835 "parser_cocci_menhir.ml"
11835
11836 in
11837 let s =
11838 let x = x0 in
11839
11840# 41 "standard.mly"
11841 ( Some x )
11842# 11843 "parser_cocci_menhir.ml"
11843
11844 in
11845
11846# 983 "parser_cocci_menhir.mly"
11847 ( List.map
11848 (function (id,fn) ->
11849 let idtype =
11850 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11851 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11852 d )
11853# 11854 "parser_cocci_menhir.ml"
11854 in
11855 _menhir_env.MenhirLib.EngineTypes.stack <- {
11856 MenhirLib.EngineTypes.state = _menhir_s;
11857 MenhirLib.EngineTypes.semv = Obj.repr _v;
11858 MenhirLib.EngineTypes.startp = _startpos;
11859 MenhirLib.EngineTypes.endp = _endpos;
11860 MenhirLib.EngineTypes.next = _menhir_stack;
11861 });
11862 (fun _menhir_env ->
11863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11864 let {
11865 MenhirLib.EngineTypes.semv = pv;
11866 MenhirLib.EngineTypes.startp = _startpos_pv_;
11867 MenhirLib.EngineTypes.endp = _endpos_pv_;
11868 MenhirLib.EngineTypes.next = {
11869 MenhirLib.EngineTypes.semv = e;
11870 MenhirLib.EngineTypes.startp = _startpos_e_;
11871 MenhirLib.EngineTypes.endp = _endpos_e_;
11872 MenhirLib.EngineTypes.next = {
11873 MenhirLib.EngineTypes.semv = q;
11874 MenhirLib.EngineTypes.startp = _startpos_q_;
11875 MenhirLib.EngineTypes.endp = _endpos_q_;
11876 MenhirLib.EngineTypes.next = {
11877 MenhirLib.EngineTypes.semv = d;
11878 MenhirLib.EngineTypes.startp = _startpos_d_;
11879 MenhirLib.EngineTypes.endp = _endpos_d_;
11880 MenhirLib.EngineTypes.next = {
11881 MenhirLib.EngineTypes.state = _menhir_s;
11882 MenhirLib.EngineTypes.semv = i;
11883 MenhirLib.EngineTypes.startp = _startpos_i_;
11884 MenhirLib.EngineTypes.endp = _endpos_i_;
11885 MenhirLib.EngineTypes.next = _menhir_stack;
11886 };
11887 };
11888 };
11889 };
11890 } = _menhir_stack in
11891 let pv : (
11892# 108 "parser_cocci_menhir.mly"
11893 (Data.clt)
11894# 11895 "parser_cocci_menhir.ml"
11895 ) = Obj.magic pv in
11896 let e : 'tv_initialize = Obj.magic e in
11897 let q : (
11898# 108 "parser_cocci_menhir.mly"
11899 (Data.clt)
11900# 11901 "parser_cocci_menhir.ml"
11901 ) = Obj.magic q in
11902 let d : 'tv_d_ident = Obj.magic d in
11903 let i : 'tv_pure_ident = Obj.magic i in
11904 let _startpos = _startpos_i_ in
11905 let _endpos = _endpos_pv_ in
11906 let _v : 'tv_decl_var = let cv =
11907
11908# 39 "standard.mly"
11909 ( None )
11910# 11911 "parser_cocci_menhir.ml"
11911
11912 in
11913 let s =
11914
11915# 39 "standard.mly"
11916 ( None )
11917# 11918 "parser_cocci_menhir.ml"
11918
11919 in
11920
11921# 991 "parser_cocci_menhir.mly"
11922 ( let (id,fn) = d in
11923 !Data.add_type_name (P.id2name i);
11924 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11925 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
11926 P.clt2mcode ";" pv))] )
11927# 11928 "parser_cocci_menhir.ml"
11928 in
11929 _menhir_env.MenhirLib.EngineTypes.stack <- {
11930 MenhirLib.EngineTypes.state = _menhir_s;
11931 MenhirLib.EngineTypes.semv = Obj.repr _v;
11932 MenhirLib.EngineTypes.startp = _startpos;
11933 MenhirLib.EngineTypes.endp = _endpos;
11934 MenhirLib.EngineTypes.next = _menhir_stack;
11935 });
11936 (fun _menhir_env ->
11937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11938 let {
11939 MenhirLib.EngineTypes.semv = pv;
11940 MenhirLib.EngineTypes.startp = _startpos_pv_;
11941 MenhirLib.EngineTypes.endp = _endpos_pv_;
11942 MenhirLib.EngineTypes.next = {
11943 MenhirLib.EngineTypes.semv = e;
11944 MenhirLib.EngineTypes.startp = _startpos_e_;
11945 MenhirLib.EngineTypes.endp = _endpos_e_;
11946 MenhirLib.EngineTypes.next = {
11947 MenhirLib.EngineTypes.semv = q;
11948 MenhirLib.EngineTypes.startp = _startpos_q_;
11949 MenhirLib.EngineTypes.endp = _endpos_q_;
11950 MenhirLib.EngineTypes.next = {
11951 MenhirLib.EngineTypes.semv = d;
11952 MenhirLib.EngineTypes.startp = _startpos_d_;
11953 MenhirLib.EngineTypes.endp = _endpos_d_;
11954 MenhirLib.EngineTypes.next = {
11955 MenhirLib.EngineTypes.semv = i;
11956 MenhirLib.EngineTypes.startp = _startpos_i_;
11957 MenhirLib.EngineTypes.endp = _endpos_i_;
11958 MenhirLib.EngineTypes.next = {
11959 MenhirLib.EngineTypes.state = _menhir_s;
11960 MenhirLib.EngineTypes.semv = x0;
11961 MenhirLib.EngineTypes.startp = _startpos_x0_;
11962 MenhirLib.EngineTypes.endp = _endpos_x0_;
11963 MenhirLib.EngineTypes.next = _menhir_stack;
11964 };
11965 };
11966 };
11967 };
11968 };
11969 } = _menhir_stack in
11970 let pv : (
11971# 108 "parser_cocci_menhir.mly"
11972 (Data.clt)
11973# 11974 "parser_cocci_menhir.ml"
11974 ) = Obj.magic pv in
11975 let e : 'tv_initialize = Obj.magic e in
11976 let q : (
11977# 108 "parser_cocci_menhir.mly"
11978 (Data.clt)
11979# 11980 "parser_cocci_menhir.ml"
11980 ) = Obj.magic q in
11981 let d : 'tv_d_ident = Obj.magic d in
11982 let i : 'tv_pure_ident = Obj.magic i in
11983 let x0 : 'tv_const_vol = Obj.magic x0 in
11984 let _startpos = _startpos_x0_ in
11985 let _endpos = _endpos_pv_ in
11986 let _v : 'tv_decl_var = let cv =
11987 let x = x0 in
11988
11989# 41 "standard.mly"
11990 ( Some x )
11991# 11992 "parser_cocci_menhir.ml"
11992
11993 in
11994 let s =
11995
11996# 39 "standard.mly"
11997 ( None )
11998# 11999 "parser_cocci_menhir.ml"
11999
12000 in
12001
12002# 991 "parser_cocci_menhir.mly"
12003 ( let (id,fn) = d in
12004 !Data.add_type_name (P.id2name i);
12005 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12006 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12007 P.clt2mcode ";" pv))] )
12008# 12009 "parser_cocci_menhir.ml"
12009 in
12010 _menhir_env.MenhirLib.EngineTypes.stack <- {
12011 MenhirLib.EngineTypes.state = _menhir_s;
12012 MenhirLib.EngineTypes.semv = Obj.repr _v;
12013 MenhirLib.EngineTypes.startp = _startpos;
12014 MenhirLib.EngineTypes.endp = _endpos;
12015 MenhirLib.EngineTypes.next = _menhir_stack;
12016 });
12017 (fun _menhir_env ->
12018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12019 let {
12020 MenhirLib.EngineTypes.semv = pv;
12021 MenhirLib.EngineTypes.startp = _startpos_pv_;
12022 MenhirLib.EngineTypes.endp = _endpos_pv_;
12023 MenhirLib.EngineTypes.next = {
12024 MenhirLib.EngineTypes.semv = e;
12025 MenhirLib.EngineTypes.startp = _startpos_e_;
12026 MenhirLib.EngineTypes.endp = _endpos_e_;
12027 MenhirLib.EngineTypes.next = {
12028 MenhirLib.EngineTypes.semv = q;
12029 MenhirLib.EngineTypes.startp = _startpos_q_;
12030 MenhirLib.EngineTypes.endp = _endpos_q_;
12031 MenhirLib.EngineTypes.next = {
12032 MenhirLib.EngineTypes.semv = d;
12033 MenhirLib.EngineTypes.startp = _startpos_d_;
12034 MenhirLib.EngineTypes.endp = _endpos_d_;
12035 MenhirLib.EngineTypes.next = {
12036 MenhirLib.EngineTypes.semv = i;
12037 MenhirLib.EngineTypes.startp = _startpos_i_;
12038 MenhirLib.EngineTypes.endp = _endpos_i_;
12039 MenhirLib.EngineTypes.next = {
12040 MenhirLib.EngineTypes.state = _menhir_s;
12041 MenhirLib.EngineTypes.semv = x0;
12042 MenhirLib.EngineTypes.startp = _startpos_x0_;
12043 MenhirLib.EngineTypes.endp = _endpos_x0_;
12044 MenhirLib.EngineTypes.next = _menhir_stack;
12045 };
12046 };
12047 };
12048 };
12049 };
12050 } = _menhir_stack in
12051 let pv : (
12052# 108 "parser_cocci_menhir.mly"
12053 (Data.clt)
12054# 12055 "parser_cocci_menhir.ml"
12055 ) = Obj.magic pv in
12056 let e : 'tv_initialize = Obj.magic e in
12057 let q : (
12058# 108 "parser_cocci_menhir.mly"
12059 (Data.clt)
12060# 12061 "parser_cocci_menhir.ml"
12061 ) = Obj.magic q in
12062 let d : 'tv_d_ident = Obj.magic d in
12063 let i : 'tv_pure_ident = Obj.magic i in
12064 let x0 : 'tv_storage = Obj.magic x0 in
12065 let _startpos = _startpos_x0_ in
12066 let _endpos = _endpos_pv_ in
12067 let _v : 'tv_decl_var = let cv =
12068
12069# 39 "standard.mly"
12070 ( None )
12071# 12072 "parser_cocci_menhir.ml"
12072
12073 in
12074 let s =
12075 let x = x0 in
12076
12077# 41 "standard.mly"
12078 ( Some x )
12079# 12080 "parser_cocci_menhir.ml"
12080
12081 in
12082
12083# 991 "parser_cocci_menhir.mly"
12084 ( let (id,fn) = d in
12085 !Data.add_type_name (P.id2name i);
12086 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12087 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12088 P.clt2mcode ";" pv))] )
12089# 12090 "parser_cocci_menhir.ml"
12090 in
12091 _menhir_env.MenhirLib.EngineTypes.stack <- {
12092 MenhirLib.EngineTypes.state = _menhir_s;
12093 MenhirLib.EngineTypes.semv = Obj.repr _v;
12094 MenhirLib.EngineTypes.startp = _startpos;
12095 MenhirLib.EngineTypes.endp = _endpos;
12096 MenhirLib.EngineTypes.next = _menhir_stack;
12097 });
12098 (fun _menhir_env ->
12099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12100 let {
12101 MenhirLib.EngineTypes.semv = pv;
12102 MenhirLib.EngineTypes.startp = _startpos_pv_;
12103 MenhirLib.EngineTypes.endp = _endpos_pv_;
12104 MenhirLib.EngineTypes.next = {
12105 MenhirLib.EngineTypes.semv = e;
12106 MenhirLib.EngineTypes.startp = _startpos_e_;
12107 MenhirLib.EngineTypes.endp = _endpos_e_;
12108 MenhirLib.EngineTypes.next = {
12109 MenhirLib.EngineTypes.semv = q;
12110 MenhirLib.EngineTypes.startp = _startpos_q_;
12111 MenhirLib.EngineTypes.endp = _endpos_q_;
12112 MenhirLib.EngineTypes.next = {
12113 MenhirLib.EngineTypes.semv = d;
12114 MenhirLib.EngineTypes.startp = _startpos_d_;
12115 MenhirLib.EngineTypes.endp = _endpos_d_;
12116 MenhirLib.EngineTypes.next = {
12117 MenhirLib.EngineTypes.semv = i;
12118 MenhirLib.EngineTypes.startp = _startpos_i_;
12119 MenhirLib.EngineTypes.endp = _endpos_i_;
12120 MenhirLib.EngineTypes.next = {
12121 MenhirLib.EngineTypes.semv = x1;
12122 MenhirLib.EngineTypes.startp = _startpos_x1_;
12123 MenhirLib.EngineTypes.endp = _endpos_x1_;
12124 MenhirLib.EngineTypes.next = {
12125 MenhirLib.EngineTypes.state = _menhir_s;
12126 MenhirLib.EngineTypes.semv = x0;
12127 MenhirLib.EngineTypes.startp = _startpos_x0_;
12128 MenhirLib.EngineTypes.endp = _endpos_x0_;
12129 MenhirLib.EngineTypes.next = _menhir_stack;
12130 };
12131 };
12132 };
12133 };
12134 };
12135 };
12136 } = _menhir_stack in
12137 let pv : (
12138# 108 "parser_cocci_menhir.mly"
12139 (Data.clt)
12140# 12141 "parser_cocci_menhir.ml"
12141 ) = Obj.magic pv in
12142 let e : 'tv_initialize = Obj.magic e in
12143 let q : (
12144# 108 "parser_cocci_menhir.mly"
12145 (Data.clt)
12146# 12147 "parser_cocci_menhir.ml"
12147 ) = Obj.magic q in
12148 let d : 'tv_d_ident = Obj.magic d in
12149 let i : 'tv_pure_ident = Obj.magic i in
12150 let x1 : 'tv_const_vol = Obj.magic x1 in
12151 let x0 : 'tv_storage = Obj.magic x0 in
12152 let _startpos = _startpos_x0_ in
12153 let _endpos = _endpos_pv_ in
12154 let _v : 'tv_decl_var = let cv =
12155 let x = x1 in
12156
12157# 41 "standard.mly"
12158 ( Some x )
12159# 12160 "parser_cocci_menhir.ml"
12160
12161 in
12162 let s =
12163 let x = x0 in
12164
12165# 41 "standard.mly"
12166 ( Some x )
12167# 12168 "parser_cocci_menhir.ml"
12168
12169 in
12170
12171# 991 "parser_cocci_menhir.mly"
12172 ( let (id,fn) = d in
12173 !Data.add_type_name (P.id2name i);
12174 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12175 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12176 P.clt2mcode ";" pv))] )
12177# 12178 "parser_cocci_menhir.ml"
12178 in
12179 _menhir_env.MenhirLib.EngineTypes.stack <- {
12180 MenhirLib.EngineTypes.state = _menhir_s;
12181 MenhirLib.EngineTypes.semv = Obj.repr _v;
12182 MenhirLib.EngineTypes.startp = _startpos;
12183 MenhirLib.EngineTypes.endp = _endpos;
12184 MenhirLib.EngineTypes.next = _menhir_stack;
12185 });
12186 (fun _menhir_env ->
12187 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12188 let {
12189 MenhirLib.EngineTypes.semv = pv;
12190 MenhirLib.EngineTypes.startp = _startpos_pv_;
12191 MenhirLib.EngineTypes.endp = _endpos_pv_;
12192 MenhirLib.EngineTypes.next = {
12193 MenhirLib.EngineTypes.semv = rp2;
12194 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12195 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12196 MenhirLib.EngineTypes.next = {
12197 MenhirLib.EngineTypes.semv = p;
12198 MenhirLib.EngineTypes.startp = _startpos_p_;
12199 MenhirLib.EngineTypes.endp = _endpos_p_;
12200 MenhirLib.EngineTypes.next = {
12201 MenhirLib.EngineTypes.semv = lp2;
12202 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12203 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12204 MenhirLib.EngineTypes.next = {
12205 MenhirLib.EngineTypes.semv = rp1;
12206 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12207 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12208 MenhirLib.EngineTypes.next = {
12209 MenhirLib.EngineTypes.semv = d;
12210 MenhirLib.EngineTypes.startp = _startpos_d_;
12211 MenhirLib.EngineTypes.endp = _endpos_d_;
12212 MenhirLib.EngineTypes.next = {
12213 MenhirLib.EngineTypes.semv = st;
12214 MenhirLib.EngineTypes.startp = _startpos_st_;
12215 MenhirLib.EngineTypes.endp = _endpos_st_;
12216 MenhirLib.EngineTypes.next = {
12217 MenhirLib.EngineTypes.semv = lp1;
12218 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12219 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12220 MenhirLib.EngineTypes.next = {
12221 MenhirLib.EngineTypes.state = _menhir_s;
12222 MenhirLib.EngineTypes.semv = t;
12223 MenhirLib.EngineTypes.startp = _startpos_t_;
12224 MenhirLib.EngineTypes.endp = _endpos_t_;
12225 MenhirLib.EngineTypes.next = _menhir_stack;
12226 };
12227 };
12228 };
12229 };
12230 };
12231 };
12232 };
12233 };
12234 } = _menhir_stack in
12235 let pv : (
12236# 108 "parser_cocci_menhir.mly"
12237 (Data.clt)
12238# 12239 "parser_cocci_menhir.ml"
12239 ) = Obj.magic pv in
12240 let rp2 : (
12241# 78 "parser_cocci_menhir.mly"
12242 (Data.clt)
12243# 12244 "parser_cocci_menhir.ml"
12244 ) = Obj.magic rp2 in
12245 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12246 let lp2 : (
12247# 77 "parser_cocci_menhir.mly"
12248 (Data.clt)
12249# 12250 "parser_cocci_menhir.ml"
12250 ) = Obj.magic lp2 in
12251 let rp1 : (
12252# 78 "parser_cocci_menhir.mly"
12253 (Data.clt)
12254# 12255 "parser_cocci_menhir.ml"
12255 ) = Obj.magic rp1 in
12256 let d : 'tv_d_ident = Obj.magic d in
12257 let st : (
12258# 100 "parser_cocci_menhir.mly"
12259 (Data.clt)
12260# 12261 "parser_cocci_menhir.ml"
12261 ) = Obj.magic st in
12262 let lp1 : (
12263# 77 "parser_cocci_menhir.mly"
12264 (Data.clt)
12265# 12266 "parser_cocci_menhir.ml"
12266 ) = Obj.magic lp1 in
12267 let t : 'tv_ctype = Obj.magic t in
12268 let _startpos = _startpos_t_ in
12269 let _endpos = _endpos_pv_ in
12270 let _v : 'tv_decl_var = let s =
12271
12272# 39 "standard.mly"
12273 ( None )
12274# 12275 "parser_cocci_menhir.ml"
12275
12276 in
12277
12278# 1001 "parser_cocci_menhir.mly"
12279 ( let (id,fn) = d in
12280 let t =
12281 Ast0.wrap
12282 (Ast0.FunctionPointer
12283 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12284 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12285 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12286# 12287 "parser_cocci_menhir.ml"
12287 in
12288 _menhir_env.MenhirLib.EngineTypes.stack <- {
12289 MenhirLib.EngineTypes.state = _menhir_s;
12290 MenhirLib.EngineTypes.semv = Obj.repr _v;
12291 MenhirLib.EngineTypes.startp = _startpos;
12292 MenhirLib.EngineTypes.endp = _endpos;
12293 MenhirLib.EngineTypes.next = _menhir_stack;
12294 });
12295 (fun _menhir_env ->
12296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12297 let {
12298 MenhirLib.EngineTypes.semv = pv;
12299 MenhirLib.EngineTypes.startp = _startpos_pv_;
12300 MenhirLib.EngineTypes.endp = _endpos_pv_;
12301 MenhirLib.EngineTypes.next = {
12302 MenhirLib.EngineTypes.semv = rp2;
12303 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12304 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12305 MenhirLib.EngineTypes.next = {
12306 MenhirLib.EngineTypes.semv = p;
12307 MenhirLib.EngineTypes.startp = _startpos_p_;
12308 MenhirLib.EngineTypes.endp = _endpos_p_;
12309 MenhirLib.EngineTypes.next = {
12310 MenhirLib.EngineTypes.semv = lp2;
12311 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12312 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12313 MenhirLib.EngineTypes.next = {
12314 MenhirLib.EngineTypes.semv = rp1;
12315 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12316 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12317 MenhirLib.EngineTypes.next = {
12318 MenhirLib.EngineTypes.semv = d;
12319 MenhirLib.EngineTypes.startp = _startpos_d_;
12320 MenhirLib.EngineTypes.endp = _endpos_d_;
12321 MenhirLib.EngineTypes.next = {
12322 MenhirLib.EngineTypes.semv = st;
12323 MenhirLib.EngineTypes.startp = _startpos_st_;
12324 MenhirLib.EngineTypes.endp = _endpos_st_;
12325 MenhirLib.EngineTypes.next = {
12326 MenhirLib.EngineTypes.semv = lp1;
12327 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12328 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12329 MenhirLib.EngineTypes.next = {
12330 MenhirLib.EngineTypes.semv = t;
12331 MenhirLib.EngineTypes.startp = _startpos_t_;
12332 MenhirLib.EngineTypes.endp = _endpos_t_;
12333 MenhirLib.EngineTypes.next = {
12334 MenhirLib.EngineTypes.state = _menhir_s;
12335 MenhirLib.EngineTypes.semv = x0;
12336 MenhirLib.EngineTypes.startp = _startpos_x0_;
12337 MenhirLib.EngineTypes.endp = _endpos_x0_;
12338 MenhirLib.EngineTypes.next = _menhir_stack;
12339 };
12340 };
12341 };
12342 };
12343 };
12344 };
12345 };
12346 };
12347 };
12348 } = _menhir_stack in
12349 let pv : (
12350# 108 "parser_cocci_menhir.mly"
12351 (Data.clt)
12352# 12353 "parser_cocci_menhir.ml"
12353 ) = Obj.magic pv in
12354 let rp2 : (
12355# 78 "parser_cocci_menhir.mly"
12356 (Data.clt)
12357# 12358 "parser_cocci_menhir.ml"
12358 ) = Obj.magic rp2 in
12359 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12360 let lp2 : (
12361# 77 "parser_cocci_menhir.mly"
12362 (Data.clt)
12363# 12364 "parser_cocci_menhir.ml"
12364 ) = Obj.magic lp2 in
12365 let rp1 : (
12366# 78 "parser_cocci_menhir.mly"
12367 (Data.clt)
12368# 12369 "parser_cocci_menhir.ml"
12369 ) = Obj.magic rp1 in
12370 let d : 'tv_d_ident = Obj.magic d in
12371 let st : (
12372# 100 "parser_cocci_menhir.mly"
12373 (Data.clt)
12374# 12375 "parser_cocci_menhir.ml"
12375 ) = Obj.magic st in
12376 let lp1 : (
12377# 77 "parser_cocci_menhir.mly"
12378 (Data.clt)
12379# 12380 "parser_cocci_menhir.ml"
12380 ) = Obj.magic lp1 in
12381 let t : 'tv_ctype = Obj.magic t in
12382 let x0 : 'tv_storage = Obj.magic x0 in
12383 let _startpos = _startpos_x0_ in
12384 let _endpos = _endpos_pv_ in
12385 let _v : 'tv_decl_var = let s =
12386 let x = x0 in
12387
12388# 41 "standard.mly"
12389 ( Some x )
12390# 12391 "parser_cocci_menhir.ml"
12391
12392 in
12393
12394# 1001 "parser_cocci_menhir.mly"
12395 ( let (id,fn) = d in
12396 let t =
12397 Ast0.wrap
12398 (Ast0.FunctionPointer
12399 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12400 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12401 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12402# 12403 "parser_cocci_menhir.ml"
12403 in
12404 _menhir_env.MenhirLib.EngineTypes.stack <- {
12405 MenhirLib.EngineTypes.state = _menhir_s;
12406 MenhirLib.EngineTypes.semv = Obj.repr _v;
12407 MenhirLib.EngineTypes.startp = _startpos;
12408 MenhirLib.EngineTypes.endp = _endpos;
12409 MenhirLib.EngineTypes.next = _menhir_stack;
12410 });
12411 (fun _menhir_env ->
12412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12413 let {
12414 MenhirLib.EngineTypes.semv = _5;
12415 MenhirLib.EngineTypes.startp = _startpos__5_;
12416 MenhirLib.EngineTypes.endp = _endpos__5_;
12417 MenhirLib.EngineTypes.next = {
12418 MenhirLib.EngineTypes.semv = _4;
12419 MenhirLib.EngineTypes.startp = _startpos__4_;
12420 MenhirLib.EngineTypes.endp = _endpos__4_;
12421 MenhirLib.EngineTypes.next = {
12422 MenhirLib.EngineTypes.semv = _3;
12423 MenhirLib.EngineTypes.startp = _startpos__3_;
12424 MenhirLib.EngineTypes.endp = _endpos__3_;
12425 MenhirLib.EngineTypes.next = {
12426 MenhirLib.EngineTypes.semv = _2;
12427 MenhirLib.EngineTypes.startp = _startpos__2_;
12428 MenhirLib.EngineTypes.endp = _endpos__2_;
12429 MenhirLib.EngineTypes.next = {
12430 MenhirLib.EngineTypes.state = _menhir_s;
12431 MenhirLib.EngineTypes.semv = _1;
12432 MenhirLib.EngineTypes.startp = _startpos__1_;
12433 MenhirLib.EngineTypes.endp = _endpos__1_;
12434 MenhirLib.EngineTypes.next = _menhir_stack;
12435 };
12436 };
12437 };
12438 };
12439 } = _menhir_stack in
12440 let _5 : (
12441# 108 "parser_cocci_menhir.mly"
12442 (Data.clt)
12443# 12444 "parser_cocci_menhir.ml"
12444 ) = Obj.magic _5 in
12445 let _4 : (
12446# 78 "parser_cocci_menhir.mly"
12447 (Data.clt)
12448# 12449 "parser_cocci_menhir.ml"
12449 ) = Obj.magic _4 in
12450 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
12451 let _2 : (
12452# 77 "parser_cocci_menhir.mly"
12453 (Data.clt)
12454# 12455 "parser_cocci_menhir.ml"
12455 ) = Obj.magic _2 in
12456 let _1 : 'tv_decl_ident = Obj.magic _1 in
12457 let _startpos = _startpos__1_ in
12458 let _endpos = _endpos__5_ in
12459 let _v : 'tv_decl_var =
12460# 1009 "parser_cocci_menhir.mly"
12461 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
12462 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
12463# 12464 "parser_cocci_menhir.ml"
12464 in
12465 _menhir_env.MenhirLib.EngineTypes.stack <- {
12466 MenhirLib.EngineTypes.state = _menhir_s;
12467 MenhirLib.EngineTypes.semv = Obj.repr _v;
12468 MenhirLib.EngineTypes.startp = _startpos;
12469 MenhirLib.EngineTypes.endp = _endpos;
12470 MenhirLib.EngineTypes.next = _menhir_stack;
12471 });
12472 (fun _menhir_env ->
12473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12474 let {
12475 MenhirLib.EngineTypes.semv = pv;
12476 MenhirLib.EngineTypes.startp = _startpos_pv_;
12477 MenhirLib.EngineTypes.endp = _endpos_pv_;
12478 MenhirLib.EngineTypes.next = {
12479 MenhirLib.EngineTypes.semv = e;
12480 MenhirLib.EngineTypes.startp = _startpos_e_;
12481 MenhirLib.EngineTypes.endp = _endpos_e_;
12482 MenhirLib.EngineTypes.next = {
12483 MenhirLib.EngineTypes.semv = q;
12484 MenhirLib.EngineTypes.startp = _startpos_q_;
12485 MenhirLib.EngineTypes.endp = _endpos_q_;
12486 MenhirLib.EngineTypes.next = {
12487 MenhirLib.EngineTypes.semv = rp2;
12488 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12489 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12490 MenhirLib.EngineTypes.next = {
12491 MenhirLib.EngineTypes.semv = p;
12492 MenhirLib.EngineTypes.startp = _startpos_p_;
12493 MenhirLib.EngineTypes.endp = _endpos_p_;
12494 MenhirLib.EngineTypes.next = {
12495 MenhirLib.EngineTypes.semv = lp2;
12496 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12497 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12498 MenhirLib.EngineTypes.next = {
12499 MenhirLib.EngineTypes.semv = rp1;
12500 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12501 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12502 MenhirLib.EngineTypes.next = {
12503 MenhirLib.EngineTypes.semv = d;
12504 MenhirLib.EngineTypes.startp = _startpos_d_;
12505 MenhirLib.EngineTypes.endp = _endpos_d_;
12506 MenhirLib.EngineTypes.next = {
12507 MenhirLib.EngineTypes.semv = st;
12508 MenhirLib.EngineTypes.startp = _startpos_st_;
12509 MenhirLib.EngineTypes.endp = _endpos_st_;
12510 MenhirLib.EngineTypes.next = {
12511 MenhirLib.EngineTypes.semv = lp1;
12512 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12513 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12514 MenhirLib.EngineTypes.next = {
12515 MenhirLib.EngineTypes.state = _menhir_s;
12516 MenhirLib.EngineTypes.semv = t;
12517 MenhirLib.EngineTypes.startp = _startpos_t_;
12518 MenhirLib.EngineTypes.endp = _endpos_t_;
12519 MenhirLib.EngineTypes.next = _menhir_stack;
12520 };
12521 };
12522 };
12523 };
12524 };
12525 };
12526 };
12527 };
12528 };
12529 };
12530 } = _menhir_stack in
12531 let pv : (
12532# 108 "parser_cocci_menhir.mly"
12533 (Data.clt)
12534# 12535 "parser_cocci_menhir.ml"
12535 ) = Obj.magic pv in
12536 let e : 'tv_initialize = Obj.magic e in
12537 let q : (
12538# 108 "parser_cocci_menhir.mly"
12539 (Data.clt)
12540# 12541 "parser_cocci_menhir.ml"
12541 ) = Obj.magic q in
12542 let rp2 : (
12543# 78 "parser_cocci_menhir.mly"
12544 (Data.clt)
12545# 12546 "parser_cocci_menhir.ml"
12546 ) = Obj.magic rp2 in
12547 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12548 let lp2 : (
12549# 77 "parser_cocci_menhir.mly"
12550 (Data.clt)
12551# 12552 "parser_cocci_menhir.ml"
12552 ) = Obj.magic lp2 in
12553 let rp1 : (
12554# 78 "parser_cocci_menhir.mly"
12555 (Data.clt)
12556# 12557 "parser_cocci_menhir.ml"
12557 ) = Obj.magic rp1 in
12558 let d : 'tv_d_ident = Obj.magic d in
12559 let st : (
12560# 100 "parser_cocci_menhir.mly"
12561 (Data.clt)
12562# 12563 "parser_cocci_menhir.ml"
12563 ) = Obj.magic st in
12564 let lp1 : (
12565# 77 "parser_cocci_menhir.mly"
12566 (Data.clt)
12567# 12568 "parser_cocci_menhir.ml"
12568 ) = Obj.magic lp1 in
12569 let t : 'tv_ctype = Obj.magic t in
12570 let _startpos = _startpos_t_ in
12571 let _endpos = _endpos_pv_ in
12572 let _v : 'tv_decl_var = let s =
12573
12574# 39 "standard.mly"
12575 ( None )
12576# 12577 "parser_cocci_menhir.ml"
12577
12578 in
12579
12580# 1015 "parser_cocci_menhir.mly"
12581 ( let (id,fn) = d in
12582 let t =
12583 Ast0.wrap
12584 (Ast0.FunctionPointer
12585 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12586 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12587 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12588# 12589 "parser_cocci_menhir.ml"
12589 in
12590 _menhir_env.MenhirLib.EngineTypes.stack <- {
12591 MenhirLib.EngineTypes.state = _menhir_s;
12592 MenhirLib.EngineTypes.semv = Obj.repr _v;
12593 MenhirLib.EngineTypes.startp = _startpos;
12594 MenhirLib.EngineTypes.endp = _endpos;
12595 MenhirLib.EngineTypes.next = _menhir_stack;
12596 });
12597 (fun _menhir_env ->
12598 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12599 let {
12600 MenhirLib.EngineTypes.semv = pv;
12601 MenhirLib.EngineTypes.startp = _startpos_pv_;
12602 MenhirLib.EngineTypes.endp = _endpos_pv_;
12603 MenhirLib.EngineTypes.next = {
12604 MenhirLib.EngineTypes.semv = e;
12605 MenhirLib.EngineTypes.startp = _startpos_e_;
12606 MenhirLib.EngineTypes.endp = _endpos_e_;
12607 MenhirLib.EngineTypes.next = {
12608 MenhirLib.EngineTypes.semv = q;
12609 MenhirLib.EngineTypes.startp = _startpos_q_;
12610 MenhirLib.EngineTypes.endp = _endpos_q_;
12611 MenhirLib.EngineTypes.next = {
12612 MenhirLib.EngineTypes.semv = rp2;
12613 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12614 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12615 MenhirLib.EngineTypes.next = {
12616 MenhirLib.EngineTypes.semv = p;
12617 MenhirLib.EngineTypes.startp = _startpos_p_;
12618 MenhirLib.EngineTypes.endp = _endpos_p_;
12619 MenhirLib.EngineTypes.next = {
12620 MenhirLib.EngineTypes.semv = lp2;
12621 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12622 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12623 MenhirLib.EngineTypes.next = {
12624 MenhirLib.EngineTypes.semv = rp1;
12625 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12626 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12627 MenhirLib.EngineTypes.next = {
12628 MenhirLib.EngineTypes.semv = d;
12629 MenhirLib.EngineTypes.startp = _startpos_d_;
12630 MenhirLib.EngineTypes.endp = _endpos_d_;
12631 MenhirLib.EngineTypes.next = {
12632 MenhirLib.EngineTypes.semv = st;
12633 MenhirLib.EngineTypes.startp = _startpos_st_;
12634 MenhirLib.EngineTypes.endp = _endpos_st_;
12635 MenhirLib.EngineTypes.next = {
12636 MenhirLib.EngineTypes.semv = lp1;
12637 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12638 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12639 MenhirLib.EngineTypes.next = {
12640 MenhirLib.EngineTypes.semv = t;
12641 MenhirLib.EngineTypes.startp = _startpos_t_;
12642 MenhirLib.EngineTypes.endp = _endpos_t_;
12643 MenhirLib.EngineTypes.next = {
12644 MenhirLib.EngineTypes.state = _menhir_s;
12645 MenhirLib.EngineTypes.semv = x0;
12646 MenhirLib.EngineTypes.startp = _startpos_x0_;
12647 MenhirLib.EngineTypes.endp = _endpos_x0_;
12648 MenhirLib.EngineTypes.next = _menhir_stack;
12649 };
12650 };
12651 };
12652 };
12653 };
12654 };
12655 };
12656 };
12657 };
12658 };
12659 };
12660 } = _menhir_stack in
12661 let pv : (
12662# 108 "parser_cocci_menhir.mly"
12663 (Data.clt)
12664# 12665 "parser_cocci_menhir.ml"
12665 ) = Obj.magic pv in
12666 let e : 'tv_initialize = Obj.magic e in
12667 let q : (
12668# 108 "parser_cocci_menhir.mly"
12669 (Data.clt)
12670# 12671 "parser_cocci_menhir.ml"
12671 ) = Obj.magic q in
12672 let rp2 : (
12673# 78 "parser_cocci_menhir.mly"
12674 (Data.clt)
12675# 12676 "parser_cocci_menhir.ml"
12676 ) = Obj.magic rp2 in
12677 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12678 let lp2 : (
12679# 77 "parser_cocci_menhir.mly"
12680 (Data.clt)
12681# 12682 "parser_cocci_menhir.ml"
12682 ) = Obj.magic lp2 in
12683 let rp1 : (
12684# 78 "parser_cocci_menhir.mly"
12685 (Data.clt)
12686# 12687 "parser_cocci_menhir.ml"
12687 ) = Obj.magic rp1 in
12688 let d : 'tv_d_ident = Obj.magic d in
12689 let st : (
12690# 100 "parser_cocci_menhir.mly"
12691 (Data.clt)
12692# 12693 "parser_cocci_menhir.ml"
12693 ) = Obj.magic st in
12694 let lp1 : (
12695# 77 "parser_cocci_menhir.mly"
12696 (Data.clt)
12697# 12698 "parser_cocci_menhir.ml"
12698 ) = Obj.magic lp1 in
12699 let t : 'tv_ctype = Obj.magic t in
12700 let x0 : 'tv_storage = Obj.magic x0 in
12701 let _startpos = _startpos_x0_ in
12702 let _endpos = _endpos_pv_ in
12703 let _v : 'tv_decl_var = let s =
12704 let x = x0 in
12705
12706# 41 "standard.mly"
12707 ( Some x )
12708# 12709 "parser_cocci_menhir.ml"
12709
12710 in
12711
12712# 1015 "parser_cocci_menhir.mly"
12713 ( let (id,fn) = d in
12714 let t =
12715 Ast0.wrap
12716 (Ast0.FunctionPointer
12717 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12718 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12719 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12720# 12721 "parser_cocci_menhir.ml"
12721 in
12722 _menhir_env.MenhirLib.EngineTypes.stack <- {
12723 MenhirLib.EngineTypes.state = _menhir_s;
12724 MenhirLib.EngineTypes.semv = Obj.repr _v;
12725 MenhirLib.EngineTypes.startp = _startpos;
12726 MenhirLib.EngineTypes.endp = _endpos;
12727 MenhirLib.EngineTypes.next = _menhir_stack;
12728 });
12729 (fun _menhir_env ->
12730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12731 let {
12732 MenhirLib.EngineTypes.semv = pv;
12733 MenhirLib.EngineTypes.startp = _startpos_pv_;
12734 MenhirLib.EngineTypes.endp = _endpos_pv_;
12735 MenhirLib.EngineTypes.next = {
12736 MenhirLib.EngineTypes.semv = id;
12737 MenhirLib.EngineTypes.startp = _startpos_id_;
12738 MenhirLib.EngineTypes.endp = _endpos_id_;
12739 MenhirLib.EngineTypes.next = {
12740 MenhirLib.EngineTypes.semv = t;
12741 MenhirLib.EngineTypes.startp = _startpos_t_;
12742 MenhirLib.EngineTypes.endp = _endpos_t_;
12743 MenhirLib.EngineTypes.next = {
12744 MenhirLib.EngineTypes.state = _menhir_s;
12745 MenhirLib.EngineTypes.semv = s;
12746 MenhirLib.EngineTypes.startp = _startpos_s_;
12747 MenhirLib.EngineTypes.endp = _endpos_s_;
12748 MenhirLib.EngineTypes.next = _menhir_stack;
12749 };
12750 };
12751 };
12752 } = _menhir_stack in
12753 let pv : (
12754# 108 "parser_cocci_menhir.mly"
12755 (Data.clt)
12756# 12757 "parser_cocci_menhir.ml"
12757 ) = Obj.magic pv in
12758 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
12759 let t : 'tv_typedef_ctype = Obj.magic t in
12760 let s : (
12761# 53 "parser_cocci_menhir.mly"
12762 (Data.clt)
12763# 12764 "parser_cocci_menhir.ml"
12764 ) = Obj.magic s in
12765 let _startpos = _startpos_s_ in
12766 let _endpos = _endpos_pv_ in
12767 let _v : 'tv_decl_var =
12768# 1023 "parser_cocci_menhir.mly"
12769 ( let s = P.clt2mcode "typedef" s in
12770 List.map
12771 (function id ->
12772 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
12773 id )
12774# 12775 "parser_cocci_menhir.ml"
12775 in
12776 _menhir_env.MenhirLib.EngineTypes.stack <- {
12777 MenhirLib.EngineTypes.state = _menhir_s;
12778 MenhirLib.EngineTypes.semv = Obj.repr _v;
12779 MenhirLib.EngineTypes.startp = _startpos;
12780 MenhirLib.EngineTypes.endp = _endpos;
12781 MenhirLib.EngineTypes.next = _menhir_stack;
12782 });
12783 (fun _menhir_env ->
12784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12785 let {
12786 MenhirLib.EngineTypes.state = _menhir_s;
12787 MenhirLib.EngineTypes.semv = _1;
12788 MenhirLib.EngineTypes.startp = _startpos__1_;
12789 MenhirLib.EngineTypes.endp = _endpos__1_;
12790 MenhirLib.EngineTypes.next = _menhir_stack;
12791 } = _menhir_stack in
12792 let _1 : 'tv_define_param_list_start = Obj.magic _1 in
12793 let _startpos = _startpos__1_ in
12794 let _endpos = _endpos__1_ in
12795 let _v : 'tv_define_param_list =
12796# 740 "parser_cocci_menhir.mly"
12797 (let circle x =
12798 match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
12799 if List.exists circle _1
12800 then Ast0.wrap(Ast0.CIRCLES(_1))
12801 else Ast0.wrap(Ast0.DOTS(_1)) )
12802# 12803 "parser_cocci_menhir.ml"
12803 in
12804 _menhir_env.MenhirLib.EngineTypes.stack <- {
12805 MenhirLib.EngineTypes.state = _menhir_s;
12806 MenhirLib.EngineTypes.semv = Obj.repr _v;
12807 MenhirLib.EngineTypes.startp = _startpos;
12808 MenhirLib.EngineTypes.endp = _endpos;
12809 MenhirLib.EngineTypes.next = _menhir_stack;
12810 });
12811 (fun _menhir_env ->
12812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12813 let {
12814 MenhirLib.EngineTypes.state = _menhir_s;
12815 MenhirLib.EngineTypes.semv = _1;
12816 MenhirLib.EngineTypes.startp = _startpos__1_;
12817 MenhirLib.EngineTypes.endp = _endpos__1_;
12818 MenhirLib.EngineTypes.next = _menhir_stack;
12819 } = _menhir_stack in
12820 let _1 : 'tv_define_param_list = Obj.magic _1 in
12821 let _startpos = _startpos__1_ in
12822 let _endpos = _endpos__1_ in
12823 let _v : 'tv_define_param_list_option =
12824# 764 "parser_cocci_menhir.mly"
12825 ( _1 )
12826# 12827 "parser_cocci_menhir.ml"
12827 in
12828 _menhir_env.MenhirLib.EngineTypes.stack <- {
12829 MenhirLib.EngineTypes.state = _menhir_s;
12830 MenhirLib.EngineTypes.semv = Obj.repr _v;
12831 MenhirLib.EngineTypes.startp = _startpos;
12832 MenhirLib.EngineTypes.endp = _endpos;
12833 MenhirLib.EngineTypes.next = _menhir_stack;
12834 });
12835 (fun _menhir_env ->
12836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12837 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
12838 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
12839 let _endpos = _startpos in
12840 let _v : 'tv_define_param_list_option =
12841# 765 "parser_cocci_menhir.mly"
12842 ( Ast0.wrap(Ast0.DOTS([])) )
12843# 12844 "parser_cocci_menhir.ml"
12844 in
12845 _menhir_env.MenhirLib.EngineTypes.stack <- {
12846 MenhirLib.EngineTypes.state = _menhir_s;
12847 MenhirLib.EngineTypes.semv = Obj.repr _v;
12848 MenhirLib.EngineTypes.startp = _startpos;
12849 MenhirLib.EngineTypes.endp = _endpos;
12850 MenhirLib.EngineTypes.next = _menhir_stack;
12851 });
12852 (fun _menhir_env ->
12853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12854 let {
12855 MenhirLib.EngineTypes.state = _menhir_s;
12856 MenhirLib.EngineTypes.semv = _1;
12857 MenhirLib.EngineTypes.startp = _startpos__1_;
12858 MenhirLib.EngineTypes.endp = _endpos__1_;
12859 MenhirLib.EngineTypes.next = _menhir_stack;
12860 } = _menhir_stack in
12861 let _1 : 'tv_ident = Obj.magic _1 in
12862 let _startpos = _startpos__1_ in
12863 let _endpos = _endpos__1_ in
12864 let _v : 'tv_define_param_list_start =
12865# 747 "parser_cocci_menhir.mly"
12866 ( [Ast0.wrap(Ast0.DParam _1)] )
12867# 12868 "parser_cocci_menhir.ml"
12868 in
12869 _menhir_env.MenhirLib.EngineTypes.stack <- {
12870 MenhirLib.EngineTypes.state = _menhir_s;
12871 MenhirLib.EngineTypes.semv = Obj.repr _v;
12872 MenhirLib.EngineTypes.startp = _startpos;
12873 MenhirLib.EngineTypes.endp = _endpos;
12874 MenhirLib.EngineTypes.next = _menhir_stack;
12875 });
12876 (fun _menhir_env ->
12877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12878 let {
12879 MenhirLib.EngineTypes.semv = _3;
12880 MenhirLib.EngineTypes.startp = _startpos__3_;
12881 MenhirLib.EngineTypes.endp = _endpos__3_;
12882 MenhirLib.EngineTypes.next = {
12883 MenhirLib.EngineTypes.semv = _2;
12884 MenhirLib.EngineTypes.startp = _startpos__2_;
12885 MenhirLib.EngineTypes.endp = _endpos__2_;
12886 MenhirLib.EngineTypes.next = {
12887 MenhirLib.EngineTypes.state = _menhir_s;
12888 MenhirLib.EngineTypes.semv = _1;
12889 MenhirLib.EngineTypes.startp = _startpos__1_;
12890 MenhirLib.EngineTypes.endp = _endpos__1_;
12891 MenhirLib.EngineTypes.next = _menhir_stack;
12892 };
12893 };
12894 } = _menhir_stack in
12895 let _3 : 'tv_define_param_list_start = Obj.magic _3 in
12896 let _2 : (
12897# 108 "parser_cocci_menhir.mly"
12898 (Data.clt)
12899# 12900 "parser_cocci_menhir.ml"
12900 ) = Obj.magic _2 in
12901 let _1 : 'tv_ident = Obj.magic _1 in
12902 let _startpos = _startpos__1_ in
12903 let _endpos = _endpos__3_ in
12904 let _v : 'tv_define_param_list_start =
12905# 749 "parser_cocci_menhir.mly"
12906 ( Ast0.wrap(Ast0.DParam _1)::
12907 Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
12908# 12909 "parser_cocci_menhir.ml"
12909 in
12910 _menhir_env.MenhirLib.EngineTypes.stack <- {
12911 MenhirLib.EngineTypes.state = _menhir_s;
12912 MenhirLib.EngineTypes.semv = Obj.repr _v;
12913 MenhirLib.EngineTypes.startp = _startpos;
12914 MenhirLib.EngineTypes.endp = _endpos;
12915 MenhirLib.EngineTypes.next = _menhir_stack;
12916 });
12917 (fun _menhir_env ->
12918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12919 let {
12920 MenhirLib.EngineTypes.semv = r;
12921 MenhirLib.EngineTypes.startp = _startpos_r_;
12922 MenhirLib.EngineTypes.endp = _endpos_r_;
12923 MenhirLib.EngineTypes.next = {
12924 MenhirLib.EngineTypes.state = _menhir_s;
12925 MenhirLib.EngineTypes.semv = d;
12926 MenhirLib.EngineTypes.startp = _startpos_d_;
12927 MenhirLib.EngineTypes.endp = _endpos_d_;
12928 MenhirLib.EngineTypes.next = _menhir_stack;
12929 };
12930 } = _menhir_stack in
12931 let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
12932 let d : (
12933# 74 "parser_cocci_menhir.mly"
12934 (Data.clt)
12935# 12936 "parser_cocci_menhir.ml"
12936 ) = Obj.magic d in
12937 let _startpos = _startpos_d_ in
12938 let _endpos = _endpos_r_ in
12939 let _v : 'tv_define_param_list_start =
12940# 752 "parser_cocci_menhir.mly"
12941 ( (P.mkdpdots "..." d)::
12942 (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
12943# 12944 "parser_cocci_menhir.ml"
12944 in
12945 _menhir_env.MenhirLib.EngineTypes.stack <- {
12946 MenhirLib.EngineTypes.state = _menhir_s;
12947 MenhirLib.EngineTypes.semv = Obj.repr _v;
12948 MenhirLib.EngineTypes.startp = _startpos;
12949 MenhirLib.EngineTypes.endp = _endpos;
12950 MenhirLib.EngineTypes.next = _menhir_stack;
12951 });
12952 (fun _menhir_env ->
12953 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12954 let {
12955 MenhirLib.EngineTypes.state = _menhir_s;
12956 MenhirLib.EngineTypes.semv = _1;
12957 MenhirLib.EngineTypes.startp = _startpos__1_;
12958 MenhirLib.EngineTypes.endp = _endpos__1_;
12959 MenhirLib.EngineTypes.next = _menhir_stack;
12960 } = _menhir_stack in
12961 let _1 : (
12962# 82 "parser_cocci_menhir.mly"
12963 (Data.clt * token)
12964# 12965 "parser_cocci_menhir.ml"
12965 ) = Obj.magic _1 in
12966 let _startpos = _startpos__1_ in
12967 let _endpos = _endpos__1_ in
12968 let _v : 'tv_defineop =
12969# 699 "parser_cocci_menhir.mly"
12970 ( let (clt,ident) = _1 in
12971 function body ->
12972 Ast0.wrap
12973 (Ast0.Define
12974 (P.clt2mcode "#define" clt,
12975 (match ident with
12976 TMetaId((nm,constraints,pure,clt)) ->
12977 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
12978 | TIdent(nm_pure) ->
12979 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
12980 | _ ->
12981 raise
12982 (Semantic_cocci.Semantic
12983 "unexpected name for a #define")),
12984 Ast0.wrap Ast0.NoParams,
12985 body)) )
12986# 12987 "parser_cocci_menhir.ml"
12987 in
12988 _menhir_env.MenhirLib.EngineTypes.stack <- {
12989 MenhirLib.EngineTypes.state = _menhir_s;
12990 MenhirLib.EngineTypes.semv = Obj.repr _v;
12991 MenhirLib.EngineTypes.startp = _startpos;
12992 MenhirLib.EngineTypes.endp = _endpos;
12993 MenhirLib.EngineTypes.next = _menhir_stack;
12994 });
12995 (fun _menhir_env ->
12996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12997 let {
12998 MenhirLib.EngineTypes.semv = _3;
12999 MenhirLib.EngineTypes.startp = _startpos__3_;
13000 MenhirLib.EngineTypes.endp = _endpos__3_;
13001 MenhirLib.EngineTypes.next = {
13002 MenhirLib.EngineTypes.semv = _2;
13003 MenhirLib.EngineTypes.startp = _startpos__2_;
13004 MenhirLib.EngineTypes.endp = _endpos__2_;
13005 MenhirLib.EngineTypes.next = {
13006 MenhirLib.EngineTypes.state = _menhir_s;
13007 MenhirLib.EngineTypes.semv = _1;
13008 MenhirLib.EngineTypes.startp = _startpos__1_;
13009 MenhirLib.EngineTypes.endp = _endpos__1_;
13010 MenhirLib.EngineTypes.next = _menhir_stack;
13011 };
13012 };
13013 } = _menhir_stack in
13014 let _3 : (
13015# 78 "parser_cocci_menhir.mly"
13016 (Data.clt)
13017# 13018 "parser_cocci_menhir.ml"
13018 ) = Obj.magic _3 in
13019 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
13020 let _1 : (
13021# 83 "parser_cocci_menhir.mly"
13022 (Data.clt * token * int * int)
13023# 13024 "parser_cocci_menhir.ml"
13024 ) = Obj.magic _1 in
13025 let _startpos = _startpos__1_ in
13026 let _endpos = _endpos__3_ in
13027 let _v : 'tv_defineop =
13028# 716 "parser_cocci_menhir.mly"
13029 ( let (clt,ident,parenoff,parencol) = _1 in
13030 (* clt is the start of the #define itself *)
13031 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
13032 let lp =
13033 P.clt2mcode "("
13034 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
13035 function body ->
13036 Ast0.wrap
13037 (Ast0.Define
13038 (P.clt2mcode "#define" clt,
13039 (match ident with
13040 TMetaId((nm,constraints,pure,clt)) ->
13041 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13042 | TIdent(nm_pure) ->
13043 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13044 | _ ->
13045 raise
13046 (Semantic_cocci.Semantic
13047 "unexpected name for a #define")),
13048 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
13049# 13050 "parser_cocci_menhir.ml"
13050 in
13051 _menhir_env.MenhirLib.EngineTypes.stack <- {
13052 MenhirLib.EngineTypes.state = _menhir_s;
13053 MenhirLib.EngineTypes.semv = Obj.repr _v;
13054 MenhirLib.EngineTypes.startp = _startpos;
13055 MenhirLib.EngineTypes.endp = _endpos;
13056 MenhirLib.EngineTypes.next = _menhir_stack;
13057 });
13058 (fun _menhir_env ->
13059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13060 let {
13061 MenhirLib.EngineTypes.state = _menhir_s;
13062 MenhirLib.EngineTypes.semv = _1;
13063 MenhirLib.EngineTypes.startp = _startpos__1_;
13064 MenhirLib.EngineTypes.endp = _endpos__1_;
13065 MenhirLib.EngineTypes.next = _menhir_stack;
13066 } = _menhir_stack in
13067 let _1 : 'tv_pnrule = Obj.magic _1 in
13068 let _startpos = _startpos__1_ in
13069 let _endpos = _endpos__1_ in
13070 let _v : 'tv_dep =
13071# 226 "parser_cocci_menhir.mly"
13072 ( _1 )
13073# 13074 "parser_cocci_menhir.ml"
13074 in
13075 _menhir_env.MenhirLib.EngineTypes.stack <- {
13076 MenhirLib.EngineTypes.state = _menhir_s;
13077 MenhirLib.EngineTypes.semv = Obj.repr _v;
13078 MenhirLib.EngineTypes.startp = _startpos;
13079 MenhirLib.EngineTypes.endp = _endpos;
13080 MenhirLib.EngineTypes.next = _menhir_stack;
13081 });
13082 (fun _menhir_env ->
13083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13084 let {
13085 MenhirLib.EngineTypes.semv = _3;
13086 MenhirLib.EngineTypes.startp = _startpos__3_;
13087 MenhirLib.EngineTypes.endp = _endpos__3_;
13088 MenhirLib.EngineTypes.next = {
13089 MenhirLib.EngineTypes.startp = _startpos__2_;
13090 MenhirLib.EngineTypes.endp = _endpos__2_;
13091 MenhirLib.EngineTypes.next = {
13092 MenhirLib.EngineTypes.state = _menhir_s;
13093 MenhirLib.EngineTypes.semv = _1;
13094 MenhirLib.EngineTypes.startp = _startpos__1_;
13095 MenhirLib.EngineTypes.endp = _endpos__1_;
13096 MenhirLib.EngineTypes.next = _menhir_stack;
13097 };
13098 };
13099 } = _menhir_stack in
13100 let _3 : 'tv_dep = Obj.magic _3 in
13101 let _1 : 'tv_dep = Obj.magic _1 in
13102 let _startpos = _startpos__1_ in
13103 let _endpos = _endpos__3_ in
13104 let _v : 'tv_dep =
13105# 227 "parser_cocci_menhir.mly"
13106 ( Ast.AndDep(_1, _3) )
13107# 13108 "parser_cocci_menhir.ml"
13108 in
13109 _menhir_env.MenhirLib.EngineTypes.stack <- {
13110 MenhirLib.EngineTypes.state = _menhir_s;
13111 MenhirLib.EngineTypes.semv = Obj.repr _v;
13112 MenhirLib.EngineTypes.startp = _startpos;
13113 MenhirLib.EngineTypes.endp = _endpos;
13114 MenhirLib.EngineTypes.next = _menhir_stack;
13115 });
13116 (fun _menhir_env ->
13117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13118 let {
13119 MenhirLib.EngineTypes.semv = _3;
13120 MenhirLib.EngineTypes.startp = _startpos__3_;
13121 MenhirLib.EngineTypes.endp = _endpos__3_;
13122 MenhirLib.EngineTypes.next = {
13123 MenhirLib.EngineTypes.startp = _startpos__2_;
13124 MenhirLib.EngineTypes.endp = _endpos__2_;
13125 MenhirLib.EngineTypes.next = {
13126 MenhirLib.EngineTypes.state = _menhir_s;
13127 MenhirLib.EngineTypes.semv = _1;
13128 MenhirLib.EngineTypes.startp = _startpos__1_;
13129 MenhirLib.EngineTypes.endp = _endpos__1_;
13130 MenhirLib.EngineTypes.next = _menhir_stack;
13131 };
13132 };
13133 } = _menhir_stack in
13134 let _3 : 'tv_dep = Obj.magic _3 in
13135 let _1 : 'tv_dep = Obj.magic _1 in
13136 let _startpos = _startpos__1_ in
13137 let _endpos = _endpos__3_ in
13138 let _v : 'tv_dep =
13139# 228 "parser_cocci_menhir.mly"
13140 ( Ast.OrDep (_1, _3) )
13141# 13142 "parser_cocci_menhir.ml"
13142 in
13143 _menhir_env.MenhirLib.EngineTypes.stack <- {
13144 MenhirLib.EngineTypes.state = _menhir_s;
13145 MenhirLib.EngineTypes.semv = Obj.repr _v;
13146 MenhirLib.EngineTypes.startp = _startpos;
13147 MenhirLib.EngineTypes.endp = _endpos;
13148 MenhirLib.EngineTypes.next = _menhir_stack;
13149 });
13150 (fun _menhir_env ->
13151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13152 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13153 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13154 let _endpos = _startpos in
13155 let _v : 'tv_depends =
13156# 222 "parser_cocci_menhir.mly"
13157 ( Ast.NoDep )
13158# 13159 "parser_cocci_menhir.ml"
13159 in
13160 _menhir_env.MenhirLib.EngineTypes.stack <- {
13161 MenhirLib.EngineTypes.state = _menhir_s;
13162 MenhirLib.EngineTypes.semv = Obj.repr _v;
13163 MenhirLib.EngineTypes.startp = _startpos;
13164 MenhirLib.EngineTypes.endp = _endpos;
13165 MenhirLib.EngineTypes.next = _menhir_stack;
13166 });
13167 (fun _menhir_env ->
13168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13169 let {
13170 MenhirLib.EngineTypes.semv = parents;
13171 MenhirLib.EngineTypes.startp = _startpos_parents_;
13172 MenhirLib.EngineTypes.endp = _endpos_parents_;
13173 MenhirLib.EngineTypes.next = {
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.startp = _startpos__1_;
13179 MenhirLib.EngineTypes.endp = _endpos__1_;
13180 MenhirLib.EngineTypes.next = _menhir_stack;
13181 };
13182 };
13183 } = _menhir_stack in
13184 let parents : 'tv_dep = Obj.magic parents in
13185 let _startpos = _startpos__1_ in
13186 let _endpos = _endpos_parents_ in
13187 let _v : 'tv_depends =
13188# 223 "parser_cocci_menhir.mly"
13189 ( parents )
13190# 13191 "parser_cocci_menhir.ml"
13191 in
13192 _menhir_env.MenhirLib.EngineTypes.stack <- {
13193 MenhirLib.EngineTypes.state = _menhir_s;
13194 MenhirLib.EngineTypes.semv = Obj.repr _v;
13195 MenhirLib.EngineTypes.startp = _startpos;
13196 MenhirLib.EngineTypes.endp = _endpos;
13197 MenhirLib.EngineTypes.next = _menhir_stack;
13198 });
13199 (fun _menhir_env ->
13200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13201 let {
13202 MenhirLib.EngineTypes.semv = _2;
13203 MenhirLib.EngineTypes.startp = _startpos__2_;
13204 MenhirLib.EngineTypes.endp = _endpos__2_;
13205 MenhirLib.EngineTypes.next = {
13206 MenhirLib.EngineTypes.state = _menhir_s;
13207 MenhirLib.EngineTypes.semv = _1;
13208 MenhirLib.EngineTypes.startp = _startpos__1_;
13209 MenhirLib.EngineTypes.endp = _endpos__1_;
13210 MenhirLib.EngineTypes.next = _menhir_stack;
13211 };
13212 } = _menhir_stack in
13213 let _2 : 'tv_ident = Obj.magic _2 in
13214 let _1 : (
13215# 108 "parser_cocci_menhir.mly"
13216 (Data.clt)
13217# 13218 "parser_cocci_menhir.ml"
13218 ) = Obj.magic _1 in
13219 let _startpos = _startpos__1_ in
13220 let _endpos = _endpos__2_ in
13221 let _v : 'tv_designator =
13222# 1124 "parser_cocci_menhir.mly"
13223 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
13224# 13225 "parser_cocci_menhir.ml"
13225 in
13226 _menhir_env.MenhirLib.EngineTypes.stack <- {
13227 MenhirLib.EngineTypes.state = _menhir_s;
13228 MenhirLib.EngineTypes.semv = Obj.repr _v;
13229 MenhirLib.EngineTypes.startp = _startpos;
13230 MenhirLib.EngineTypes.endp = _endpos;
13231 MenhirLib.EngineTypes.next = _menhir_stack;
13232 });
13233 (fun _menhir_env ->
13234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13235 let {
13236 MenhirLib.EngineTypes.semv = _3;
13237 MenhirLib.EngineTypes.startp = _startpos__3_;
13238 MenhirLib.EngineTypes.endp = _endpos__3_;
13239 MenhirLib.EngineTypes.next = {
13240 MenhirLib.EngineTypes.semv = _2;
13241 MenhirLib.EngineTypes.startp = _startpos__2_;
13242 MenhirLib.EngineTypes.endp = _endpos__2_;
13243 MenhirLib.EngineTypes.next = {
13244 MenhirLib.EngineTypes.state = _menhir_s;
13245 MenhirLib.EngineTypes.semv = _1;
13246 MenhirLib.EngineTypes.startp = _startpos__1_;
13247 MenhirLib.EngineTypes.endp = _endpos__1_;
13248 MenhirLib.EngineTypes.next = _menhir_stack;
13249 };
13250 };
13251 } = _menhir_stack in
13252 let _3 : (
13253# 103 "parser_cocci_menhir.mly"
13254 (Data.clt)
13255# 13256 "parser_cocci_menhir.ml"
13256 ) = Obj.magic _3 in
13257 let _2 : 'tv_eexpr = Obj.magic _2 in
13258 let _1 : (
13259# 103 "parser_cocci_menhir.mly"
13260 (Data.clt)
13261# 13262 "parser_cocci_menhir.ml"
13262 ) = Obj.magic _1 in
13263 let _startpos = _startpos__1_ in
13264 let _endpos = _endpos__3_ in
13265 let _v : 'tv_designator =
13266# 1126 "parser_cocci_menhir.mly"
13267 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
13268# 13269 "parser_cocci_menhir.ml"
13269 in
13270 _menhir_env.MenhirLib.EngineTypes.stack <- {
13271 MenhirLib.EngineTypes.state = _menhir_s;
13272 MenhirLib.EngineTypes.semv = Obj.repr _v;
13273 MenhirLib.EngineTypes.startp = _startpos;
13274 MenhirLib.EngineTypes.endp = _endpos;
13275 MenhirLib.EngineTypes.next = _menhir_stack;
13276 });
13277 (fun _menhir_env ->
13278 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13279 let {
13280 MenhirLib.EngineTypes.semv = _5;
13281 MenhirLib.EngineTypes.startp = _startpos__5_;
13282 MenhirLib.EngineTypes.endp = _endpos__5_;
13283 MenhirLib.EngineTypes.next = {
13284 MenhirLib.EngineTypes.semv = _4;
13285 MenhirLib.EngineTypes.startp = _startpos__4_;
13286 MenhirLib.EngineTypes.endp = _endpos__4_;
13287 MenhirLib.EngineTypes.next = {
13288 MenhirLib.EngineTypes.semv = _3;
13289 MenhirLib.EngineTypes.startp = _startpos__3_;
13290 MenhirLib.EngineTypes.endp = _endpos__3_;
13291 MenhirLib.EngineTypes.next = {
13292 MenhirLib.EngineTypes.semv = _2;
13293 MenhirLib.EngineTypes.startp = _startpos__2_;
13294 MenhirLib.EngineTypes.endp = _endpos__2_;
13295 MenhirLib.EngineTypes.next = {
13296 MenhirLib.EngineTypes.state = _menhir_s;
13297 MenhirLib.EngineTypes.semv = _1;
13298 MenhirLib.EngineTypes.startp = _startpos__1_;
13299 MenhirLib.EngineTypes.endp = _endpos__1_;
13300 MenhirLib.EngineTypes.next = _menhir_stack;
13301 };
13302 };
13303 };
13304 };
13305 } = _menhir_stack in
13306 let _5 : (
13307# 103 "parser_cocci_menhir.mly"
13308 (Data.clt)
13309# 13310 "parser_cocci_menhir.ml"
13310 ) = Obj.magic _5 in
13311 let _4 : 'tv_eexpr = Obj.magic _4 in
13312 let _3 : (
13313# 74 "parser_cocci_menhir.mly"
13314 (Data.clt)
13315# 13316 "parser_cocci_menhir.ml"
13316 ) = Obj.magic _3 in
13317 let _2 : 'tv_eexpr = Obj.magic _2 in
13318 let _1 : (
13319# 103 "parser_cocci_menhir.mly"
13320 (Data.clt)
13321# 13322 "parser_cocci_menhir.ml"
13322 ) = Obj.magic _1 in
13323 let _startpos = _startpos__1_ in
13324 let _endpos = _endpos__5_ in
13325 let _v : 'tv_designator =
13326# 1128 "parser_cocci_menhir.mly"
13327 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
13328 _4,P.clt2mcode "]" _5) )
13329# 13330 "parser_cocci_menhir.ml"
13330 in
13331 _menhir_env.MenhirLib.EngineTypes.stack <- {
13332 MenhirLib.EngineTypes.state = _menhir_s;
13333 MenhirLib.EngineTypes.semv = Obj.repr _v;
13334 MenhirLib.EngineTypes.startp = _startpos;
13335 MenhirLib.EngineTypes.endp = _endpos;
13336 MenhirLib.EngineTypes.next = _menhir_stack;
13337 });
13338 (fun _menhir_env ->
13339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13340 let {
13341 MenhirLib.EngineTypes.state = _menhir_s;
13342 MenhirLib.EngineTypes.semv = _1;
13343 MenhirLib.EngineTypes.startp = _startpos__1_;
13344 MenhirLib.EngineTypes.endp = _endpos__1_;
13345 MenhirLib.EngineTypes.next = _menhir_stack;
13346 } = _menhir_stack in
13347 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
13348 let _startpos = _startpos__1_ in
13349 let _endpos = _endpos__1_ in
13350 let _v : 'tv_dexpr =
13351# 1227 "parser_cocci_menhir.mly"
13352 ( _1 )
13353# 13354 "parser_cocci_menhir.ml"
13354 in
13355 _menhir_env.MenhirLib.EngineTypes.stack <- {
13356 MenhirLib.EngineTypes.state = _menhir_s;
13357 MenhirLib.EngineTypes.semv = Obj.repr _v;
13358 MenhirLib.EngineTypes.startp = _startpos;
13359 MenhirLib.EngineTypes.endp = _endpos;
13360 MenhirLib.EngineTypes.next = _menhir_stack;
13361 });
13362 (fun _menhir_env ->
13363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13364 let {
13365 MenhirLib.EngineTypes.semv = _2;
13366 MenhirLib.EngineTypes.startp = _startpos__2_;
13367 MenhirLib.EngineTypes.endp = _endpos__2_;
13368 MenhirLib.EngineTypes.next = {
13369 MenhirLib.EngineTypes.state = _menhir_s;
13370 MenhirLib.EngineTypes.startp = _startpos__1_;
13371 MenhirLib.EngineTypes.endp = _endpos__1_;
13372 MenhirLib.EngineTypes.next = _menhir_stack;
13373 };
13374 } = _menhir_stack in
13375 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
13376 let _startpos = _startpos__1_ in
13377 let _endpos = _endpos__2_ in
13378 let _v : 'tv_disable =
13379# 241 "parser_cocci_menhir.mly"
13380 ( List.map P.id2name _2 )
13381# 13382 "parser_cocci_menhir.ml"
13382 in
13383 _menhir_env.MenhirLib.EngineTypes.stack <- {
13384 MenhirLib.EngineTypes.state = _menhir_s;
13385 MenhirLib.EngineTypes.semv = Obj.repr _v;
13386 MenhirLib.EngineTypes.startp = _startpos;
13387 MenhirLib.EngineTypes.endp = _endpos;
13388 MenhirLib.EngineTypes.next = _menhir_stack;
13389 });
13390 (fun _menhir_env ->
13391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13392 let {
13393 MenhirLib.EngineTypes.state = _menhir_s;
13394 MenhirLib.EngineTypes.semv = _1;
13395 MenhirLib.EngineTypes.startp = _startpos__1_;
13396 MenhirLib.EngineTypes.endp = _endpos__1_;
13397 MenhirLib.EngineTypes.next = _menhir_stack;
13398 } = _menhir_stack in
13399 let _1 : (
13400# 74 "parser_cocci_menhir.mly"
13401 (Data.clt)
13402# 13403 "parser_cocci_menhir.ml"
13403 ) = Obj.magic _1 in
13404 let _startpos = _startpos__1_ in
13405 let _endpos = _endpos__1_ in
13406 let _v : 'tv_dot_expressions =
13407# 1236 "parser_cocci_menhir.mly"
13408 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
13409# 13410 "parser_cocci_menhir.ml"
13410 in
13411 _menhir_env.MenhirLib.EngineTypes.stack <- {
13412 MenhirLib.EngineTypes.state = _menhir_s;
13413 MenhirLib.EngineTypes.semv = Obj.repr _v;
13414 MenhirLib.EngineTypes.startp = _startpos;
13415 MenhirLib.EngineTypes.endp = _endpos;
13416 MenhirLib.EngineTypes.next = _menhir_stack;
13417 });
13418 (fun _menhir_env ->
13419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13420 let {
13421 MenhirLib.EngineTypes.state = _menhir_s;
13422 MenhirLib.EngineTypes.semv = _1;
13423 MenhirLib.EngineTypes.startp = _startpos__1_;
13424 MenhirLib.EngineTypes.endp = _endpos__1_;
13425 MenhirLib.EngineTypes.next = _menhir_stack;
13426 } = _menhir_stack in
13427 let _1 : 'tv_nest_expressions = Obj.magic _1 in
13428 let _startpos = _startpos__1_ in
13429 let _endpos = _endpos__1_ in
13430 let _v : 'tv_dot_expressions =
13431# 1237 "parser_cocci_menhir.mly"
13432 ( _1 )
13433# 13434 "parser_cocci_menhir.ml"
13434 in
13435 _menhir_env.MenhirLib.EngineTypes.stack <- {
13436 MenhirLib.EngineTypes.state = _menhir_s;
13437 MenhirLib.EngineTypes.semv = Obj.repr _v;
13438 MenhirLib.EngineTypes.startp = _startpos;
13439 MenhirLib.EngineTypes.endp = _endpos;
13440 MenhirLib.EngineTypes.next = _menhir_stack;
13441 });
13442 (fun _menhir_env ->
13443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13444 let {
13445 MenhirLib.EngineTypes.semv = d;
13446 MenhirLib.EngineTypes.startp = _startpos_d_;
13447 MenhirLib.EngineTypes.endp = _endpos_d_;
13448 MenhirLib.EngineTypes.next = {
13449 MenhirLib.EngineTypes.state = _menhir_s;
13450 MenhirLib.EngineTypes.semv = c;
13451 MenhirLib.EngineTypes.startp = _startpos_c_;
13452 MenhirLib.EngineTypes.endp = _endpos_c_;
13453 MenhirLib.EngineTypes.next = _menhir_stack;
13454 };
13455 } = _menhir_stack in
13456 let d : (
13457# 74 "parser_cocci_menhir.mly"
13458 (Data.clt)
13459# 13460 "parser_cocci_menhir.ml"
13460 ) = Obj.magic d in
13461 let c : (
13462# 108 "parser_cocci_menhir.mly"
13463 (Data.clt)
13464# 13465 "parser_cocci_menhir.ml"
13465 ) = Obj.magic c in
13466 let _startpos = _startpos_c_ in
13467 let _endpos = _endpos_d_ in
13468 let _v : 'tv_dp_comma_args_TEllipsis_ =
13469# 757 "parser_cocci_menhir.mly"
13470 ( function dot_builder ->
13471 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
13472# 13473 "parser_cocci_menhir.ml"
13473 in
13474 _menhir_env.MenhirLib.EngineTypes.stack <- {
13475 MenhirLib.EngineTypes.state = _menhir_s;
13476 MenhirLib.EngineTypes.semv = Obj.repr _v;
13477 MenhirLib.EngineTypes.startp = _startpos;
13478 MenhirLib.EngineTypes.endp = _endpos;
13479 MenhirLib.EngineTypes.next = _menhir_stack;
13480 });
13481 (fun _menhir_env ->
13482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13483 let {
13484 MenhirLib.EngineTypes.semv = _2;
13485 MenhirLib.EngineTypes.startp = _startpos__2_;
13486 MenhirLib.EngineTypes.endp = _endpos__2_;
13487 MenhirLib.EngineTypes.next = {
13488 MenhirLib.EngineTypes.state = _menhir_s;
13489 MenhirLib.EngineTypes.semv = _1;
13490 MenhirLib.EngineTypes.startp = _startpos__1_;
13491 MenhirLib.EngineTypes.endp = _endpos__1_;
13492 MenhirLib.EngineTypes.next = _menhir_stack;
13493 };
13494 } = _menhir_stack in
13495 let _2 : 'tv_ident = Obj.magic _2 in
13496 let _1 : (
13497# 108 "parser_cocci_menhir.mly"
13498 (Data.clt)
13499# 13500 "parser_cocci_menhir.ml"
13500 ) = Obj.magic _1 in
13501 let _startpos = _startpos__1_ in
13502 let _endpos = _endpos__2_ in
13503 let _v : 'tv_dp_comma_args_TEllipsis_ =
13504# 760 "parser_cocci_menhir.mly"
13505 ( function dot_builder ->
13506 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
13507 Ast0.wrap(Ast0.DParam _2)] )
13508# 13509 "parser_cocci_menhir.ml"
13509 in
13510 _menhir_env.MenhirLib.EngineTypes.stack <- {
13511 MenhirLib.EngineTypes.state = _menhir_s;
13512 MenhirLib.EngineTypes.semv = Obj.repr _v;
13513 MenhirLib.EngineTypes.startp = _startpos;
13514 MenhirLib.EngineTypes.endp = _endpos;
13515 MenhirLib.EngineTypes.next = _menhir_stack;
13516 });
13517 (fun _menhir_env ->
13518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13519 let {
13520 MenhirLib.EngineTypes.state = _menhir_s;
13521 MenhirLib.EngineTypes.semv = d;
13522 MenhirLib.EngineTypes.startp = _startpos_d_;
13523 MenhirLib.EngineTypes.endp = _endpos_d_;
13524 MenhirLib.EngineTypes.next = _menhir_stack;
13525 } = _menhir_stack in
13526 let d : (
13527# 74 "parser_cocci_menhir.mly"
13528 (Data.clt)
13529# 13530 "parser_cocci_menhir.ml"
13530 ) = Obj.magic d in
13531 let _startpos = _startpos_d_ in
13532 let _endpos = _endpos_d_ in
13533 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13534# 1925 "parser_cocci_menhir.mly"
13535 ( (d,None) )
13536# 13537 "parser_cocci_menhir.ml"
13537 in
13538 _menhir_env.MenhirLib.EngineTypes.stack <- {
13539 MenhirLib.EngineTypes.state = _menhir_s;
13540 MenhirLib.EngineTypes.semv = Obj.repr _v;
13541 MenhirLib.EngineTypes.startp = _startpos;
13542 MenhirLib.EngineTypes.endp = _endpos;
13543 MenhirLib.EngineTypes.next = _menhir_stack;
13544 });
13545 (fun _menhir_env ->
13546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13547 let {
13548 MenhirLib.EngineTypes.startp = _startpos__5_;
13549 MenhirLib.EngineTypes.endp = _endpos__5_;
13550 MenhirLib.EngineTypes.next = {
13551 MenhirLib.EngineTypes.semv = w;
13552 MenhirLib.EngineTypes.startp = _startpos_w_;
13553 MenhirLib.EngineTypes.endp = _endpos_w_;
13554 MenhirLib.EngineTypes.next = {
13555 MenhirLib.EngineTypes.startp = _startpos__3_;
13556 MenhirLib.EngineTypes.endp = _endpos__3_;
13557 MenhirLib.EngineTypes.next = {
13558 MenhirLib.EngineTypes.startp = _startpos__2_;
13559 MenhirLib.EngineTypes.endp = _endpos__2_;
13560 MenhirLib.EngineTypes.next = {
13561 MenhirLib.EngineTypes.state = _menhir_s;
13562 MenhirLib.EngineTypes.semv = d;
13563 MenhirLib.EngineTypes.startp = _startpos_d_;
13564 MenhirLib.EngineTypes.endp = _endpos_d_;
13565 MenhirLib.EngineTypes.next = _menhir_stack;
13566 };
13567 };
13568 };
13569 };
13570 } = _menhir_stack in
13571 let w : 'tv_eexpr = Obj.magic w in
13572 let d : (
13573# 74 "parser_cocci_menhir.mly"
13574 (Data.clt)
13575# 13576 "parser_cocci_menhir.ml"
13576 ) = Obj.magic d in
13577 let _startpos = _startpos_d_ in
13578 let _endpos = _endpos__5_ in
13579 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13580# 1926 "parser_cocci_menhir.mly"
13581 ( (d,Some w) )
13582# 13583 "parser_cocci_menhir.ml"
13583 in
13584 _menhir_env.MenhirLib.EngineTypes.stack <- {
13585 MenhirLib.EngineTypes.state = _menhir_s;
13586 MenhirLib.EngineTypes.semv = Obj.repr _v;
13587 MenhirLib.EngineTypes.startp = _startpos;
13588 MenhirLib.EngineTypes.endp = _endpos;
13589 MenhirLib.EngineTypes.next = _menhir_stack;
13590 });
13591 (fun _menhir_env ->
13592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13593 let {
13594 MenhirLib.EngineTypes.state = _menhir_s;
13595 MenhirLib.EngineTypes.semv = d;
13596 MenhirLib.EngineTypes.startp = _startpos_d_;
13597 MenhirLib.EngineTypes.endp = _endpos_d_;
13598 MenhirLib.EngineTypes.next = _menhir_stack;
13599 } = _menhir_stack in
13600 let d : (
13601# 74 "parser_cocci_menhir.mly"
13602 (Data.clt)
13603# 13604 "parser_cocci_menhir.ml"
13604 ) = Obj.magic d in
13605 let _startpos = _startpos_d_ in
13606 let _endpos = _endpos_d_ in
13607 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13608# 1925 "parser_cocci_menhir.mly"
13609 ( (d,None) )
13610# 13611 "parser_cocci_menhir.ml"
13611 in
13612 _menhir_env.MenhirLib.EngineTypes.stack <- {
13613 MenhirLib.EngineTypes.state = _menhir_s;
13614 MenhirLib.EngineTypes.semv = Obj.repr _v;
13615 MenhirLib.EngineTypes.startp = _startpos;
13616 MenhirLib.EngineTypes.endp = _endpos;
13617 MenhirLib.EngineTypes.next = _menhir_stack;
13618 });
13619 (fun _menhir_env ->
13620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13621 let {
13622 MenhirLib.EngineTypes.startp = _startpos__5_;
13623 MenhirLib.EngineTypes.endp = _endpos__5_;
13624 MenhirLib.EngineTypes.next = {
13625 MenhirLib.EngineTypes.semv = w;
13626 MenhirLib.EngineTypes.startp = _startpos_w_;
13627 MenhirLib.EngineTypes.endp = _endpos_w_;
13628 MenhirLib.EngineTypes.next = {
13629 MenhirLib.EngineTypes.startp = _startpos__3_;
13630 MenhirLib.EngineTypes.endp = _endpos__3_;
13631 MenhirLib.EngineTypes.next = {
13632 MenhirLib.EngineTypes.startp = _startpos__2_;
13633 MenhirLib.EngineTypes.endp = _endpos__2_;
13634 MenhirLib.EngineTypes.next = {
13635 MenhirLib.EngineTypes.state = _menhir_s;
13636 MenhirLib.EngineTypes.semv = d;
13637 MenhirLib.EngineTypes.startp = _startpos_d_;
13638 MenhirLib.EngineTypes.endp = _endpos_d_;
13639 MenhirLib.EngineTypes.next = _menhir_stack;
13640 };
13641 };
13642 };
13643 };
13644 } = _menhir_stack in
13645 let w : 'tv_initialize = Obj.magic w in
13646 let d : (
13647# 74 "parser_cocci_menhir.mly"
13648 (Data.clt)
13649# 13650 "parser_cocci_menhir.ml"
13650 ) = Obj.magic d in
13651 let _startpos = _startpos_d_ in
13652 let _endpos = _endpos__5_ in
13653 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13654# 1926 "parser_cocci_menhir.mly"
13655 ( (d,Some w) )
13656# 13657 "parser_cocci_menhir.ml"
13657 in
13658 _menhir_env.MenhirLib.EngineTypes.stack <- {
13659 MenhirLib.EngineTypes.state = _menhir_s;
13660 MenhirLib.EngineTypes.semv = Obj.repr _v;
13661 MenhirLib.EngineTypes.startp = _startpos;
13662 MenhirLib.EngineTypes.endp = _endpos;
13663 MenhirLib.EngineTypes.next = _menhir_stack;
13664 });
13665 (fun _menhir_env ->
13666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13667 let {
13668 MenhirLib.EngineTypes.state = _menhir_s;
13669 MenhirLib.EngineTypes.semv = d;
13670 MenhirLib.EngineTypes.startp = _startpos_d_;
13671 MenhirLib.EngineTypes.endp = _endpos_d_;
13672 MenhirLib.EngineTypes.next = _menhir_stack;
13673 } = _menhir_stack in
13674 let d : (
13675# 74 "parser_cocci_menhir.mly"
13676 (Data.clt)
13677# 13678 "parser_cocci_menhir.ml"
13678 ) = Obj.magic d in
13679 let _startpos = _startpos_d_ in
13680 let _endpos = _endpos_d_ in
13681 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13682# 1925 "parser_cocci_menhir.mly"
13683 ( (d,None) )
13684# 13685 "parser_cocci_menhir.ml"
13685 in
13686 _menhir_env.MenhirLib.EngineTypes.stack <- {
13687 MenhirLib.EngineTypes.state = _menhir_s;
13688 MenhirLib.EngineTypes.semv = Obj.repr _v;
13689 MenhirLib.EngineTypes.startp = _startpos;
13690 MenhirLib.EngineTypes.endp = _endpos;
13691 MenhirLib.EngineTypes.next = _menhir_stack;
13692 });
13693 (fun _menhir_env ->
13694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13695 let {
13696 MenhirLib.EngineTypes.startp = _startpos__5_;
13697 MenhirLib.EngineTypes.endp = _endpos__5_;
13698 MenhirLib.EngineTypes.next = {
13699 MenhirLib.EngineTypes.semv = w;
13700 MenhirLib.EngineTypes.startp = _startpos_w_;
13701 MenhirLib.EngineTypes.endp = _endpos_w_;
13702 MenhirLib.EngineTypes.next = {
13703 MenhirLib.EngineTypes.startp = _startpos__3_;
13704 MenhirLib.EngineTypes.endp = _endpos__3_;
13705 MenhirLib.EngineTypes.next = {
13706 MenhirLib.EngineTypes.startp = _startpos__2_;
13707 MenhirLib.EngineTypes.endp = _endpos__2_;
13708 MenhirLib.EngineTypes.next = {
13709 MenhirLib.EngineTypes.state = _menhir_s;
13710 MenhirLib.EngineTypes.semv = d;
13711 MenhirLib.EngineTypes.startp = _startpos_d_;
13712 MenhirLib.EngineTypes.endp = _endpos_d_;
13713 MenhirLib.EngineTypes.next = _menhir_stack;
13714 };
13715 };
13716 };
13717 };
13718 } = _menhir_stack in
13719 let w : 'tv_struct_decl = Obj.magic w in
13720 let d : (
13721# 74 "parser_cocci_menhir.mly"
13722 (Data.clt)
13723# 13724 "parser_cocci_menhir.ml"
13724 ) = Obj.magic d in
13725 let _startpos = _startpos_d_ in
13726 let _endpos = _endpos__5_ in
13727 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13728# 1926 "parser_cocci_menhir.mly"
13729 ( (d,Some w) )
13730# 13731 "parser_cocci_menhir.ml"
13731 in
13732 _menhir_env.MenhirLib.EngineTypes.stack <- {
13733 MenhirLib.EngineTypes.state = _menhir_s;
13734 MenhirLib.EngineTypes.semv = Obj.repr _v;
13735 MenhirLib.EngineTypes.startp = _startpos;
13736 MenhirLib.EngineTypes.endp = _endpos;
13737 MenhirLib.EngineTypes.next = _menhir_stack;
13738 });
13739 (fun _menhir_env ->
13740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13741 let {
13742 MenhirLib.EngineTypes.state = _menhir_s;
13743 MenhirLib.EngineTypes.semv = _1;
13744 MenhirLib.EngineTypes.startp = _startpos__1_;
13745 MenhirLib.EngineTypes.endp = _endpos__1_;
13746 MenhirLib.EngineTypes.next = _menhir_stack;
13747 } = _menhir_stack in
13748 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
13749 let _startpos = _startpos__1_ in
13750 let _endpos = _endpos__1_ in
13751 let _v : 'tv_eexpr =
13752# 1225 "parser_cocci_menhir.mly"
13753 ( _1 )
13754# 13755 "parser_cocci_menhir.ml"
13755 in
13756 _menhir_env.MenhirLib.EngineTypes.stack <- {
13757 MenhirLib.EngineTypes.state = _menhir_s;
13758 MenhirLib.EngineTypes.semv = Obj.repr _v;
13759 MenhirLib.EngineTypes.startp = _startpos;
13760 MenhirLib.EngineTypes.endp = _endpos;
13761 MenhirLib.EngineTypes.next = _menhir_stack;
13762 });
13763 (fun _menhir_env ->
13764 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13765 let {
13766 MenhirLib.EngineTypes.state = _menhir_s;
13767 MenhirLib.EngineTypes.semv = _1;
13768 MenhirLib.EngineTypes.startp = _startpos__1_;
13769 MenhirLib.EngineTypes.endp = _endpos__1_;
13770 MenhirLib.EngineTypes.next = _menhir_stack;
13771 } = _menhir_stack in
13772 let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
13773 let _startpos = _startpos__1_ in
13774 let _endpos = _endpos__1_ in
13775 let _v : 'tv_eexpr_list =
13776# 1869 "parser_cocci_menhir.mly"
13777 (let circle x =
13778 match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
13779 let star x =
13780 match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
13781 if List.exists circle _1
13782 then Ast0.wrap(Ast0.CIRCLES(_1))
13783 else
13784 if List.exists star _1
13785 then Ast0.wrap(Ast0.STARS(_1))
13786 else Ast0.wrap(Ast0.DOTS(_1)) )
13787# 13788 "parser_cocci_menhir.ml"
13788 in
13789 _menhir_env.MenhirLib.EngineTypes.stack <- {
13790 MenhirLib.EngineTypes.state = _menhir_s;
13791 MenhirLib.EngineTypes.semv = Obj.repr _v;
13792 MenhirLib.EngineTypes.startp = _startpos;
13793 MenhirLib.EngineTypes.endp = _endpos;
13794 MenhirLib.EngineTypes.next = _menhir_stack;
13795 });
13796 (fun _menhir_env ->
13797 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13798 let {
13799 MenhirLib.EngineTypes.state = _menhir_s;
13800 MenhirLib.EngineTypes.semv = _1;
13801 MenhirLib.EngineTypes.startp = _startpos__1_;
13802 MenhirLib.EngineTypes.endp = _endpos__1_;
13803 MenhirLib.EngineTypes.next = _menhir_stack;
13804 } = _menhir_stack in
13805 let _1 : 'tv_eexpr_list = Obj.magic _1 in
13806 let _startpos = _startpos__1_ in
13807 let _endpos = _endpos__1_ in
13808 let _v : 'tv_eexpr_list_option =
13809# 1908 "parser_cocci_menhir.mly"
13810 ( _1 )
13811# 13812 "parser_cocci_menhir.ml"
13812 in
13813 _menhir_env.MenhirLib.EngineTypes.stack <- {
13814 MenhirLib.EngineTypes.state = _menhir_s;
13815 MenhirLib.EngineTypes.semv = Obj.repr _v;
13816 MenhirLib.EngineTypes.startp = _startpos;
13817 MenhirLib.EngineTypes.endp = _endpos;
13818 MenhirLib.EngineTypes.next = _menhir_stack;
13819 });
13820 (fun _menhir_env ->
13821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13822 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13823 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13824 let _endpos = _startpos in
13825 let _v : 'tv_eexpr_list_option =
13826# 1909 "parser_cocci_menhir.mly"
13827 ( Ast0.wrap(Ast0.DOTS([])) )
13828# 13829 "parser_cocci_menhir.ml"
13829 in
13830 _menhir_env.MenhirLib.EngineTypes.stack <- {
13831 MenhirLib.EngineTypes.state = _menhir_s;
13832 MenhirLib.EngineTypes.semv = Obj.repr _v;
13833 MenhirLib.EngineTypes.startp = _startpos;
13834 MenhirLib.EngineTypes.endp = _endpos;
13835 MenhirLib.EngineTypes.next = _menhir_stack;
13836 });
13837 (fun _menhir_env ->
13838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13839 let {
13840 MenhirLib.EngineTypes.state = _menhir_s;
13841 MenhirLib.EngineTypes.semv = _1;
13842 MenhirLib.EngineTypes.startp = _startpos__1_;
13843 MenhirLib.EngineTypes.endp = _endpos__1_;
13844 MenhirLib.EngineTypes.next = _menhir_stack;
13845 } = _menhir_stack in
13846 let _1 : 'tv_aexpr = Obj.magic _1 in
13847 let _startpos = _startpos__1_ in
13848 let _endpos = _endpos__1_ in
13849 let _v : 'tv_eexpr_list_start =
13850# 1896 "parser_cocci_menhir.mly"
13851 ( [_1] )
13852# 13853 "parser_cocci_menhir.ml"
13853 in
13854 _menhir_env.MenhirLib.EngineTypes.stack <- {
13855 MenhirLib.EngineTypes.state = _menhir_s;
13856 MenhirLib.EngineTypes.semv = Obj.repr _v;
13857 MenhirLib.EngineTypes.startp = _startpos;
13858 MenhirLib.EngineTypes.endp = _endpos;
13859 MenhirLib.EngineTypes.next = _menhir_stack;
13860 });
13861 (fun _menhir_env ->
13862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13863 let {
13864 MenhirLib.EngineTypes.semv = _3;
13865 MenhirLib.EngineTypes.startp = _startpos__3_;
13866 MenhirLib.EngineTypes.endp = _endpos__3_;
13867 MenhirLib.EngineTypes.next = {
13868 MenhirLib.EngineTypes.semv = _2;
13869 MenhirLib.EngineTypes.startp = _startpos__2_;
13870 MenhirLib.EngineTypes.endp = _endpos__2_;
13871 MenhirLib.EngineTypes.next = {
13872 MenhirLib.EngineTypes.state = _menhir_s;
13873 MenhirLib.EngineTypes.semv = _1;
13874 MenhirLib.EngineTypes.startp = _startpos__1_;
13875 MenhirLib.EngineTypes.endp = _endpos__1_;
13876 MenhirLib.EngineTypes.next = _menhir_stack;
13877 };
13878 };
13879 } = _menhir_stack in
13880 let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
13881 let _2 : (
13882# 108 "parser_cocci_menhir.mly"
13883 (Data.clt)
13884# 13885 "parser_cocci_menhir.ml"
13885 ) = Obj.magic _2 in
13886 let _1 : 'tv_aexpr = Obj.magic _1 in
13887 let _startpos = _startpos__1_ in
13888 let _endpos = _endpos__3_ in
13889 let _v : 'tv_eexpr_list_start =
13890# 1898 "parser_cocci_menhir.mly"
13891 ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
13892# 13893 "parser_cocci_menhir.ml"
13893 in
13894 _menhir_env.MenhirLib.EngineTypes.stack <- {
13895 MenhirLib.EngineTypes.state = _menhir_s;
13896 MenhirLib.EngineTypes.semv = Obj.repr _v;
13897 MenhirLib.EngineTypes.startp = _startpos;
13898 MenhirLib.EngineTypes.endp = _endpos;
13899 MenhirLib.EngineTypes.next = _menhir_stack;
13900 });
13901 (fun _menhir_env ->
13902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13903 let {
13904 MenhirLib.EngineTypes.state = _menhir_s;
13905 MenhirLib.EngineTypes.startp = _startpos__1_;
13906 MenhirLib.EngineTypes.endp = _endpos__1_;
13907 MenhirLib.EngineTypes.next = _menhir_stack;
13908 } = _menhir_stack in
13909 let _startpos = _startpos__1_ in
13910 let _endpos = _endpos__1_ in
13911 let _v : 'tv_exists =
13912# 244 "parser_cocci_menhir.mly"
13913 ( Ast.Exists )
13914# 13915 "parser_cocci_menhir.ml"
13915 in
13916 _menhir_env.MenhirLib.EngineTypes.stack <- {
13917 MenhirLib.EngineTypes.state = _menhir_s;
13918 MenhirLib.EngineTypes.semv = Obj.repr _v;
13919 MenhirLib.EngineTypes.startp = _startpos;
13920 MenhirLib.EngineTypes.endp = _endpos;
13921 MenhirLib.EngineTypes.next = _menhir_stack;
13922 });
13923 (fun _menhir_env ->
13924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13925 let {
13926 MenhirLib.EngineTypes.state = _menhir_s;
13927 MenhirLib.EngineTypes.startp = _startpos__1_;
13928 MenhirLib.EngineTypes.endp = _endpos__1_;
13929 MenhirLib.EngineTypes.next = _menhir_stack;
13930 } = _menhir_stack in
13931 let _startpos = _startpos__1_ in
13932 let _endpos = _endpos__1_ in
13933 let _v : 'tv_exists =
13934# 245 "parser_cocci_menhir.mly"
13935 ( Ast.Forall )
13936# 13937 "parser_cocci_menhir.ml"
13937 in
13938 _menhir_env.MenhirLib.EngineTypes.stack <- {
13939 MenhirLib.EngineTypes.state = _menhir_s;
13940 MenhirLib.EngineTypes.semv = Obj.repr _v;
13941 MenhirLib.EngineTypes.startp = _startpos;
13942 MenhirLib.EngineTypes.endp = _endpos;
13943 MenhirLib.EngineTypes.next = _menhir_stack;
13944 });
13945 (fun _menhir_env ->
13946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13947 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13948 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13949 let _endpos = _startpos in
13950 let _v : 'tv_exists =
13951# 246 "parser_cocci_menhir.mly"
13952 ( Ast.Undetermined )
13953# 13954 "parser_cocci_menhir.ml"
13954 in
13955 _menhir_env.MenhirLib.EngineTypes.stack <- {
13956 MenhirLib.EngineTypes.state = _menhir_s;
13957 MenhirLib.EngineTypes.semv = Obj.repr _v;
13958 MenhirLib.EngineTypes.startp = _startpos;
13959 MenhirLib.EngineTypes.endp = _endpos;
13960 MenhirLib.EngineTypes.next = _menhir_stack;
13961 });
13962 (fun _menhir_env ->
13963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13964 let {
13965 MenhirLib.EngineTypes.state = _menhir_s;
13966 MenhirLib.EngineTypes.semv = _1;
13967 MenhirLib.EngineTypes.startp = _startpos__1_;
13968 MenhirLib.EngineTypes.endp = _endpos__1_;
13969 MenhirLib.EngineTypes.next = _menhir_stack;
13970 } = _menhir_stack in
13971 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
13972 let _startpos = _startpos__1_ in
13973 let _endpos = _endpos__1_ in
13974 let _v : 'tv_expr =
13975# 1223 "parser_cocci_menhir.mly"
13976 ( _1 )
13977# 13978 "parser_cocci_menhir.ml"
13978 in
13979 _menhir_env.MenhirLib.EngineTypes.stack <- {
13980 MenhirLib.EngineTypes.state = _menhir_s;
13981 MenhirLib.EngineTypes.semv = Obj.repr _v;
13982 MenhirLib.EngineTypes.startp = _startpos;
13983 MenhirLib.EngineTypes.endp = _endpos;
13984 MenhirLib.EngineTypes.next = _menhir_stack;
13985 });
13986 (fun _menhir_env ->
13987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13988 let {
13989 MenhirLib.EngineTypes.state = _menhir_s;
13990 MenhirLib.EngineTypes.semv = r;
13991 MenhirLib.EngineTypes.startp = _startpos_r_;
13992 MenhirLib.EngineTypes.endp = _endpos_r_;
13993 MenhirLib.EngineTypes.next = _menhir_stack;
13994 } = _menhir_stack in
13995 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
13996 let _startpos = _startpos_r_ in
13997 let _endpos = _endpos_r_ in
13998 let _v : 'tv_expr_dots_TEllipsis_ =
13999# 1405 "parser_cocci_menhir.mly"
14000 ( r )
14001# 14002 "parser_cocci_menhir.ml"
14002 in
14003 _menhir_env.MenhirLib.EngineTypes.stack <- {
14004 MenhirLib.EngineTypes.state = _menhir_s;
14005 MenhirLib.EngineTypes.semv = Obj.repr _v;
14006 MenhirLib.EngineTypes.startp = _startpos;
14007 MenhirLib.EngineTypes.endp = _endpos;
14008 MenhirLib.EngineTypes.next = _menhir_stack;
14009 });
14010 (fun _menhir_env ->
14011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14012 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14013 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14014 let _endpos = _startpos in
14015 let _v : 'tv_extends =
14016# 217 "parser_cocci_menhir.mly"
14017 ( () )
14018# 14019 "parser_cocci_menhir.ml"
14019 in
14020 _menhir_env.MenhirLib.EngineTypes.stack <- {
14021 MenhirLib.EngineTypes.state = _menhir_s;
14022 MenhirLib.EngineTypes.semv = Obj.repr _v;
14023 MenhirLib.EngineTypes.startp = _startpos;
14024 MenhirLib.EngineTypes.endp = _endpos;
14025 MenhirLib.EngineTypes.next = _menhir_stack;
14026 });
14027 (fun _menhir_env ->
14028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14029 let {
14030 MenhirLib.EngineTypes.semv = parent;
14031 MenhirLib.EngineTypes.startp = _startpos_parent_;
14032 MenhirLib.EngineTypes.endp = _endpos_parent_;
14033 MenhirLib.EngineTypes.next = {
14034 MenhirLib.EngineTypes.state = _menhir_s;
14035 MenhirLib.EngineTypes.startp = _startpos__1_;
14036 MenhirLib.EngineTypes.endp = _endpos__1_;
14037 MenhirLib.EngineTypes.next = _menhir_stack;
14038 };
14039 } = _menhir_stack in
14040 let parent : (
14041# 47 "parser_cocci_menhir.mly"
14042 (string)
14043# 14044 "parser_cocci_menhir.ml"
14044 ) = Obj.magic parent in
14045 let _startpos = _startpos__1_ in
14046 let _endpos = _endpos_parent_ in
14047 let _v : 'tv_extends =
14048# 219 "parser_cocci_menhir.mly"
14049 ( !Data.install_bindings (parent) )
14050# 14051 "parser_cocci_menhir.ml"
14051 in
14052 _menhir_env.MenhirLib.EngineTypes.stack <- {
14053 MenhirLib.EngineTypes.state = _menhir_s;
14054 MenhirLib.EngineTypes.semv = Obj.repr _v;
14055 MenhirLib.EngineTypes.startp = _startpos;
14056 MenhirLib.EngineTypes.endp = _endpos;
14057 MenhirLib.EngineTypes.next = _menhir_stack;
14058 });
14059 (fun _menhir_env ->
14060 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14061 let {
14062 MenhirLib.EngineTypes.semv = _2;
14063 MenhirLib.EngineTypes.startp = _startpos__2_;
14064 MenhirLib.EngineTypes.endp = _endpos__2_;
14065 MenhirLib.EngineTypes.next = {
14066 MenhirLib.EngineTypes.state = _menhir_s;
14067 MenhirLib.EngineTypes.semv = _1;
14068 MenhirLib.EngineTypes.startp = _startpos__1_;
14069 MenhirLib.EngineTypes.endp = _endpos__1_;
14070 MenhirLib.EngineTypes.next = _menhir_stack;
14071 };
14072 } = _menhir_stack in
14073 let _2 : (
14074# 84 "parser_cocci_menhir.mly"
14075 (string * Data.clt)
14076# 14077 "parser_cocci_menhir.ml"
14077 ) = Obj.magic _2 in
14078 let _1 : (
14079# 84 "parser_cocci_menhir.mly"
14080 (string * Data.clt)
14081# 14082 "parser_cocci_menhir.ml"
14082 ) = Obj.magic _1 in
14083 let _startpos = _startpos__1_ in
14084 let _endpos = _endpos__2_ in
14085 let _v : 'tv_filespec =
14086# 656 "parser_cocci_menhir.mly"
14087 ( [Ast0.wrap
14088 (Ast0.FILEINFO(P.id2mcode _1,
14089 P.id2mcode _2))] )
14090# 14091 "parser_cocci_menhir.ml"
14091 in
14092 _menhir_env.MenhirLib.EngineTypes.stack <- {
14093 MenhirLib.EngineTypes.state = _menhir_s;
14094 MenhirLib.EngineTypes.semv = Obj.repr _v;
14095 MenhirLib.EngineTypes.startp = _startpos;
14096 MenhirLib.EngineTypes.endp = _endpos;
14097 MenhirLib.EngineTypes.next = _menhir_stack;
14098 });
14099 (fun _menhir_env ->
14100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14101 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14102 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14103 let _endpos = _startpos in
14104 let _v : 'tv_fninfo =
14105# 793 "parser_cocci_menhir.mly"
14106 ( [] )
14107# 14108 "parser_cocci_menhir.ml"
14108 in
14109 _menhir_env.MenhirLib.EngineTypes.stack <- {
14110 MenhirLib.EngineTypes.state = _menhir_s;
14111 MenhirLib.EngineTypes.semv = Obj.repr _v;
14112 MenhirLib.EngineTypes.startp = _startpos;
14113 MenhirLib.EngineTypes.endp = _endpos;
14114 MenhirLib.EngineTypes.next = _menhir_stack;
14115 });
14116 (fun _menhir_env ->
14117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14118 let {
14119 MenhirLib.EngineTypes.semv = _2;
14120 MenhirLib.EngineTypes.startp = _startpos__2_;
14121 MenhirLib.EngineTypes.endp = _endpos__2_;
14122 MenhirLib.EngineTypes.next = {
14123 MenhirLib.EngineTypes.state = _menhir_s;
14124 MenhirLib.EngineTypes.semv = _1;
14125 MenhirLib.EngineTypes.startp = _startpos__1_;
14126 MenhirLib.EngineTypes.endp = _endpos__1_;
14127 MenhirLib.EngineTypes.next = _menhir_stack;
14128 };
14129 } = _menhir_stack in
14130 let _2 : 'tv_fninfo = Obj.magic _2 in
14131 let _1 : 'tv_storage = Obj.magic _1 in
14132 let _startpos = _startpos__1_ in
14133 let _endpos = _endpos__2_ in
14134 let _v : 'tv_fninfo =
14135# 795 "parser_cocci_menhir.mly"
14136 ( try
14137 let _ =
14138 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14139 raise (Semantic_cocci.Semantic "duplicate storage")
14140 with Not_found -> (Ast0.FStorage(_1))::_2 )
14141# 14142 "parser_cocci_menhir.ml"
14142 in
14143 _menhir_env.MenhirLib.EngineTypes.stack <- {
14144 MenhirLib.EngineTypes.state = _menhir_s;
14145 MenhirLib.EngineTypes.semv = Obj.repr _v;
14146 MenhirLib.EngineTypes.startp = _startpos;
14147 MenhirLib.EngineTypes.endp = _endpos;
14148 MenhirLib.EngineTypes.next = _menhir_stack;
14149 });
14150 (fun _menhir_env ->
14151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14152 let {
14153 MenhirLib.EngineTypes.semv = r;
14154 MenhirLib.EngineTypes.startp = _startpos_r_;
14155 MenhirLib.EngineTypes.endp = _endpos_r_;
14156 MenhirLib.EngineTypes.next = {
14157 MenhirLib.EngineTypes.state = _menhir_s;
14158 MenhirLib.EngineTypes.semv = t;
14159 MenhirLib.EngineTypes.startp = _startpos_t_;
14160 MenhirLib.EngineTypes.endp = _endpos_t_;
14161 MenhirLib.EngineTypes.next = _menhir_stack;
14162 };
14163 } = _menhir_stack in
14164 let r : 'tv_fninfo_nt = Obj.magic r in
14165 let t : 'tv_ctype = Obj.magic t in
14166 let _startpos = _startpos_t_ in
14167 let _endpos = _endpos_r_ in
14168 let _v : 'tv_fninfo =
14169# 800 "parser_cocci_menhir.mly"
14170 ( (Ast0.FType(t))::r )
14171# 14172 "parser_cocci_menhir.ml"
14172 in
14173 _menhir_env.MenhirLib.EngineTypes.stack <- {
14174 MenhirLib.EngineTypes.state = _menhir_s;
14175 MenhirLib.EngineTypes.semv = Obj.repr _v;
14176 MenhirLib.EngineTypes.startp = _startpos;
14177 MenhirLib.EngineTypes.endp = _endpos;
14178 MenhirLib.EngineTypes.next = _menhir_stack;
14179 });
14180 (fun _menhir_env ->
14181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14182 let {
14183 MenhirLib.EngineTypes.semv = _2;
14184 MenhirLib.EngineTypes.startp = _startpos__2_;
14185 MenhirLib.EngineTypes.endp = _endpos__2_;
14186 MenhirLib.EngineTypes.next = {
14187 MenhirLib.EngineTypes.state = _menhir_s;
14188 MenhirLib.EngineTypes.semv = _1;
14189 MenhirLib.EngineTypes.startp = _startpos__1_;
14190 MenhirLib.EngineTypes.endp = _endpos__1_;
14191 MenhirLib.EngineTypes.next = _menhir_stack;
14192 };
14193 } = _menhir_stack in
14194 let _2 : 'tv_fninfo = Obj.magic _2 in
14195 let _1 : (
14196# 53 "parser_cocci_menhir.mly"
14197 (Data.clt)
14198# 14199 "parser_cocci_menhir.ml"
14199 ) = Obj.magic _1 in
14200 let _startpos = _startpos__1_ in
14201 let _endpos = _endpos__2_ in
14202 let _v : 'tv_fninfo =
14203# 802 "parser_cocci_menhir.mly"
14204 ( try
14205 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14206 raise (Semantic_cocci.Semantic "duplicate inline")
14207 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14208# 14209 "parser_cocci_menhir.ml"
14209 in
14210 _menhir_env.MenhirLib.EngineTypes.stack <- {
14211 MenhirLib.EngineTypes.state = _menhir_s;
14212 MenhirLib.EngineTypes.semv = Obj.repr _v;
14213 MenhirLib.EngineTypes.startp = _startpos;
14214 MenhirLib.EngineTypes.endp = _endpos;
14215 MenhirLib.EngineTypes.next = _menhir_stack;
14216 });
14217 (fun _menhir_env ->
14218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14219 let {
14220 MenhirLib.EngineTypes.semv = _2;
14221 MenhirLib.EngineTypes.startp = _startpos__2_;
14222 MenhirLib.EngineTypes.endp = _endpos__2_;
14223 MenhirLib.EngineTypes.next = {
14224 MenhirLib.EngineTypes.state = _menhir_s;
14225 MenhirLib.EngineTypes.semv = _1;
14226 MenhirLib.EngineTypes.startp = _startpos__1_;
14227 MenhirLib.EngineTypes.endp = _endpos__1_;
14228 MenhirLib.EngineTypes.next = _menhir_stack;
14229 };
14230 } = _menhir_stack in
14231 let _2 : 'tv_fninfo = Obj.magic _2 in
14232 let _1 : (
14233# 55 "parser_cocci_menhir.mly"
14234 (string * Data.clt)
14235# 14236 "parser_cocci_menhir.ml"
14236 ) = Obj.magic _1 in
14237 let _startpos = _startpos__1_ in
14238 let _endpos = _endpos__2_ in
14239 let _v : 'tv_fninfo =
14240# 807 "parser_cocci_menhir.mly"
14241 ( try
14242 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14243 raise (Semantic_cocci.Semantic "multiple attributes")
14244 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14245# 14246 "parser_cocci_menhir.ml"
14246 in
14247 _menhir_env.MenhirLib.EngineTypes.stack <- {
14248 MenhirLib.EngineTypes.state = _menhir_s;
14249 MenhirLib.EngineTypes.semv = Obj.repr _v;
14250 MenhirLib.EngineTypes.startp = _startpos;
14251 MenhirLib.EngineTypes.endp = _endpos;
14252 MenhirLib.EngineTypes.next = _menhir_stack;
14253 });
14254 (fun _menhir_env ->
14255 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14256 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14257 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14258 let _endpos = _startpos in
14259 let _v : 'tv_fninfo_nt =
14260# 813 "parser_cocci_menhir.mly"
14261 ( [] )
14262# 14263 "parser_cocci_menhir.ml"
14263 in
14264 _menhir_env.MenhirLib.EngineTypes.stack <- {
14265 MenhirLib.EngineTypes.state = _menhir_s;
14266 MenhirLib.EngineTypes.semv = Obj.repr _v;
14267 MenhirLib.EngineTypes.startp = _startpos;
14268 MenhirLib.EngineTypes.endp = _endpos;
14269 MenhirLib.EngineTypes.next = _menhir_stack;
14270 });
14271 (fun _menhir_env ->
14272 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14273 let {
14274 MenhirLib.EngineTypes.semv = _2;
14275 MenhirLib.EngineTypes.startp = _startpos__2_;
14276 MenhirLib.EngineTypes.endp = _endpos__2_;
14277 MenhirLib.EngineTypes.next = {
14278 MenhirLib.EngineTypes.state = _menhir_s;
14279 MenhirLib.EngineTypes.semv = _1;
14280 MenhirLib.EngineTypes.startp = _startpos__1_;
14281 MenhirLib.EngineTypes.endp = _endpos__1_;
14282 MenhirLib.EngineTypes.next = _menhir_stack;
14283 };
14284 } = _menhir_stack in
14285 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14286 let _1 : 'tv_storage = Obj.magic _1 in
14287 let _startpos = _startpos__1_ in
14288 let _endpos = _endpos__2_ in
14289 let _v : 'tv_fninfo_nt =
14290# 815 "parser_cocci_menhir.mly"
14291 ( try
14292 let _ =
14293 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14294 raise (Semantic_cocci.Semantic "duplicate storage")
14295 with Not_found -> (Ast0.FStorage(_1))::_2 )
14296# 14297 "parser_cocci_menhir.ml"
14297 in
14298 _menhir_env.MenhirLib.EngineTypes.stack <- {
14299 MenhirLib.EngineTypes.state = _menhir_s;
14300 MenhirLib.EngineTypes.semv = Obj.repr _v;
14301 MenhirLib.EngineTypes.startp = _startpos;
14302 MenhirLib.EngineTypes.endp = _endpos;
14303 MenhirLib.EngineTypes.next = _menhir_stack;
14304 });
14305 (fun _menhir_env ->
14306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14307 let {
14308 MenhirLib.EngineTypes.semv = _2;
14309 MenhirLib.EngineTypes.startp = _startpos__2_;
14310 MenhirLib.EngineTypes.endp = _endpos__2_;
14311 MenhirLib.EngineTypes.next = {
14312 MenhirLib.EngineTypes.state = _menhir_s;
14313 MenhirLib.EngineTypes.semv = _1;
14314 MenhirLib.EngineTypes.startp = _startpos__1_;
14315 MenhirLib.EngineTypes.endp = _endpos__1_;
14316 MenhirLib.EngineTypes.next = _menhir_stack;
14317 };
14318 } = _menhir_stack in
14319 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14320 let _1 : (
14321# 53 "parser_cocci_menhir.mly"
14322 (Data.clt)
14323# 14324 "parser_cocci_menhir.ml"
14324 ) = Obj.magic _1 in
14325 let _startpos = _startpos__1_ in
14326 let _endpos = _endpos__2_ in
14327 let _v : 'tv_fninfo_nt =
14328# 821 "parser_cocci_menhir.mly"
14329 ( try
14330 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14331 raise (Semantic_cocci.Semantic "duplicate inline")
14332 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14333# 14334 "parser_cocci_menhir.ml"
14334 in
14335 _menhir_env.MenhirLib.EngineTypes.stack <- {
14336 MenhirLib.EngineTypes.state = _menhir_s;
14337 MenhirLib.EngineTypes.semv = Obj.repr _v;
14338 MenhirLib.EngineTypes.startp = _startpos;
14339 MenhirLib.EngineTypes.endp = _endpos;
14340 MenhirLib.EngineTypes.next = _menhir_stack;
14341 });
14342 (fun _menhir_env ->
14343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14344 let {
14345 MenhirLib.EngineTypes.semv = _2;
14346 MenhirLib.EngineTypes.startp = _startpos__2_;
14347 MenhirLib.EngineTypes.endp = _endpos__2_;
14348 MenhirLib.EngineTypes.next = {
14349 MenhirLib.EngineTypes.state = _menhir_s;
14350 MenhirLib.EngineTypes.semv = _1;
14351 MenhirLib.EngineTypes.startp = _startpos__1_;
14352 MenhirLib.EngineTypes.endp = _endpos__1_;
14353 MenhirLib.EngineTypes.next = _menhir_stack;
14354 };
14355 } = _menhir_stack in
14356 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14357 let _1 : (
14358# 55 "parser_cocci_menhir.mly"
14359 (string * Data.clt)
14360# 14361 "parser_cocci_menhir.ml"
14361 ) = Obj.magic _1 in
14362 let _startpos = _startpos__1_ in
14363 let _endpos = _endpos__2_ in
14364 let _v : 'tv_fninfo_nt =
14365# 826 "parser_cocci_menhir.mly"
14366 ( try
14367 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14368 raise (Semantic_cocci.Semantic "duplicate init")
14369 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14370# 14371 "parser_cocci_menhir.ml"
14371 in
14372 _menhir_env.MenhirLib.EngineTypes.stack <- {
14373 MenhirLib.EngineTypes.state = _menhir_s;
14374 MenhirLib.EngineTypes.semv = Obj.repr _v;
14375 MenhirLib.EngineTypes.startp = _startpos;
14376 MenhirLib.EngineTypes.endp = _endpos;
14377 MenhirLib.EngineTypes.next = _menhir_stack;
14378 });
14379 (fun _menhir_env ->
14380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14381 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14382 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14383 let _endpos = _startpos in
14384 let _v : 'tv_fun_after_dots =
14385# 1817 "parser_cocci_menhir.mly"
14386 ([])
14387# 14388 "parser_cocci_menhir.ml"
14388 in
14389 _menhir_env.MenhirLib.EngineTypes.stack <- {
14390 MenhirLib.EngineTypes.state = _menhir_s;
14391 MenhirLib.EngineTypes.semv = Obj.repr _v;
14392 MenhirLib.EngineTypes.startp = _startpos;
14393 MenhirLib.EngineTypes.endp = _endpos;
14394 MenhirLib.EngineTypes.next = _menhir_stack;
14395 });
14396 (fun _menhir_env ->
14397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14398 let {
14399 MenhirLib.EngineTypes.semv = _2;
14400 MenhirLib.EngineTypes.startp = _startpos__2_;
14401 MenhirLib.EngineTypes.endp = _endpos__2_;
14402 MenhirLib.EngineTypes.next = {
14403 MenhirLib.EngineTypes.state = _menhir_s;
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 _startpos = _startpos__1_ in
14411 let _endpos = _endpos__2_ in
14412 let _v : 'tv_fun_after_dots =
14413# 1818 "parser_cocci_menhir.mly"
14414 (_2)
14415# 14416 "parser_cocci_menhir.ml"
14416 in
14417 _menhir_env.MenhirLib.EngineTypes.stack <- {
14418 MenhirLib.EngineTypes.state = _menhir_s;
14419 MenhirLib.EngineTypes.semv = Obj.repr _v;
14420 MenhirLib.EngineTypes.startp = _startpos;
14421 MenhirLib.EngineTypes.endp = _endpos;
14422 MenhirLib.EngineTypes.next = _menhir_stack;
14423 });
14424 (fun _menhir_env ->
14425 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14426 let {
14427 MenhirLib.EngineTypes.semv = _2;
14428 MenhirLib.EngineTypes.startp = _startpos__2_;
14429 MenhirLib.EngineTypes.endp = _endpos__2_;
14430 MenhirLib.EngineTypes.next = {
14431 MenhirLib.EngineTypes.state = _menhir_s;
14432 MenhirLib.EngineTypes.semv = _1;
14433 MenhirLib.EngineTypes.startp = _startpos__1_;
14434 MenhirLib.EngineTypes.endp = _endpos__1_;
14435 MenhirLib.EngineTypes.next = _menhir_stack;
14436 };
14437 } = _menhir_stack in
14438 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14439 let _1 : 'tv_expr = Obj.magic _1 in
14440 let _startpos = _startpos__1_ in
14441 let _endpos = _endpos__2_ in
14442 let _v : 'tv_fun_after_dots =
14443# 1819 "parser_cocci_menhir.mly"
14444 (Ast0.wrap(Ast0.Exp(_1))::_2)
14445# 14446 "parser_cocci_menhir.ml"
14446 in
14447 _menhir_env.MenhirLib.EngineTypes.stack <- {
14448 MenhirLib.EngineTypes.state = _menhir_s;
14449 MenhirLib.EngineTypes.semv = Obj.repr _v;
14450 MenhirLib.EngineTypes.startp = _startpos;
14451 MenhirLib.EngineTypes.endp = _endpos;
14452 MenhirLib.EngineTypes.next = _menhir_stack;
14453 });
14454 (fun _menhir_env ->
14455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14456 let {
14457 MenhirLib.EngineTypes.semv = _2;
14458 MenhirLib.EngineTypes.startp = _startpos__2_;
14459 MenhirLib.EngineTypes.endp = _endpos__2_;
14460 MenhirLib.EngineTypes.next = {
14461 MenhirLib.EngineTypes.state = _menhir_s;
14462 MenhirLib.EngineTypes.semv = _1;
14463 MenhirLib.EngineTypes.startp = _startpos__1_;
14464 MenhirLib.EngineTypes.endp = _endpos__1_;
14465 MenhirLib.EngineTypes.next = _menhir_stack;
14466 };
14467 } = _menhir_stack in
14468 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14469 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14470 let _startpos = _startpos__1_ in
14471 let _endpos = _endpos__2_ in
14472 let _v : 'tv_fun_after_dots =
14473# 1820 "parser_cocci_menhir.mly"
14474 (_1@_2)
14475# 14476 "parser_cocci_menhir.ml"
14476 in
14477 _menhir_env.MenhirLib.EngineTypes.stack <- {
14478 MenhirLib.EngineTypes.state = _menhir_s;
14479 MenhirLib.EngineTypes.semv = Obj.repr _v;
14480 MenhirLib.EngineTypes.startp = _startpos;
14481 MenhirLib.EngineTypes.endp = _endpos;
14482 MenhirLib.EngineTypes.next = _menhir_stack;
14483 });
14484 (fun _menhir_env ->
14485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14486 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14487 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14488 let _endpos = _startpos in
14489 let _v : 'tv_fun_after_dots_or =
14490# 1827 "parser_cocci_menhir.mly"
14491 ([])
14492# 14493 "parser_cocci_menhir.ml"
14493 in
14494 _menhir_env.MenhirLib.EngineTypes.stack <- {
14495 MenhirLib.EngineTypes.state = _menhir_s;
14496 MenhirLib.EngineTypes.semv = Obj.repr _v;
14497 MenhirLib.EngineTypes.startp = _startpos;
14498 MenhirLib.EngineTypes.endp = _endpos;
14499 MenhirLib.EngineTypes.next = _menhir_stack;
14500 });
14501 (fun _menhir_env ->
14502 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14503 let {
14504 MenhirLib.EngineTypes.semv = _2;
14505 MenhirLib.EngineTypes.startp = _startpos__2_;
14506 MenhirLib.EngineTypes.endp = _endpos__2_;
14507 MenhirLib.EngineTypes.next = {
14508 MenhirLib.EngineTypes.state = _menhir_s;
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 _startpos = _startpos__1_ in
14516 let _endpos = _endpos__2_ in
14517 let _v : 'tv_fun_after_dots_or =
14518# 1828 "parser_cocci_menhir.mly"
14519 (_2)
14520# 14521 "parser_cocci_menhir.ml"
14521 in
14522 _menhir_env.MenhirLib.EngineTypes.stack <- {
14523 MenhirLib.EngineTypes.state = _menhir_s;
14524 MenhirLib.EngineTypes.semv = Obj.repr _v;
14525 MenhirLib.EngineTypes.startp = _startpos;
14526 MenhirLib.EngineTypes.endp = _endpos;
14527 MenhirLib.EngineTypes.next = _menhir_stack;
14528 });
14529 (fun _menhir_env ->
14530 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14531 let {
14532 MenhirLib.EngineTypes.semv = _2;
14533 MenhirLib.EngineTypes.startp = _startpos__2_;
14534 MenhirLib.EngineTypes.endp = _endpos__2_;
14535 MenhirLib.EngineTypes.next = {
14536 MenhirLib.EngineTypes.state = _menhir_s;
14537 MenhirLib.EngineTypes.semv = _1;
14538 MenhirLib.EngineTypes.startp = _startpos__1_;
14539 MenhirLib.EngineTypes.endp = _endpos__1_;
14540 MenhirLib.EngineTypes.next = _menhir_stack;
14541 };
14542 } = _menhir_stack in
14543 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14544 let _1 : 'tv_expr = Obj.magic _1 in
14545 let _startpos = _startpos__1_ in
14546 let _endpos = _endpos__2_ in
14547 let _v : 'tv_fun_after_dots_or =
14548# 1829 "parser_cocci_menhir.mly"
14549 (Ast0.wrap(Ast0.Exp(_1))::_2)
14550# 14551 "parser_cocci_menhir.ml"
14551 in
14552 _menhir_env.MenhirLib.EngineTypes.stack <- {
14553 MenhirLib.EngineTypes.state = _menhir_s;
14554 MenhirLib.EngineTypes.semv = Obj.repr _v;
14555 MenhirLib.EngineTypes.startp = _startpos;
14556 MenhirLib.EngineTypes.endp = _endpos;
14557 MenhirLib.EngineTypes.next = _menhir_stack;
14558 });
14559 (fun _menhir_env ->
14560 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14561 let {
14562 MenhirLib.EngineTypes.semv = _2;
14563 MenhirLib.EngineTypes.startp = _startpos__2_;
14564 MenhirLib.EngineTypes.endp = _endpos__2_;
14565 MenhirLib.EngineTypes.next = {
14566 MenhirLib.EngineTypes.state = _menhir_s;
14567 MenhirLib.EngineTypes.semv = _1;
14568 MenhirLib.EngineTypes.startp = _startpos__1_;
14569 MenhirLib.EngineTypes.endp = _endpos__1_;
14570 MenhirLib.EngineTypes.next = _menhir_stack;
14571 };
14572 } = _menhir_stack in
14573 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14574 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14575 let _startpos = _startpos__1_ in
14576 let _endpos = _endpos__2_ in
14577 let _v : 'tv_fun_after_dots_or =
14578# 1830 "parser_cocci_menhir.mly"
14579 (_1@_2)
14580# 14581 "parser_cocci_menhir.ml"
14581 in
14582 _menhir_env.MenhirLib.EngineTypes.stack <- {
14583 MenhirLib.EngineTypes.state = _menhir_s;
14584 MenhirLib.EngineTypes.semv = Obj.repr _v;
14585 MenhirLib.EngineTypes.startp = _startpos;
14586 MenhirLib.EngineTypes.endp = _endpos;
14587 MenhirLib.EngineTypes.next = _menhir_stack;
14588 });
14589 (fun _menhir_env ->
14590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14591 let {
14592 MenhirLib.EngineTypes.semv = _2;
14593 MenhirLib.EngineTypes.startp = _startpos__2_;
14594 MenhirLib.EngineTypes.endp = _endpos__2_;
14595 MenhirLib.EngineTypes.next = {
14596 MenhirLib.EngineTypes.state = _menhir_s;
14597 MenhirLib.EngineTypes.semv = _1;
14598 MenhirLib.EngineTypes.startp = _startpos__1_;
14599 MenhirLib.EngineTypes.endp = _endpos__1_;
14600 MenhirLib.EngineTypes.next = _menhir_stack;
14601 };
14602 } = _menhir_stack in
14603 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14604 let _1 : 'tv_stm_dots = Obj.magic _1 in
14605 let _startpos = _startpos__1_ in
14606 let _endpos = _endpos__2_ in
14607 let _v : 'tv_fun_after_exp =
14608# 1823 "parser_cocci_menhir.mly"
14609 (_1::_2)
14610# 14611 "parser_cocci_menhir.ml"
14611 in
14612 _menhir_env.MenhirLib.EngineTypes.stack <- {
14613 MenhirLib.EngineTypes.state = _menhir_s;
14614 MenhirLib.EngineTypes.semv = Obj.repr _v;
14615 MenhirLib.EngineTypes.startp = _startpos;
14616 MenhirLib.EngineTypes.endp = _endpos;
14617 MenhirLib.EngineTypes.next = _menhir_stack;
14618 });
14619 (fun _menhir_env ->
14620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14621 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14622 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14623 let _endpos = _startpos in
14624 let _v : 'tv_fun_after_exp_or =
14625# 1833 "parser_cocci_menhir.mly"
14626 ([])
14627# 14628 "parser_cocci_menhir.ml"
14628 in
14629 _menhir_env.MenhirLib.EngineTypes.stack <- {
14630 MenhirLib.EngineTypes.state = _menhir_s;
14631 MenhirLib.EngineTypes.semv = Obj.repr _v;
14632 MenhirLib.EngineTypes.startp = _startpos;
14633 MenhirLib.EngineTypes.endp = _endpos;
14634 MenhirLib.EngineTypes.next = _menhir_stack;
14635 });
14636 (fun _menhir_env ->
14637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14638 let {
14639 MenhirLib.EngineTypes.semv = _2;
14640 MenhirLib.EngineTypes.startp = _startpos__2_;
14641 MenhirLib.EngineTypes.endp = _endpos__2_;
14642 MenhirLib.EngineTypes.next = {
14643 MenhirLib.EngineTypes.state = _menhir_s;
14644 MenhirLib.EngineTypes.semv = _1;
14645 MenhirLib.EngineTypes.startp = _startpos__1_;
14646 MenhirLib.EngineTypes.endp = _endpos__1_;
14647 MenhirLib.EngineTypes.next = _menhir_stack;
14648 };
14649 } = _menhir_stack in
14650 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14651 let _1 : 'tv_stm_dots = Obj.magic _1 in
14652 let _startpos = _startpos__1_ in
14653 let _endpos = _endpos__2_ in
14654 let _v : 'tv_fun_after_exp_or =
14655# 1834 "parser_cocci_menhir.mly"
14656 (_1::_2)
14657# 14658 "parser_cocci_menhir.ml"
14658 in
14659 _menhir_env.MenhirLib.EngineTypes.stack <- {
14660 MenhirLib.EngineTypes.state = _menhir_s;
14661 MenhirLib.EngineTypes.semv = Obj.repr _v;
14662 MenhirLib.EngineTypes.startp = _startpos;
14663 MenhirLib.EngineTypes.endp = _endpos;
14664 MenhirLib.EngineTypes.next = _menhir_stack;
14665 });
14666 (fun _menhir_env ->
14667 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14668 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14669 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14670 let _endpos = _startpos in
14671 let _v : 'tv_fun_after_stm =
14672# 1812 "parser_cocci_menhir.mly"
14673 ([])
14674# 14675 "parser_cocci_menhir.ml"
14675 in
14676 _menhir_env.MenhirLib.EngineTypes.stack <- {
14677 MenhirLib.EngineTypes.state = _menhir_s;
14678 MenhirLib.EngineTypes.semv = Obj.repr _v;
14679 MenhirLib.EngineTypes.startp = _startpos;
14680 MenhirLib.EngineTypes.endp = _endpos;
14681 MenhirLib.EngineTypes.next = _menhir_stack;
14682 });
14683 (fun _menhir_env ->
14684 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14685 let {
14686 MenhirLib.EngineTypes.semv = _2;
14687 MenhirLib.EngineTypes.startp = _startpos__2_;
14688 MenhirLib.EngineTypes.endp = _endpos__2_;
14689 MenhirLib.EngineTypes.next = {
14690 MenhirLib.EngineTypes.state = _menhir_s;
14691 MenhirLib.EngineTypes.semv = _1;
14692 MenhirLib.EngineTypes.startp = _startpos__1_;
14693 MenhirLib.EngineTypes.endp = _endpos__1_;
14694 MenhirLib.EngineTypes.next = _menhir_stack;
14695 };
14696 } = _menhir_stack in
14697 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14698 let _1 : 'tv_stm_dots = Obj.magic _1 in
14699 let _startpos = _startpos__1_ in
14700 let _endpos = _endpos__2_ in
14701 let _v : 'tv_fun_after_stm =
14702# 1813 "parser_cocci_menhir.mly"
14703 (_1::_2)
14704# 14705 "parser_cocci_menhir.ml"
14705 in
14706 _menhir_env.MenhirLib.EngineTypes.stack <- {
14707 MenhirLib.EngineTypes.state = _menhir_s;
14708 MenhirLib.EngineTypes.semv = Obj.repr _v;
14709 MenhirLib.EngineTypes.startp = _startpos;
14710 MenhirLib.EngineTypes.endp = _endpos;
14711 MenhirLib.EngineTypes.next = _menhir_stack;
14712 });
14713 (fun _menhir_env ->
14714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14715 let {
14716 MenhirLib.EngineTypes.semv = _2;
14717 MenhirLib.EngineTypes.startp = _startpos__2_;
14718 MenhirLib.EngineTypes.endp = _endpos__2_;
14719 MenhirLib.EngineTypes.next = {
14720 MenhirLib.EngineTypes.state = _menhir_s;
14721 MenhirLib.EngineTypes.semv = _1;
14722 MenhirLib.EngineTypes.startp = _startpos__1_;
14723 MenhirLib.EngineTypes.endp = _endpos__1_;
14724 MenhirLib.EngineTypes.next = _menhir_stack;
14725 };
14726 } = _menhir_stack in
14727 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14728 let _1 : 'tv_decl_statement = Obj.magic _1 in
14729 let _startpos = _startpos__1_ in
14730 let _endpos = _endpos__2_ in
14731 let _v : 'tv_fun_after_stm =
14732# 1814 "parser_cocci_menhir.mly"
14733 (_1@_2)
14734# 14735 "parser_cocci_menhir.ml"
14735 in
14736 _menhir_env.MenhirLib.EngineTypes.stack <- {
14737 MenhirLib.EngineTypes.state = _menhir_s;
14738 MenhirLib.EngineTypes.semv = Obj.repr _v;
14739 MenhirLib.EngineTypes.startp = _startpos;
14740 MenhirLib.EngineTypes.endp = _endpos;
14741 MenhirLib.EngineTypes.next = _menhir_stack;
14742 });
14743 (fun _menhir_env ->
14744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14745 let {
14746 MenhirLib.EngineTypes.state = _menhir_s;
14747 MenhirLib.EngineTypes.semv = _1;
14748 MenhirLib.EngineTypes.startp = _startpos__1_;
14749 MenhirLib.EngineTypes.endp = _endpos__1_;
14750 MenhirLib.EngineTypes.next = _menhir_stack;
14751 } = _menhir_stack in
14752 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
14753 let _startpos = _startpos__1_ in
14754 let _endpos = _endpos__1_ in
14755 let _v : 'tv_fun_start =
14756# 1809 "parser_cocci_menhir.mly"
14757 ( Ast0.wrap(Ast0.DOTS(_1)) )
14758# 14759 "parser_cocci_menhir.ml"
14759 in
14760 _menhir_env.MenhirLib.EngineTypes.stack <- {
14761 MenhirLib.EngineTypes.state = _menhir_s;
14762 MenhirLib.EngineTypes.semv = Obj.repr _v;
14763 MenhirLib.EngineTypes.startp = _startpos;
14764 MenhirLib.EngineTypes.endp = _endpos;
14765 MenhirLib.EngineTypes.next = _menhir_stack;
14766 });
14767 (fun _menhir_env ->
14768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14769 let {
14770 MenhirLib.EngineTypes.state = _menhir_s;
14771 MenhirLib.EngineTypes.semv = _1;
14772 MenhirLib.EngineTypes.startp = _startpos__1_;
14773 MenhirLib.EngineTypes.endp = _endpos__1_;
14774 MenhirLib.EngineTypes.next = _menhir_stack;
14775 } = _menhir_stack in
14776 let _1 : 'tv_pure_ident = Obj.magic _1 in
14777 let _startpos = _startpos__1_ in
14778 let _endpos = _endpos__1_ in
14779 let _v : 'tv_func_ident =
14780# 1607 "parser_cocci_menhir.mly"
14781 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
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# 62 "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# 1609 "parser_cocci_menhir.mly"
14809 ( let (nm,constraints,pure,clt) = _1 in
14810 Ast0.wrap(Ast0.MetaId(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# 62 "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# 1612 "parser_cocci_menhir.mly"
14838 ( let (nm,constraints,pure,clt) = _1 in
14839 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
14840# 14841 "parser_cocci_menhir.ml"
14841 in
14842 _menhir_env.MenhirLib.EngineTypes.stack <- {
14843 MenhirLib.EngineTypes.state = _menhir_s;
14844 MenhirLib.EngineTypes.semv = Obj.repr _v;
14845 MenhirLib.EngineTypes.startp = _startpos;
14846 MenhirLib.EngineTypes.endp = _endpos;
14847 MenhirLib.EngineTypes.next = _menhir_stack;
14848 });
14849 (fun _menhir_env ->
14850 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14851 let {
14852 MenhirLib.EngineTypes.state = _menhir_s;
14853 MenhirLib.EngineTypes.semv = _1;
14854 MenhirLib.EngineTypes.startp = _startpos__1_;
14855 MenhirLib.EngineTypes.endp = _endpos__1_;
14856 MenhirLib.EngineTypes.next = _menhir_stack;
14857 } = _menhir_stack in
14858 let _1 : (
14859# 62 "parser_cocci_menhir.mly"
14860 (Parse_aux.idinfo)
14861# 14862 "parser_cocci_menhir.ml"
14862 ) = Obj.magic _1 in
14863 let _startpos = _startpos__1_ in
14864 let _endpos = _endpos__1_ in
14865 let _v : 'tv_func_ident =
14866# 1615 "parser_cocci_menhir.mly"
14867 ( let (nm,constraints,pure,clt) = _1 in
14868 Ast0.wrap
14869 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
14870# 14871 "parser_cocci_menhir.ml"
14871 in
14872 _menhir_env.MenhirLib.EngineTypes.stack <- {
14873 MenhirLib.EngineTypes.state = _menhir_s;
14874 MenhirLib.EngineTypes.semv = Obj.repr _v;
14875 MenhirLib.EngineTypes.startp = _startpos;
14876 MenhirLib.EngineTypes.endp = _endpos;
14877 MenhirLib.EngineTypes.next = _menhir_stack;
14878 });
14879 (fun _menhir_env ->
14880 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14881 let {
14882 MenhirLib.EngineTypes.semv = rb;
14883 MenhirLib.EngineTypes.startp = _startpos_rb_;
14884 MenhirLib.EngineTypes.endp = _endpos_rb_;
14885 MenhirLib.EngineTypes.next = {
14886 MenhirLib.EngineTypes.semv = b;
14887 MenhirLib.EngineTypes.startp = _startpos_b_;
14888 MenhirLib.EngineTypes.endp = _endpos_b_;
14889 MenhirLib.EngineTypes.next = {
14890 MenhirLib.EngineTypes.semv = lb;
14891 MenhirLib.EngineTypes.startp = _startpos_lb_;
14892 MenhirLib.EngineTypes.endp = _endpos_lb_;
14893 MenhirLib.EngineTypes.next = {
14894 MenhirLib.EngineTypes.semv = rp;
14895 MenhirLib.EngineTypes.startp = _startpos_rp_;
14896 MenhirLib.EngineTypes.endp = _endpos_rp_;
14897 MenhirLib.EngineTypes.next = {
14898 MenhirLib.EngineTypes.semv = d;
14899 MenhirLib.EngineTypes.startp = _startpos_d_;
14900 MenhirLib.EngineTypes.endp = _endpos_d_;
14901 MenhirLib.EngineTypes.next = {
14902 MenhirLib.EngineTypes.semv = lp;
14903 MenhirLib.EngineTypes.startp = _startpos_lp_;
14904 MenhirLib.EngineTypes.endp = _endpos_lp_;
14905 MenhirLib.EngineTypes.next = {
14906 MenhirLib.EngineTypes.semv = i;
14907 MenhirLib.EngineTypes.startp = _startpos_i_;
14908 MenhirLib.EngineTypes.endp = _endpos_i_;
14909 MenhirLib.EngineTypes.next = {
14910 MenhirLib.EngineTypes.startp = _startpos__2_;
14911 MenhirLib.EngineTypes.endp = _endpos__2_;
14912 MenhirLib.EngineTypes.next = {
14913 MenhirLib.EngineTypes.state = _menhir_s;
14914 MenhirLib.EngineTypes.semv = f;
14915 MenhirLib.EngineTypes.startp = _startpos_f_;
14916 MenhirLib.EngineTypes.endp = _endpos_f_;
14917 MenhirLib.EngineTypes.next = _menhir_stack;
14918 };
14919 };
14920 };
14921 };
14922 };
14923 };
14924 };
14925 };
14926 } = _menhir_stack in
14927 let rb : (
14928# 102 "parser_cocci_menhir.mly"
14929 (Data.clt)
14930# 14931 "parser_cocci_menhir.ml"
14931 ) = Obj.magic rb in
14932 let b : 'tv_fun_start = Obj.magic b in
14933 let lb : (
14934# 102 "parser_cocci_menhir.mly"
14935 (Data.clt)
14936# 14937 "parser_cocci_menhir.ml"
14937 ) = Obj.magic lb in
14938 let rp : (
14939# 78 "parser_cocci_menhir.mly"
14940 (Data.clt)
14941# 14942 "parser_cocci_menhir.ml"
14942 ) = Obj.magic rp in
14943 let d : 'tv_decl_list_decl_ = Obj.magic d in
14944 let lp : (
14945# 77 "parser_cocci_menhir.mly"
14946 (Data.clt)
14947# 14948 "parser_cocci_menhir.ml"
14948 ) = Obj.magic lp in
14949 let i : 'tv_func_ident = Obj.magic i in
14950 let f : 'tv_fninfo = Obj.magic f in
14951 let _startpos = _startpos_f_ in
14952 let _endpos = _endpos_rb_ in
14953 let _v : 'tv_fundecl =
14954# 784 "parser_cocci_menhir.mly"
14955 ( P.verify_parameter_declarations (Ast0.undots d);
14956 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
14957 f, i,
14958 P.clt2mcode "(" lp, d,
14959 P.clt2mcode ")" rp,
14960 P.clt2mcode "{" lb, b,
14961 P.clt2mcode "}" rb)) )
14962# 14963 "parser_cocci_menhir.ml"
14963 in
14964 _menhir_env.MenhirLib.EngineTypes.stack <- {
14965 MenhirLib.EngineTypes.state = _menhir_s;
14966 MenhirLib.EngineTypes.semv = Obj.repr _v;
14967 MenhirLib.EngineTypes.startp = _startpos;
14968 MenhirLib.EngineTypes.endp = _endpos;
14969 MenhirLib.EngineTypes.next = _menhir_stack;
14970 });
14971 (fun _menhir_env ->
14972 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14973 let {
14974 MenhirLib.EngineTypes.semv = pt;
14975 MenhirLib.EngineTypes.startp = _startpos_pt_;
14976 MenhirLib.EngineTypes.endp = _endpos_pt_;
14977 MenhirLib.EngineTypes.next = {
14978 MenhirLib.EngineTypes.semv = rp;
14979 MenhirLib.EngineTypes.startp = _startpos_rp_;
14980 MenhirLib.EngineTypes.endp = _endpos_rp_;
14981 MenhirLib.EngineTypes.next = {
14982 MenhirLib.EngineTypes.semv = d;
14983 MenhirLib.EngineTypes.startp = _startpos_d_;
14984 MenhirLib.EngineTypes.endp = _endpos_d_;
14985 MenhirLib.EngineTypes.next = {
14986 MenhirLib.EngineTypes.semv = lp;
14987 MenhirLib.EngineTypes.startp = _startpos_lp_;
14988 MenhirLib.EngineTypes.endp = _endpos_lp_;
14989 MenhirLib.EngineTypes.next = {
14990 MenhirLib.EngineTypes.semv = id;
14991 MenhirLib.EngineTypes.startp = _startpos_id_;
14992 MenhirLib.EngineTypes.endp = _endpos_id_;
14993 MenhirLib.EngineTypes.next = {
14994 MenhirLib.EngineTypes.state = _menhir_s;
14995 MenhirLib.EngineTypes.semv = t;
14996 MenhirLib.EngineTypes.startp = _startpos_t_;
14997 MenhirLib.EngineTypes.endp = _endpos_t_;
14998 MenhirLib.EngineTypes.next = _menhir_stack;
14999 };
15000 };
15001 };
15002 };
15003 };
15004 } = _menhir_stack in
15005 let pt : (
15006# 108 "parser_cocci_menhir.mly"
15007 (Data.clt)
15008# 15009 "parser_cocci_menhir.ml"
15009 ) = Obj.magic pt in
15010 let rp : (
15011# 78 "parser_cocci_menhir.mly"
15012 (Data.clt)
15013# 15014 "parser_cocci_menhir.ml"
15014 ) = Obj.magic rp in
15015 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15016 let lp : (
15017# 77 "parser_cocci_menhir.mly"
15018 (Data.clt)
15019# 15020 "parser_cocci_menhir.ml"
15020 ) = Obj.magic lp in
15021 let id : 'tv_func_ident = Obj.magic id in
15022 let t : 'tv_ctype = Obj.magic t in
15023 let _startpos = _startpos_t_ in
15024 let _endpos = _endpos_pt_ in
15025 let _v : 'tv_funproto = let s =
15026
15027# 39 "standard.mly"
15028 ( None )
15029# 15030 "parser_cocci_menhir.ml"
15030
15031 in
15032
15033# 772 "parser_cocci_menhir.mly"
15034 ( Ast0.wrap
15035 (Ast0.UnInit
15036 (s,
15037 Ast0.wrap
15038 (Ast0.FunctionType(Some t,
15039 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15040 id, P.clt2mcode ";" pt)) )
15041# 15042 "parser_cocci_menhir.ml"
15042 in
15043 _menhir_env.MenhirLib.EngineTypes.stack <- {
15044 MenhirLib.EngineTypes.state = _menhir_s;
15045 MenhirLib.EngineTypes.semv = Obj.repr _v;
15046 MenhirLib.EngineTypes.startp = _startpos;
15047 MenhirLib.EngineTypes.endp = _endpos;
15048 MenhirLib.EngineTypes.next = _menhir_stack;
15049 });
15050 (fun _menhir_env ->
15051 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15052 let {
15053 MenhirLib.EngineTypes.semv = pt;
15054 MenhirLib.EngineTypes.startp = _startpos_pt_;
15055 MenhirLib.EngineTypes.endp = _endpos_pt_;
15056 MenhirLib.EngineTypes.next = {
15057 MenhirLib.EngineTypes.semv = rp;
15058 MenhirLib.EngineTypes.startp = _startpos_rp_;
15059 MenhirLib.EngineTypes.endp = _endpos_rp_;
15060 MenhirLib.EngineTypes.next = {
15061 MenhirLib.EngineTypes.semv = d;
15062 MenhirLib.EngineTypes.startp = _startpos_d_;
15063 MenhirLib.EngineTypes.endp = _endpos_d_;
15064 MenhirLib.EngineTypes.next = {
15065 MenhirLib.EngineTypes.semv = lp;
15066 MenhirLib.EngineTypes.startp = _startpos_lp_;
15067 MenhirLib.EngineTypes.endp = _endpos_lp_;
15068 MenhirLib.EngineTypes.next = {
15069 MenhirLib.EngineTypes.semv = id;
15070 MenhirLib.EngineTypes.startp = _startpos_id_;
15071 MenhirLib.EngineTypes.endp = _endpos_id_;
15072 MenhirLib.EngineTypes.next = {
15073 MenhirLib.EngineTypes.semv = t;
15074 MenhirLib.EngineTypes.startp = _startpos_t_;
15075 MenhirLib.EngineTypes.endp = _endpos_t_;
15076 MenhirLib.EngineTypes.next = {
15077 MenhirLib.EngineTypes.state = _menhir_s;
15078 MenhirLib.EngineTypes.semv = x0;
15079 MenhirLib.EngineTypes.startp = _startpos_x0_;
15080 MenhirLib.EngineTypes.endp = _endpos_x0_;
15081 MenhirLib.EngineTypes.next = _menhir_stack;
15082 };
15083 };
15084 };
15085 };
15086 };
15087 };
15088 } = _menhir_stack in
15089 let pt : (
15090# 108 "parser_cocci_menhir.mly"
15091 (Data.clt)
15092# 15093 "parser_cocci_menhir.ml"
15093 ) = Obj.magic pt in
15094 let rp : (
15095# 78 "parser_cocci_menhir.mly"
15096 (Data.clt)
15097# 15098 "parser_cocci_menhir.ml"
15098 ) = Obj.magic rp in
15099 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15100 let lp : (
15101# 77 "parser_cocci_menhir.mly"
15102 (Data.clt)
15103# 15104 "parser_cocci_menhir.ml"
15104 ) = Obj.magic lp in
15105 let id : 'tv_func_ident = Obj.magic id in
15106 let t : 'tv_ctype = Obj.magic t in
15107 let x0 : 'tv_storage = Obj.magic x0 in
15108 let _startpos = _startpos_x0_ in
15109 let _endpos = _endpos_pt_ in
15110 let _v : 'tv_funproto = let s =
15111 let x = x0 in
15112
15113# 41 "standard.mly"
15114 ( Some x )
15115# 15116 "parser_cocci_menhir.ml"
15116
15117 in
15118
15119# 772 "parser_cocci_menhir.mly"
15120 ( Ast0.wrap
15121 (Ast0.UnInit
15122 (s,
15123 Ast0.wrap
15124 (Ast0.FunctionType(Some t,
15125 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15126 id, P.clt2mcode ";" pt)) )
15127# 15128 "parser_cocci_menhir.ml"
15128 in
15129 _menhir_env.MenhirLib.EngineTypes.stack <- {
15130 MenhirLib.EngineTypes.state = _menhir_s;
15131 MenhirLib.EngineTypes.semv = Obj.repr _v;
15132 MenhirLib.EngineTypes.startp = _startpos;
15133 MenhirLib.EngineTypes.endp = _endpos;
15134 MenhirLib.EngineTypes.next = _menhir_stack;
15135 });
15136 (fun _menhir_env ->
15137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15138 let {
15139 MenhirLib.EngineTypes.state = _menhir_s;
15140 MenhirLib.EngineTypes.semv = _1;
15141 MenhirLib.EngineTypes.startp = _startpos__1_;
15142 MenhirLib.EngineTypes.endp = _endpos__1_;
15143 MenhirLib.EngineTypes.next = _menhir_stack;
15144 } = _menhir_stack in
15145 let _1 : 'tv_pure_ident = Obj.magic _1 in
15146 let _startpos = _startpos__1_ in
15147 let _endpos = _endpos__1_ in
15148 let _v : 'tv_ident =
15149# 1620 "parser_cocci_menhir.mly"
15150 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
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 = _1;
15165 MenhirLib.EngineTypes.startp = _startpos__1_;
15166 MenhirLib.EngineTypes.endp = _endpos__1_;
15167 MenhirLib.EngineTypes.next = _menhir_stack;
15168 } = _menhir_stack in
15169 let _1 : (
15170# 62 "parser_cocci_menhir.mly"
15171 (Parse_aux.idinfo)
15172# 15173 "parser_cocci_menhir.ml"
15173 ) = Obj.magic _1 in
15174 let _startpos = _startpos__1_ in
15175 let _endpos = _endpos__1_ in
15176 let _v : 'tv_ident =
15177# 1622 "parser_cocci_menhir.mly"
15178 ( let (nm,constraints,pure,clt) = _1 in
15179 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
15180# 15181 "parser_cocci_menhir.ml"
15181 in
15182 _menhir_env.MenhirLib.EngineTypes.stack <- {
15183 MenhirLib.EngineTypes.state = _menhir_s;
15184 MenhirLib.EngineTypes.semv = Obj.repr _v;
15185 MenhirLib.EngineTypes.startp = _startpos;
15186 MenhirLib.EngineTypes.endp = _endpos;
15187 MenhirLib.EngineTypes.next = _menhir_stack;
15188 });
15189 (fun _menhir_env ->
15190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15191 let {
15192 MenhirLib.EngineTypes.state = _menhir_s;
15193 MenhirLib.EngineTypes.semv = i;
15194 MenhirLib.EngineTypes.startp = _startpos_i_;
15195 MenhirLib.EngineTypes.endp = _endpos_i_;
15196 MenhirLib.EngineTypes.next = _menhir_stack;
15197 } = _menhir_stack in
15198 let i : 'tv_pure_ident = Obj.magic i in
15199 let _startpos = _startpos_i_ in
15200 let _endpos = _endpos_i_ in
15201 let _v : 'tv_ident_or_const =
15202# 1574 "parser_cocci_menhir.mly"
15203 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
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# 88 "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_ident_or_const =
15230# 1576 "parser_cocci_menhir.mly"
15231 ( let (x,clt) = _1 in
15232 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
15233# 15234 "parser_cocci_menhir.ml"
15234 in
15235 _menhir_env.MenhirLib.EngineTypes.stack <- {
15236 MenhirLib.EngineTypes.state = _menhir_s;
15237 MenhirLib.EngineTypes.semv = Obj.repr _v;
15238 MenhirLib.EngineTypes.startp = _startpos;
15239 MenhirLib.EngineTypes.endp = _endpos;
15240 MenhirLib.EngineTypes.next = _menhir_stack;
15241 });
15242 (fun _menhir_env ->
15243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15244 let {
15245 MenhirLib.EngineTypes.state = _menhir_s;
15246 MenhirLib.EngineTypes.semv = _1;
15247 MenhirLib.EngineTypes.startp = _startpos__1_;
15248 MenhirLib.EngineTypes.endp = _endpos__1_;
15249 MenhirLib.EngineTypes.next = _menhir_stack;
15250 } = _menhir_stack in
15251 let _1 : (
15252# 81 "parser_cocci_menhir.mly"
15253 (string * Data.clt)
15254# 15255 "parser_cocci_menhir.ml"
15255 ) = Obj.magic _1 in
15256 let _startpos = _startpos__1_ in
15257 let _endpos = _endpos__1_ in
15258 let _v : 'tv_incl =
15259# 257 "parser_cocci_menhir.mly"
15260 ( let (x,_) = _1 in Data.Include(x) )
15261# 15262 "parser_cocci_menhir.ml"
15262 in
15263 _menhir_env.MenhirLib.EngineTypes.stack <- {
15264 MenhirLib.EngineTypes.state = _menhir_s;
15265 MenhirLib.EngineTypes.semv = Obj.repr _v;
15266 MenhirLib.EngineTypes.startp = _startpos;
15267 MenhirLib.EngineTypes.endp = _endpos;
15268 MenhirLib.EngineTypes.next = _menhir_stack;
15269 });
15270 (fun _menhir_env ->
15271 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15272 let {
15273 MenhirLib.EngineTypes.semv = _2;
15274 MenhirLib.EngineTypes.startp = _startpos__2_;
15275 MenhirLib.EngineTypes.endp = _endpos__2_;
15276 MenhirLib.EngineTypes.next = {
15277 MenhirLib.EngineTypes.state = _menhir_s;
15278 MenhirLib.EngineTypes.startp = _startpos__1_;
15279 MenhirLib.EngineTypes.endp = _endpos__1_;
15280 MenhirLib.EngineTypes.next = _menhir_stack;
15281 };
15282 } = _menhir_stack in
15283 let _2 : (
15284# 88 "parser_cocci_menhir.mly"
15285 (string * Data.clt)
15286# 15287 "parser_cocci_menhir.ml"
15287 ) = Obj.magic _2 in
15288 let _startpos = _startpos__1_ in
15289 let _endpos = _endpos__2_ in
15290 let _v : 'tv_incl =
15291# 258 "parser_cocci_menhir.mly"
15292 ( Data.Iso(Common.Left(P.id2name _2)) )
15293# 15294 "parser_cocci_menhir.ml"
15294 in
15295 _menhir_env.MenhirLib.EngineTypes.stack <- {
15296 MenhirLib.EngineTypes.state = _menhir_s;
15297 MenhirLib.EngineTypes.semv = Obj.repr _v;
15298 MenhirLib.EngineTypes.startp = _startpos;
15299 MenhirLib.EngineTypes.endp = _endpos;
15300 MenhirLib.EngineTypes.next = _menhir_stack;
15301 });
15302 (fun _menhir_env ->
15303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15304 let {
15305 MenhirLib.EngineTypes.semv = _2;
15306 MenhirLib.EngineTypes.startp = _startpos__2_;
15307 MenhirLib.EngineTypes.endp = _endpos__2_;
15308 MenhirLib.EngineTypes.next = {
15309 MenhirLib.EngineTypes.state = _menhir_s;
15310 MenhirLib.EngineTypes.startp = _startpos__1_;
15311 MenhirLib.EngineTypes.endp = _endpos__1_;
15312 MenhirLib.EngineTypes.next = _menhir_stack;
15313 };
15314 } = _menhir_stack in
15315 let _2 : (
15316# 80 "parser_cocci_menhir.mly"
15317 (string)
15318# 15319 "parser_cocci_menhir.ml"
15319 ) = Obj.magic _2 in
15320 let _startpos = _startpos__1_ in
15321 let _endpos = _endpos__2_ in
15322 let _v : 'tv_incl =
15323# 259 "parser_cocci_menhir.mly"
15324 ( Data.Iso(Common.Right _2) )
15325# 15326 "parser_cocci_menhir.ml"
15326 in
15327 _menhir_env.MenhirLib.EngineTypes.stack <- {
15328 MenhirLib.EngineTypes.state = _menhir_s;
15329 MenhirLib.EngineTypes.semv = Obj.repr _v;
15330 MenhirLib.EngineTypes.startp = _startpos;
15331 MenhirLib.EngineTypes.endp = _endpos;
15332 MenhirLib.EngineTypes.next = _menhir_stack;
15333 });
15334 (fun _menhir_env ->
15335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15336 let {
15337 MenhirLib.EngineTypes.semv = _2;
15338 MenhirLib.EngineTypes.startp = _startpos__2_;
15339 MenhirLib.EngineTypes.endp = _endpos__2_;
15340 MenhirLib.EngineTypes.next = {
15341 MenhirLib.EngineTypes.state = _menhir_s;
15342 MenhirLib.EngineTypes.startp = _startpos__1_;
15343 MenhirLib.EngineTypes.endp = _endpos__1_;
15344 MenhirLib.EngineTypes.next = _menhir_stack;
15345 };
15346 } = _menhir_stack in
15347 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
15348 let _startpos = _startpos__1_ in
15349 let _endpos = _endpos__2_ in
15350 let _v : 'tv_incl =
15351# 261 "parser_cocci_menhir.mly"
15352 ( let names = List.map P.id2name _2 in
15353 (* ensure that the names of virtual and real rules don't overlap *)
15354 List.iter
15355 (function name -> Hashtbl.add Data.all_metadecls name [])
15356 names;
15357 Data.Virt(names) )
15358# 15359 "parser_cocci_menhir.ml"
15359 in
15360 _menhir_env.MenhirLib.EngineTypes.stack <- {
15361 MenhirLib.EngineTypes.state = _menhir_s;
15362 MenhirLib.EngineTypes.semv = Obj.repr _v;
15363 MenhirLib.EngineTypes.startp = _startpos;
15364 MenhirLib.EngineTypes.endp = _endpos;
15365 MenhirLib.EngineTypes.next = _menhir_stack;
15366 });
15367 (fun _menhir_env ->
15368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15369 let {
15370 MenhirLib.EngineTypes.startp = _startpos__2_;
15371 MenhirLib.EngineTypes.endp = _endpos__2_;
15372 MenhirLib.EngineTypes.next = {
15373 MenhirLib.EngineTypes.state = _menhir_s;
15374 MenhirLib.EngineTypes.semv = _1;
15375 MenhirLib.EngineTypes.startp = _startpos__1_;
15376 MenhirLib.EngineTypes.endp = _endpos__1_;
15377 MenhirLib.EngineTypes.next = _menhir_stack;
15378 };
15379 } = _menhir_stack in
15380 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15381 let _startpos = _startpos__1_ in
15382 let _endpos = _endpos__2_ in
15383 let _v : (
15384# 147 "parser_cocci_menhir.mly"
15385 (Data.incl_iso list)
15386# 15387 "parser_cocci_menhir.ml"
15387 ) =
15388# 253 "parser_cocci_menhir.mly"
15389 ( _1 )
15390# 15391 "parser_cocci_menhir.ml"
15391 in
15392 _menhir_env.MenhirLib.EngineTypes.stack <- {
15393 MenhirLib.EngineTypes.state = _menhir_s;
15394 MenhirLib.EngineTypes.semv = Obj.repr _v;
15395 MenhirLib.EngineTypes.startp = _startpos;
15396 MenhirLib.EngineTypes.endp = _endpos;
15397 MenhirLib.EngineTypes.next = _menhir_stack;
15398 });
15399 (fun _menhir_env ->
15400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15401 let {
15402 MenhirLib.EngineTypes.startp = _startpos__2_;
15403 MenhirLib.EngineTypes.endp = _endpos__2_;
15404 MenhirLib.EngineTypes.next = {
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 };
15411 } = _menhir_stack in
15412 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15413 let _startpos = _startpos__1_ in
15414 let _endpos = _endpos__2_ in
15415 let _v : (
15416# 147 "parser_cocci_menhir.mly"
15417 (Data.incl_iso list)
15418# 15419 "parser_cocci_menhir.ml"
15419 ) =
15420# 254 "parser_cocci_menhir.mly"
15421 ( _1 )
15422# 15423 "parser_cocci_menhir.ml"
15423 in
15424 _menhir_env.MenhirLib.EngineTypes.stack <- {
15425 MenhirLib.EngineTypes.state = _menhir_s;
15426 MenhirLib.EngineTypes.semv = Obj.repr _v;
15427 MenhirLib.EngineTypes.startp = _startpos;
15428 MenhirLib.EngineTypes.endp = _endpos;
15429 MenhirLib.EngineTypes.next = _menhir_stack;
15430 });
15431 (fun _menhir_env ->
15432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15433 let {
15434 MenhirLib.EngineTypes.state = _menhir_s;
15435 MenhirLib.EngineTypes.semv = _1;
15436 MenhirLib.EngineTypes.startp = _startpos__1_;
15437 MenhirLib.EngineTypes.endp = _endpos__1_;
15438 MenhirLib.EngineTypes.next = _menhir_stack;
15439 } = _menhir_stack in
15440 let _1 : (
15441# 81 "parser_cocci_menhir.mly"
15442 (string * Data.clt)
15443# 15444 "parser_cocci_menhir.ml"
15444 ) = Obj.magic _1 in
15445 let _startpos = _startpos__1_ in
15446 let _endpos = _endpos__1_ in
15447 let _v : 'tv_includes =
15448# 662 "parser_cocci_menhir.mly"
15449 ( Ast0.wrap
15450 (Ast0.Include(P.clt2mcode "#include"
15451 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15452 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15453 P.id2clt _1 in
15454 let clt =
15455 (arity,ln,lln,offset,0,strbef,straft,pos) in
15456 P.clt2mcode
15457 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
15458 (P.drop_bef clt))) )
15459# 15460 "parser_cocci_menhir.ml"
15460 in
15461 _menhir_env.MenhirLib.EngineTypes.stack <- {
15462 MenhirLib.EngineTypes.state = _menhir_s;
15463 MenhirLib.EngineTypes.semv = Obj.repr _v;
15464 MenhirLib.EngineTypes.startp = _startpos;
15465 MenhirLib.EngineTypes.endp = _endpos;
15466 MenhirLib.EngineTypes.next = _menhir_stack;
15467 });
15468 (fun _menhir_env ->
15469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15470 let {
15471 MenhirLib.EngineTypes.state = _menhir_s;
15472 MenhirLib.EngineTypes.semv = _1;
15473 MenhirLib.EngineTypes.startp = _startpos__1_;
15474 MenhirLib.EngineTypes.endp = _endpos__1_;
15475 MenhirLib.EngineTypes.next = _menhir_stack;
15476 } = _menhir_stack in
15477 let _1 : (
15478# 81 "parser_cocci_menhir.mly"
15479 (string * Data.clt)
15480# 15481 "parser_cocci_menhir.ml"
15481 ) = Obj.magic _1 in
15482 let _startpos = _startpos__1_ in
15483 let _endpos = _endpos__1_ in
15484 let _v : 'tv_includes =
15485# 673 "parser_cocci_menhir.mly"
15486 ( Ast0.wrap
15487 (Ast0.Include(P.clt2mcode "#include"
15488 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15489 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15490 P.id2clt _1 in
15491 let clt =
15492 (arity,ln,lln,offset,0,strbef,straft,pos) in
15493 P.clt2mcode
15494 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
15495 (P.drop_bef clt))) )
15496# 15497 "parser_cocci_menhir.ml"
15497 in
15498 _menhir_env.MenhirLib.EngineTypes.stack <- {
15499 MenhirLib.EngineTypes.state = _menhir_s;
15500 MenhirLib.EngineTypes.semv = Obj.repr _v;
15501 MenhirLib.EngineTypes.startp = _startpos;
15502 MenhirLib.EngineTypes.endp = _endpos;
15503 MenhirLib.EngineTypes.next = _menhir_stack;
15504 });
15505 (fun _menhir_env ->
15506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15507 let {
15508 MenhirLib.EngineTypes.startp = _startpos__3_;
15509 MenhirLib.EngineTypes.endp = _endpos__3_;
15510 MenhirLib.EngineTypes.next = {
15511 MenhirLib.EngineTypes.semv = t;
15512 MenhirLib.EngineTypes.startp = _startpos_t_;
15513 MenhirLib.EngineTypes.endp = _endpos_t_;
15514 MenhirLib.EngineTypes.next = {
15515 MenhirLib.EngineTypes.state = _menhir_s;
15516 MenhirLib.EngineTypes.semv = d;
15517 MenhirLib.EngineTypes.startp = _startpos_d_;
15518 MenhirLib.EngineTypes.endp = _endpos_d_;
15519 MenhirLib.EngineTypes.next = _menhir_stack;
15520 };
15521 };
15522 } = _menhir_stack in
15523 let t : 'tv_ctype = Obj.magic t in
15524 let d : 'tv_defineop = Obj.magic d in
15525 let _startpos = _startpos_d_ in
15526 let _endpos = _endpos__3_ in
15527 let _v : 'tv_includes =
15528# 684 "parser_cocci_menhir.mly"
15529 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
15530 d (Ast0.wrap(Ast0.DOTS([ty]))) )
15531# 15532 "parser_cocci_menhir.ml"
15532 in
15533 _menhir_env.MenhirLib.EngineTypes.stack <- {
15534 MenhirLib.EngineTypes.state = _menhir_s;
15535 MenhirLib.EngineTypes.semv = Obj.repr _v;
15536 MenhirLib.EngineTypes.startp = _startpos;
15537 MenhirLib.EngineTypes.endp = _endpos;
15538 MenhirLib.EngineTypes.next = _menhir_stack;
15539 });
15540 (fun _menhir_env ->
15541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15542 let {
15543 MenhirLib.EngineTypes.startp = _startpos__3_;
15544 MenhirLib.EngineTypes.endp = _endpos__3_;
15545 MenhirLib.EngineTypes.next = {
15546 MenhirLib.EngineTypes.semv = b;
15547 MenhirLib.EngineTypes.startp = _startpos_b_;
15548 MenhirLib.EngineTypes.endp = _endpos_b_;
15549 MenhirLib.EngineTypes.next = {
15550 MenhirLib.EngineTypes.state = _menhir_s;
15551 MenhirLib.EngineTypes.semv = _1;
15552 MenhirLib.EngineTypes.startp = _startpos__1_;
15553 MenhirLib.EngineTypes.endp = _endpos__1_;
15554 MenhirLib.EngineTypes.next = _menhir_stack;
15555 };
15556 };
15557 } = _menhir_stack in
15558 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
15559 let _1 : 'tv_defineop = Obj.magic _1 in
15560 let _startpos = _startpos__1_ in
15561 let _endpos = _endpos__3_ in
15562 let _v : 'tv_includes =
15563# 687 "parser_cocci_menhir.mly"
15564 ( let body =
15565 match b with
15566 [e] ->
15567 (match Ast0.unwrap e with
15568 Ast0.Exp(e1) ->
15569 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
15570 | _ -> b)
15571 | _ -> b in
15572 _1 (Ast0.wrap(Ast0.DOTS(body))) )
15573# 15574 "parser_cocci_menhir.ml"
15574 in
15575 _menhir_env.MenhirLib.EngineTypes.stack <- {
15576 MenhirLib.EngineTypes.state = _menhir_s;
15577 MenhirLib.EngineTypes.semv = Obj.repr _v;
15578 MenhirLib.EngineTypes.startp = _startpos;
15579 MenhirLib.EngineTypes.endp = _endpos;
15580 MenhirLib.EngineTypes.next = _menhir_stack;
15581 });
15582 (fun _menhir_env ->
15583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15584 let {
15585 MenhirLib.EngineTypes.state = _menhir_s;
15586 MenhirLib.EngineTypes.semv = _1;
15587 MenhirLib.EngineTypes.startp = _startpos__1_;
15588 MenhirLib.EngineTypes.endp = _endpos__1_;
15589 MenhirLib.EngineTypes.next = _menhir_stack;
15590 } = _menhir_stack in
15591 let _1 : 'tv_eexpr = Obj.magic _1 in
15592 let _startpos = _startpos__1_ in
15593 let _endpos = _endpos__1_ in
15594 let _v : 'tv_initialize =
15595# 1095 "parser_cocci_menhir.mly"
15596 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15597# 15598 "parser_cocci_menhir.ml"
15598 in
15599 _menhir_env.MenhirLib.EngineTypes.stack <- {
15600 MenhirLib.EngineTypes.state = _menhir_s;
15601 MenhirLib.EngineTypes.semv = Obj.repr _v;
15602 MenhirLib.EngineTypes.startp = _startpos;
15603 MenhirLib.EngineTypes.endp = _endpos;
15604 MenhirLib.EngineTypes.next = _menhir_stack;
15605 });
15606 (fun _menhir_env ->
15607 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15608 let {
15609 MenhirLib.EngineTypes.semv = _3;
15610 MenhirLib.EngineTypes.startp = _startpos__3_;
15611 MenhirLib.EngineTypes.endp = _endpos__3_;
15612 MenhirLib.EngineTypes.next = {
15613 MenhirLib.EngineTypes.semv = _2;
15614 MenhirLib.EngineTypes.startp = _startpos__2_;
15615 MenhirLib.EngineTypes.endp = _endpos__2_;
15616 MenhirLib.EngineTypes.next = {
15617 MenhirLib.EngineTypes.state = _menhir_s;
15618 MenhirLib.EngineTypes.semv = _1;
15619 MenhirLib.EngineTypes.startp = _startpos__1_;
15620 MenhirLib.EngineTypes.endp = _endpos__1_;
15621 MenhirLib.EngineTypes.next = _menhir_stack;
15622 };
15623 };
15624 } = _menhir_stack in
15625 let _3 : (
15626# 102 "parser_cocci_menhir.mly"
15627 (Data.clt)
15628# 15629 "parser_cocci_menhir.ml"
15629 ) = Obj.magic _3 in
15630 let _2 : 'tv_initialize_list = Obj.magic _2 in
15631 let _1 : (
15632# 102 "parser_cocci_menhir.mly"
15633 (Data.clt)
15634# 15635 "parser_cocci_menhir.ml"
15635 ) = Obj.magic _1 in
15636 let _startpos = _startpos__1_ in
15637 let _endpos = _endpos__3_ in
15638 let _v : 'tv_initialize =
15639# 1097 "parser_cocci_menhir.mly"
15640 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15641# 15642 "parser_cocci_menhir.ml"
15642 in
15643 _menhir_env.MenhirLib.EngineTypes.stack <- {
15644 MenhirLib.EngineTypes.state = _menhir_s;
15645 MenhirLib.EngineTypes.semv = Obj.repr _v;
15646 MenhirLib.EngineTypes.startp = _startpos;
15647 MenhirLib.EngineTypes.endp = _endpos;
15648 MenhirLib.EngineTypes.next = _menhir_stack;
15649 });
15650 (fun _menhir_env ->
15651 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15652 let {
15653 MenhirLib.EngineTypes.semv = _2;
15654 MenhirLib.EngineTypes.startp = _startpos__2_;
15655 MenhirLib.EngineTypes.endp = _endpos__2_;
15656 MenhirLib.EngineTypes.next = {
15657 MenhirLib.EngineTypes.state = _menhir_s;
15658 MenhirLib.EngineTypes.semv = _1;
15659 MenhirLib.EngineTypes.startp = _startpos__1_;
15660 MenhirLib.EngineTypes.endp = _endpos__1_;
15661 MenhirLib.EngineTypes.next = _menhir_stack;
15662 };
15663 } = _menhir_stack in
15664 let _2 : (
15665# 102 "parser_cocci_menhir.mly"
15666 (Data.clt)
15667# 15668 "parser_cocci_menhir.ml"
15668 ) = Obj.magic _2 in
15669 let _1 : (
15670# 102 "parser_cocci_menhir.mly"
15671 (Data.clt)
15672# 15673 "parser_cocci_menhir.ml"
15673 ) = Obj.magic _1 in
15674 let _startpos = _startpos__1_ in
15675 let _endpos = _endpos__2_ in
15676 let _v : 'tv_initialize =
15677# 1099 "parser_cocci_menhir.mly"
15678 ( Ast0.wrap
15679 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15680 P.clt2mcode "}" _2)) )
15681# 15682 "parser_cocci_menhir.ml"
15682 in
15683 _menhir_env.MenhirLib.EngineTypes.stack <- {
15684 MenhirLib.EngineTypes.state = _menhir_s;
15685 MenhirLib.EngineTypes.semv = Obj.repr _v;
15686 MenhirLib.EngineTypes.startp = _startpos;
15687 MenhirLib.EngineTypes.endp = _endpos;
15688 MenhirLib.EngineTypes.next = _menhir_stack;
15689 });
15690 (fun _menhir_env ->
15691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15692 let {
15693 MenhirLib.EngineTypes.state = _menhir_s;
15694 MenhirLib.EngineTypes.semv = _1;
15695 MenhirLib.EngineTypes.startp = _startpos__1_;
15696 MenhirLib.EngineTypes.endp = _endpos__1_;
15697 MenhirLib.EngineTypes.next = _menhir_stack;
15698 } = _menhir_stack in
15699 let _1 : (
15700# 66 "parser_cocci_menhir.mly"
15701 (Parse_aux.info)
15702# 15703 "parser_cocci_menhir.ml"
15703 ) = Obj.magic _1 in
15704 let _startpos = _startpos__1_ in
15705 let _endpos = _endpos__1_ in
15706 let _v : 'tv_initialize =
15707# 1103 "parser_cocci_menhir.mly"
15708 (let (nm,pure,clt) = _1 in
15709 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
15710# 15711 "parser_cocci_menhir.ml"
15711 in
15712 _menhir_env.MenhirLib.EngineTypes.stack <- {
15713 MenhirLib.EngineTypes.state = _menhir_s;
15714 MenhirLib.EngineTypes.semv = Obj.repr _v;
15715 MenhirLib.EngineTypes.startp = _startpos;
15716 MenhirLib.EngineTypes.endp = _endpos;
15717 MenhirLib.EngineTypes.next = _menhir_stack;
15718 });
15719 (fun _menhir_env ->
15720 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15721 let {
15722 MenhirLib.EngineTypes.state = _menhir_s;
15723 MenhirLib.EngineTypes.semv = _1;
15724 MenhirLib.EngineTypes.startp = _startpos__1_;
15725 MenhirLib.EngineTypes.endp = _endpos__1_;
15726 MenhirLib.EngineTypes.next = _menhir_stack;
15727 } = _menhir_stack in
15728 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
15729 let _startpos = _startpos__1_ in
15730 let _endpos = _endpos__1_ in
15731 let _v : 'tv_initialize2 =
15732# 1109 "parser_cocci_menhir.mly"
15733 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15734# 15735 "parser_cocci_menhir.ml"
15735 in
15736 _menhir_env.MenhirLib.EngineTypes.stack <- {
15737 MenhirLib.EngineTypes.state = _menhir_s;
15738 MenhirLib.EngineTypes.semv = Obj.repr _v;
15739 MenhirLib.EngineTypes.startp = _startpos;
15740 MenhirLib.EngineTypes.endp = _endpos;
15741 MenhirLib.EngineTypes.next = _menhir_stack;
15742 });
15743 (fun _menhir_env ->
15744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15745 let {
15746 MenhirLib.EngineTypes.semv = _3;
15747 MenhirLib.EngineTypes.startp = _startpos__3_;
15748 MenhirLib.EngineTypes.endp = _endpos__3_;
15749 MenhirLib.EngineTypes.next = {
15750 MenhirLib.EngineTypes.semv = _2;
15751 MenhirLib.EngineTypes.startp = _startpos__2_;
15752 MenhirLib.EngineTypes.endp = _endpos__2_;
15753 MenhirLib.EngineTypes.next = {
15754 MenhirLib.EngineTypes.state = _menhir_s;
15755 MenhirLib.EngineTypes.semv = _1;
15756 MenhirLib.EngineTypes.startp = _startpos__1_;
15757 MenhirLib.EngineTypes.endp = _endpos__1_;
15758 MenhirLib.EngineTypes.next = _menhir_stack;
15759 };
15760 };
15761 } = _menhir_stack in
15762 let _3 : (
15763# 102 "parser_cocci_menhir.mly"
15764 (Data.clt)
15765# 15766 "parser_cocci_menhir.ml"
15766 ) = Obj.magic _3 in
15767 let _2 : 'tv_initialize_list = Obj.magic _2 in
15768 let _1 : (
15769# 102 "parser_cocci_menhir.mly"
15770 (Data.clt)
15771# 15772 "parser_cocci_menhir.ml"
15772 ) = Obj.magic _1 in
15773 let _startpos = _startpos__1_ in
15774 let _endpos = _endpos__3_ in
15775 let _v : 'tv_initialize2 =
15776# 1111 "parser_cocci_menhir.mly"
15777 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15778# 15779 "parser_cocci_menhir.ml"
15779 in
15780 _menhir_env.MenhirLib.EngineTypes.stack <- {
15781 MenhirLib.EngineTypes.state = _menhir_s;
15782 MenhirLib.EngineTypes.semv = Obj.repr _v;
15783 MenhirLib.EngineTypes.startp = _startpos;
15784 MenhirLib.EngineTypes.endp = _endpos;
15785 MenhirLib.EngineTypes.next = _menhir_stack;
15786 });
15787 (fun _menhir_env ->
15788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15789 let {
15790 MenhirLib.EngineTypes.semv = _2;
15791 MenhirLib.EngineTypes.startp = _startpos__2_;
15792 MenhirLib.EngineTypes.endp = _endpos__2_;
15793 MenhirLib.EngineTypes.next = {
15794 MenhirLib.EngineTypes.state = _menhir_s;
15795 MenhirLib.EngineTypes.semv = _1;
15796 MenhirLib.EngineTypes.startp = _startpos__1_;
15797 MenhirLib.EngineTypes.endp = _endpos__1_;
15798 MenhirLib.EngineTypes.next = _menhir_stack;
15799 };
15800 } = _menhir_stack in
15801 let _2 : (
15802# 102 "parser_cocci_menhir.mly"
15803 (Data.clt)
15804# 15805 "parser_cocci_menhir.ml"
15805 ) = Obj.magic _2 in
15806 let _1 : (
15807# 102 "parser_cocci_menhir.mly"
15808 (Data.clt)
15809# 15810 "parser_cocci_menhir.ml"
15810 ) = Obj.magic _1 in
15811 let _startpos = _startpos__1_ in
15812 let _endpos = _endpos__2_ in
15813 let _v : 'tv_initialize2 =
15814# 1113 "parser_cocci_menhir.mly"
15815 ( Ast0.wrap
15816 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15817 P.clt2mcode "}" _2)) )
15818# 15819 "parser_cocci_menhir.ml"
15819 in
15820 _menhir_env.MenhirLib.EngineTypes.stack <- {
15821 MenhirLib.EngineTypes.state = _menhir_s;
15822 MenhirLib.EngineTypes.semv = Obj.repr _v;
15823 MenhirLib.EngineTypes.startp = _startpos;
15824 MenhirLib.EngineTypes.endp = _endpos;
15825 MenhirLib.EngineTypes.next = _menhir_stack;
15826 });
15827 (fun _menhir_env ->
15828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15829 let {
15830 MenhirLib.EngineTypes.semv = _3;
15831 MenhirLib.EngineTypes.startp = _startpos__3_;
15832 MenhirLib.EngineTypes.endp = _endpos__3_;
15833 MenhirLib.EngineTypes.next = {
15834 MenhirLib.EngineTypes.semv = _2;
15835 MenhirLib.EngineTypes.startp = _startpos__2_;
15836 MenhirLib.EngineTypes.endp = _endpos__2_;
15837 MenhirLib.EngineTypes.next = {
15838 MenhirLib.EngineTypes.state = _menhir_s;
15839 MenhirLib.EngineTypes.semv = _1;
15840 MenhirLib.EngineTypes.startp = _startpos__1_;
15841 MenhirLib.EngineTypes.endp = _endpos__1_;
15842 MenhirLib.EngineTypes.next = _menhir_stack;
15843 };
15844 };
15845 } = _menhir_stack in
15846 let _3 : 'tv_initialize2 = Obj.magic _3 in
15847 let _2 : (
15848# 108 "parser_cocci_menhir.mly"
15849 (Data.clt)
15850# 15851 "parser_cocci_menhir.ml"
15851 ) = Obj.magic _2 in
15852 let _1 : 'tv_list_designator_ = Obj.magic _1 in
15853 let _startpos = _startpos__1_ in
15854 let _endpos = _endpos__3_ in
15855 let _v : 'tv_initialize2 =
15856# 1118 "parser_cocci_menhir.mly"
15857 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
15858# 15859 "parser_cocci_menhir.ml"
15859 in
15860 _menhir_env.MenhirLib.EngineTypes.stack <- {
15861 MenhirLib.EngineTypes.state = _menhir_s;
15862 MenhirLib.EngineTypes.semv = Obj.repr _v;
15863 MenhirLib.EngineTypes.startp = _startpos;
15864 MenhirLib.EngineTypes.endp = _endpos;
15865 MenhirLib.EngineTypes.next = _menhir_stack;
15866 });
15867 (fun _menhir_env ->
15868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15869 let {
15870 MenhirLib.EngineTypes.semv = _3;
15871 MenhirLib.EngineTypes.startp = _startpos__3_;
15872 MenhirLib.EngineTypes.endp = _endpos__3_;
15873 MenhirLib.EngineTypes.next = {
15874 MenhirLib.EngineTypes.semv = _2;
15875 MenhirLib.EngineTypes.startp = _startpos__2_;
15876 MenhirLib.EngineTypes.endp = _endpos__2_;
15877 MenhirLib.EngineTypes.next = {
15878 MenhirLib.EngineTypes.state = _menhir_s;
15879 MenhirLib.EngineTypes.semv = _1;
15880 MenhirLib.EngineTypes.startp = _startpos__1_;
15881 MenhirLib.EngineTypes.endp = _endpos__1_;
15882 MenhirLib.EngineTypes.next = _menhir_stack;
15883 };
15884 };
15885 } = _menhir_stack in
15886 let _3 : 'tv_initialize2 = Obj.magic _3 in
15887 let _2 : (
15888# 77 "parser_cocci_menhir.mly"
15889 (Data.clt)
15890# 15891 "parser_cocci_menhir.ml"
15891 ) = Obj.magic _2 in
15892 let _1 : 'tv_ident = Obj.magic _1 in
15893 let _startpos = _startpos__1_ in
15894 let _endpos = _endpos__3_ in
15895 let _v : 'tv_initialize2 =
15896# 1120 "parser_cocci_menhir.mly"
15897 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
15898# 15899 "parser_cocci_menhir.ml"
15899 in
15900 _menhir_env.MenhirLib.EngineTypes.stack <- {
15901 MenhirLib.EngineTypes.state = _menhir_s;
15902 MenhirLib.EngineTypes.semv = Obj.repr _v;
15903 MenhirLib.EngineTypes.startp = _startpos;
15904 MenhirLib.EngineTypes.endp = _endpos;
15905 MenhirLib.EngineTypes.next = _menhir_stack;
15906 });
15907 (fun _menhir_env ->
15908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15909 let {
15910 MenhirLib.EngineTypes.state = _menhir_s;
15911 MenhirLib.EngineTypes.semv = _1;
15912 MenhirLib.EngineTypes.startp = _startpos__1_;
15913 MenhirLib.EngineTypes.endp = _endpos__1_;
15914 MenhirLib.EngineTypes.next = _menhir_stack;
15915 } = _menhir_stack in
15916 let _1 : 'tv_initialize_list_start = Obj.magic _1 in
15917 let _startpos = _startpos__1_ in
15918 let _endpos = _endpos__1_ in
15919 let _v : 'tv_initialize_list =
15920# 1132 "parser_cocci_menhir.mly"
15921 ( Ast0.wrap(Ast0.DOTS(_1)) )
15922# 15923 "parser_cocci_menhir.ml"
15923 in
15924 _menhir_env.MenhirLib.EngineTypes.stack <- {
15925 MenhirLib.EngineTypes.state = _menhir_s;
15926 MenhirLib.EngineTypes.semv = Obj.repr _v;
15927 MenhirLib.EngineTypes.startp = _startpos;
15928 MenhirLib.EngineTypes.endp = _endpos;
15929 MenhirLib.EngineTypes.next = _menhir_stack;
15930 });
15931 (fun _menhir_env ->
15932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15933 let {
15934 MenhirLib.EngineTypes.semv = _2;
15935 MenhirLib.EngineTypes.startp = _startpos__2_;
15936 MenhirLib.EngineTypes.endp = _endpos__2_;
15937 MenhirLib.EngineTypes.next = {
15938 MenhirLib.EngineTypes.state = _menhir_s;
15939 MenhirLib.EngineTypes.semv = _1;
15940 MenhirLib.EngineTypes.startp = _startpos__1_;
15941 MenhirLib.EngineTypes.endp = _endpos__1_;
15942 MenhirLib.EngineTypes.next = _menhir_stack;
15943 };
15944 } = _menhir_stack in
15945 let _2 : (
15946# 108 "parser_cocci_menhir.mly"
15947 (Data.clt)
15948# 15949 "parser_cocci_menhir.ml"
15949 ) = Obj.magic _2 in
15950 let _1 : 'tv_initialize2 = Obj.magic _1 in
15951 let _startpos = _startpos__1_ in
15952 let _endpos = _endpos__2_ in
15953 let _v : 'tv_initialize_list_start =
15954# 1135 "parser_cocci_menhir.mly"
15955 ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
15956# 15957 "parser_cocci_menhir.ml"
15957 in
15958 _menhir_env.MenhirLib.EngineTypes.stack <- {
15959 MenhirLib.EngineTypes.state = _menhir_s;
15960 MenhirLib.EngineTypes.semv = Obj.repr _v;
15961 MenhirLib.EngineTypes.startp = _startpos;
15962 MenhirLib.EngineTypes.endp = _endpos;
15963 MenhirLib.EngineTypes.next = _menhir_stack;
15964 });
15965 (fun _menhir_env ->
15966 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15967 let {
15968 MenhirLib.EngineTypes.semv = _3;
15969 MenhirLib.EngineTypes.startp = _startpos__3_;
15970 MenhirLib.EngineTypes.endp = _endpos__3_;
15971 MenhirLib.EngineTypes.next = {
15972 MenhirLib.EngineTypes.semv = _2;
15973 MenhirLib.EngineTypes.startp = _startpos__2_;
15974 MenhirLib.EngineTypes.endp = _endpos__2_;
15975 MenhirLib.EngineTypes.next = {
15976 MenhirLib.EngineTypes.state = _menhir_s;
15977 MenhirLib.EngineTypes.semv = _1;
15978 MenhirLib.EngineTypes.startp = _startpos__1_;
15979 MenhirLib.EngineTypes.endp = _endpos__1_;
15980 MenhirLib.EngineTypes.next = _menhir_stack;
15981 };
15982 };
15983 } = _menhir_stack in
15984 let _3 : 'tv_initialize_list_start = Obj.magic _3 in
15985 let _2 : (
15986# 108 "parser_cocci_menhir.mly"
15987 (Data.clt)
15988# 15989 "parser_cocci_menhir.ml"
15989 ) = Obj.magic _2 in
15990 let _1 : 'tv_initialize2 = Obj.magic _1 in
15991 let _startpos = _startpos__1_ in
15992 let _endpos = _endpos__3_ in
15993 let _v : 'tv_initialize_list_start =
15994# 1137 "parser_cocci_menhir.mly"
15995 ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
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.semv = r;
16009 MenhirLib.EngineTypes.startp = _startpos_r_;
16010 MenhirLib.EngineTypes.endp = _endpos_r_;
16011 MenhirLib.EngineTypes.next = {
16012 MenhirLib.EngineTypes.state = _menhir_s;
16013 MenhirLib.EngineTypes.semv = d;
16014 MenhirLib.EngineTypes.startp = _startpos_d_;
16015 MenhirLib.EngineTypes.endp = _endpos_d_;
16016 MenhirLib.EngineTypes.next = _menhir_stack;
16017 };
16018 } = _menhir_stack in
16019 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
16020 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
16021 let _startpos = _startpos_d_ in
16022 let _endpos = _endpos_r_ in
16023 let _v : 'tv_initialize_list_start =
16024# 1140 "parser_cocci_menhir.mly"
16025 ( (P.mkidots "..." d)::
16026 (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
16027# 16028 "parser_cocci_menhir.ml"
16028 in
16029 _menhir_env.MenhirLib.EngineTypes.stack <- {
16030 MenhirLib.EngineTypes.state = _menhir_s;
16031 MenhirLib.EngineTypes.semv = Obj.repr _v;
16032 MenhirLib.EngineTypes.startp = _startpos;
16033 MenhirLib.EngineTypes.endp = _endpos;
16034 MenhirLib.EngineTypes.next = _menhir_stack;
16035 });
16036 (fun _menhir_env ->
16037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16038 let {
16039 MenhirLib.EngineTypes.state = _menhir_s;
16040 MenhirLib.EngineTypes.startp = _startpos__1_;
16041 MenhirLib.EngineTypes.endp = _endpos__1_;
16042 MenhirLib.EngineTypes.next = _menhir_stack;
16043 } = _menhir_stack in
16044 let _startpos = _startpos__1_ in
16045 let _endpos = _endpos__1_ in
16046 let _v : 'tv_invalid =
16047# 1233 "parser_cocci_menhir.mly"
16048 ( raise (Semantic_cocci.Semantic "not matchable") )
16049# 16050 "parser_cocci_menhir.ml"
16050 in
16051 _menhir_env.MenhirLib.EngineTypes.stack <- {
16052 MenhirLib.EngineTypes.state = _menhir_s;
16053 MenhirLib.EngineTypes.semv = Obj.repr _v;
16054 MenhirLib.EngineTypes.startp = _startpos;
16055 MenhirLib.EngineTypes.endp = _endpos;
16056 MenhirLib.EngineTypes.next = _menhir_stack;
16057 });
16058 (fun _menhir_env ->
16059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16060 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16061 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16062 let _endpos = _startpos in
16063 let _v : 'tv_is_expression =
16064# 249 "parser_cocci_menhir.mly"
16065 ( false )
16066# 16067 "parser_cocci_menhir.ml"
16067 in
16068 _menhir_env.MenhirLib.EngineTypes.stack <- {
16069 MenhirLib.EngineTypes.state = _menhir_s;
16070 MenhirLib.EngineTypes.semv = Obj.repr _v;
16071 MenhirLib.EngineTypes.startp = _startpos;
16072 MenhirLib.EngineTypes.endp = _endpos;
16073 MenhirLib.EngineTypes.next = _menhir_stack;
16074 });
16075 (fun _menhir_env ->
16076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16077 let {
16078 MenhirLib.EngineTypes.state = _menhir_s;
16079 MenhirLib.EngineTypes.startp = _startpos__1_;
16080 MenhirLib.EngineTypes.endp = _endpos__1_;
16081 MenhirLib.EngineTypes.next = _menhir_stack;
16082 } = _menhir_stack in
16083 let _startpos = _startpos__1_ in
16084 let _endpos = _endpos__1_ in
16085 let _v : 'tv_is_expression =
16086# 250 "parser_cocci_menhir.mly"
16087 ( true )
16088# 16089 "parser_cocci_menhir.ml"
16089 in
16090 _menhir_env.MenhirLib.EngineTypes.stack <- {
16091 MenhirLib.EngineTypes.state = _menhir_s;
16092 MenhirLib.EngineTypes.semv = Obj.repr _v;
16093 MenhirLib.EngineTypes.startp = _startpos;
16094 MenhirLib.EngineTypes.endp = _endpos;
16095 MenhirLib.EngineTypes.next = _menhir_stack;
16096 });
16097 (fun _menhir_env ->
16098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16099 let {
16100 MenhirLib.EngineTypes.semv = t;
16101 MenhirLib.EngineTypes.startp = _startpos_t_;
16102 MenhirLib.EngineTypes.endp = _endpos_t_;
16103 MenhirLib.EngineTypes.next = {
16104 MenhirLib.EngineTypes.state = _menhir_s;
16105 MenhirLib.EngineTypes.startp = _startpos__1_;
16106 MenhirLib.EngineTypes.endp = _endpos__1_;
16107 MenhirLib.EngineTypes.next = _menhir_stack;
16108 };
16109 } = _menhir_stack in
16110 let t : 'tv_ctype = Obj.magic t in
16111 let _startpos = _startpos__1_ in
16112 let _endpos = _endpos_t_ in
16113 let _v : 'tv_iso_ctype_ =
16114# 1981 "parser_cocci_menhir.mly"
16115 ( Common.Left t )
16116# 16117 "parser_cocci_menhir.ml"
16117 in
16118 _menhir_env.MenhirLib.EngineTypes.stack <- {
16119 MenhirLib.EngineTypes.state = _menhir_s;
16120 MenhirLib.EngineTypes.semv = Obj.repr _v;
16121 MenhirLib.EngineTypes.startp = _startpos;
16122 MenhirLib.EngineTypes.endp = _endpos;
16123 MenhirLib.EngineTypes.next = _menhir_stack;
16124 });
16125 (fun _menhir_env ->
16126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16127 let {
16128 MenhirLib.EngineTypes.semv = t;
16129 MenhirLib.EngineTypes.startp = _startpos_t_;
16130 MenhirLib.EngineTypes.endp = _endpos_t_;
16131 MenhirLib.EngineTypes.next = {
16132 MenhirLib.EngineTypes.state = _menhir_s;
16133 MenhirLib.EngineTypes.startp = _startpos__1_;
16134 MenhirLib.EngineTypes.endp = _endpos__1_;
16135 MenhirLib.EngineTypes.next = _menhir_stack;
16136 };
16137 } = _menhir_stack in
16138 let t : 'tv_ctype = Obj.magic t in
16139 let _startpos = _startpos__1_ in
16140 let _endpos = _endpos_t_ in
16141 let _v : 'tv_iso_ctype_ =
16142# 1982 "parser_cocci_menhir.mly"
16143 ( Common.Right t )
16144# 16145 "parser_cocci_menhir.ml"
16145 in
16146 _menhir_env.MenhirLib.EngineTypes.stack <- {
16147 MenhirLib.EngineTypes.state = _menhir_s;
16148 MenhirLib.EngineTypes.semv = Obj.repr _v;
16149 MenhirLib.EngineTypes.startp = _startpos;
16150 MenhirLib.EngineTypes.endp = _endpos;
16151 MenhirLib.EngineTypes.next = _menhir_stack;
16152 });
16153 (fun _menhir_env ->
16154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16155 let {
16156 MenhirLib.EngineTypes.semv = t;
16157 MenhirLib.EngineTypes.startp = _startpos_t_;
16158 MenhirLib.EngineTypes.endp = _endpos_t_;
16159 MenhirLib.EngineTypes.next = {
16160 MenhirLib.EngineTypes.state = _menhir_s;
16161 MenhirLib.EngineTypes.startp = _startpos__1_;
16162 MenhirLib.EngineTypes.endp = _endpos__1_;
16163 MenhirLib.EngineTypes.next = _menhir_stack;
16164 };
16165 } = _menhir_stack in
16166 let t : 'tv_decl_var = Obj.magic t in
16167 let _startpos = _startpos__1_ in
16168 let _endpos = _endpos_t_ in
16169 let _v : 'tv_iso_decl_var_ =
16170# 1981 "parser_cocci_menhir.mly"
16171 ( Common.Left t )
16172# 16173 "parser_cocci_menhir.ml"
16173 in
16174 _menhir_env.MenhirLib.EngineTypes.stack <- {
16175 MenhirLib.EngineTypes.state = _menhir_s;
16176 MenhirLib.EngineTypes.semv = Obj.repr _v;
16177 MenhirLib.EngineTypes.startp = _startpos;
16178 MenhirLib.EngineTypes.endp = _endpos;
16179 MenhirLib.EngineTypes.next = _menhir_stack;
16180 });
16181 (fun _menhir_env ->
16182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16183 let {
16184 MenhirLib.EngineTypes.semv = t;
16185 MenhirLib.EngineTypes.startp = _startpos_t_;
16186 MenhirLib.EngineTypes.endp = _endpos_t_;
16187 MenhirLib.EngineTypes.next = {
16188 MenhirLib.EngineTypes.state = _menhir_s;
16189 MenhirLib.EngineTypes.startp = _startpos__1_;
16190 MenhirLib.EngineTypes.endp = _endpos__1_;
16191 MenhirLib.EngineTypes.next = _menhir_stack;
16192 };
16193 } = _menhir_stack in
16194 let t : 'tv_decl_var = Obj.magic t in
16195 let _startpos = _startpos__1_ in
16196 let _endpos = _endpos_t_ in
16197 let _v : 'tv_iso_decl_var_ =
16198# 1982 "parser_cocci_menhir.mly"
16199 ( Common.Right t )
16200# 16201 "parser_cocci_menhir.ml"
16201 in
16202 _menhir_env.MenhirLib.EngineTypes.stack <- {
16203 MenhirLib.EngineTypes.state = _menhir_s;
16204 MenhirLib.EngineTypes.semv = Obj.repr _v;
16205 MenhirLib.EngineTypes.startp = _startpos;
16206 MenhirLib.EngineTypes.endp = _endpos;
16207 MenhirLib.EngineTypes.next = _menhir_stack;
16208 });
16209 (fun _menhir_env ->
16210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16211 let {
16212 MenhirLib.EngineTypes.semv = t;
16213 MenhirLib.EngineTypes.startp = _startpos_t_;
16214 MenhirLib.EngineTypes.endp = _endpos_t_;
16215 MenhirLib.EngineTypes.next = {
16216 MenhirLib.EngineTypes.state = _menhir_s;
16217 MenhirLib.EngineTypes.startp = _startpos__1_;
16218 MenhirLib.EngineTypes.endp = _endpos__1_;
16219 MenhirLib.EngineTypes.next = _menhir_stack;
16220 };
16221 } = _menhir_stack in
16222 let t : 'tv_eexpr = Obj.magic t in
16223 let _startpos = _startpos__1_ in
16224 let _endpos = _endpos_t_ in
16225 let _v : 'tv_iso_eexpr_ =
16226# 1981 "parser_cocci_menhir.mly"
16227 ( Common.Left t )
16228# 16229 "parser_cocci_menhir.ml"
16229 in
16230 _menhir_env.MenhirLib.EngineTypes.stack <- {
16231 MenhirLib.EngineTypes.state = _menhir_s;
16232 MenhirLib.EngineTypes.semv = Obj.repr _v;
16233 MenhirLib.EngineTypes.startp = _startpos;
16234 MenhirLib.EngineTypes.endp = _endpos;
16235 MenhirLib.EngineTypes.next = _menhir_stack;
16236 });
16237 (fun _menhir_env ->
16238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16239 let {
16240 MenhirLib.EngineTypes.semv = t;
16241 MenhirLib.EngineTypes.startp = _startpos_t_;
16242 MenhirLib.EngineTypes.endp = _endpos_t_;
16243 MenhirLib.EngineTypes.next = {
16244 MenhirLib.EngineTypes.state = _menhir_s;
16245 MenhirLib.EngineTypes.startp = _startpos__1_;
16246 MenhirLib.EngineTypes.endp = _endpos__1_;
16247 MenhirLib.EngineTypes.next = _menhir_stack;
16248 };
16249 } = _menhir_stack in
16250 let t : 'tv_eexpr = Obj.magic t in
16251 let _startpos = _startpos__1_ in
16252 let _endpos = _endpos_t_ in
16253 let _v : 'tv_iso_eexpr_ =
16254# 1982 "parser_cocci_menhir.mly"
16255 ( Common.Right t )
16256# 16257 "parser_cocci_menhir.ml"
16257 in
16258 _menhir_env.MenhirLib.EngineTypes.stack <- {
16259 MenhirLib.EngineTypes.state = _menhir_s;
16260 MenhirLib.EngineTypes.semv = Obj.repr _v;
16261 MenhirLib.EngineTypes.startp = _startpos;
16262 MenhirLib.EngineTypes.endp = _endpos;
16263 MenhirLib.EngineTypes.next = _menhir_stack;
16264 });
16265 (fun _menhir_env ->
16266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16267 let {
16268 MenhirLib.EngineTypes.semv = t;
16269 MenhirLib.EngineTypes.startp = _startpos_t_;
16270 MenhirLib.EngineTypes.endp = _endpos_t_;
16271 MenhirLib.EngineTypes.next = {
16272 MenhirLib.EngineTypes.state = _menhir_s;
16273 MenhirLib.EngineTypes.startp = _startpos__1_;
16274 MenhirLib.EngineTypes.endp = _endpos__1_;
16275 MenhirLib.EngineTypes.next = _menhir_stack;
16276 };
16277 } = _menhir_stack in
16278 let t : 'tv_nest_start = Obj.magic t in
16279 let _startpos = _startpos__1_ in
16280 let _endpos = _endpos_t_ in
16281 let _v : 'tv_iso_nest_start_ =
16282# 1981 "parser_cocci_menhir.mly"
16283 ( Common.Left t )
16284# 16285 "parser_cocci_menhir.ml"
16285 in
16286 _menhir_env.MenhirLib.EngineTypes.stack <- {
16287 MenhirLib.EngineTypes.state = _menhir_s;
16288 MenhirLib.EngineTypes.semv = Obj.repr _v;
16289 MenhirLib.EngineTypes.startp = _startpos;
16290 MenhirLib.EngineTypes.endp = _endpos;
16291 MenhirLib.EngineTypes.next = _menhir_stack;
16292 });
16293 (fun _menhir_env ->
16294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16295 let {
16296 MenhirLib.EngineTypes.semv = t;
16297 MenhirLib.EngineTypes.startp = _startpos_t_;
16298 MenhirLib.EngineTypes.endp = _endpos_t_;
16299 MenhirLib.EngineTypes.next = {
16300 MenhirLib.EngineTypes.state = _menhir_s;
16301 MenhirLib.EngineTypes.startp = _startpos__1_;
16302 MenhirLib.EngineTypes.endp = _endpos__1_;
16303 MenhirLib.EngineTypes.next = _menhir_stack;
16304 };
16305 } = _menhir_stack in
16306 let t : 'tv_nest_start = Obj.magic t in
16307 let _startpos = _startpos__1_ in
16308 let _endpos = _endpos_t_ in
16309 let _v : 'tv_iso_nest_start_ =
16310# 1982 "parser_cocci_menhir.mly"
16311 ( Common.Right t )
16312# 16313 "parser_cocci_menhir.ml"
16313 in
16314 _menhir_env.MenhirLib.EngineTypes.stack <- {
16315 MenhirLib.EngineTypes.state = _menhir_s;
16316 MenhirLib.EngineTypes.semv = Obj.repr _v;
16317 MenhirLib.EngineTypes.startp = _startpos;
16318 MenhirLib.EngineTypes.endp = _endpos;
16319 MenhirLib.EngineTypes.next = _menhir_stack;
16320 });
16321 (fun _menhir_env ->
16322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16323 let {
16324 MenhirLib.EngineTypes.semv = t;
16325 MenhirLib.EngineTypes.startp = _startpos_t_;
16326 MenhirLib.EngineTypes.endp = _endpos_t_;
16327 MenhirLib.EngineTypes.next = {
16328 MenhirLib.EngineTypes.state = _menhir_s;
16329 MenhirLib.EngineTypes.startp = _startpos__1_;
16330 MenhirLib.EngineTypes.endp = _endpos__1_;
16331 MenhirLib.EngineTypes.next = _menhir_stack;
16332 };
16333 } = _menhir_stack in
16334 let t : 'tv_single_statement = Obj.magic t in
16335 let _startpos = _startpos__1_ in
16336 let _endpos = _endpos_t_ in
16337 let _v : 'tv_iso_single_statement_ =
16338# 1981 "parser_cocci_menhir.mly"
16339 ( Common.Left t )
16340# 16341 "parser_cocci_menhir.ml"
16341 in
16342 _menhir_env.MenhirLib.EngineTypes.stack <- {
16343 MenhirLib.EngineTypes.state = _menhir_s;
16344 MenhirLib.EngineTypes.semv = Obj.repr _v;
16345 MenhirLib.EngineTypes.startp = _startpos;
16346 MenhirLib.EngineTypes.endp = _endpos;
16347 MenhirLib.EngineTypes.next = _menhir_stack;
16348 });
16349 (fun _menhir_env ->
16350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16351 let {
16352 MenhirLib.EngineTypes.semv = t;
16353 MenhirLib.EngineTypes.startp = _startpos_t_;
16354 MenhirLib.EngineTypes.endp = _endpos_t_;
16355 MenhirLib.EngineTypes.next = {
16356 MenhirLib.EngineTypes.state = _menhir_s;
16357 MenhirLib.EngineTypes.startp = _startpos__1_;
16358 MenhirLib.EngineTypes.endp = _endpos__1_;
16359 MenhirLib.EngineTypes.next = _menhir_stack;
16360 };
16361 } = _menhir_stack in
16362 let t : 'tv_single_statement = Obj.magic t in
16363 let _startpos = _startpos__1_ in
16364 let _endpos = _endpos_t_ in
16365 let _v : 'tv_iso_single_statement_ =
16366# 1982 "parser_cocci_menhir.mly"
16367 ( Common.Right t )
16368# 16369 "parser_cocci_menhir.ml"
16369 in
16370 _menhir_env.MenhirLib.EngineTypes.stack <- {
16371 MenhirLib.EngineTypes.state = _menhir_s;
16372 MenhirLib.EngineTypes.semv = Obj.repr _v;
16373 MenhirLib.EngineTypes.startp = _startpos;
16374 MenhirLib.EngineTypes.endp = _endpos;
16375 MenhirLib.EngineTypes.next = _menhir_stack;
16376 });
16377 (fun _menhir_env ->
16378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16379 let {
16380 MenhirLib.EngineTypes.startp = _startpos__4_;
16381 MenhirLib.EngineTypes.endp = _endpos__4_;
16382 MenhirLib.EngineTypes.next = {
16383 MenhirLib.EngineTypes.semv = el;
16384 MenhirLib.EngineTypes.startp = _startpos_el_;
16385 MenhirLib.EngineTypes.endp = _endpos_el_;
16386 MenhirLib.EngineTypes.next = {
16387 MenhirLib.EngineTypes.semv = e1;
16388 MenhirLib.EngineTypes.startp = _startpos_e1_;
16389 MenhirLib.EngineTypes.endp = _endpos_e1_;
16390 MenhirLib.EngineTypes.next = {
16391 MenhirLib.EngineTypes.state = _menhir_s;
16392 MenhirLib.EngineTypes.startp = _startpos__1_;
16393 MenhirLib.EngineTypes.endp = _endpos__1_;
16394 MenhirLib.EngineTypes.next = _menhir_stack;
16395 };
16396 };
16397 };
16398 } = _menhir_stack in
16399 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16400 let e1 : 'tv_eexpr = Obj.magic e1 in
16401 let _startpos = _startpos__1_ in
16402 let _endpos = _endpos__4_ in
16403 let _v : (
16404# 163 "parser_cocci_menhir.mly"
16405 (Ast0_cocci.anything list list)
16406# 16407 "parser_cocci_menhir.ml"
16407 ) =
16408# 1949 "parser_cocci_menhir.mly"
16409 ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
16410# 16411 "parser_cocci_menhir.ml"
16411 in
16412 _menhir_env.MenhirLib.EngineTypes.stack <- {
16413 MenhirLib.EngineTypes.state = _menhir_s;
16414 MenhirLib.EngineTypes.semv = Obj.repr _v;
16415 MenhirLib.EngineTypes.startp = _startpos;
16416 MenhirLib.EngineTypes.endp = _endpos;
16417 MenhirLib.EngineTypes.next = _menhir_stack;
16418 });
16419 (fun _menhir_env ->
16420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16421 let {
16422 MenhirLib.EngineTypes.startp = _startpos__4_;
16423 MenhirLib.EngineTypes.endp = _endpos__4_;
16424 MenhirLib.EngineTypes.next = {
16425 MenhirLib.EngineTypes.semv = el;
16426 MenhirLib.EngineTypes.startp = _startpos_el_;
16427 MenhirLib.EngineTypes.endp = _endpos_el_;
16428 MenhirLib.EngineTypes.next = {
16429 MenhirLib.EngineTypes.semv = e1;
16430 MenhirLib.EngineTypes.startp = _startpos_e1_;
16431 MenhirLib.EngineTypes.endp = _endpos_e1_;
16432 MenhirLib.EngineTypes.next = {
16433 MenhirLib.EngineTypes.state = _menhir_s;
16434 MenhirLib.EngineTypes.startp = _startpos__1_;
16435 MenhirLib.EngineTypes.endp = _endpos__1_;
16436 MenhirLib.EngineTypes.next = _menhir_stack;
16437 };
16438 };
16439 };
16440 } = _menhir_stack in
16441 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16442 let e1 : 'tv_eexpr = Obj.magic e1 in
16443 let _startpos = _startpos__1_ in
16444 let _endpos = _endpos__4_ in
16445 let _v : (
16446# 163 "parser_cocci_menhir.mly"
16447 (Ast0_cocci.anything list list)
16448# 16449 "parser_cocci_menhir.ml"
16449 ) =
16450# 1951 "parser_cocci_menhir.mly"
16451 ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
16452# 16453 "parser_cocci_menhir.ml"
16453 in
16454 _menhir_env.MenhirLib.EngineTypes.stack <- {
16455 MenhirLib.EngineTypes.state = _menhir_s;
16456 MenhirLib.EngineTypes.semv = Obj.repr _v;
16457 MenhirLib.EngineTypes.startp = _startpos;
16458 MenhirLib.EngineTypes.endp = _endpos;
16459 MenhirLib.EngineTypes.next = _menhir_stack;
16460 });
16461 (fun _menhir_env ->
16462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16463 let {
16464 MenhirLib.EngineTypes.startp = _startpos__4_;
16465 MenhirLib.EngineTypes.endp = _endpos__4_;
16466 MenhirLib.EngineTypes.next = {
16467 MenhirLib.EngineTypes.semv = el;
16468 MenhirLib.EngineTypes.startp = _startpos_el_;
16469 MenhirLib.EngineTypes.endp = _endpos_el_;
16470 MenhirLib.EngineTypes.next = {
16471 MenhirLib.EngineTypes.semv = e1;
16472 MenhirLib.EngineTypes.startp = _startpos_e1_;
16473 MenhirLib.EngineTypes.endp = _endpos_e1_;
16474 MenhirLib.EngineTypes.next = {
16475 MenhirLib.EngineTypes.state = _menhir_s;
16476 MenhirLib.EngineTypes.startp = _startpos__1_;
16477 MenhirLib.EngineTypes.endp = _endpos__1_;
16478 MenhirLib.EngineTypes.next = _menhir_stack;
16479 };
16480 };
16481 };
16482 } = _menhir_stack in
16483 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16484 let e1 : 'tv_eexpr = Obj.magic e1 in
16485 let _startpos = _startpos__1_ in
16486 let _endpos = _endpos__4_ in
16487 let _v : (
16488# 163 "parser_cocci_menhir.mly"
16489 (Ast0_cocci.anything list list)
16490# 16491 "parser_cocci_menhir.ml"
16491 ) =
16492# 1953 "parser_cocci_menhir.mly"
16493 ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
16494# 16495 "parser_cocci_menhir.ml"
16495 in
16496 _menhir_env.MenhirLib.EngineTypes.stack <- {
16497 MenhirLib.EngineTypes.state = _menhir_s;
16498 MenhirLib.EngineTypes.semv = Obj.repr _v;
16499 MenhirLib.EngineTypes.startp = _startpos;
16500 MenhirLib.EngineTypes.endp = _endpos;
16501 MenhirLib.EngineTypes.next = _menhir_stack;
16502 });
16503 (fun _menhir_env ->
16504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16505 let {
16506 MenhirLib.EngineTypes.startp = _startpos__4_;
16507 MenhirLib.EngineTypes.endp = _endpos__4_;
16508 MenhirLib.EngineTypes.next = {
16509 MenhirLib.EngineTypes.semv = el;
16510 MenhirLib.EngineTypes.startp = _startpos_el_;
16511 MenhirLib.EngineTypes.endp = _endpos_el_;
16512 MenhirLib.EngineTypes.next = {
16513 MenhirLib.EngineTypes.semv = e1;
16514 MenhirLib.EngineTypes.startp = _startpos_e1_;
16515 MenhirLib.EngineTypes.endp = _endpos_e1_;
16516 MenhirLib.EngineTypes.next = {
16517 MenhirLib.EngineTypes.state = _menhir_s;
16518 MenhirLib.EngineTypes.startp = _startpos__1_;
16519 MenhirLib.EngineTypes.endp = _endpos__1_;
16520 MenhirLib.EngineTypes.next = _menhir_stack;
16521 };
16522 };
16523 };
16524 } = _menhir_stack in
16525 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16526 let e1 : 'tv_eexpr = Obj.magic e1 in
16527 let _startpos = _startpos__1_ in
16528 let _endpos = _endpos__4_ in
16529 let _v : (
16530# 163 "parser_cocci_menhir.mly"
16531 (Ast0_cocci.anything list list)
16532# 16533 "parser_cocci_menhir.ml"
16533 ) =
16534# 1955 "parser_cocci_menhir.mly"
16535 ( let ffn x = Ast0.ExprTag x in
16536 let fn x = Ast0.TestExprTag x in
16537 P.iso_adjust ffn fn e1 el )
16538# 16539 "parser_cocci_menhir.ml"
16539 in
16540 _menhir_env.MenhirLib.EngineTypes.stack <- {
16541 MenhirLib.EngineTypes.state = _menhir_s;
16542 MenhirLib.EngineTypes.semv = Obj.repr _v;
16543 MenhirLib.EngineTypes.startp = _startpos;
16544 MenhirLib.EngineTypes.endp = _endpos;
16545 MenhirLib.EngineTypes.next = _menhir_stack;
16546 });
16547 (fun _menhir_env ->
16548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16549 let {
16550 MenhirLib.EngineTypes.startp = _startpos__4_;
16551 MenhirLib.EngineTypes.endp = _endpos__4_;
16552 MenhirLib.EngineTypes.next = {
16553 MenhirLib.EngineTypes.semv = sl;
16554 MenhirLib.EngineTypes.startp = _startpos_sl_;
16555 MenhirLib.EngineTypes.endp = _endpos_sl_;
16556 MenhirLib.EngineTypes.next = {
16557 MenhirLib.EngineTypes.semv = s1;
16558 MenhirLib.EngineTypes.startp = _startpos_s1_;
16559 MenhirLib.EngineTypes.endp = _endpos_s1_;
16560 MenhirLib.EngineTypes.next = {
16561 MenhirLib.EngineTypes.state = _menhir_s;
16562 MenhirLib.EngineTypes.startp = _startpos__1_;
16563 MenhirLib.EngineTypes.endp = _endpos__1_;
16564 MenhirLib.EngineTypes.next = _menhir_stack;
16565 };
16566 };
16567 };
16568 } = _menhir_stack in
16569 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
16570 let s1 : 'tv_single_statement = Obj.magic s1 in
16571 let _startpos = _startpos__1_ in
16572 let _endpos = _endpos__4_ in
16573 let _v : (
16574# 163 "parser_cocci_menhir.mly"
16575 (Ast0_cocci.anything list list)
16576# 16577 "parser_cocci_menhir.ml"
16577 ) =
16578# 1959 "parser_cocci_menhir.mly"
16579 ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
16580# 16581 "parser_cocci_menhir.ml"
16581 in
16582 _menhir_env.MenhirLib.EngineTypes.stack <- {
16583 MenhirLib.EngineTypes.state = _menhir_s;
16584 MenhirLib.EngineTypes.semv = Obj.repr _v;
16585 MenhirLib.EngineTypes.startp = _startpos;
16586 MenhirLib.EngineTypes.endp = _endpos;
16587 MenhirLib.EngineTypes.next = _menhir_stack;
16588 });
16589 (fun _menhir_env ->
16590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16591 let {
16592 MenhirLib.EngineTypes.startp = _startpos__4_;
16593 MenhirLib.EngineTypes.endp = _endpos__4_;
16594 MenhirLib.EngineTypes.next = {
16595 MenhirLib.EngineTypes.semv = tl;
16596 MenhirLib.EngineTypes.startp = _startpos_tl_;
16597 MenhirLib.EngineTypes.endp = _endpos_tl_;
16598 MenhirLib.EngineTypes.next = {
16599 MenhirLib.EngineTypes.semv = t1;
16600 MenhirLib.EngineTypes.startp = _startpos_t1_;
16601 MenhirLib.EngineTypes.endp = _endpos_t1_;
16602 MenhirLib.EngineTypes.next = {
16603 MenhirLib.EngineTypes.state = _menhir_s;
16604 MenhirLib.EngineTypes.startp = _startpos__1_;
16605 MenhirLib.EngineTypes.endp = _endpos__1_;
16606 MenhirLib.EngineTypes.next = _menhir_stack;
16607 };
16608 };
16609 };
16610 } = _menhir_stack in
16611 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
16612 let t1 : 'tv_ctype = Obj.magic t1 in
16613 let _startpos = _startpos__1_ in
16614 let _endpos = _endpos__4_ in
16615 let _v : (
16616# 163 "parser_cocci_menhir.mly"
16617 (Ast0_cocci.anything list list)
16618# 16619 "parser_cocci_menhir.ml"
16619 ) =
16620# 1961 "parser_cocci_menhir.mly"
16621 ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
16622# 16623 "parser_cocci_menhir.ml"
16623 in
16624 _menhir_env.MenhirLib.EngineTypes.stack <- {
16625 MenhirLib.EngineTypes.state = _menhir_s;
16626 MenhirLib.EngineTypes.semv = Obj.repr _v;
16627 MenhirLib.EngineTypes.startp = _startpos;
16628 MenhirLib.EngineTypes.endp = _endpos;
16629 MenhirLib.EngineTypes.next = _menhir_stack;
16630 });
16631 (fun _menhir_env ->
16632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16633 let {
16634 MenhirLib.EngineTypes.startp = _startpos__4_;
16635 MenhirLib.EngineTypes.endp = _endpos__4_;
16636 MenhirLib.EngineTypes.next = {
16637 MenhirLib.EngineTypes.semv = el;
16638 MenhirLib.EngineTypes.startp = _startpos_el_;
16639 MenhirLib.EngineTypes.endp = _endpos_el_;
16640 MenhirLib.EngineTypes.next = {
16641 MenhirLib.EngineTypes.semv = e1;
16642 MenhirLib.EngineTypes.startp = _startpos_e1_;
16643 MenhirLib.EngineTypes.endp = _endpos_e1_;
16644 MenhirLib.EngineTypes.next = {
16645 MenhirLib.EngineTypes.state = _menhir_s;
16646 MenhirLib.EngineTypes.startp = _startpos__1_;
16647 MenhirLib.EngineTypes.endp = _endpos__1_;
16648 MenhirLib.EngineTypes.next = _menhir_stack;
16649 };
16650 };
16651 };
16652 } = _menhir_stack in
16653 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
16654 let e1 : 'tv_nest_start = Obj.magic e1 in
16655 let _startpos = _startpos__1_ in
16656 let _endpos = _endpos__4_ in
16657 let _v : (
16658# 163 "parser_cocci_menhir.mly"
16659 (Ast0_cocci.anything list list)
16660# 16661 "parser_cocci_menhir.ml"
16661 ) =
16662# 1963 "parser_cocci_menhir.mly"
16663 ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
16664# 16665 "parser_cocci_menhir.ml"
16665 in
16666 _menhir_env.MenhirLib.EngineTypes.stack <- {
16667 MenhirLib.EngineTypes.state = _menhir_s;
16668 MenhirLib.EngineTypes.semv = Obj.repr _v;
16669 MenhirLib.EngineTypes.startp = _startpos;
16670 MenhirLib.EngineTypes.endp = _endpos;
16671 MenhirLib.EngineTypes.next = _menhir_stack;
16672 });
16673 (fun _menhir_env ->
16674 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16675 let {
16676 MenhirLib.EngineTypes.startp = _startpos__4_;
16677 MenhirLib.EngineTypes.endp = _endpos__4_;
16678 MenhirLib.EngineTypes.next = {
16679 MenhirLib.EngineTypes.semv = dl;
16680 MenhirLib.EngineTypes.startp = _startpos_dl_;
16681 MenhirLib.EngineTypes.endp = _endpos_dl_;
16682 MenhirLib.EngineTypes.next = {
16683 MenhirLib.EngineTypes.semv = d1;
16684 MenhirLib.EngineTypes.startp = _startpos_d1_;
16685 MenhirLib.EngineTypes.endp = _endpos_d1_;
16686 MenhirLib.EngineTypes.next = {
16687 MenhirLib.EngineTypes.state = _menhir_s;
16688 MenhirLib.EngineTypes.startp = _startpos__1_;
16689 MenhirLib.EngineTypes.endp = _endpos__1_;
16690 MenhirLib.EngineTypes.next = _menhir_stack;
16691 };
16692 };
16693 };
16694 } = _menhir_stack in
16695 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
16696 let d1 : 'tv_decl_var = Obj.magic d1 in
16697 let _startpos = _startpos__1_ in
16698 let _endpos = _endpos__4_ in
16699 let _v : (
16700# 163 "parser_cocci_menhir.mly"
16701 (Ast0_cocci.anything list list)
16702# 16703 "parser_cocci_menhir.ml"
16703 ) =
16704# 1965 "parser_cocci_menhir.mly"
16705 ( let check_one = function
16706 [x] -> x
16707 | _ ->
16708 raise
16709 (Semantic_cocci.Semantic
16710 "only one variable per declaration in an isomorphism rule") in
16711 let d1 = check_one d1 in
16712 let dl =
16713 List.map
16714 (function
16715 Common.Left x -> Common.Left(check_one x)
16716 | Common.Right x -> Common.Right(check_one x))
16717 dl in
16718 let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
16719# 16720 "parser_cocci_menhir.ml"
16720 in
16721 _menhir_env.MenhirLib.EngineTypes.stack <- {
16722 MenhirLib.EngineTypes.state = _menhir_s;
16723 MenhirLib.EngineTypes.semv = Obj.repr _v;
16724 MenhirLib.EngineTypes.startp = _startpos;
16725 MenhirLib.EngineTypes.endp = _endpos;
16726 MenhirLib.EngineTypes.next = _menhir_stack;
16727 });
16728 (fun _menhir_env ->
16729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16730 let {
16731 MenhirLib.EngineTypes.state = _menhir_s;
16732 MenhirLib.EngineTypes.semv = m;
16733 MenhirLib.EngineTypes.startp = _startpos_m_;
16734 MenhirLib.EngineTypes.endp = _endpos_m_;
16735 MenhirLib.EngineTypes.next = _menhir_stack;
16736 } = _menhir_stack in
16737 let m : 'tv_metadec = Obj.magic m in
16738 let _startpos = _startpos_m_ in
16739 let _endpos = _endpos_m_ in
16740 let _v : (
16741# 166 "parser_cocci_menhir.mly"
16742 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
16743# 16744 "parser_cocci_menhir.ml"
16744 ) =
16745# 183 "parser_cocci_menhir.mly"
16746 ( m "" )
16747# 16748 "parser_cocci_menhir.ml"
16748 in
16749 _menhir_env.MenhirLib.EngineTypes.stack <- {
16750 MenhirLib.EngineTypes.state = _menhir_s;
16751 MenhirLib.EngineTypes.semv = Obj.repr _v;
16752 MenhirLib.EngineTypes.startp = _startpos;
16753 MenhirLib.EngineTypes.endp = _endpos;
16754 MenhirLib.EngineTypes.next = _menhir_stack;
16755 });
16756 (fun _menhir_env ->
16757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16758 let {
16759 MenhirLib.EngineTypes.startp = _startpos__2_;
16760 MenhirLib.EngineTypes.endp = _endpos__2_;
16761 MenhirLib.EngineTypes.next = {
16762 MenhirLib.EngineTypes.state = _menhir_s;
16763 MenhirLib.EngineTypes.semv = nm;
16764 MenhirLib.EngineTypes.startp = _startpos_nm_;
16765 MenhirLib.EngineTypes.endp = _endpos_nm_;
16766 MenhirLib.EngineTypes.next = _menhir_stack;
16767 };
16768 } = _menhir_stack in
16769 let nm : 'tv_pure_ident = Obj.magic nm in
16770 let _startpos = _startpos_nm_ in
16771 let _endpos = _endpos__2_ in
16772 let _v : (
16773# 150 "parser_cocci_menhir.mly"
16774 (Ast_cocci.rulename)
16775# 16776 "parser_cocci_menhir.ml"
16776 ) =
16777# 198 "parser_cocci_menhir.mly"
16778 ( P.make_iso_rule_name_result (P.id2name nm) )
16779# 16780 "parser_cocci_menhir.ml"
16780 in
16781 _menhir_env.MenhirLib.EngineTypes.stack <- {
16782 MenhirLib.EngineTypes.state = _menhir_s;
16783 MenhirLib.EngineTypes.semv = Obj.repr _v;
16784 MenhirLib.EngineTypes.startp = _startpos;
16785 MenhirLib.EngineTypes.endp = _endpos;
16786 MenhirLib.EngineTypes.next = _menhir_stack;
16787 });
16788 (fun _menhir_env ->
16789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16790 let {
16791 MenhirLib.EngineTypes.state = _menhir_s;
16792 MenhirLib.EngineTypes.semv = _1;
16793 MenhirLib.EngineTypes.startp = _startpos__1_;
16794 MenhirLib.EngineTypes.endp = _endpos__1_;
16795 MenhirLib.EngineTypes.next = _menhir_stack;
16796 } = _menhir_stack in
16797 let _1 : (
16798# 59 "parser_cocci_menhir.mly"
16799 (string * Data.clt)
16800# 16801 "parser_cocci_menhir.ml"
16801 ) = Obj.magic _1 in
16802 let _startpos = _startpos__1_ in
16803 let _endpos = _endpos__1_ in
16804 let _v : 'tv_iter_ident =
16805# 1634 "parser_cocci_menhir.mly"
16806 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16807# 16808 "parser_cocci_menhir.ml"
16808 in
16809 _menhir_env.MenhirLib.EngineTypes.stack <- {
16810 MenhirLib.EngineTypes.state = _menhir_s;
16811 MenhirLib.EngineTypes.semv = Obj.repr _v;
16812 MenhirLib.EngineTypes.startp = _startpos;
16813 MenhirLib.EngineTypes.endp = _endpos;
16814 MenhirLib.EngineTypes.next = _menhir_stack;
16815 });
16816 (fun _menhir_env ->
16817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16818 let {
16819 MenhirLib.EngineTypes.state = _menhir_s;
16820 MenhirLib.EngineTypes.semv = _1;
16821 MenhirLib.EngineTypes.startp = _startpos__1_;
16822 MenhirLib.EngineTypes.endp = _endpos__1_;
16823 MenhirLib.EngineTypes.next = _menhir_stack;
16824 } = _menhir_stack in
16825 let _1 : (
16826# 63 "parser_cocci_menhir.mly"
16827 (Parse_aux.idinfo)
16828# 16829 "parser_cocci_menhir.ml"
16829 ) = Obj.magic _1 in
16830 let _startpos = _startpos__1_ in
16831 let _endpos = _endpos__1_ in
16832 let _v : 'tv_iter_ident =
16833# 1636 "parser_cocci_menhir.mly"
16834 ( let (nm,constraints,pure,clt) = _1 in
16835 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16836# 16837 "parser_cocci_menhir.ml"
16837 in
16838 _menhir_env.MenhirLib.EngineTypes.stack <- {
16839 MenhirLib.EngineTypes.state = _menhir_s;
16840 MenhirLib.EngineTypes.semv = Obj.repr _v;
16841 MenhirLib.EngineTypes.startp = _startpos;
16842 MenhirLib.EngineTypes.endp = _endpos;
16843 MenhirLib.EngineTypes.next = _menhir_stack;
16844 });
16845 (fun _menhir_env ->
16846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16847 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16848 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16849 let _endpos = _startpos in
16850 let _v : 'tv_list_TMul_ =
16851# 114 "standard.mly"
16852 ( [] )
16853# 16854 "parser_cocci_menhir.ml"
16854 in
16855 _menhir_env.MenhirLib.EngineTypes.stack <- {
16856 MenhirLib.EngineTypes.state = _menhir_s;
16857 MenhirLib.EngineTypes.semv = Obj.repr _v;
16858 MenhirLib.EngineTypes.startp = _startpos;
16859 MenhirLib.EngineTypes.endp = _endpos;
16860 MenhirLib.EngineTypes.next = _menhir_stack;
16861 });
16862 (fun _menhir_env ->
16863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16864 let {
16865 MenhirLib.EngineTypes.semv = xs;
16866 MenhirLib.EngineTypes.startp = _startpos_xs_;
16867 MenhirLib.EngineTypes.endp = _endpos_xs_;
16868 MenhirLib.EngineTypes.next = {
16869 MenhirLib.EngineTypes.state = _menhir_s;
16870 MenhirLib.EngineTypes.semv = x;
16871 MenhirLib.EngineTypes.startp = _startpos_x_;
16872 MenhirLib.EngineTypes.endp = _endpos_x_;
16873 MenhirLib.EngineTypes.next = _menhir_stack;
16874 };
16875 } = _menhir_stack in
16876 let xs : 'tv_list_TMul_ = Obj.magic xs in
16877 let x : (
16878# 100 "parser_cocci_menhir.mly"
16879 (Data.clt)
16880# 16881 "parser_cocci_menhir.ml"
16881 ) = Obj.magic x in
16882 let _startpos = _startpos_x_ in
16883 let _endpos = _endpos_xs_ in
16884 let _v : 'tv_list_TMul_ =
16885# 116 "standard.mly"
16886 ( x :: xs )
16887# 16888 "parser_cocci_menhir.ml"
16888 in
16889 _menhir_env.MenhirLib.EngineTypes.stack <- {
16890 MenhirLib.EngineTypes.state = _menhir_s;
16891 MenhirLib.EngineTypes.semv = Obj.repr _v;
16892 MenhirLib.EngineTypes.startp = _startpos;
16893 MenhirLib.EngineTypes.endp = _endpos;
16894 MenhirLib.EngineTypes.next = _menhir_stack;
16895 });
16896 (fun _menhir_env ->
16897 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16898 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16899 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16900 let _endpos = _startpos in
16901 let _v : 'tv_list_array_dec_ =
16902# 114 "standard.mly"
16903 ( [] )
16904# 16905 "parser_cocci_menhir.ml"
16905 in
16906 _menhir_env.MenhirLib.EngineTypes.stack <- {
16907 MenhirLib.EngineTypes.state = _menhir_s;
16908 MenhirLib.EngineTypes.semv = Obj.repr _v;
16909 MenhirLib.EngineTypes.startp = _startpos;
16910 MenhirLib.EngineTypes.endp = _endpos;
16911 MenhirLib.EngineTypes.next = _menhir_stack;
16912 });
16913 (fun _menhir_env ->
16914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16915 let {
16916 MenhirLib.EngineTypes.semv = xs;
16917 MenhirLib.EngineTypes.startp = _startpos_xs_;
16918 MenhirLib.EngineTypes.endp = _endpos_xs_;
16919 MenhirLib.EngineTypes.next = {
16920 MenhirLib.EngineTypes.state = _menhir_s;
16921 MenhirLib.EngineTypes.semv = x;
16922 MenhirLib.EngineTypes.startp = _startpos_x_;
16923 MenhirLib.EngineTypes.endp = _endpos_x_;
16924 MenhirLib.EngineTypes.next = _menhir_stack;
16925 };
16926 } = _menhir_stack in
16927 let xs : 'tv_list_array_dec_ = Obj.magic xs in
16928 let x : 'tv_array_dec = Obj.magic x in
16929 let _startpos = _startpos_x_ in
16930 let _endpos = _endpos_xs_ in
16931 let _v : 'tv_list_array_dec_ =
16932# 116 "standard.mly"
16933 ( x :: xs )
16934# 16935 "parser_cocci_menhir.ml"
16935 in
16936 _menhir_env.MenhirLib.EngineTypes.stack <- {
16937 MenhirLib.EngineTypes.state = _menhir_s;
16938 MenhirLib.EngineTypes.semv = Obj.repr _v;
16939 MenhirLib.EngineTypes.startp = _startpos;
16940 MenhirLib.EngineTypes.endp = _endpos;
16941 MenhirLib.EngineTypes.next = _menhir_stack;
16942 });
16943 (fun _menhir_env ->
16944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16945 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16946 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16947 let _endpos = _startpos in
16948 let _v : 'tv_list_case_line_ =
16949# 114 "standard.mly"
16950 ( [] )
16951# 16952 "parser_cocci_menhir.ml"
16952 in
16953 _menhir_env.MenhirLib.EngineTypes.stack <- {
16954 MenhirLib.EngineTypes.state = _menhir_s;
16955 MenhirLib.EngineTypes.semv = Obj.repr _v;
16956 MenhirLib.EngineTypes.startp = _startpos;
16957 MenhirLib.EngineTypes.endp = _endpos;
16958 MenhirLib.EngineTypes.next = _menhir_stack;
16959 });
16960 (fun _menhir_env ->
16961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16962 let {
16963 MenhirLib.EngineTypes.semv = xs;
16964 MenhirLib.EngineTypes.startp = _startpos_xs_;
16965 MenhirLib.EngineTypes.endp = _endpos_xs_;
16966 MenhirLib.EngineTypes.next = {
16967 MenhirLib.EngineTypes.state = _menhir_s;
16968 MenhirLib.EngineTypes.semv = x;
16969 MenhirLib.EngineTypes.startp = _startpos_x_;
16970 MenhirLib.EngineTypes.endp = _endpos_x_;
16971 MenhirLib.EngineTypes.next = _menhir_stack;
16972 };
16973 } = _menhir_stack in
16974 let xs : 'tv_list_case_line_ = Obj.magic xs in
16975 let x : 'tv_case_line = Obj.magic x in
16976 let _startpos = _startpos_x_ in
16977 let _endpos = _endpos_xs_ in
16978 let _v : 'tv_list_case_line_ =
16979# 116 "standard.mly"
16980 ( x :: xs )
16981# 16982 "parser_cocci_menhir.ml"
16982 in
16983 _menhir_env.MenhirLib.EngineTypes.stack <- {
16984 MenhirLib.EngineTypes.state = _menhir_s;
16985 MenhirLib.EngineTypes.semv = Obj.repr _v;
16986 MenhirLib.EngineTypes.startp = _startpos;
16987 MenhirLib.EngineTypes.endp = _endpos;
16988 MenhirLib.EngineTypes.next = _menhir_stack;
16989 });
16990 (fun _menhir_env ->
16991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16992 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16993 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16994 let _endpos = _startpos in
16995 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
16996# 114 "standard.mly"
16997 ( [] )
16998# 16999 "parser_cocci_menhir.ml"
16999 in
17000 _menhir_env.MenhirLib.EngineTypes.stack <- {
17001 MenhirLib.EngineTypes.state = _menhir_s;
17002 MenhirLib.EngineTypes.semv = Obj.repr _v;
17003 MenhirLib.EngineTypes.startp = _startpos;
17004 MenhirLib.EngineTypes.endp = _endpos;
17005 MenhirLib.EngineTypes.next = _menhir_stack;
17006 });
17007 (fun _menhir_env ->
17008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17009 let {
17010 MenhirLib.EngineTypes.semv = xs;
17011 MenhirLib.EngineTypes.startp = _startpos_xs_;
17012 MenhirLib.EngineTypes.endp = _endpos_xs_;
17013 MenhirLib.EngineTypes.next = {
17014 MenhirLib.EngineTypes.state = _menhir_s;
17015 MenhirLib.EngineTypes.semv = x;
17016 MenhirLib.EngineTypes.startp = _startpos_x_;
17017 MenhirLib.EngineTypes.endp = _endpos_x_;
17018 MenhirLib.EngineTypes.next = _menhir_stack;
17019 };
17020 } = _menhir_stack in
17021 let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
17022 let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
17023 let _startpos = _startpos_x_ in
17024 let _endpos = _endpos_xs_ in
17025 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
17026# 116 "standard.mly"
17027 ( x :: xs )
17028# 17029 "parser_cocci_menhir.ml"
17029 in
17030 _menhir_env.MenhirLib.EngineTypes.stack <- {
17031 MenhirLib.EngineTypes.state = _menhir_s;
17032 MenhirLib.EngineTypes.semv = Obj.repr _v;
17033 MenhirLib.EngineTypes.startp = _startpos;
17034 MenhirLib.EngineTypes.endp = _endpos;
17035 MenhirLib.EngineTypes.next = _menhir_stack;
17036 });
17037 (fun _menhir_env ->
17038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17039 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17040 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17041 let _endpos = _startpos in
17042 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17043# 114 "standard.mly"
17044 ( [] )
17045# 17046 "parser_cocci_menhir.ml"
17046 in
17047 _menhir_env.MenhirLib.EngineTypes.stack <- {
17048 MenhirLib.EngineTypes.state = _menhir_s;
17049 MenhirLib.EngineTypes.semv = Obj.repr _v;
17050 MenhirLib.EngineTypes.startp = _startpos;
17051 MenhirLib.EngineTypes.endp = _endpos;
17052 MenhirLib.EngineTypes.next = _menhir_stack;
17053 });
17054 (fun _menhir_env ->
17055 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17056 let {
17057 MenhirLib.EngineTypes.semv = xs;
17058 MenhirLib.EngineTypes.startp = _startpos_xs_;
17059 MenhirLib.EngineTypes.endp = _endpos_xs_;
17060 MenhirLib.EngineTypes.next = {
17061 MenhirLib.EngineTypes.state = _menhir_s;
17062 MenhirLib.EngineTypes.semv = x;
17063 MenhirLib.EngineTypes.startp = _startpos_x_;
17064 MenhirLib.EngineTypes.endp = _endpos_x_;
17065 MenhirLib.EngineTypes.next = _menhir_stack;
17066 };
17067 } = _menhir_stack in
17068 let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
17069 let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
17070 let _startpos = _startpos_x_ in
17071 let _endpos = _endpos_xs_ in
17072 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17073# 116 "standard.mly"
17074 ( x :: xs )
17075# 17076 "parser_cocci_menhir.ml"
17076 in
17077 _menhir_env.MenhirLib.EngineTypes.stack <- {
17078 MenhirLib.EngineTypes.state = _menhir_s;
17079 MenhirLib.EngineTypes.semv = Obj.repr _v;
17080 MenhirLib.EngineTypes.startp = _startpos;
17081 MenhirLib.EngineTypes.endp = _endpos;
17082 MenhirLib.EngineTypes.next = _menhir_stack;
17083 });
17084 (fun _menhir_env ->
17085 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17086 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17087 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17088 let _endpos = _startpos in
17089 let _v : 'tv_list_decl_var_ =
17090# 114 "standard.mly"
17091 ( [] )
17092# 17093 "parser_cocci_menhir.ml"
17093 in
17094 _menhir_env.MenhirLib.EngineTypes.stack <- {
17095 MenhirLib.EngineTypes.state = _menhir_s;
17096 MenhirLib.EngineTypes.semv = Obj.repr _v;
17097 MenhirLib.EngineTypes.startp = _startpos;
17098 MenhirLib.EngineTypes.endp = _endpos;
17099 MenhirLib.EngineTypes.next = _menhir_stack;
17100 });
17101 (fun _menhir_env ->
17102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17103 let {
17104 MenhirLib.EngineTypes.semv = xs;
17105 MenhirLib.EngineTypes.startp = _startpos_xs_;
17106 MenhirLib.EngineTypes.endp = _endpos_xs_;
17107 MenhirLib.EngineTypes.next = {
17108 MenhirLib.EngineTypes.state = _menhir_s;
17109 MenhirLib.EngineTypes.semv = x;
17110 MenhirLib.EngineTypes.startp = _startpos_x_;
17111 MenhirLib.EngineTypes.endp = _endpos_x_;
17112 MenhirLib.EngineTypes.next = _menhir_stack;
17113 };
17114 } = _menhir_stack in
17115 let xs : 'tv_list_decl_var_ = Obj.magic xs in
17116 let x : 'tv_decl_var = Obj.magic x in
17117 let _startpos = _startpos_x_ in
17118 let _endpos = _endpos_xs_ in
17119 let _v : 'tv_list_decl_var_ =
17120# 116 "standard.mly"
17121 ( x :: xs )
17122# 17123 "parser_cocci_menhir.ml"
17123 in
17124 _menhir_env.MenhirLib.EngineTypes.stack <- {
17125 MenhirLib.EngineTypes.state = _menhir_s;
17126 MenhirLib.EngineTypes.semv = Obj.repr _v;
17127 MenhirLib.EngineTypes.startp = _startpos;
17128 MenhirLib.EngineTypes.endp = _endpos;
17129 MenhirLib.EngineTypes.next = _menhir_stack;
17130 });
17131 (fun _menhir_env ->
17132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17133 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17134 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17135 let _endpos = _startpos in
17136 let _v : 'tv_list_designator_ =
17137# 114 "standard.mly"
17138 ( [] )
17139# 17140 "parser_cocci_menhir.ml"
17140 in
17141 _menhir_env.MenhirLib.EngineTypes.stack <- {
17142 MenhirLib.EngineTypes.state = _menhir_s;
17143 MenhirLib.EngineTypes.semv = Obj.repr _v;
17144 MenhirLib.EngineTypes.startp = _startpos;
17145 MenhirLib.EngineTypes.endp = _endpos;
17146 MenhirLib.EngineTypes.next = _menhir_stack;
17147 });
17148 (fun _menhir_env ->
17149 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17150 let {
17151 MenhirLib.EngineTypes.semv = xs;
17152 MenhirLib.EngineTypes.startp = _startpos_xs_;
17153 MenhirLib.EngineTypes.endp = _endpos_xs_;
17154 MenhirLib.EngineTypes.next = {
17155 MenhirLib.EngineTypes.state = _menhir_s;
17156 MenhirLib.EngineTypes.semv = x;
17157 MenhirLib.EngineTypes.startp = _startpos_x_;
17158 MenhirLib.EngineTypes.endp = _endpos_x_;
17159 MenhirLib.EngineTypes.next = _menhir_stack;
17160 };
17161 } = _menhir_stack in
17162 let xs : 'tv_list_designator_ = Obj.magic xs in
17163 let x : 'tv_designator = Obj.magic x in
17164 let _startpos = _startpos_x_ in
17165 let _endpos = _endpos_xs_ in
17166 let _v : 'tv_list_designator_ =
17167# 116 "standard.mly"
17168 ( x :: xs )
17169# 17170 "parser_cocci_menhir.ml"
17170 in
17171 _menhir_env.MenhirLib.EngineTypes.stack <- {
17172 MenhirLib.EngineTypes.state = _menhir_s;
17173 MenhirLib.EngineTypes.semv = Obj.repr _v;
17174 MenhirLib.EngineTypes.startp = _startpos;
17175 MenhirLib.EngineTypes.endp = _endpos;
17176 MenhirLib.EngineTypes.next = _menhir_stack;
17177 });
17178 (fun _menhir_env ->
17179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17180 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17181 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17182 let _endpos = _startpos in
17183 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17184# 114 "standard.mly"
17185 ( [] )
17186# 17187 "parser_cocci_menhir.ml"
17187 in
17188 _menhir_env.MenhirLib.EngineTypes.stack <- {
17189 MenhirLib.EngineTypes.state = _menhir_s;
17190 MenhirLib.EngineTypes.semv = Obj.repr _v;
17191 MenhirLib.EngineTypes.startp = _startpos;
17192 MenhirLib.EngineTypes.endp = _endpos;
17193 MenhirLib.EngineTypes.next = _menhir_stack;
17194 });
17195 (fun _menhir_env ->
17196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17197 let {
17198 MenhirLib.EngineTypes.semv = xs;
17199 MenhirLib.EngineTypes.startp = _startpos_xs_;
17200 MenhirLib.EngineTypes.endp = _endpos_xs_;
17201 MenhirLib.EngineTypes.next = {
17202 MenhirLib.EngineTypes.state = _menhir_s;
17203 MenhirLib.EngineTypes.semv = x;
17204 MenhirLib.EngineTypes.startp = _startpos_x_;
17205 MenhirLib.EngineTypes.endp = _endpos_x_;
17206 MenhirLib.EngineTypes.next = _menhir_stack;
17207 };
17208 } = _menhir_stack in
17209 let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
17210 let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
17211 let _startpos = _startpos_x_ in
17212 let _endpos = _endpos_xs_ in
17213 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17214# 116 "standard.mly"
17215 ( x :: xs )
17216# 17217 "parser_cocci_menhir.ml"
17217 in
17218 _menhir_env.MenhirLib.EngineTypes.stack <- {
17219 MenhirLib.EngineTypes.state = _menhir_s;
17220 MenhirLib.EngineTypes.semv = Obj.repr _v;
17221 MenhirLib.EngineTypes.startp = _startpos;
17222 MenhirLib.EngineTypes.endp = _endpos;
17223 MenhirLib.EngineTypes.next = _menhir_stack;
17224 });
17225 (fun _menhir_env ->
17226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17227 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17228 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17229 let _endpos = _startpos in
17230 let _v : 'tv_list_incl_ =
17231# 114 "standard.mly"
17232 ( [] )
17233# 17234 "parser_cocci_menhir.ml"
17234 in
17235 _menhir_env.MenhirLib.EngineTypes.stack <- {
17236 MenhirLib.EngineTypes.state = _menhir_s;
17237 MenhirLib.EngineTypes.semv = Obj.repr _v;
17238 MenhirLib.EngineTypes.startp = _startpos;
17239 MenhirLib.EngineTypes.endp = _endpos;
17240 MenhirLib.EngineTypes.next = _menhir_stack;
17241 });
17242 (fun _menhir_env ->
17243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17244 let {
17245 MenhirLib.EngineTypes.semv = xs;
17246 MenhirLib.EngineTypes.startp = _startpos_xs_;
17247 MenhirLib.EngineTypes.endp = _endpos_xs_;
17248 MenhirLib.EngineTypes.next = {
17249 MenhirLib.EngineTypes.state = _menhir_s;
17250 MenhirLib.EngineTypes.semv = x;
17251 MenhirLib.EngineTypes.startp = _startpos_x_;
17252 MenhirLib.EngineTypes.endp = _endpos_x_;
17253 MenhirLib.EngineTypes.next = _menhir_stack;
17254 };
17255 } = _menhir_stack in
17256 let xs : 'tv_list_incl_ = Obj.magic xs in
17257 let x : 'tv_incl = Obj.magic x in
17258 let _startpos = _startpos_x_ in
17259 let _endpos = _endpos_xs_ in
17260 let _v : 'tv_list_incl_ =
17261# 116 "standard.mly"
17262 ( x :: xs )
17263# 17264 "parser_cocci_menhir.ml"
17264 in
17265 _menhir_env.MenhirLib.EngineTypes.stack <- {
17266 MenhirLib.EngineTypes.state = _menhir_s;
17267 MenhirLib.EngineTypes.semv = Obj.repr _v;
17268 MenhirLib.EngineTypes.startp = _startpos;
17269 MenhirLib.EngineTypes.endp = _endpos;
17270 MenhirLib.EngineTypes.next = _menhir_stack;
17271 });
17272 (fun _menhir_env ->
17273 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17274 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17275 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17276 let _endpos = _startpos in
17277 let _v : 'tv_list_iso_ctype__ =
17278# 114 "standard.mly"
17279 ( [] )
17280# 17281 "parser_cocci_menhir.ml"
17281 in
17282 _menhir_env.MenhirLib.EngineTypes.stack <- {
17283 MenhirLib.EngineTypes.state = _menhir_s;
17284 MenhirLib.EngineTypes.semv = Obj.repr _v;
17285 MenhirLib.EngineTypes.startp = _startpos;
17286 MenhirLib.EngineTypes.endp = _endpos;
17287 MenhirLib.EngineTypes.next = _menhir_stack;
17288 });
17289 (fun _menhir_env ->
17290 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17291 let {
17292 MenhirLib.EngineTypes.semv = xs;
17293 MenhirLib.EngineTypes.startp = _startpos_xs_;
17294 MenhirLib.EngineTypes.endp = _endpos_xs_;
17295 MenhirLib.EngineTypes.next = {
17296 MenhirLib.EngineTypes.state = _menhir_s;
17297 MenhirLib.EngineTypes.semv = x;
17298 MenhirLib.EngineTypes.startp = _startpos_x_;
17299 MenhirLib.EngineTypes.endp = _endpos_x_;
17300 MenhirLib.EngineTypes.next = _menhir_stack;
17301 };
17302 } = _menhir_stack in
17303 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
17304 let x : 'tv_iso_ctype_ = Obj.magic x in
17305 let _startpos = _startpos_x_ in
17306 let _endpos = _endpos_xs_ in
17307 let _v : 'tv_list_iso_ctype__ =
17308# 116 "standard.mly"
17309 ( x :: xs )
17310# 17311 "parser_cocci_menhir.ml"
17311 in
17312 _menhir_env.MenhirLib.EngineTypes.stack <- {
17313 MenhirLib.EngineTypes.state = _menhir_s;
17314 MenhirLib.EngineTypes.semv = Obj.repr _v;
17315 MenhirLib.EngineTypes.startp = _startpos;
17316 MenhirLib.EngineTypes.endp = _endpos;
17317 MenhirLib.EngineTypes.next = _menhir_stack;
17318 });
17319 (fun _menhir_env ->
17320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17321 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17322 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17323 let _endpos = _startpos in
17324 let _v : 'tv_list_iso_decl_var__ =
17325# 114 "standard.mly"
17326 ( [] )
17327# 17328 "parser_cocci_menhir.ml"
17328 in
17329 _menhir_env.MenhirLib.EngineTypes.stack <- {
17330 MenhirLib.EngineTypes.state = _menhir_s;
17331 MenhirLib.EngineTypes.semv = Obj.repr _v;
17332 MenhirLib.EngineTypes.startp = _startpos;
17333 MenhirLib.EngineTypes.endp = _endpos;
17334 MenhirLib.EngineTypes.next = _menhir_stack;
17335 });
17336 (fun _menhir_env ->
17337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17338 let {
17339 MenhirLib.EngineTypes.semv = xs;
17340 MenhirLib.EngineTypes.startp = _startpos_xs_;
17341 MenhirLib.EngineTypes.endp = _endpos_xs_;
17342 MenhirLib.EngineTypes.next = {
17343 MenhirLib.EngineTypes.state = _menhir_s;
17344 MenhirLib.EngineTypes.semv = x;
17345 MenhirLib.EngineTypes.startp = _startpos_x_;
17346 MenhirLib.EngineTypes.endp = _endpos_x_;
17347 MenhirLib.EngineTypes.next = _menhir_stack;
17348 };
17349 } = _menhir_stack in
17350 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
17351 let x : 'tv_iso_decl_var_ = Obj.magic x in
17352 let _startpos = _startpos_x_ in
17353 let _endpos = _endpos_xs_ in
17354 let _v : 'tv_list_iso_decl_var__ =
17355# 116 "standard.mly"
17356 ( x :: xs )
17357# 17358 "parser_cocci_menhir.ml"
17358 in
17359 _menhir_env.MenhirLib.EngineTypes.stack <- {
17360 MenhirLib.EngineTypes.state = _menhir_s;
17361 MenhirLib.EngineTypes.semv = Obj.repr _v;
17362 MenhirLib.EngineTypes.startp = _startpos;
17363 MenhirLib.EngineTypes.endp = _endpos;
17364 MenhirLib.EngineTypes.next = _menhir_stack;
17365 });
17366 (fun _menhir_env ->
17367 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17368 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17369 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17370 let _endpos = _startpos in
17371 let _v : 'tv_list_iso_eexpr__ =
17372# 114 "standard.mly"
17373 ( [] )
17374# 17375 "parser_cocci_menhir.ml"
17375 in
17376 _menhir_env.MenhirLib.EngineTypes.stack <- {
17377 MenhirLib.EngineTypes.state = _menhir_s;
17378 MenhirLib.EngineTypes.semv = Obj.repr _v;
17379 MenhirLib.EngineTypes.startp = _startpos;
17380 MenhirLib.EngineTypes.endp = _endpos;
17381 MenhirLib.EngineTypes.next = _menhir_stack;
17382 });
17383 (fun _menhir_env ->
17384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17385 let {
17386 MenhirLib.EngineTypes.semv = xs;
17387 MenhirLib.EngineTypes.startp = _startpos_xs_;
17388 MenhirLib.EngineTypes.endp = _endpos_xs_;
17389 MenhirLib.EngineTypes.next = {
17390 MenhirLib.EngineTypes.state = _menhir_s;
17391 MenhirLib.EngineTypes.semv = x;
17392 MenhirLib.EngineTypes.startp = _startpos_x_;
17393 MenhirLib.EngineTypes.endp = _endpos_x_;
17394 MenhirLib.EngineTypes.next = _menhir_stack;
17395 };
17396 } = _menhir_stack in
17397 let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
17398 let x : 'tv_iso_eexpr_ = Obj.magic x in
17399 let _startpos = _startpos_x_ in
17400 let _endpos = _endpos_xs_ in
17401 let _v : 'tv_list_iso_eexpr__ =
17402# 116 "standard.mly"
17403 ( x :: xs )
17404# 17405 "parser_cocci_menhir.ml"
17405 in
17406 _menhir_env.MenhirLib.EngineTypes.stack <- {
17407 MenhirLib.EngineTypes.state = _menhir_s;
17408 MenhirLib.EngineTypes.semv = Obj.repr _v;
17409 MenhirLib.EngineTypes.startp = _startpos;
17410 MenhirLib.EngineTypes.endp = _endpos;
17411 MenhirLib.EngineTypes.next = _menhir_stack;
17412 });
17413 (fun _menhir_env ->
17414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17415 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17416 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17417 let _endpos = _startpos in
17418 let _v : 'tv_list_iso_nest_start__ =
17419# 114 "standard.mly"
17420 ( [] )
17421# 17422 "parser_cocci_menhir.ml"
17422 in
17423 _menhir_env.MenhirLib.EngineTypes.stack <- {
17424 MenhirLib.EngineTypes.state = _menhir_s;
17425 MenhirLib.EngineTypes.semv = Obj.repr _v;
17426 MenhirLib.EngineTypes.startp = _startpos;
17427 MenhirLib.EngineTypes.endp = _endpos;
17428 MenhirLib.EngineTypes.next = _menhir_stack;
17429 });
17430 (fun _menhir_env ->
17431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17432 let {
17433 MenhirLib.EngineTypes.semv = xs;
17434 MenhirLib.EngineTypes.startp = _startpos_xs_;
17435 MenhirLib.EngineTypes.endp = _endpos_xs_;
17436 MenhirLib.EngineTypes.next = {
17437 MenhirLib.EngineTypes.state = _menhir_s;
17438 MenhirLib.EngineTypes.semv = x;
17439 MenhirLib.EngineTypes.startp = _startpos_x_;
17440 MenhirLib.EngineTypes.endp = _endpos_x_;
17441 MenhirLib.EngineTypes.next = _menhir_stack;
17442 };
17443 } = _menhir_stack in
17444 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
17445 let x : 'tv_iso_nest_start_ = Obj.magic x in
17446 let _startpos = _startpos_x_ in
17447 let _endpos = _endpos_xs_ in
17448 let _v : 'tv_list_iso_nest_start__ =
17449# 116 "standard.mly"
17450 ( x :: xs )
17451# 17452 "parser_cocci_menhir.ml"
17452 in
17453 _menhir_env.MenhirLib.EngineTypes.stack <- {
17454 MenhirLib.EngineTypes.state = _menhir_s;
17455 MenhirLib.EngineTypes.semv = Obj.repr _v;
17456 MenhirLib.EngineTypes.startp = _startpos;
17457 MenhirLib.EngineTypes.endp = _endpos;
17458 MenhirLib.EngineTypes.next = _menhir_stack;
17459 });
17460 (fun _menhir_env ->
17461 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17462 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17463 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17464 let _endpos = _startpos in
17465 let _v : 'tv_list_iso_single_statement__ =
17466# 114 "standard.mly"
17467 ( [] )
17468# 17469 "parser_cocci_menhir.ml"
17469 in
17470 _menhir_env.MenhirLib.EngineTypes.stack <- {
17471 MenhirLib.EngineTypes.state = _menhir_s;
17472 MenhirLib.EngineTypes.semv = Obj.repr _v;
17473 MenhirLib.EngineTypes.startp = _startpos;
17474 MenhirLib.EngineTypes.endp = _endpos;
17475 MenhirLib.EngineTypes.next = _menhir_stack;
17476 });
17477 (fun _menhir_env ->
17478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17479 let {
17480 MenhirLib.EngineTypes.semv = xs;
17481 MenhirLib.EngineTypes.startp = _startpos_xs_;
17482 MenhirLib.EngineTypes.endp = _endpos_xs_;
17483 MenhirLib.EngineTypes.next = {
17484 MenhirLib.EngineTypes.state = _menhir_s;
17485 MenhirLib.EngineTypes.semv = x;
17486 MenhirLib.EngineTypes.startp = _startpos_x_;
17487 MenhirLib.EngineTypes.endp = _endpos_x_;
17488 MenhirLib.EngineTypes.next = _menhir_stack;
17489 };
17490 } = _menhir_stack in
17491 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
17492 let x : 'tv_iso_single_statement_ = Obj.magic x in
17493 let _startpos = _startpos_x_ in
17494 let _endpos = _endpos_xs_ in
17495 let _v : 'tv_list_iso_single_statement__ =
17496# 116 "standard.mly"
17497 ( x :: xs )
17498# 17499 "parser_cocci_menhir.ml"
17499 in
17500 _menhir_env.MenhirLib.EngineTypes.stack <- {
17501 MenhirLib.EngineTypes.state = _menhir_s;
17502 MenhirLib.EngineTypes.semv = Obj.repr _v;
17503 MenhirLib.EngineTypes.startp = _startpos;
17504 MenhirLib.EngineTypes.endp = _endpos;
17505 MenhirLib.EngineTypes.next = _menhir_stack;
17506 });
17507 (fun _menhir_env ->
17508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17509 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17510 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17511 let _endpos = _startpos in
17512 let _v : 'tv_list_mzl_ctype__ =
17513# 114 "standard.mly"
17514 ( [] )
17515# 17516 "parser_cocci_menhir.ml"
17516 in
17517 _menhir_env.MenhirLib.EngineTypes.stack <- {
17518 MenhirLib.EngineTypes.state = _menhir_s;
17519 MenhirLib.EngineTypes.semv = Obj.repr _v;
17520 MenhirLib.EngineTypes.startp = _startpos;
17521 MenhirLib.EngineTypes.endp = _endpos;
17522 MenhirLib.EngineTypes.next = _menhir_stack;
17523 });
17524 (fun _menhir_env ->
17525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17526 let {
17527 MenhirLib.EngineTypes.semv = xs;
17528 MenhirLib.EngineTypes.startp = _startpos_xs_;
17529 MenhirLib.EngineTypes.endp = _endpos_xs_;
17530 MenhirLib.EngineTypes.next = {
17531 MenhirLib.EngineTypes.state = _menhir_s;
17532 MenhirLib.EngineTypes.semv = x;
17533 MenhirLib.EngineTypes.startp = _startpos_x_;
17534 MenhirLib.EngineTypes.endp = _endpos_x_;
17535 MenhirLib.EngineTypes.next = _menhir_stack;
17536 };
17537 } = _menhir_stack in
17538 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
17539 let x : 'tv_mzl_ctype_ = Obj.magic x in
17540 let _startpos = _startpos_x_ in
17541 let _endpos = _endpos_xs_ in
17542 let _v : 'tv_list_mzl_ctype__ =
17543# 116 "standard.mly"
17544 ( x :: xs )
17545# 17546 "parser_cocci_menhir.ml"
17546 in
17547 _menhir_env.MenhirLib.EngineTypes.stack <- {
17548 MenhirLib.EngineTypes.state = _menhir_s;
17549 MenhirLib.EngineTypes.semv = Obj.repr _v;
17550 MenhirLib.EngineTypes.startp = _startpos;
17551 MenhirLib.EngineTypes.endp = _endpos;
17552 MenhirLib.EngineTypes.next = _menhir_stack;
17553 });
17554 (fun _menhir_env ->
17555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17556 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17557 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17558 let _endpos = _startpos in
17559 let _v : 'tv_list_mzl_eexpr__ =
17560# 114 "standard.mly"
17561 ( [] )
17562# 17563 "parser_cocci_menhir.ml"
17563 in
17564 _menhir_env.MenhirLib.EngineTypes.stack <- {
17565 MenhirLib.EngineTypes.state = _menhir_s;
17566 MenhirLib.EngineTypes.semv = Obj.repr _v;
17567 MenhirLib.EngineTypes.startp = _startpos;
17568 MenhirLib.EngineTypes.endp = _endpos;
17569 MenhirLib.EngineTypes.next = _menhir_stack;
17570 });
17571 (fun _menhir_env ->
17572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17573 let {
17574 MenhirLib.EngineTypes.semv = xs;
17575 MenhirLib.EngineTypes.startp = _startpos_xs_;
17576 MenhirLib.EngineTypes.endp = _endpos_xs_;
17577 MenhirLib.EngineTypes.next = {
17578 MenhirLib.EngineTypes.state = _menhir_s;
17579 MenhirLib.EngineTypes.semv = x;
17580 MenhirLib.EngineTypes.startp = _startpos_x_;
17581 MenhirLib.EngineTypes.endp = _endpos_x_;
17582 MenhirLib.EngineTypes.next = _menhir_stack;
17583 };
17584 } = _menhir_stack in
17585 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
17586 let x : 'tv_mzl_eexpr_ = Obj.magic x in
17587 let _startpos = _startpos_x_ in
17588 let _endpos = _endpos_xs_ in
17589 let _v : 'tv_list_mzl_eexpr__ =
17590# 116 "standard.mly"
17591 ( x :: xs )
17592# 17593 "parser_cocci_menhir.ml"
17593 in
17594 _menhir_env.MenhirLib.EngineTypes.stack <- {
17595 MenhirLib.EngineTypes.state = _menhir_s;
17596 MenhirLib.EngineTypes.semv = Obj.repr _v;
17597 MenhirLib.EngineTypes.startp = _startpos;
17598 MenhirLib.EngineTypes.endp = _endpos;
17599 MenhirLib.EngineTypes.next = _menhir_stack;
17600 });
17601 (fun _menhir_env ->
17602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17603 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17604 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17605 let _endpos = _startpos in
17606 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17607# 114 "standard.mly"
17608 ( [] )
17609# 17610 "parser_cocci_menhir.ml"
17610 in
17611 _menhir_env.MenhirLib.EngineTypes.stack <- {
17612 MenhirLib.EngineTypes.state = _menhir_s;
17613 MenhirLib.EngineTypes.semv = Obj.repr _v;
17614 MenhirLib.EngineTypes.startp = _startpos;
17615 MenhirLib.EngineTypes.endp = _endpos;
17616 MenhirLib.EngineTypes.next = _menhir_stack;
17617 });
17618 (fun _menhir_env ->
17619 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17620 let {
17621 MenhirLib.EngineTypes.semv = xs;
17622 MenhirLib.EngineTypes.startp = _startpos_xs_;
17623 MenhirLib.EngineTypes.endp = _endpos_xs_;
17624 MenhirLib.EngineTypes.next = {
17625 MenhirLib.EngineTypes.state = _menhir_s;
17626 MenhirLib.EngineTypes.semv = x;
17627 MenhirLib.EngineTypes.startp = _startpos_x_;
17628 MenhirLib.EngineTypes.endp = _endpos_x_;
17629 MenhirLib.EngineTypes.next = _menhir_stack;
17630 };
17631 } = _menhir_stack in
17632 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
17633 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
17634 let _startpos = _startpos_x_ in
17635 let _endpos = _endpos_xs_ in
17636 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17637# 116 "standard.mly"
17638 ( x :: xs )
17639# 17640 "parser_cocci_menhir.ml"
17640 in
17641 _menhir_env.MenhirLib.EngineTypes.stack <- {
17642 MenhirLib.EngineTypes.state = _menhir_s;
17643 MenhirLib.EngineTypes.semv = Obj.repr _v;
17644 MenhirLib.EngineTypes.startp = _startpos;
17645 MenhirLib.EngineTypes.endp = _endpos;
17646 MenhirLib.EngineTypes.next = _menhir_stack;
17647 });
17648 (fun _menhir_env ->
17649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17650 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17651 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17652 let _endpos = _startpos in
17653 let _v : 'tv_list_mzl_fun_start__ =
17654# 114 "standard.mly"
17655 ( [] )
17656# 17657 "parser_cocci_menhir.ml"
17657 in
17658 _menhir_env.MenhirLib.EngineTypes.stack <- {
17659 MenhirLib.EngineTypes.state = _menhir_s;
17660 MenhirLib.EngineTypes.semv = Obj.repr _v;
17661 MenhirLib.EngineTypes.startp = _startpos;
17662 MenhirLib.EngineTypes.endp = _endpos;
17663 MenhirLib.EngineTypes.next = _menhir_stack;
17664 });
17665 (fun _menhir_env ->
17666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17667 let {
17668 MenhirLib.EngineTypes.semv = xs;
17669 MenhirLib.EngineTypes.startp = _startpos_xs_;
17670 MenhirLib.EngineTypes.endp = _endpos_xs_;
17671 MenhirLib.EngineTypes.next = {
17672 MenhirLib.EngineTypes.state = _menhir_s;
17673 MenhirLib.EngineTypes.semv = x;
17674 MenhirLib.EngineTypes.startp = _startpos_x_;
17675 MenhirLib.EngineTypes.endp = _endpos_x_;
17676 MenhirLib.EngineTypes.next = _menhir_stack;
17677 };
17678 } = _menhir_stack in
17679 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
17680 let x : 'tv_mzl_fun_start_ = Obj.magic x in
17681 let _startpos = _startpos_x_ in
17682 let _endpos = _endpos_xs_ in
17683 let _v : 'tv_list_mzl_fun_start__ =
17684# 116 "standard.mly"
17685 ( x :: xs )
17686# 17687 "parser_cocci_menhir.ml"
17687 in
17688 _menhir_env.MenhirLib.EngineTypes.stack <- {
17689 MenhirLib.EngineTypes.state = _menhir_s;
17690 MenhirLib.EngineTypes.semv = Obj.repr _v;
17691 MenhirLib.EngineTypes.startp = _startpos;
17692 MenhirLib.EngineTypes.endp = _endpos;
17693 MenhirLib.EngineTypes.next = _menhir_stack;
17694 });
17695 (fun _menhir_env ->
17696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17697 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17698 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17699 let _endpos = _startpos in
17700 let _v : 'tv_list_mzl_rule_elem_statement__ =
17701# 114 "standard.mly"
17702 ( [] )
17703# 17704 "parser_cocci_menhir.ml"
17704 in
17705 _menhir_env.MenhirLib.EngineTypes.stack <- {
17706 MenhirLib.EngineTypes.state = _menhir_s;
17707 MenhirLib.EngineTypes.semv = Obj.repr _v;
17708 MenhirLib.EngineTypes.startp = _startpos;
17709 MenhirLib.EngineTypes.endp = _endpos;
17710 MenhirLib.EngineTypes.next = _menhir_stack;
17711 });
17712 (fun _menhir_env ->
17713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17714 let {
17715 MenhirLib.EngineTypes.semv = xs;
17716 MenhirLib.EngineTypes.startp = _startpos_xs_;
17717 MenhirLib.EngineTypes.endp = _endpos_xs_;
17718 MenhirLib.EngineTypes.next = {
17719 MenhirLib.EngineTypes.state = _menhir_s;
17720 MenhirLib.EngineTypes.semv = x;
17721 MenhirLib.EngineTypes.startp = _startpos_x_;
17722 MenhirLib.EngineTypes.endp = _endpos_x_;
17723 MenhirLib.EngineTypes.next = _menhir_stack;
17724 };
17725 } = _menhir_stack in
17726 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
17727 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
17728 let _startpos = _startpos_x_ in
17729 let _endpos = _endpos_xs_ in
17730 let _v : 'tv_list_mzl_rule_elem_statement__ =
17731# 116 "standard.mly"
17732 ( x :: xs )
17733# 17734 "parser_cocci_menhir.ml"
17734 in
17735 _menhir_env.MenhirLib.EngineTypes.stack <- {
17736 MenhirLib.EngineTypes.state = _menhir_s;
17737 MenhirLib.EngineTypes.semv = Obj.repr _v;
17738 MenhirLib.EngineTypes.startp = _startpos;
17739 MenhirLib.EngineTypes.endp = _endpos;
17740 MenhirLib.EngineTypes.next = _menhir_stack;
17741 });
17742 (fun _menhir_env ->
17743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17744 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17745 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17746 let _endpos = _startpos in
17747 let _v : 'tv_list_mzl_statement__ =
17748# 114 "standard.mly"
17749 ( [] )
17750# 17751 "parser_cocci_menhir.ml"
17751 in
17752 _menhir_env.MenhirLib.EngineTypes.stack <- {
17753 MenhirLib.EngineTypes.state = _menhir_s;
17754 MenhirLib.EngineTypes.semv = Obj.repr _v;
17755 MenhirLib.EngineTypes.startp = _startpos;
17756 MenhirLib.EngineTypes.endp = _endpos;
17757 MenhirLib.EngineTypes.next = _menhir_stack;
17758 });
17759 (fun _menhir_env ->
17760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17761 let {
17762 MenhirLib.EngineTypes.semv = xs;
17763 MenhirLib.EngineTypes.startp = _startpos_xs_;
17764 MenhirLib.EngineTypes.endp = _endpos_xs_;
17765 MenhirLib.EngineTypes.next = {
17766 MenhirLib.EngineTypes.state = _menhir_s;
17767 MenhirLib.EngineTypes.semv = x;
17768 MenhirLib.EngineTypes.startp = _startpos_x_;
17769 MenhirLib.EngineTypes.endp = _endpos_x_;
17770 MenhirLib.EngineTypes.next = _menhir_stack;
17771 };
17772 } = _menhir_stack in
17773 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
17774 let x : 'tv_mzl_statement_ = Obj.magic x in
17775 let _startpos = _startpos_x_ in
17776 let _endpos = _endpos_xs_ in
17777 let _v : 'tv_list_mzl_statement__ =
17778# 116 "standard.mly"
17779 ( x :: xs )
17780# 17781 "parser_cocci_menhir.ml"
17781 in
17782 _menhir_env.MenhirLib.EngineTypes.stack <- {
17783 MenhirLib.EngineTypes.state = _menhir_s;
17784 MenhirLib.EngineTypes.semv = Obj.repr _v;
17785 MenhirLib.EngineTypes.startp = _startpos;
17786 MenhirLib.EngineTypes.endp = _endpos;
17787 MenhirLib.EngineTypes.next = _menhir_stack;
17788 });
17789 (fun _menhir_env ->
17790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17791 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17792 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17793 let _endpos = _startpos in
17794 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
17795# 114 "standard.mly"
17796 ( [] )
17797# 17798 "parser_cocci_menhir.ml"
17798 in
17799 _menhir_env.MenhirLib.EngineTypes.stack <- {
17800 MenhirLib.EngineTypes.state = _menhir_s;
17801 MenhirLib.EngineTypes.semv = Obj.repr _v;
17802 MenhirLib.EngineTypes.startp = _startpos;
17803 MenhirLib.EngineTypes.endp = _endpos;
17804 MenhirLib.EngineTypes.next = _menhir_stack;
17805 });
17806 (fun _menhir_env ->
17807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17808 let {
17809 MenhirLib.EngineTypes.semv = xs;
17810 MenhirLib.EngineTypes.startp = _startpos_xs_;
17811 MenhirLib.EngineTypes.endp = _endpos_xs_;
17812 MenhirLib.EngineTypes.next = {
17813 MenhirLib.EngineTypes.semv = y0;
17814 MenhirLib.EngineTypes.startp = _startpos_y0_;
17815 MenhirLib.EngineTypes.endp = _endpos_y0_;
17816 MenhirLib.EngineTypes.next = {
17817 MenhirLib.EngineTypes.state = _menhir_s;
17818 MenhirLib.EngineTypes.semv = x0;
17819 MenhirLib.EngineTypes.startp = _startpos_x0_;
17820 MenhirLib.EngineTypes.endp = _endpos_x0_;
17821 MenhirLib.EngineTypes.next = _menhir_stack;
17822 };
17823 };
17824 } = _menhir_stack in
17825 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
17826 let y0 : 'tv_dexpr = Obj.magic y0 in
17827 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
17828 let _startpos = _startpos_x0_ in
17829 let _endpos = _endpos_xs_ in
17830 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
17831 let y = y0 in
17832 let x = x0 in
17833
17834# 70 "standard.mly"
17835 ( (x, y) )
17836# 17837 "parser_cocci_menhir.ml"
17837
17838 in
17839
17840# 116 "standard.mly"
17841 ( x :: xs )
17842# 17843 "parser_cocci_menhir.ml"
17843 in
17844 _menhir_env.MenhirLib.EngineTypes.stack <- {
17845 MenhirLib.EngineTypes.state = _menhir_s;
17846 MenhirLib.EngineTypes.semv = Obj.repr _v;
17847 MenhirLib.EngineTypes.startp = _startpos;
17848 MenhirLib.EngineTypes.endp = _endpos;
17849 MenhirLib.EngineTypes.next = _menhir_stack;
17850 });
17851 (fun _menhir_env ->
17852 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17853 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17854 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17855 let _endpos = _startpos in
17856 let _v : 'tv_list_whenppdecs_ =
17857# 114 "standard.mly"
17858 ( [] )
17859# 17860 "parser_cocci_menhir.ml"
17860 in
17861 _menhir_env.MenhirLib.EngineTypes.stack <- {
17862 MenhirLib.EngineTypes.state = _menhir_s;
17863 MenhirLib.EngineTypes.semv = Obj.repr _v;
17864 MenhirLib.EngineTypes.startp = _startpos;
17865 MenhirLib.EngineTypes.endp = _endpos;
17866 MenhirLib.EngineTypes.next = _menhir_stack;
17867 });
17868 (fun _menhir_env ->
17869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17870 let {
17871 MenhirLib.EngineTypes.semv = xs;
17872 MenhirLib.EngineTypes.startp = _startpos_xs_;
17873 MenhirLib.EngineTypes.endp = _endpos_xs_;
17874 MenhirLib.EngineTypes.next = {
17875 MenhirLib.EngineTypes.state = _menhir_s;
17876 MenhirLib.EngineTypes.semv = x;
17877 MenhirLib.EngineTypes.startp = _startpos_x_;
17878 MenhirLib.EngineTypes.endp = _endpos_x_;
17879 MenhirLib.EngineTypes.next = _menhir_stack;
17880 };
17881 } = _menhir_stack in
17882 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
17883 let x : 'tv_whenppdecs = Obj.magic x in
17884 let _startpos = _startpos_x_ in
17885 let _endpos = _endpos_xs_ in
17886 let _v : 'tv_list_whenppdecs_ =
17887# 116 "standard.mly"
17888 ( x :: xs )
17889# 17890 "parser_cocci_menhir.ml"
17890 in
17891 _menhir_env.MenhirLib.EngineTypes.stack <- {
17892 MenhirLib.EngineTypes.state = _menhir_s;
17893 MenhirLib.EngineTypes.semv = Obj.repr _v;
17894 MenhirLib.EngineTypes.startp = _startpos;
17895 MenhirLib.EngineTypes.endp = _endpos;
17896 MenhirLib.EngineTypes.next = _menhir_stack;
17897 });
17898 (fun _menhir_env ->
17899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17900 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17901 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17902 let _endpos = _startpos in
17903 let _v : 'tv_loption_choose_iso_ =
17904# 57 "standard.mly"
17905 ( [] )
17906# 17907 "parser_cocci_menhir.ml"
17907 in
17908 _menhir_env.MenhirLib.EngineTypes.stack <- {
17909 MenhirLib.EngineTypes.state = _menhir_s;
17910 MenhirLib.EngineTypes.semv = Obj.repr _v;
17911 MenhirLib.EngineTypes.startp = _startpos;
17912 MenhirLib.EngineTypes.endp = _endpos;
17913 MenhirLib.EngineTypes.next = _menhir_stack;
17914 });
17915 (fun _menhir_env ->
17916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17917 let {
17918 MenhirLib.EngineTypes.state = _menhir_s;
17919 MenhirLib.EngineTypes.semv = x;
17920 MenhirLib.EngineTypes.startp = _startpos_x_;
17921 MenhirLib.EngineTypes.endp = _endpos_x_;
17922 MenhirLib.EngineTypes.next = _menhir_stack;
17923 } = _menhir_stack in
17924 let x : 'tv_choose_iso = Obj.magic x in
17925 let _startpos = _startpos_x_ in
17926 let _endpos = _endpos_x_ in
17927 let _v : 'tv_loption_choose_iso_ =
17928# 59 "standard.mly"
17929 ( x )
17930# 17931 "parser_cocci_menhir.ml"
17931 in
17932 _menhir_env.MenhirLib.EngineTypes.stack <- {
17933 MenhirLib.EngineTypes.state = _menhir_s;
17934 MenhirLib.EngineTypes.semv = Obj.repr _v;
17935 MenhirLib.EngineTypes.startp = _startpos;
17936 MenhirLib.EngineTypes.endp = _endpos;
17937 MenhirLib.EngineTypes.next = _menhir_stack;
17938 });
17939 (fun _menhir_env ->
17940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17941 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17942 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17943 let _endpos = _startpos in
17944 let _v : 'tv_loption_disable_ =
17945# 57 "standard.mly"
17946 ( [] )
17947# 17948 "parser_cocci_menhir.ml"
17948 in
17949 _menhir_env.MenhirLib.EngineTypes.stack <- {
17950 MenhirLib.EngineTypes.state = _menhir_s;
17951 MenhirLib.EngineTypes.semv = Obj.repr _v;
17952 MenhirLib.EngineTypes.startp = _startpos;
17953 MenhirLib.EngineTypes.endp = _endpos;
17954 MenhirLib.EngineTypes.next = _menhir_stack;
17955 });
17956 (fun _menhir_env ->
17957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17958 let {
17959 MenhirLib.EngineTypes.state = _menhir_s;
17960 MenhirLib.EngineTypes.semv = x;
17961 MenhirLib.EngineTypes.startp = _startpos_x_;
17962 MenhirLib.EngineTypes.endp = _endpos_x_;
17963 MenhirLib.EngineTypes.next = _menhir_stack;
17964 } = _menhir_stack in
17965 let x : 'tv_disable = Obj.magic x in
17966 let _startpos = _startpos_x_ in
17967 let _endpos = _endpos_x_ in
17968 let _v : 'tv_loption_disable_ =
17969# 59 "standard.mly"
17970 ( x )
17971# 17972 "parser_cocci_menhir.ml"
17972 in
17973 _menhir_env.MenhirLib.EngineTypes.stack <- {
17974 MenhirLib.EngineTypes.state = _menhir_s;
17975 MenhirLib.EngineTypes.semv = Obj.repr _v;
17976 MenhirLib.EngineTypes.startp = _startpos;
17977 MenhirLib.EngineTypes.endp = _endpos;
17978 MenhirLib.EngineTypes.next = _menhir_stack;
17979 });
17980 (fun _menhir_env ->
17981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17982 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17983 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17984 let _endpos = _startpos in
17985 let _v : 'tv_loption_filespec_ =
17986# 57 "standard.mly"
17987 ( [] )
17988# 17989 "parser_cocci_menhir.ml"
17989 in
17990 _menhir_env.MenhirLib.EngineTypes.stack <- {
17991 MenhirLib.EngineTypes.state = _menhir_s;
17992 MenhirLib.EngineTypes.semv = Obj.repr _v;
17993 MenhirLib.EngineTypes.startp = _startpos;
17994 MenhirLib.EngineTypes.endp = _endpos;
17995 MenhirLib.EngineTypes.next = _menhir_stack;
17996 });
17997 (fun _menhir_env ->
17998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17999 let {
18000 MenhirLib.EngineTypes.state = _menhir_s;
18001 MenhirLib.EngineTypes.semv = x;
18002 MenhirLib.EngineTypes.startp = _startpos_x_;
18003 MenhirLib.EngineTypes.endp = _endpos_x_;
18004 MenhirLib.EngineTypes.next = _menhir_stack;
18005 } = _menhir_stack in
18006 let x : 'tv_filespec = Obj.magic x in
18007 let _startpos = _startpos_x_ in
18008 let _endpos = _endpos_x_ in
18009 let _v : 'tv_loption_filespec_ =
18010# 59 "standard.mly"
18011 ( x )
18012# 18013 "parser_cocci_menhir.ml"
18013 in
18014 _menhir_env.MenhirLib.EngineTypes.stack <- {
18015 MenhirLib.EngineTypes.state = _menhir_s;
18016 MenhirLib.EngineTypes.semv = Obj.repr _v;
18017 MenhirLib.EngineTypes.startp = _startpos;
18018 MenhirLib.EngineTypes.endp = _endpos;
18019 MenhirLib.EngineTypes.next = _menhir_stack;
18020 });
18021 (fun _menhir_env ->
18022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18023 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18024 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18025 let _endpos = _startpos in
18026 let _v : 'tv_loption_minus_start_ =
18027# 57 "standard.mly"
18028 ( [] )
18029# 18030 "parser_cocci_menhir.ml"
18030 in
18031 _menhir_env.MenhirLib.EngineTypes.stack <- {
18032 MenhirLib.EngineTypes.state = _menhir_s;
18033 MenhirLib.EngineTypes.semv = Obj.repr _v;
18034 MenhirLib.EngineTypes.startp = _startpos;
18035 MenhirLib.EngineTypes.endp = _endpos;
18036 MenhirLib.EngineTypes.next = _menhir_stack;
18037 });
18038 (fun _menhir_env ->
18039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18040 let {
18041 MenhirLib.EngineTypes.state = _menhir_s;
18042 MenhirLib.EngineTypes.semv = x;
18043 MenhirLib.EngineTypes.startp = _startpos_x_;
18044 MenhirLib.EngineTypes.endp = _endpos_x_;
18045 MenhirLib.EngineTypes.next = _menhir_stack;
18046 } = _menhir_stack in
18047 let x : 'tv_minus_start = Obj.magic x in
18048 let _startpos = _startpos_x_ in
18049 let _endpos = _endpos_x_ in
18050 let _v : 'tv_loption_minus_start_ =
18051# 59 "standard.mly"
18052 ( x )
18053# 18054 "parser_cocci_menhir.ml"
18054 in
18055 _menhir_env.MenhirLib.EngineTypes.stack <- {
18056 MenhirLib.EngineTypes.state = _menhir_s;
18057 MenhirLib.EngineTypes.semv = Obj.repr _v;
18058 MenhirLib.EngineTypes.startp = _startpos;
18059 MenhirLib.EngineTypes.endp = _endpos;
18060 MenhirLib.EngineTypes.next = _menhir_stack;
18061 });
18062 (fun _menhir_env ->
18063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18064 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18065 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18066 let _endpos = _startpos in
18067 let _v : 'tv_loption_not_ceq_ =
18068# 57 "standard.mly"
18069 ( [] )
18070# 18071 "parser_cocci_menhir.ml"
18071 in
18072 _menhir_env.MenhirLib.EngineTypes.stack <- {
18073 MenhirLib.EngineTypes.state = _menhir_s;
18074 MenhirLib.EngineTypes.semv = Obj.repr _v;
18075 MenhirLib.EngineTypes.startp = _startpos;
18076 MenhirLib.EngineTypes.endp = _endpos;
18077 MenhirLib.EngineTypes.next = _menhir_stack;
18078 });
18079 (fun _menhir_env ->
18080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18081 let {
18082 MenhirLib.EngineTypes.state = _menhir_s;
18083 MenhirLib.EngineTypes.semv = x;
18084 MenhirLib.EngineTypes.startp = _startpos_x_;
18085 MenhirLib.EngineTypes.endp = _endpos_x_;
18086 MenhirLib.EngineTypes.next = _menhir_stack;
18087 } = _menhir_stack in
18088 let x : 'tv_not_ceq = Obj.magic x in
18089 let _startpos = _startpos_x_ in
18090 let _endpos = _endpos_x_ in
18091 let _v : 'tv_loption_not_ceq_ =
18092# 59 "standard.mly"
18093 ( x )
18094# 18095 "parser_cocci_menhir.ml"
18095 in
18096 _menhir_env.MenhirLib.EngineTypes.stack <- {
18097 MenhirLib.EngineTypes.state = _menhir_s;
18098 MenhirLib.EngineTypes.semv = Obj.repr _v;
18099 MenhirLib.EngineTypes.startp = _startpos;
18100 MenhirLib.EngineTypes.endp = _endpos;
18101 MenhirLib.EngineTypes.next = _menhir_stack;
18102 });
18103 (fun _menhir_env ->
18104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18105 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18106 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18107 let _endpos = _startpos in
18108 let _v : 'tv_loption_not_pos_ =
18109# 57 "standard.mly"
18110 ( [] )
18111# 18112 "parser_cocci_menhir.ml"
18112 in
18113 _menhir_env.MenhirLib.EngineTypes.stack <- {
18114 MenhirLib.EngineTypes.state = _menhir_s;
18115 MenhirLib.EngineTypes.semv = Obj.repr _v;
18116 MenhirLib.EngineTypes.startp = _startpos;
18117 MenhirLib.EngineTypes.endp = _endpos;
18118 MenhirLib.EngineTypes.next = _menhir_stack;
18119 });
18120 (fun _menhir_env ->
18121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18122 let {
18123 MenhirLib.EngineTypes.state = _menhir_s;
18124 MenhirLib.EngineTypes.semv = x;
18125 MenhirLib.EngineTypes.startp = _startpos_x_;
18126 MenhirLib.EngineTypes.endp = _endpos_x_;
18127 MenhirLib.EngineTypes.next = _menhir_stack;
18128 } = _menhir_stack in
18129 let x : 'tv_not_pos = Obj.magic x in
18130 let _startpos = _startpos_x_ in
18131 let _endpos = _endpos_x_ in
18132 let _v : 'tv_loption_not_pos_ =
18133# 59 "standard.mly"
18134 ( x )
18135# 18136 "parser_cocci_menhir.ml"
18136 in
18137 _menhir_env.MenhirLib.EngineTypes.stack <- {
18138 MenhirLib.EngineTypes.state = _menhir_s;
18139 MenhirLib.EngineTypes.semv = Obj.repr _v;
18140 MenhirLib.EngineTypes.startp = _startpos;
18141 MenhirLib.EngineTypes.endp = _endpos;
18142 MenhirLib.EngineTypes.next = _menhir_stack;
18143 });
18144 (fun _menhir_env ->
18145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18146 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18147 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18148 let _endpos = _startpos in
18149 let _v : 'tv_loption_plus_start_ =
18150# 57 "standard.mly"
18151 ( [] )
18152# 18153 "parser_cocci_menhir.ml"
18153 in
18154 _menhir_env.MenhirLib.EngineTypes.stack <- {
18155 MenhirLib.EngineTypes.state = _menhir_s;
18156 MenhirLib.EngineTypes.semv = Obj.repr _v;
18157 MenhirLib.EngineTypes.startp = _startpos;
18158 MenhirLib.EngineTypes.endp = _endpos;
18159 MenhirLib.EngineTypes.next = _menhir_stack;
18160 });
18161 (fun _menhir_env ->
18162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18163 let {
18164 MenhirLib.EngineTypes.state = _menhir_s;
18165 MenhirLib.EngineTypes.semv = x;
18166 MenhirLib.EngineTypes.startp = _startpos_x_;
18167 MenhirLib.EngineTypes.endp = _endpos_x_;
18168 MenhirLib.EngineTypes.next = _menhir_stack;
18169 } = _menhir_stack in
18170 let x : 'tv_plus_start = Obj.magic x in
18171 let _startpos = _startpos_x_ in
18172 let _endpos = _endpos_x_ in
18173 let _v : 'tv_loption_plus_start_ =
18174# 59 "standard.mly"
18175 ( x )
18176# 18177 "parser_cocci_menhir.ml"
18177 in
18178 _menhir_env.MenhirLib.EngineTypes.stack <- {
18179 MenhirLib.EngineTypes.state = _menhir_s;
18180 MenhirLib.EngineTypes.semv = Obj.repr _v;
18181 MenhirLib.EngineTypes.startp = _startpos;
18182 MenhirLib.EngineTypes.endp = _endpos;
18183 MenhirLib.EngineTypes.next = _menhir_stack;
18184 });
18185 (fun _menhir_env ->
18186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18187 let {
18188 MenhirLib.EngineTypes.state = _menhir_s;
18189 MenhirLib.EngineTypes.semv = t;
18190 MenhirLib.EngineTypes.startp = _startpos_t_;
18191 MenhirLib.EngineTypes.endp = _endpos_t_;
18192 MenhirLib.EngineTypes.next = _menhir_stack;
18193 } = _menhir_stack in
18194 let t : 'tv_typedef_ctype = Obj.magic t in
18195 let _startpos = _startpos_t_ in
18196 let _endpos = _endpos_t_ in
18197 let _v : 'tv_meta_exp_type =
18198# 486 "parser_cocci_menhir.mly"
18199 ( [Ast0_cocci.ast0_type_to_type t] )
18200# 18201 "parser_cocci_menhir.ml"
18201 in
18202 _menhir_env.MenhirLib.EngineTypes.stack <- {
18203 MenhirLib.EngineTypes.state = _menhir_s;
18204 MenhirLib.EngineTypes.semv = Obj.repr _v;
18205 MenhirLib.EngineTypes.startp = _startpos;
18206 MenhirLib.EngineTypes.endp = _endpos;
18207 MenhirLib.EngineTypes.next = _menhir_stack;
18208 });
18209 (fun _menhir_env ->
18210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18211 let {
18212 MenhirLib.EngineTypes.semv = m;
18213 MenhirLib.EngineTypes.startp = _startpos_m_;
18214 MenhirLib.EngineTypes.endp = _endpos_m_;
18215 MenhirLib.EngineTypes.next = {
18216 MenhirLib.EngineTypes.startp = _startpos__3_;
18217 MenhirLib.EngineTypes.endp = _endpos__3_;
18218 MenhirLib.EngineTypes.next = {
18219 MenhirLib.EngineTypes.semv = t;
18220 MenhirLib.EngineTypes.startp = _startpos_t_;
18221 MenhirLib.EngineTypes.endp = _endpos_t_;
18222 MenhirLib.EngineTypes.next = {
18223 MenhirLib.EngineTypes.state = _menhir_s;
18224 MenhirLib.EngineTypes.startp = _startpos__1_;
18225 MenhirLib.EngineTypes.endp = _endpos__1_;
18226 MenhirLib.EngineTypes.next = _menhir_stack;
18227 };
18228 };
18229 };
18230 } = _menhir_stack in
18231 let m : 'tv_list_TMul_ = Obj.magic m in
18232 let t : 'tv_comma_list_ctype_ = Obj.magic t in
18233 let _startpos = _startpos__1_ in
18234 let _endpos = _endpos_m_ in
18235 let _v : 'tv_meta_exp_type =
18236# 488 "parser_cocci_menhir.mly"
18237 ( List.map
18238 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
18239 t )
18240# 18241 "parser_cocci_menhir.ml"
18241 in
18242 _menhir_env.MenhirLib.EngineTypes.stack <- {
18243 MenhirLib.EngineTypes.state = _menhir_s;
18244 MenhirLib.EngineTypes.semv = Obj.repr _v;
18245 MenhirLib.EngineTypes.startp = _startpos;
18246 MenhirLib.EngineTypes.endp = _endpos;
18247 MenhirLib.EngineTypes.next = _menhir_stack;
18248 });
18249 (fun _menhir_env ->
18250 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18251 let {
18252 MenhirLib.EngineTypes.semv = _3;
18253 MenhirLib.EngineTypes.startp = _startpos__3_;
18254 MenhirLib.EngineTypes.endp = _endpos__3_;
18255 MenhirLib.EngineTypes.next = {
18256 MenhirLib.EngineTypes.startp = _startpos__2_;
18257 MenhirLib.EngineTypes.endp = _endpos__2_;
18258 MenhirLib.EngineTypes.next = {
18259 MenhirLib.EngineTypes.state = _menhir_s;
18260 MenhirLib.EngineTypes.semv = _1;
18261 MenhirLib.EngineTypes.startp = _startpos__1_;
18262 MenhirLib.EngineTypes.endp = _endpos__1_;
18263 MenhirLib.EngineTypes.next = _menhir_stack;
18264 };
18265 };
18266 } = _menhir_stack in
18267 let _3 : 'tv_pure_ident = Obj.magic _3 in
18268 let _1 : (
18269# 47 "parser_cocci_menhir.mly"
18270 (string)
18271# 18272 "parser_cocci_menhir.ml"
18272 ) = Obj.magic _1 in
18273 let _startpos = _startpos__1_ in
18274 let _endpos = _endpos__3_ in
18275 let _v : 'tv_meta_ident =
18276# 1443 "parser_cocci_menhir.mly"
18277 ( (Some _1,P.id2name _3) )
18278# 18279 "parser_cocci_menhir.ml"
18279 in
18280 _menhir_env.MenhirLib.EngineTypes.stack <- {
18281 MenhirLib.EngineTypes.state = _menhir_s;
18282 MenhirLib.EngineTypes.semv = Obj.repr _v;
18283 MenhirLib.EngineTypes.startp = _startpos;
18284 MenhirLib.EngineTypes.endp = _endpos;
18285 MenhirLib.EngineTypes.next = _menhir_stack;
18286 });
18287 (fun _menhir_env ->
18288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18289 let {
18290 MenhirLib.EngineTypes.semv = _3;
18291 MenhirLib.EngineTypes.startp = _startpos__3_;
18292 MenhirLib.EngineTypes.endp = _endpos__3_;
18293 MenhirLib.EngineTypes.next = {
18294 MenhirLib.EngineTypes.startp = _startpos__2_;
18295 MenhirLib.EngineTypes.endp = _endpos__2_;
18296 MenhirLib.EngineTypes.next = {
18297 MenhirLib.EngineTypes.state = _menhir_s;
18298 MenhirLib.EngineTypes.semv = _1;
18299 MenhirLib.EngineTypes.startp = _startpos__1_;
18300 MenhirLib.EngineTypes.endp = _endpos__1_;
18301 MenhirLib.EngineTypes.next = _menhir_stack;
18302 };
18303 };
18304 } = _menhir_stack in
18305 let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
18306 let _1 : (
18307# 47 "parser_cocci_menhir.mly"
18308 (string)
18309# 18310 "parser_cocci_menhir.ml"
18310 ) = Obj.magic _1 in
18311 let _startpos = _startpos__1_ in
18312 let _endpos = _endpos__3_ in
18313 let _v : 'tv_meta_ident =
18314# 1444 "parser_cocci_menhir.mly"
18315 ( (Some _1,_3) )
18316# 18317 "parser_cocci_menhir.ml"
18317 in
18318 _menhir_env.MenhirLib.EngineTypes.stack <- {
18319 MenhirLib.EngineTypes.state = _menhir_s;
18320 MenhirLib.EngineTypes.semv = Obj.repr _v;
18321 MenhirLib.EngineTypes.startp = _startpos;
18322 MenhirLib.EngineTypes.endp = _endpos;
18323 MenhirLib.EngineTypes.next = _menhir_stack;
18324 });
18325 (fun _menhir_env ->
18326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18327 let {
18328 MenhirLib.EngineTypes.state = _menhir_s;
18329 MenhirLib.EngineTypes.semv = m;
18330 MenhirLib.EngineTypes.startp = _startpos_m_;
18331 MenhirLib.EngineTypes.endp = _endpos_m_;
18332 MenhirLib.EngineTypes.next = _menhir_stack;
18333 } = _menhir_stack in
18334 let m : 'tv_metadec = Obj.magic m in
18335 let _startpos = _startpos_m_ in
18336 let _endpos = _endpos_m_ in
18337 let _v : (
18338# 158 "parser_cocci_menhir.mly"
18339 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
18340# 18341 "parser_cocci_menhir.ml"
18341 ) =
18342# 182 "parser_cocci_menhir.mly"
18343 ( m (!Ast0.rule_name) )
18344# 18345 "parser_cocci_menhir.ml"
18345 in
18346 _menhir_env.MenhirLib.EngineTypes.stack <- {
18347 MenhirLib.EngineTypes.state = _menhir_s;
18348 MenhirLib.EngineTypes.semv = Obj.repr _v;
18349 MenhirLib.EngineTypes.startp = _startpos;
18350 MenhirLib.EngineTypes.endp = _endpos;
18351 MenhirLib.EngineTypes.next = _menhir_stack;
18352 });
18353 (fun _menhir_env ->
18354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18355 let {
18356 MenhirLib.EngineTypes.startp = _startpos__5_;
18357 MenhirLib.EngineTypes.endp = _endpos__5_;
18358 MenhirLib.EngineTypes.next = {
18359 MenhirLib.EngineTypes.semv = ids;
18360 MenhirLib.EngineTypes.startp = _startpos_ids_;
18361 MenhirLib.EngineTypes.endp = _endpos_ids_;
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 } = _menhir_stack in
18380 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18381 let ispure : 'tv_pure = Obj.magic ispure in
18382 let ar : 'tv_arity = Obj.magic ar in
18383 let _startpos = _startpos_ar_ in
18384 let _endpos = _endpos__5_ in
18385 let _v : 'tv_metadec = let kindfn =
18386
18387# 339 "parser_cocci_menhir.mly"
18388 ( (fun arity name pure check_meta ->
18389 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
18390 !Data.add_param_meta name pure; tok) )
18391# 18392 "parser_cocci_menhir.ml"
18392
18393 in
18394
18395# 271 "parser_cocci_menhir.mly"
18396 ( P.create_metadec ar ispure kindfn ids )
18397# 18398 "parser_cocci_menhir.ml"
18398 in
18399 _menhir_env.MenhirLib.EngineTypes.stack <- {
18400 MenhirLib.EngineTypes.state = _menhir_s;
18401 MenhirLib.EngineTypes.semv = Obj.repr _v;
18402 MenhirLib.EngineTypes.startp = _startpos;
18403 MenhirLib.EngineTypes.endp = _endpos;
18404 MenhirLib.EngineTypes.next = _menhir_stack;
18405 });
18406 (fun _menhir_env ->
18407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18408 let {
18409 MenhirLib.EngineTypes.startp = _startpos__6_;
18410 MenhirLib.EngineTypes.endp = _endpos__6_;
18411 MenhirLib.EngineTypes.next = {
18412 MenhirLib.EngineTypes.semv = ids;
18413 MenhirLib.EngineTypes.startp = _startpos_ids_;
18414 MenhirLib.EngineTypes.endp = _endpos_ids_;
18415 MenhirLib.EngineTypes.next = {
18416 MenhirLib.EngineTypes.startp = _startpos__4_;
18417 MenhirLib.EngineTypes.endp = _endpos__4_;
18418 MenhirLib.EngineTypes.next = {
18419 MenhirLib.EngineTypes.startp = _startpos__3_;
18420 MenhirLib.EngineTypes.endp = _endpos__3_;
18421 MenhirLib.EngineTypes.next = {
18422 MenhirLib.EngineTypes.semv = ispure;
18423 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18424 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18425 MenhirLib.EngineTypes.next = {
18426 MenhirLib.EngineTypes.state = _menhir_s;
18427 MenhirLib.EngineTypes.semv = ar;
18428 MenhirLib.EngineTypes.startp = _startpos_ar_;
18429 MenhirLib.EngineTypes.endp = _endpos_ar_;
18430 MenhirLib.EngineTypes.next = _menhir_stack;
18431 };
18432 };
18433 };
18434 };
18435 };
18436 } = _menhir_stack in
18437 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18438 let ispure : 'tv_pure = Obj.magic ispure in
18439 let ar : 'tv_arity = Obj.magic ar in
18440 let _startpos = _startpos_ar_ in
18441 let _endpos = _endpos__6_ in
18442 let _v : 'tv_metadec = let kindfn =
18443
18444# 343 "parser_cocci_menhir.mly"
18445 ( (fun arity name pure check_meta ->
18446 let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
18447 !Data.add_paramlist_meta name None pure; tok) )
18448# 18449 "parser_cocci_menhir.ml"
18449
18450 in
18451
18452# 271 "parser_cocci_menhir.mly"
18453 ( P.create_metadec ar ispure kindfn ids )
18454# 18455 "parser_cocci_menhir.ml"
18455 in
18456 _menhir_env.MenhirLib.EngineTypes.stack <- {
18457 MenhirLib.EngineTypes.state = _menhir_s;
18458 MenhirLib.EngineTypes.semv = Obj.repr _v;
18459 MenhirLib.EngineTypes.startp = _startpos;
18460 MenhirLib.EngineTypes.endp = _endpos;
18461 MenhirLib.EngineTypes.next = _menhir_stack;
18462 });
18463 (fun _menhir_env ->
18464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18465 let {
18466 MenhirLib.EngineTypes.startp = _startpos__6_;
18467 MenhirLib.EngineTypes.endp = _endpos__6_;
18468 MenhirLib.EngineTypes.next = {
18469 MenhirLib.EngineTypes.semv = ids;
18470 MenhirLib.EngineTypes.startp = _startpos_ids_;
18471 MenhirLib.EngineTypes.endp = _endpos_ids_;
18472 MenhirLib.EngineTypes.next = {
18473 MenhirLib.EngineTypes.startp = _startpos__4_;
18474 MenhirLib.EngineTypes.endp = _endpos__4_;
18475 MenhirLib.EngineTypes.next = {
18476 MenhirLib.EngineTypes.startp = _startpos__3_;
18477 MenhirLib.EngineTypes.endp = _endpos__3_;
18478 MenhirLib.EngineTypes.next = {
18479 MenhirLib.EngineTypes.semv = ispure;
18480 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18481 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18482 MenhirLib.EngineTypes.next = {
18483 MenhirLib.EngineTypes.state = _menhir_s;
18484 MenhirLib.EngineTypes.semv = ar;
18485 MenhirLib.EngineTypes.startp = _startpos_ar_;
18486 MenhirLib.EngineTypes.endp = _endpos_ar_;
18487 MenhirLib.EngineTypes.next = _menhir_stack;
18488 };
18489 };
18490 };
18491 };
18492 };
18493 } = _menhir_stack in
18494 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18495 let ispure : 'tv_pure = Obj.magic ispure in
18496 let ar : 'tv_arity = Obj.magic ar in
18497 let _startpos = _startpos_ar_ in
18498 let _endpos = _endpos__6_ in
18499 let _v : 'tv_metadec = let kindfn =
18500
18501# 347 "parser_cocci_menhir.mly"
18502 ( (fun arity name pure check_meta ->
18503 let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
18504 !Data.add_explist_meta name None pure; tok) )
18505# 18506 "parser_cocci_menhir.ml"
18506
18507 in
18508
18509# 271 "parser_cocci_menhir.mly"
18510 ( P.create_metadec ar ispure kindfn ids )
18511# 18512 "parser_cocci_menhir.ml"
18512 in
18513 _menhir_env.MenhirLib.EngineTypes.stack <- {
18514 MenhirLib.EngineTypes.state = _menhir_s;
18515 MenhirLib.EngineTypes.semv = Obj.repr _v;
18516 MenhirLib.EngineTypes.startp = _startpos;
18517 MenhirLib.EngineTypes.endp = _endpos;
18518 MenhirLib.EngineTypes.next = _menhir_stack;
18519 });
18520 (fun _menhir_env ->
18521 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18522 let {
18523 MenhirLib.EngineTypes.startp = _startpos__5_;
18524 MenhirLib.EngineTypes.endp = _endpos__5_;
18525 MenhirLib.EngineTypes.next = {
18526 MenhirLib.EngineTypes.semv = ids;
18527 MenhirLib.EngineTypes.startp = _startpos_ids_;
18528 MenhirLib.EngineTypes.endp = _endpos_ids_;
18529 MenhirLib.EngineTypes.next = {
18530 MenhirLib.EngineTypes.startp = _startpos__3_;
18531 MenhirLib.EngineTypes.endp = _endpos__3_;
18532 MenhirLib.EngineTypes.next = {
18533 MenhirLib.EngineTypes.semv = ispure;
18534 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18535 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18536 MenhirLib.EngineTypes.next = {
18537 MenhirLib.EngineTypes.state = _menhir_s;
18538 MenhirLib.EngineTypes.semv = ar;
18539 MenhirLib.EngineTypes.startp = _startpos_ar_;
18540 MenhirLib.EngineTypes.endp = _endpos_ar_;
18541 MenhirLib.EngineTypes.next = _menhir_stack;
18542 };
18543 };
18544 };
18545 };
18546 } = _menhir_stack in
18547 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18548 let ispure : 'tv_pure = Obj.magic ispure in
18549 let ar : 'tv_arity = Obj.magic ar in
18550 let _startpos = _startpos_ar_ in
18551 let _endpos = _endpos__5_ in
18552 let _v : 'tv_metadec = let kindfn =
18553
18554# 351 "parser_cocci_menhir.mly"
18555 ( (fun arity name pure check_meta ->
18556 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
18557 !Data.add_type_meta name pure; tok) )
18558# 18559 "parser_cocci_menhir.ml"
18559
18560 in
18561
18562# 271 "parser_cocci_menhir.mly"
18563 ( P.create_metadec ar ispure kindfn ids )
18564# 18565 "parser_cocci_menhir.ml"
18565 in
18566 _menhir_env.MenhirLib.EngineTypes.stack <- {
18567 MenhirLib.EngineTypes.state = _menhir_s;
18568 MenhirLib.EngineTypes.semv = Obj.repr _v;
18569 MenhirLib.EngineTypes.startp = _startpos;
18570 MenhirLib.EngineTypes.endp = _endpos;
18571 MenhirLib.EngineTypes.next = _menhir_stack;
18572 });
18573 (fun _menhir_env ->
18574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18575 let {
18576 MenhirLib.EngineTypes.startp = _startpos__5_;
18577 MenhirLib.EngineTypes.endp = _endpos__5_;
18578 MenhirLib.EngineTypes.next = {
18579 MenhirLib.EngineTypes.semv = ids;
18580 MenhirLib.EngineTypes.startp = _startpos_ids_;
18581 MenhirLib.EngineTypes.endp = _endpos_ids_;
18582 MenhirLib.EngineTypes.next = {
18583 MenhirLib.EngineTypes.startp = _startpos__3_;
18584 MenhirLib.EngineTypes.endp = _endpos__3_;
18585 MenhirLib.EngineTypes.next = {
18586 MenhirLib.EngineTypes.semv = ispure;
18587 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18588 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18589 MenhirLib.EngineTypes.next = {
18590 MenhirLib.EngineTypes.state = _menhir_s;
18591 MenhirLib.EngineTypes.semv = ar;
18592 MenhirLib.EngineTypes.startp = _startpos_ar_;
18593 MenhirLib.EngineTypes.endp = _endpos_ar_;
18594 MenhirLib.EngineTypes.next = _menhir_stack;
18595 };
18596 };
18597 };
18598 };
18599 } = _menhir_stack in
18600 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18601 let ispure : 'tv_pure = Obj.magic ispure in
18602 let ar : 'tv_arity = Obj.magic ar in
18603 let _startpos = _startpos_ar_ in
18604 let _endpos = _endpos__5_ in
18605 let _v : 'tv_metadec = let kindfn =
18606
18607# 355 "parser_cocci_menhir.mly"
18608 ( (fun arity name pure check_meta ->
18609 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
18610 !Data.add_init_meta name pure; tok) )
18611# 18612 "parser_cocci_menhir.ml"
18612
18613 in
18614
18615# 271 "parser_cocci_menhir.mly"
18616 ( P.create_metadec ar ispure kindfn ids )
18617# 18618 "parser_cocci_menhir.ml"
18618 in
18619 _menhir_env.MenhirLib.EngineTypes.stack <- {
18620 MenhirLib.EngineTypes.state = _menhir_s;
18621 MenhirLib.EngineTypes.semv = Obj.repr _v;
18622 MenhirLib.EngineTypes.startp = _startpos;
18623 MenhirLib.EngineTypes.endp = _endpos;
18624 MenhirLib.EngineTypes.next = _menhir_stack;
18625 });
18626 (fun _menhir_env ->
18627 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18628 let {
18629 MenhirLib.EngineTypes.startp = _startpos__5_;
18630 MenhirLib.EngineTypes.endp = _endpos__5_;
18631 MenhirLib.EngineTypes.next = {
18632 MenhirLib.EngineTypes.semv = ids;
18633 MenhirLib.EngineTypes.startp = _startpos_ids_;
18634 MenhirLib.EngineTypes.endp = _endpos_ids_;
18635 MenhirLib.EngineTypes.next = {
18636 MenhirLib.EngineTypes.startp = _startpos__3_;
18637 MenhirLib.EngineTypes.endp = _endpos__3_;
18638 MenhirLib.EngineTypes.next = {
18639 MenhirLib.EngineTypes.semv = ispure;
18640 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18641 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18642 MenhirLib.EngineTypes.next = {
18643 MenhirLib.EngineTypes.state = _menhir_s;
18644 MenhirLib.EngineTypes.semv = ar;
18645 MenhirLib.EngineTypes.startp = _startpos_ar_;
18646 MenhirLib.EngineTypes.endp = _endpos_ar_;
18647 MenhirLib.EngineTypes.next = _menhir_stack;
18648 };
18649 };
18650 };
18651 };
18652 } = _menhir_stack in
18653 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18654 let ispure : 'tv_pure = Obj.magic ispure in
18655 let ar : 'tv_arity = Obj.magic ar in
18656 let _startpos = _startpos_ar_ in
18657 let _endpos = _endpos__5_ in
18658 let _v : 'tv_metadec = let kindfn =
18659
18660# 359 "parser_cocci_menhir.mly"
18661 ( (fun arity name pure check_meta ->
18662 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
18663 !Data.add_stm_meta name pure; tok) )
18664# 18665 "parser_cocci_menhir.ml"
18665
18666 in
18667
18668# 271 "parser_cocci_menhir.mly"
18669 ( P.create_metadec ar ispure kindfn ids )
18670# 18671 "parser_cocci_menhir.ml"
18671 in
18672 _menhir_env.MenhirLib.EngineTypes.stack <- {
18673 MenhirLib.EngineTypes.state = _menhir_s;
18674 MenhirLib.EngineTypes.semv = Obj.repr _v;
18675 MenhirLib.EngineTypes.startp = _startpos;
18676 MenhirLib.EngineTypes.endp = _endpos;
18677 MenhirLib.EngineTypes.next = _menhir_stack;
18678 });
18679 (fun _menhir_env ->
18680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18681 let {
18682 MenhirLib.EngineTypes.startp = _startpos__6_;
18683 MenhirLib.EngineTypes.endp = _endpos__6_;
18684 MenhirLib.EngineTypes.next = {
18685 MenhirLib.EngineTypes.semv = ids;
18686 MenhirLib.EngineTypes.startp = _startpos_ids_;
18687 MenhirLib.EngineTypes.endp = _endpos_ids_;
18688 MenhirLib.EngineTypes.next = {
18689 MenhirLib.EngineTypes.startp = _startpos__4_;
18690 MenhirLib.EngineTypes.endp = _endpos__4_;
18691 MenhirLib.EngineTypes.next = {
18692 MenhirLib.EngineTypes.startp = _startpos__3_;
18693 MenhirLib.EngineTypes.endp = _endpos__3_;
18694 MenhirLib.EngineTypes.next = {
18695 MenhirLib.EngineTypes.semv = ispure;
18696 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18697 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18698 MenhirLib.EngineTypes.next = {
18699 MenhirLib.EngineTypes.state = _menhir_s;
18700 MenhirLib.EngineTypes.semv = ar;
18701 MenhirLib.EngineTypes.startp = _startpos_ar_;
18702 MenhirLib.EngineTypes.endp = _endpos_ar_;
18703 MenhirLib.EngineTypes.next = _menhir_stack;
18704 };
18705 };
18706 };
18707 };
18708 };
18709 } = _menhir_stack in
18710 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18711 let ispure : 'tv_pure = Obj.magic ispure in
18712 let ar : 'tv_arity = Obj.magic ar in
18713 let _startpos = _startpos_ar_ in
18714 let _endpos = _endpos__6_ in
18715 let _v : 'tv_metadec = let kindfn =
18716
18717# 363 "parser_cocci_menhir.mly"
18718 ( (fun arity name pure check_meta ->
18719 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
18720 !Data.add_stmlist_meta name pure; tok) )
18721# 18722 "parser_cocci_menhir.ml"
18722
18723 in
18724
18725# 271 "parser_cocci_menhir.mly"
18726 ( P.create_metadec ar ispure kindfn ids )
18727# 18728 "parser_cocci_menhir.ml"
18728 in
18729 _menhir_env.MenhirLib.EngineTypes.stack <- {
18730 MenhirLib.EngineTypes.state = _menhir_s;
18731 MenhirLib.EngineTypes.semv = Obj.repr _v;
18732 MenhirLib.EngineTypes.startp = _startpos;
18733 MenhirLib.EngineTypes.endp = _endpos;
18734 MenhirLib.EngineTypes.next = _menhir_stack;
18735 });
18736 (fun _menhir_env ->
18737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18738 let {
18739 MenhirLib.EngineTypes.startp = _startpos__5_;
18740 MenhirLib.EngineTypes.endp = _endpos__5_;
18741 MenhirLib.EngineTypes.next = {
18742 MenhirLib.EngineTypes.semv = ids;
18743 MenhirLib.EngineTypes.startp = _startpos_ids_;
18744 MenhirLib.EngineTypes.endp = _endpos_ids_;
18745 MenhirLib.EngineTypes.next = {
18746 MenhirLib.EngineTypes.startp = _startpos__3_;
18747 MenhirLib.EngineTypes.endp = _endpos__3_;
18748 MenhirLib.EngineTypes.next = {
18749 MenhirLib.EngineTypes.semv = ispure;
18750 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18751 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18752 MenhirLib.EngineTypes.next = {
18753 MenhirLib.EngineTypes.state = _menhir_s;
18754 MenhirLib.EngineTypes.semv = ar;
18755 MenhirLib.EngineTypes.startp = _startpos_ar_;
18756 MenhirLib.EngineTypes.endp = _endpos_ar_;
18757 MenhirLib.EngineTypes.next = _menhir_stack;
18758 };
18759 };
18760 };
18761 };
18762 } = _menhir_stack in
18763 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18764 let ispure : 'tv_pure = Obj.magic ispure in
18765 let ar : 'tv_arity = Obj.magic ar in
18766 let _startpos = _startpos_ar_ in
18767 let _endpos = _endpos__5_ in
18768 let _v : 'tv_metadec = let kindfn =
18769
18770# 367 "parser_cocci_menhir.mly"
18771 ( (fun arity (_,name) pure check_meta ->
18772 if arity = Ast.NONE && pure = Ast0.Impure
18773 then (!Data.add_type_name name; [])
18774 else raise (Semantic_cocci.Semantic "bad typedef")) )
18775# 18776 "parser_cocci_menhir.ml"
18776
18777 in
18778
18779# 271 "parser_cocci_menhir.mly"
18780 ( P.create_metadec ar ispure kindfn ids )
18781# 18782 "parser_cocci_menhir.ml"
18782 in
18783 _menhir_env.MenhirLib.EngineTypes.stack <- {
18784 MenhirLib.EngineTypes.state = _menhir_s;
18785 MenhirLib.EngineTypes.semv = Obj.repr _v;
18786 MenhirLib.EngineTypes.startp = _startpos;
18787 MenhirLib.EngineTypes.endp = _endpos;
18788 MenhirLib.EngineTypes.next = _menhir_stack;
18789 });
18790 (fun _menhir_env ->
18791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18792 let {
18793 MenhirLib.EngineTypes.startp = _startpos__6_;
18794 MenhirLib.EngineTypes.endp = _endpos__6_;
18795 MenhirLib.EngineTypes.next = {
18796 MenhirLib.EngineTypes.semv = ids;
18797 MenhirLib.EngineTypes.startp = _startpos_ids_;
18798 MenhirLib.EngineTypes.endp = _endpos_ids_;
18799 MenhirLib.EngineTypes.next = {
18800 MenhirLib.EngineTypes.startp = _startpos__4_;
18801 MenhirLib.EngineTypes.endp = _endpos__4_;
18802 MenhirLib.EngineTypes.next = {
18803 MenhirLib.EngineTypes.startp = _startpos__3_;
18804 MenhirLib.EngineTypes.endp = _endpos__3_;
18805 MenhirLib.EngineTypes.next = {
18806 MenhirLib.EngineTypes.semv = ispure;
18807 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18808 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18809 MenhirLib.EngineTypes.next = {
18810 MenhirLib.EngineTypes.state = _menhir_s;
18811 MenhirLib.EngineTypes.semv = ar;
18812 MenhirLib.EngineTypes.startp = _startpos_ar_;
18813 MenhirLib.EngineTypes.endp = _endpos_ar_;
18814 MenhirLib.EngineTypes.next = _menhir_stack;
18815 };
18816 };
18817 };
18818 };
18819 };
18820 } = _menhir_stack in
18821 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18822 let ispure : 'tv_pure = Obj.magic ispure in
18823 let ar : 'tv_arity = Obj.magic ar in
18824 let _startpos = _startpos_ar_ in
18825 let _endpos = _endpos__6_ in
18826 let _v : 'tv_metadec = let kindfn =
18827
18828# 372 "parser_cocci_menhir.mly"
18829 ( (fun arity (_,name) pure check_meta ->
18830 if arity = Ast.NONE && pure = Ast0.Impure
18831 then (!Data.add_declarer_name name; [])
18832 else raise (Semantic_cocci.Semantic "bad declarer")) )
18833# 18834 "parser_cocci_menhir.ml"
18834
18835 in
18836
18837# 271 "parser_cocci_menhir.mly"
18838 ( P.create_metadec ar ispure kindfn ids )
18839# 18840 "parser_cocci_menhir.ml"
18840 in
18841 _menhir_env.MenhirLib.EngineTypes.stack <- {
18842 MenhirLib.EngineTypes.state = _menhir_s;
18843 MenhirLib.EngineTypes.semv = Obj.repr _v;
18844 MenhirLib.EngineTypes.startp = _startpos;
18845 MenhirLib.EngineTypes.endp = _endpos;
18846 MenhirLib.EngineTypes.next = _menhir_stack;
18847 });
18848 (fun _menhir_env ->
18849 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18850 let {
18851 MenhirLib.EngineTypes.startp = _startpos__6_;
18852 MenhirLib.EngineTypes.endp = _endpos__6_;
18853 MenhirLib.EngineTypes.next = {
18854 MenhirLib.EngineTypes.semv = ids;
18855 MenhirLib.EngineTypes.startp = _startpos_ids_;
18856 MenhirLib.EngineTypes.endp = _endpos_ids_;
18857 MenhirLib.EngineTypes.next = {
18858 MenhirLib.EngineTypes.startp = _startpos__4_;
18859 MenhirLib.EngineTypes.endp = _endpos__4_;
18860 MenhirLib.EngineTypes.next = {
18861 MenhirLib.EngineTypes.startp = _startpos__3_;
18862 MenhirLib.EngineTypes.endp = _endpos__3_;
18863 MenhirLib.EngineTypes.next = {
18864 MenhirLib.EngineTypes.semv = ispure;
18865 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18866 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18867 MenhirLib.EngineTypes.next = {
18868 MenhirLib.EngineTypes.state = _menhir_s;
18869 MenhirLib.EngineTypes.semv = ar;
18870 MenhirLib.EngineTypes.startp = _startpos_ar_;
18871 MenhirLib.EngineTypes.endp = _endpos_ar_;
18872 MenhirLib.EngineTypes.next = _menhir_stack;
18873 };
18874 };
18875 };
18876 };
18877 };
18878 } = _menhir_stack in
18879 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18880 let ispure : 'tv_pure = Obj.magic ispure in
18881 let ar : 'tv_arity = Obj.magic ar in
18882 let _startpos = _startpos_ar_ in
18883 let _endpos = _endpos__6_ in
18884 let _v : 'tv_metadec = let kindfn =
18885
18886# 377 "parser_cocci_menhir.mly"
18887 ( (fun arity (_,name) pure check_meta ->
18888 if arity = Ast.NONE && pure = Ast0.Impure
18889 then (!Data.add_iterator_name name; [])
18890 else raise (Semantic_cocci.Semantic "bad iterator")) )
18891# 18892 "parser_cocci_menhir.ml"
18892
18893 in
18894
18895# 271 "parser_cocci_menhir.mly"
18896 ( P.create_metadec ar ispure kindfn ids )
18897# 18898 "parser_cocci_menhir.ml"
18898 in
18899 _menhir_env.MenhirLib.EngineTypes.stack <- {
18900 MenhirLib.EngineTypes.state = _menhir_s;
18901 MenhirLib.EngineTypes.semv = Obj.repr _v;
18902 MenhirLib.EngineTypes.startp = _startpos;
18903 MenhirLib.EngineTypes.endp = _endpos;
18904 MenhirLib.EngineTypes.next = _menhir_stack;
18905 });
18906 (fun _menhir_env ->
18907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18908 let {
18909 MenhirLib.EngineTypes.startp = _startpos__4_;
18910 MenhirLib.EngineTypes.endp = _endpos__4_;
18911 MenhirLib.EngineTypes.next = {
18912 MenhirLib.EngineTypes.semv = ids;
18913 MenhirLib.EngineTypes.startp = _startpos_ids_;
18914 MenhirLib.EngineTypes.endp = _endpos_ids_;
18915 MenhirLib.EngineTypes.next = {
18916 MenhirLib.EngineTypes.startp = _startpos__2_;
18917 MenhirLib.EngineTypes.endp = _endpos__2_;
18918 MenhirLib.EngineTypes.next = {
18919 MenhirLib.EngineTypes.state = _menhir_s;
18920 MenhirLib.EngineTypes.startp = _startpos__1_;
18921 MenhirLib.EngineTypes.endp = _endpos__1_;
18922 MenhirLib.EngineTypes.next = _menhir_stack;
18923 };
18924 };
18925 };
18926 } = _menhir_stack in
18927 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
18928 let _startpos = _startpos__1_ in
18929 let _endpos = _endpos__4_ in
18930 let _v : 'tv_metadec = let kindfn =
18931
18932# 332 "parser_cocci_menhir.mly"
18933 ( (fun name check_meta seed ->
18934 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
18935 !Data.add_fresh_id_meta name; tok) )
18936# 18937 "parser_cocci_menhir.ml"
18937
18938 in
18939
18940# 274 "parser_cocci_menhir.mly"
18941 ( P.create_fresh_metadec kindfn ids )
18942# 18943 "parser_cocci_menhir.ml"
18943 in
18944 _menhir_env.MenhirLib.EngineTypes.stack <- {
18945 MenhirLib.EngineTypes.state = _menhir_s;
18946 MenhirLib.EngineTypes.semv = Obj.repr _v;
18947 MenhirLib.EngineTypes.startp = _startpos;
18948 MenhirLib.EngineTypes.endp = _endpos;
18949 MenhirLib.EngineTypes.next = _menhir_stack;
18950 });
18951 (fun _menhir_env ->
18952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18953 let {
18954 MenhirLib.EngineTypes.startp = _startpos__5_;
18955 MenhirLib.EngineTypes.endp = _endpos__5_;
18956 MenhirLib.EngineTypes.next = {
18957 MenhirLib.EngineTypes.semv = ids;
18958 MenhirLib.EngineTypes.startp = _startpos_ids_;
18959 MenhirLib.EngineTypes.endp = _endpos_ids_;
18960 MenhirLib.EngineTypes.next = {
18961 MenhirLib.EngineTypes.startp = _startpos__3_;
18962 MenhirLib.EngineTypes.endp = _endpos__3_;
18963 MenhirLib.EngineTypes.next = {
18964 MenhirLib.EngineTypes.semv = ispure;
18965 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18966 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18967 MenhirLib.EngineTypes.next = {
18968 MenhirLib.EngineTypes.state = _menhir_s;
18969 MenhirLib.EngineTypes.semv = ar;
18970 MenhirLib.EngineTypes.startp = _startpos_ar_;
18971 MenhirLib.EngineTypes.endp = _endpos_ar_;
18972 MenhirLib.EngineTypes.next = _menhir_stack;
18973 };
18974 };
18975 };
18976 };
18977 } = _menhir_stack in
18978 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
18979 let ispure : 'tv_pure = Obj.magic ispure in
18980 let ar : 'tv_arity = Obj.magic ar in
18981 let _startpos = _startpos_ar_ in
18982 let _endpos = _endpos__5_ in
18983 let _v : 'tv_metadec = let kindfn =
18984
18985# 384 "parser_cocci_menhir.mly"
18986 (
18987 let idfn arity name pure check_meta constraints =
18988 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
18989 !Data.add_id_meta name constraints pure; tok in
18990 let virtfn arity name pure check_meta virtual_env =
18991 try
18992 let vl = List.assoc name virtual_env in
18993 !Data.add_virt_id_meta_found name vl; []
18994 with Not_found ->
18995 let name = ("virtual",name) in
18996 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
18997 !Data.add_virt_id_meta_not_found name pure; tok in
18998 (idfn,virtfn) )
18999# 19000 "parser_cocci_menhir.ml"
19000
19001 in
19002
19003# 280 "parser_cocci_menhir.mly"
19004 ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
19005 let (idfn,virtfn) = kindfn in
19006 function cr ->
19007 (P.create_metadec_with_constraints ar ispure idfn normal cr) @
19008 (P.create_metadec_virt ar ispure virtfn virt cr) )
19009# 19010 "parser_cocci_menhir.ml"
19010 in
19011 _menhir_env.MenhirLib.EngineTypes.stack <- {
19012 MenhirLib.EngineTypes.state = _menhir_s;
19013 MenhirLib.EngineTypes.semv = Obj.repr _v;
19014 MenhirLib.EngineTypes.startp = _startpos;
19015 MenhirLib.EngineTypes.endp = _endpos;
19016 MenhirLib.EngineTypes.next = _menhir_stack;
19017 });
19018 (fun _menhir_env ->
19019 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19020 let {
19021 MenhirLib.EngineTypes.startp = _startpos__5_;
19022 MenhirLib.EngineTypes.endp = _endpos__5_;
19023 MenhirLib.EngineTypes.next = {
19024 MenhirLib.EngineTypes.semv = ids;
19025 MenhirLib.EngineTypes.startp = _startpos_ids_;
19026 MenhirLib.EngineTypes.endp = _endpos_ids_;
19027 MenhirLib.EngineTypes.next = {
19028 MenhirLib.EngineTypes.startp = _startpos__3_;
19029 MenhirLib.EngineTypes.endp = _endpos__3_;
19030 MenhirLib.EngineTypes.next = {
19031 MenhirLib.EngineTypes.semv = ispure;
19032 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19033 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19034 MenhirLib.EngineTypes.next = {
19035 MenhirLib.EngineTypes.state = _menhir_s;
19036 MenhirLib.EngineTypes.semv = ar;
19037 MenhirLib.EngineTypes.startp = _startpos_ar_;
19038 MenhirLib.EngineTypes.endp = _endpos_ar_;
19039 MenhirLib.EngineTypes.next = _menhir_stack;
19040 };
19041 };
19042 };
19043 };
19044 } = _menhir_stack in
19045 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19046 let ispure : 'tv_pure = Obj.magic ispure in
19047 let ar : 'tv_arity = Obj.magic ar in
19048 let _startpos = _startpos_ar_ in
19049 let _endpos = _endpos__5_ in
19050 let _v : 'tv_metadec = let kindfn =
19051
19052# 400 "parser_cocci_menhir.mly"
19053 ( (fun arity name pure check_meta constraints ->
19054 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
19055 !Data.add_func_meta name constraints pure; tok) )
19056# 19057 "parser_cocci_menhir.ml"
19057
19058 in
19059
19060# 289 "parser_cocci_menhir.mly"
19061 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19062# 19063 "parser_cocci_menhir.ml"
19063 in
19064 _menhir_env.MenhirLib.EngineTypes.stack <- {
19065 MenhirLib.EngineTypes.state = _menhir_s;
19066 MenhirLib.EngineTypes.semv = Obj.repr _v;
19067 MenhirLib.EngineTypes.startp = _startpos;
19068 MenhirLib.EngineTypes.endp = _endpos;
19069 MenhirLib.EngineTypes.next = _menhir_stack;
19070 });
19071 (fun _menhir_env ->
19072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19073 let {
19074 MenhirLib.EngineTypes.startp = _startpos__6_;
19075 MenhirLib.EngineTypes.endp = _endpos__6_;
19076 MenhirLib.EngineTypes.next = {
19077 MenhirLib.EngineTypes.semv = ids;
19078 MenhirLib.EngineTypes.startp = _startpos_ids_;
19079 MenhirLib.EngineTypes.endp = _endpos_ids_;
19080 MenhirLib.EngineTypes.next = {
19081 MenhirLib.EngineTypes.startp = _startpos__4_;
19082 MenhirLib.EngineTypes.endp = _endpos__4_;
19083 MenhirLib.EngineTypes.next = {
19084 MenhirLib.EngineTypes.startp = _startpos__3_;
19085 MenhirLib.EngineTypes.endp = _endpos__3_;
19086 MenhirLib.EngineTypes.next = {
19087 MenhirLib.EngineTypes.semv = ispure;
19088 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19089 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19090 MenhirLib.EngineTypes.next = {
19091 MenhirLib.EngineTypes.state = _menhir_s;
19092 MenhirLib.EngineTypes.semv = ar;
19093 MenhirLib.EngineTypes.startp = _startpos_ar_;
19094 MenhirLib.EngineTypes.endp = _endpos_ar_;
19095 MenhirLib.EngineTypes.next = _menhir_stack;
19096 };
19097 };
19098 };
19099 };
19100 };
19101 } = _menhir_stack in
19102 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19103 let ispure : 'tv_pure = Obj.magic ispure in
19104 let ar : 'tv_arity = Obj.magic ar in
19105 let _startpos = _startpos_ar_ in
19106 let _endpos = _endpos__6_ in
19107 let _v : 'tv_metadec = let kindfn =
19108
19109# 404 "parser_cocci_menhir.mly"
19110 ( (fun arity name pure check_meta constraints ->
19111 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
19112 !Data.add_local_func_meta name constraints pure;
19113 tok) )
19114# 19115 "parser_cocci_menhir.ml"
19115
19116 in
19117
19118# 289 "parser_cocci_menhir.mly"
19119 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19120# 19121 "parser_cocci_menhir.ml"
19121 in
19122 _menhir_env.MenhirLib.EngineTypes.stack <- {
19123 MenhirLib.EngineTypes.state = _menhir_s;
19124 MenhirLib.EngineTypes.semv = Obj.repr _v;
19125 MenhirLib.EngineTypes.startp = _startpos;
19126 MenhirLib.EngineTypes.endp = _endpos;
19127 MenhirLib.EngineTypes.next = _menhir_stack;
19128 });
19129 (fun _menhir_env ->
19130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19131 let {
19132 MenhirLib.EngineTypes.startp = _startpos__5_;
19133 MenhirLib.EngineTypes.endp = _endpos__5_;
19134 MenhirLib.EngineTypes.next = {
19135 MenhirLib.EngineTypes.semv = ids;
19136 MenhirLib.EngineTypes.startp = _startpos_ids_;
19137 MenhirLib.EngineTypes.endp = _endpos_ids_;
19138 MenhirLib.EngineTypes.next = {
19139 MenhirLib.EngineTypes.startp = _startpos__3_;
19140 MenhirLib.EngineTypes.endp = _endpos__3_;
19141 MenhirLib.EngineTypes.next = {
19142 MenhirLib.EngineTypes.semv = ispure;
19143 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19144 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19145 MenhirLib.EngineTypes.next = {
19146 MenhirLib.EngineTypes.state = _menhir_s;
19147 MenhirLib.EngineTypes.semv = ar;
19148 MenhirLib.EngineTypes.startp = _startpos_ar_;
19149 MenhirLib.EngineTypes.endp = _endpos_ar_;
19150 MenhirLib.EngineTypes.next = _menhir_stack;
19151 };
19152 };
19153 };
19154 };
19155 } = _menhir_stack in
19156 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19157 let ispure : 'tv_pure = Obj.magic ispure in
19158 let ar : 'tv_arity = Obj.magic ar in
19159 let _startpos = _startpos_ar_ in
19160 let _endpos = _endpos__5_ in
19161 let _v : 'tv_metadec = let kindfn =
19162
19163# 409 "parser_cocci_menhir.mly"
19164 ( (fun arity name pure check_meta constraints ->
19165 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
19166 !Data.add_declarer_meta name constraints pure; tok) )
19167# 19168 "parser_cocci_menhir.ml"
19168
19169 in
19170
19171# 289 "parser_cocci_menhir.mly"
19172 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19173# 19174 "parser_cocci_menhir.ml"
19174 in
19175 _menhir_env.MenhirLib.EngineTypes.stack <- {
19176 MenhirLib.EngineTypes.state = _menhir_s;
19177 MenhirLib.EngineTypes.semv = Obj.repr _v;
19178 MenhirLib.EngineTypes.startp = _startpos;
19179 MenhirLib.EngineTypes.endp = _endpos;
19180 MenhirLib.EngineTypes.next = _menhir_stack;
19181 });
19182 (fun _menhir_env ->
19183 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19184 let {
19185 MenhirLib.EngineTypes.startp = _startpos__5_;
19186 MenhirLib.EngineTypes.endp = _endpos__5_;
19187 MenhirLib.EngineTypes.next = {
19188 MenhirLib.EngineTypes.semv = ids;
19189 MenhirLib.EngineTypes.startp = _startpos_ids_;
19190 MenhirLib.EngineTypes.endp = _endpos_ids_;
19191 MenhirLib.EngineTypes.next = {
19192 MenhirLib.EngineTypes.startp = _startpos__3_;
19193 MenhirLib.EngineTypes.endp = _endpos__3_;
19194 MenhirLib.EngineTypes.next = {
19195 MenhirLib.EngineTypes.semv = ispure;
19196 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19197 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19198 MenhirLib.EngineTypes.next = {
19199 MenhirLib.EngineTypes.state = _menhir_s;
19200 MenhirLib.EngineTypes.semv = ar;
19201 MenhirLib.EngineTypes.startp = _startpos_ar_;
19202 MenhirLib.EngineTypes.endp = _endpos_ar_;
19203 MenhirLib.EngineTypes.next = _menhir_stack;
19204 };
19205 };
19206 };
19207 };
19208 } = _menhir_stack in
19209 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19210 let ispure : 'tv_pure = Obj.magic ispure in
19211 let ar : 'tv_arity = Obj.magic ar in
19212 let _startpos = _startpos_ar_ in
19213 let _endpos = _endpos__5_ in
19214 let _v : 'tv_metadec = let kindfn =
19215
19216# 413 "parser_cocci_menhir.mly"
19217 ( (fun arity name pure check_meta constraints ->
19218 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
19219 !Data.add_iterator_meta name constraints pure; tok) )
19220# 19221 "parser_cocci_menhir.ml"
19221
19222 in
19223
19224# 289 "parser_cocci_menhir.mly"
19225 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19226# 19227 "parser_cocci_menhir.ml"
19227 in
19228 _menhir_env.MenhirLib.EngineTypes.stack <- {
19229 MenhirLib.EngineTypes.state = _menhir_s;
19230 MenhirLib.EngineTypes.semv = Obj.repr _v;
19231 MenhirLib.EngineTypes.startp = _startpos;
19232 MenhirLib.EngineTypes.endp = _endpos;
19233 MenhirLib.EngineTypes.next = _menhir_stack;
19234 });
19235 (fun _menhir_env ->
19236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19237 let {
19238 MenhirLib.EngineTypes.startp = _startpos__5_;
19239 MenhirLib.EngineTypes.endp = _endpos__5_;
19240 MenhirLib.EngineTypes.next = {
19241 MenhirLib.EngineTypes.semv = ids;
19242 MenhirLib.EngineTypes.startp = _startpos_ids_;
19243 MenhirLib.EngineTypes.endp = _endpos_ids_;
19244 MenhirLib.EngineTypes.next = {
19245 MenhirLib.EngineTypes.startp = _startpos__3_;
19246 MenhirLib.EngineTypes.endp = _endpos__3_;
19247 MenhirLib.EngineTypes.next = {
19248 MenhirLib.EngineTypes.semv = ispure;
19249 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19250 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19251 MenhirLib.EngineTypes.next = {
19252 MenhirLib.EngineTypes.state = _menhir_s;
19253 MenhirLib.EngineTypes.semv = ar;
19254 MenhirLib.EngineTypes.startp = _startpos_ar_;
19255 MenhirLib.EngineTypes.endp = _endpos_ar_;
19256 MenhirLib.EngineTypes.next = _menhir_stack;
19257 };
19258 };
19259 };
19260 };
19261 } = _menhir_stack in
19262 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19263 let ispure : 'tv_pure = Obj.magic ispure in
19264 let ar : 'tv_arity = Obj.magic ar in
19265 let _startpos = _startpos_ar_ in
19266 let _endpos = _endpos__5_ in
19267 let _v : 'tv_metadec = let kindfn =
19268
19269# 419 "parser_cocci_menhir.mly"
19270 ( (fun arity name pure check_meta constraints ->
19271 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
19272 !Data.add_err_meta name constraints pure; tok) )
19273# 19274 "parser_cocci_menhir.ml"
19274
19275 in
19276
19277# 294 "parser_cocci_menhir.mly"
19278 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19279# 19280 "parser_cocci_menhir.ml"
19280 in
19281 _menhir_env.MenhirLib.EngineTypes.stack <- {
19282 MenhirLib.EngineTypes.state = _menhir_s;
19283 MenhirLib.EngineTypes.semv = Obj.repr _v;
19284 MenhirLib.EngineTypes.startp = _startpos;
19285 MenhirLib.EngineTypes.endp = _endpos;
19286 MenhirLib.EngineTypes.next = _menhir_stack;
19287 });
19288 (fun _menhir_env ->
19289 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19290 let {
19291 MenhirLib.EngineTypes.startp = _startpos__6_;
19292 MenhirLib.EngineTypes.endp = _endpos__6_;
19293 MenhirLib.EngineTypes.next = {
19294 MenhirLib.EngineTypes.semv = ids;
19295 MenhirLib.EngineTypes.startp = _startpos_ids_;
19296 MenhirLib.EngineTypes.endp = _endpos_ids_;
19297 MenhirLib.EngineTypes.next = {
19298 MenhirLib.EngineTypes.startp = _startpos__4_;
19299 MenhirLib.EngineTypes.endp = _endpos__4_;
19300 MenhirLib.EngineTypes.next = {
19301 MenhirLib.EngineTypes.semv = l0;
19302 MenhirLib.EngineTypes.startp = _startpos_l0_;
19303 MenhirLib.EngineTypes.endp = _endpos_l0_;
19304 MenhirLib.EngineTypes.next = {
19305 MenhirLib.EngineTypes.semv = ispure;
19306 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19307 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19308 MenhirLib.EngineTypes.next = {
19309 MenhirLib.EngineTypes.state = _menhir_s;
19310 MenhirLib.EngineTypes.semv = ar;
19311 MenhirLib.EngineTypes.startp = _startpos_ar_;
19312 MenhirLib.EngineTypes.endp = _endpos_ar_;
19313 MenhirLib.EngineTypes.next = _menhir_stack;
19314 };
19315 };
19316 };
19317 };
19318 };
19319 } = _menhir_stack in
19320 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19321 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19322 let ispure : 'tv_pure = Obj.magic ispure in
19323 let ar : 'tv_arity = Obj.magic ar in
19324 let _startpos = _startpos_ar_ in
19325 let _endpos = _endpos__6_ in
19326 let _v : 'tv_metadec = let kindfn =
19327 let l = l0 in
19328 let ty =
19329
19330# 39 "standard.mly"
19331 ( None )
19332# 19333 "parser_cocci_menhir.ml"
19333
19334 in
19335
19336# 423 "parser_cocci_menhir.mly"
19337 ( (fun arity name pure check_meta constraints ->
19338 match l with
19339 None ->
19340 !Data.add_idexp_meta ty name constraints pure;
19341 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19342 | Some _ ->
19343 !Data.add_local_idexp_meta ty name constraints pure;
19344 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19345# 19346 "parser_cocci_menhir.ml"
19346
19347 in
19348
19349# 294 "parser_cocci_menhir.mly"
19350 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19351# 19352 "parser_cocci_menhir.ml"
19352 in
19353 _menhir_env.MenhirLib.EngineTypes.stack <- {
19354 MenhirLib.EngineTypes.state = _menhir_s;
19355 MenhirLib.EngineTypes.semv = Obj.repr _v;
19356 MenhirLib.EngineTypes.startp = _startpos;
19357 MenhirLib.EngineTypes.endp = _endpos;
19358 MenhirLib.EngineTypes.next = _menhir_stack;
19359 });
19360 (fun _menhir_env ->
19361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19362 let {
19363 MenhirLib.EngineTypes.startp = _startpos__7_;
19364 MenhirLib.EngineTypes.endp = _endpos__7_;
19365 MenhirLib.EngineTypes.next = {
19366 MenhirLib.EngineTypes.semv = ids;
19367 MenhirLib.EngineTypes.startp = _startpos_ids_;
19368 MenhirLib.EngineTypes.endp = _endpos_ids_;
19369 MenhirLib.EngineTypes.next = {
19370 MenhirLib.EngineTypes.semv = x00;
19371 MenhirLib.EngineTypes.startp = _startpos_x00_;
19372 MenhirLib.EngineTypes.endp = _endpos_x00_;
19373 MenhirLib.EngineTypes.next = {
19374 MenhirLib.EngineTypes.startp = _startpos__4_;
19375 MenhirLib.EngineTypes.endp = _endpos__4_;
19376 MenhirLib.EngineTypes.next = {
19377 MenhirLib.EngineTypes.semv = l0;
19378 MenhirLib.EngineTypes.startp = _startpos_l0_;
19379 MenhirLib.EngineTypes.endp = _endpos_l0_;
19380 MenhirLib.EngineTypes.next = {
19381 MenhirLib.EngineTypes.semv = ispure;
19382 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19383 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19384 MenhirLib.EngineTypes.next = {
19385 MenhirLib.EngineTypes.state = _menhir_s;
19386 MenhirLib.EngineTypes.semv = ar;
19387 MenhirLib.EngineTypes.startp = _startpos_ar_;
19388 MenhirLib.EngineTypes.endp = _endpos_ar_;
19389 MenhirLib.EngineTypes.next = _menhir_stack;
19390 };
19391 };
19392 };
19393 };
19394 };
19395 };
19396 } = _menhir_stack in
19397 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19398 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19399 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19400 let ispure : 'tv_pure = Obj.magic ispure in
19401 let ar : 'tv_arity = Obj.magic ar in
19402 let _startpos = _startpos_ar_ in
19403 let _endpos = _endpos__7_ in
19404 let _v : 'tv_metadec = let kindfn =
19405 let x0 = x00 in
19406 let l = l0 in
19407 let ty =
19408 let x = x0 in
19409
19410# 41 "standard.mly"
19411 ( Some x )
19412# 19413 "parser_cocci_menhir.ml"
19413
19414 in
19415
19416# 423 "parser_cocci_menhir.mly"
19417 ( (fun arity name pure check_meta constraints ->
19418 match l with
19419 None ->
19420 !Data.add_idexp_meta ty name constraints pure;
19421 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19422 | Some _ ->
19423 !Data.add_local_idexp_meta ty name constraints pure;
19424 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19425# 19426 "parser_cocci_menhir.ml"
19426
19427 in
19428
19429# 294 "parser_cocci_menhir.mly"
19430 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19431# 19432 "parser_cocci_menhir.ml"
19432 in
19433 _menhir_env.MenhirLib.EngineTypes.stack <- {
19434 MenhirLib.EngineTypes.state = _menhir_s;
19435 MenhirLib.EngineTypes.semv = Obj.repr _v;
19436 MenhirLib.EngineTypes.startp = _startpos;
19437 MenhirLib.EngineTypes.endp = _endpos;
19438 MenhirLib.EngineTypes.next = _menhir_stack;
19439 });
19440 (fun _menhir_env ->
19441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19442 let {
19443 MenhirLib.EngineTypes.startp = _startpos__7_;
19444 MenhirLib.EngineTypes.endp = _endpos__7_;
19445 MenhirLib.EngineTypes.next = {
19446 MenhirLib.EngineTypes.semv = ids;
19447 MenhirLib.EngineTypes.startp = _startpos_ids_;
19448 MenhirLib.EngineTypes.endp = _endpos_ids_;
19449 MenhirLib.EngineTypes.next = {
19450 MenhirLib.EngineTypes.semv = m0;
19451 MenhirLib.EngineTypes.startp = _startpos_m0_;
19452 MenhirLib.EngineTypes.endp = _endpos_m0_;
19453 MenhirLib.EngineTypes.next = {
19454 MenhirLib.EngineTypes.startp = _startpos__4_;
19455 MenhirLib.EngineTypes.endp = _endpos__4_;
19456 MenhirLib.EngineTypes.next = {
19457 MenhirLib.EngineTypes.semv = l0;
19458 MenhirLib.EngineTypes.startp = _startpos_l0_;
19459 MenhirLib.EngineTypes.endp = _endpos_l0_;
19460 MenhirLib.EngineTypes.next = {
19461 MenhirLib.EngineTypes.semv = ispure;
19462 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19463 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19464 MenhirLib.EngineTypes.next = {
19465 MenhirLib.EngineTypes.state = _menhir_s;
19466 MenhirLib.EngineTypes.semv = ar;
19467 MenhirLib.EngineTypes.startp = _startpos_ar_;
19468 MenhirLib.EngineTypes.endp = _endpos_ar_;
19469 MenhirLib.EngineTypes.next = _menhir_stack;
19470 };
19471 };
19472 };
19473 };
19474 };
19475 };
19476 } = _menhir_stack in
19477 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19478 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19479 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19480 let ispure : 'tv_pure = Obj.magic ispure in
19481 let ar : 'tv_arity = Obj.magic ar in
19482 let _startpos = _startpos_ar_ in
19483 let _endpos = _endpos__7_ in
19484 let _v : 'tv_metadec = let kindfn =
19485 let m = m0 in
19486 let l = l0 in
19487
19488# 432 "parser_cocci_menhir.mly"
19489 ( (fun arity name pure check_meta constraints ->
19490 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19491 match l with
19492 None ->
19493 !Data.add_idexp_meta ty name constraints pure;
19494 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19495 | Some _ ->
19496 !Data.add_local_idexp_meta ty name constraints pure;
19497 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19498# 19499 "parser_cocci_menhir.ml"
19499
19500 in
19501
19502# 294 "parser_cocci_menhir.mly"
19503 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19504# 19505 "parser_cocci_menhir.ml"
19505 in
19506 _menhir_env.MenhirLib.EngineTypes.stack <- {
19507 MenhirLib.EngineTypes.state = _menhir_s;
19508 MenhirLib.EngineTypes.semv = Obj.repr _v;
19509 MenhirLib.EngineTypes.startp = _startpos;
19510 MenhirLib.EngineTypes.endp = _endpos;
19511 MenhirLib.EngineTypes.next = _menhir_stack;
19512 });
19513 (fun _menhir_env ->
19514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19515 let {
19516 MenhirLib.EngineTypes.startp = _startpos__6_;
19517 MenhirLib.EngineTypes.endp = _endpos__6_;
19518 MenhirLib.EngineTypes.next = {
19519 MenhirLib.EngineTypes.semv = ids;
19520 MenhirLib.EngineTypes.startp = _startpos_ids_;
19521 MenhirLib.EngineTypes.endp = _endpos_ids_;
19522 MenhirLib.EngineTypes.next = {
19523 MenhirLib.EngineTypes.semv = m0;
19524 MenhirLib.EngineTypes.startp = _startpos_m0_;
19525 MenhirLib.EngineTypes.endp = _endpos_m0_;
19526 MenhirLib.EngineTypes.next = {
19527 MenhirLib.EngineTypes.startp = _startpos__3_;
19528 MenhirLib.EngineTypes.endp = _endpos__3_;
19529 MenhirLib.EngineTypes.next = {
19530 MenhirLib.EngineTypes.semv = ispure;
19531 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19532 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19533 MenhirLib.EngineTypes.next = {
19534 MenhirLib.EngineTypes.state = _menhir_s;
19535 MenhirLib.EngineTypes.semv = ar;
19536 MenhirLib.EngineTypes.startp = _startpos_ar_;
19537 MenhirLib.EngineTypes.endp = _endpos_ar_;
19538 MenhirLib.EngineTypes.next = _menhir_stack;
19539 };
19540 };
19541 };
19542 };
19543 };
19544 } = _menhir_stack in
19545 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19546 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19547 let ispure : 'tv_pure = Obj.magic ispure in
19548 let ar : 'tv_arity = Obj.magic ar in
19549 let _startpos = _startpos_ar_ in
19550 let _endpos = _endpos__6_ in
19551 let _v : 'tv_metadec = let kindfn =
19552 let m = m0 in
19553
19554# 442 "parser_cocci_menhir.mly"
19555 ( (fun arity name pure check_meta constraints ->
19556 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19557 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19558 !Data.add_exp_meta ty name constraints pure; tok) )
19559# 19560 "parser_cocci_menhir.ml"
19560
19561 in
19562
19563# 294 "parser_cocci_menhir.mly"
19564 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19565# 19566 "parser_cocci_menhir.ml"
19566 in
19567 _menhir_env.MenhirLib.EngineTypes.stack <- {
19568 MenhirLib.EngineTypes.state = _menhir_s;
19569 MenhirLib.EngineTypes.semv = Obj.repr _v;
19570 MenhirLib.EngineTypes.startp = _startpos;
19571 MenhirLib.EngineTypes.endp = _endpos;
19572 MenhirLib.EngineTypes.next = _menhir_stack;
19573 });
19574 (fun _menhir_env ->
19575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19576 let {
19577 MenhirLib.EngineTypes.startp = _startpos__7_;
19578 MenhirLib.EngineTypes.endp = _endpos__7_;
19579 MenhirLib.EngineTypes.next = {
19580 MenhirLib.EngineTypes.semv = ids;
19581 MenhirLib.EngineTypes.startp = _startpos_ids_;
19582 MenhirLib.EngineTypes.endp = _endpos_ids_;
19583 MenhirLib.EngineTypes.next = {
19584 MenhirLib.EngineTypes.startp = _startpos__5_;
19585 MenhirLib.EngineTypes.endp = _endpos__5_;
19586 MenhirLib.EngineTypes.next = {
19587 MenhirLib.EngineTypes.startp = _startpos__4_;
19588 MenhirLib.EngineTypes.endp = _endpos__4_;
19589 MenhirLib.EngineTypes.next = {
19590 MenhirLib.EngineTypes.semv = vl0;
19591 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19592 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19593 MenhirLib.EngineTypes.next = {
19594 MenhirLib.EngineTypes.semv = ispure;
19595 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19596 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19597 MenhirLib.EngineTypes.next = {
19598 MenhirLib.EngineTypes.state = _menhir_s;
19599 MenhirLib.EngineTypes.semv = ar;
19600 MenhirLib.EngineTypes.startp = _startpos_ar_;
19601 MenhirLib.EngineTypes.endp = _endpos_ar_;
19602 MenhirLib.EngineTypes.next = _menhir_stack;
19603 };
19604 };
19605 };
19606 };
19607 };
19608 };
19609 } = _menhir_stack in
19610 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19611 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19612 let ispure : 'tv_pure = Obj.magic ispure in
19613 let ar : 'tv_arity = Obj.magic ar in
19614 let _startpos = _startpos_ar_ in
19615 let _endpos = _endpos__7_ in
19616 let _v : 'tv_metadec = let kindfn =
19617 let vl = vl0 in
19618
19619# 447 "parser_cocci_menhir.mly"
19620 ( (fun arity name pure check_meta constraints ->
19621 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
19622 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19623 !Data.add_exp_meta ty name constraints pure; tok) )
19624# 19625 "parser_cocci_menhir.ml"
19625
19626 in
19627
19628# 294 "parser_cocci_menhir.mly"
19629 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19630# 19631 "parser_cocci_menhir.ml"
19631 in
19632 _menhir_env.MenhirLib.EngineTypes.stack <- {
19633 MenhirLib.EngineTypes.state = _menhir_s;
19634 MenhirLib.EngineTypes.semv = Obj.repr _v;
19635 MenhirLib.EngineTypes.startp = _startpos;
19636 MenhirLib.EngineTypes.endp = _endpos;
19637 MenhirLib.EngineTypes.next = _menhir_stack;
19638 });
19639 (fun _menhir_env ->
19640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19641 let {
19642 MenhirLib.EngineTypes.startp = _startpos__5_;
19643 MenhirLib.EngineTypes.endp = _endpos__5_;
19644 MenhirLib.EngineTypes.next = {
19645 MenhirLib.EngineTypes.semv = ids;
19646 MenhirLib.EngineTypes.startp = _startpos_ids_;
19647 MenhirLib.EngineTypes.endp = _endpos_ids_;
19648 MenhirLib.EngineTypes.next = {
19649 MenhirLib.EngineTypes.startp = _startpos__3_;
19650 MenhirLib.EngineTypes.endp = _endpos__3_;
19651 MenhirLib.EngineTypes.next = {
19652 MenhirLib.EngineTypes.semv = ispure;
19653 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19654 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19655 MenhirLib.EngineTypes.next = {
19656 MenhirLib.EngineTypes.state = _menhir_s;
19657 MenhirLib.EngineTypes.semv = ar;
19658 MenhirLib.EngineTypes.startp = _startpos_ar_;
19659 MenhirLib.EngineTypes.endp = _endpos_ar_;
19660 MenhirLib.EngineTypes.next = _menhir_stack;
19661 };
19662 };
19663 };
19664 };
19665 } = _menhir_stack in
19666 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19667 let ispure : 'tv_pure = Obj.magic ispure in
19668 let ar : 'tv_arity = Obj.magic ar in
19669 let _startpos = _startpos_ar_ in
19670 let _endpos = _endpos__5_ in
19671 let _v : 'tv_metadec = let kindfn =
19672 let ty =
19673
19674# 39 "standard.mly"
19675 ( None )
19676# 19677 "parser_cocci_menhir.ml"
19677
19678 in
19679
19680# 452 "parser_cocci_menhir.mly"
19681 ( (fun arity name pure check_meta constraints ->
19682 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19683 !Data.add_const_meta ty name constraints pure; tok) )
19684# 19685 "parser_cocci_menhir.ml"
19685
19686 in
19687
19688# 294 "parser_cocci_menhir.mly"
19689 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19690# 19691 "parser_cocci_menhir.ml"
19691 in
19692 _menhir_env.MenhirLib.EngineTypes.stack <- {
19693 MenhirLib.EngineTypes.state = _menhir_s;
19694 MenhirLib.EngineTypes.semv = Obj.repr _v;
19695 MenhirLib.EngineTypes.startp = _startpos;
19696 MenhirLib.EngineTypes.endp = _endpos;
19697 MenhirLib.EngineTypes.next = _menhir_stack;
19698 });
19699 (fun _menhir_env ->
19700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19701 let {
19702 MenhirLib.EngineTypes.startp = _startpos__6_;
19703 MenhirLib.EngineTypes.endp = _endpos__6_;
19704 MenhirLib.EngineTypes.next = {
19705 MenhirLib.EngineTypes.semv = ids;
19706 MenhirLib.EngineTypes.startp = _startpos_ids_;
19707 MenhirLib.EngineTypes.endp = _endpos_ids_;
19708 MenhirLib.EngineTypes.next = {
19709 MenhirLib.EngineTypes.semv = x00;
19710 MenhirLib.EngineTypes.startp = _startpos_x00_;
19711 MenhirLib.EngineTypes.endp = _endpos_x00_;
19712 MenhirLib.EngineTypes.next = {
19713 MenhirLib.EngineTypes.startp = _startpos__3_;
19714 MenhirLib.EngineTypes.endp = _endpos__3_;
19715 MenhirLib.EngineTypes.next = {
19716 MenhirLib.EngineTypes.semv = ispure;
19717 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19718 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19719 MenhirLib.EngineTypes.next = {
19720 MenhirLib.EngineTypes.state = _menhir_s;
19721 MenhirLib.EngineTypes.semv = ar;
19722 MenhirLib.EngineTypes.startp = _startpos_ar_;
19723 MenhirLib.EngineTypes.endp = _endpos_ar_;
19724 MenhirLib.EngineTypes.next = _menhir_stack;
19725 };
19726 };
19727 };
19728 };
19729 };
19730 } = _menhir_stack in
19731 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
19732 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19733 let ispure : 'tv_pure = Obj.magic ispure in
19734 let ar : 'tv_arity = Obj.magic ar in
19735 let _startpos = _startpos_ar_ in
19736 let _endpos = _endpos__6_ in
19737 let _v : 'tv_metadec = let kindfn =
19738 let x0 = x00 in
19739 let ty =
19740 let x = x0 in
19741
19742# 41 "standard.mly"
19743 ( Some x )
19744# 19745 "parser_cocci_menhir.ml"
19745
19746 in
19747
19748# 452 "parser_cocci_menhir.mly"
19749 ( (fun arity name pure check_meta constraints ->
19750 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19751 !Data.add_const_meta ty name constraints pure; tok) )
19752# 19753 "parser_cocci_menhir.ml"
19753
19754 in
19755
19756# 294 "parser_cocci_menhir.mly"
19757 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19758# 19759 "parser_cocci_menhir.ml"
19759 in
19760 _menhir_env.MenhirLib.EngineTypes.stack <- {
19761 MenhirLib.EngineTypes.state = _menhir_s;
19762 MenhirLib.EngineTypes.semv = Obj.repr _v;
19763 MenhirLib.EngineTypes.startp = _startpos;
19764 MenhirLib.EngineTypes.endp = _endpos;
19765 MenhirLib.EngineTypes.next = _menhir_stack;
19766 });
19767 (fun _menhir_env ->
19768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19769 let {
19770 MenhirLib.EngineTypes.startp = _startpos__5_;
19771 MenhirLib.EngineTypes.endp = _endpos__5_;
19772 MenhirLib.EngineTypes.next = {
19773 MenhirLib.EngineTypes.semv = ids;
19774 MenhirLib.EngineTypes.startp = _startpos_ids_;
19775 MenhirLib.EngineTypes.endp = _endpos_ids_;
19776 MenhirLib.EngineTypes.next = {
19777 MenhirLib.EngineTypes.startp = _startpos__3_;
19778 MenhirLib.EngineTypes.endp = _endpos__3_;
19779 MenhirLib.EngineTypes.next = {
19780 MenhirLib.EngineTypes.semv = ispure;
19781 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19782 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19783 MenhirLib.EngineTypes.next = {
19784 MenhirLib.EngineTypes.state = _menhir_s;
19785 MenhirLib.EngineTypes.semv = ar;
19786 MenhirLib.EngineTypes.startp = _startpos_ar_;
19787 MenhirLib.EngineTypes.endp = _endpos_ar_;
19788 MenhirLib.EngineTypes.next = _menhir_stack;
19789 };
19790 };
19791 };
19792 };
19793 } = _menhir_stack in
19794 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
19795 let ispure : 'tv_pure = Obj.magic ispure in
19796 let ar : 'tv_arity = Obj.magic ar in
19797 let _startpos = _startpos_ar_ in
19798 let _endpos = _endpos__5_ in
19799 let _v : 'tv_metadec = let kindfn =
19800
19801# 458 "parser_cocci_menhir.mly"
19802 ( (fun arity name pure check_meta constraints ->
19803 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
19804 !Data.add_exp_meta None name (Ast0.NotExpCstrt constraints) pure; tok) )
19805# 19806 "parser_cocci_menhir.ml"
19806
19807 in
19808
19809# 298 "parser_cocci_menhir.mly"
19810 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19811# 19812 "parser_cocci_menhir.ml"
19812 in
19813 _menhir_env.MenhirLib.EngineTypes.stack <- {
19814 MenhirLib.EngineTypes.state = _menhir_s;
19815 MenhirLib.EngineTypes.semv = Obj.repr _v;
19816 MenhirLib.EngineTypes.startp = _startpos;
19817 MenhirLib.EngineTypes.endp = _endpos;
19818 MenhirLib.EngineTypes.next = _menhir_stack;
19819 });
19820 (fun _menhir_env ->
19821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19822 let {
19823 MenhirLib.EngineTypes.startp = _startpos__5_;
19824 MenhirLib.EngineTypes.endp = _endpos__5_;
19825 MenhirLib.EngineTypes.next = {
19826 MenhirLib.EngineTypes.semv = ids;
19827 MenhirLib.EngineTypes.startp = _startpos_ids_;
19828 MenhirLib.EngineTypes.endp = _endpos_ids_;
19829 MenhirLib.EngineTypes.next = {
19830 MenhirLib.EngineTypes.semv = vl0;
19831 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19832 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19833 MenhirLib.EngineTypes.next = {
19834 MenhirLib.EngineTypes.semv = ispure;
19835 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19836 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19837 MenhirLib.EngineTypes.next = {
19838 MenhirLib.EngineTypes.state = _menhir_s;
19839 MenhirLib.EngineTypes.semv = ar;
19840 MenhirLib.EngineTypes.startp = _startpos_ar_;
19841 MenhirLib.EngineTypes.endp = _endpos_ar_;
19842 MenhirLib.EngineTypes.next = _menhir_stack;
19843 };
19844 };
19845 };
19846 };
19847 } = _menhir_stack in
19848 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
19849 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19850 let ispure : 'tv_pure = Obj.magic ispure in
19851 let ar : 'tv_arity = Obj.magic ar in
19852 let _startpos = _startpos_ar_ in
19853 let _endpos = _endpos__5_ in
19854 let _v : 'tv_metadec = let kindfn =
19855 let vl = vl0 in
19856
19857# 462 "parser_cocci_menhir.mly"
19858 ( (fun arity name pure check_meta constraints ->
19859 let ty = Some vl in
19860 List.iter
19861 (function c ->
19862 match Ast0.unwrap c with
19863 Ast0.Constant(_) ->
19864 if not
19865 (List.exists
19866 (function
19867 Type_cocci.BaseType(Type_cocci.IntType) -> true
19868 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
19869 | Type_cocci.BaseType(Type_cocci.LongType) -> true
19870 | _ -> false)
19871 vl)
19872 then failwith "metavariable with int constraint must be an int"
19873 | _ -> ())
19874 constraints;
19875 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19876 !Data.add_exp_meta ty name (Ast0.NotExpCstrt constraints) pure; tok)
19877 )
19878# 19879 "parser_cocci_menhir.ml"
19879
19880 in
19881
19882# 298 "parser_cocci_menhir.mly"
19883 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19884# 19885 "parser_cocci_menhir.ml"
19885 in
19886 _menhir_env.MenhirLib.EngineTypes.stack <- {
19887 MenhirLib.EngineTypes.state = _menhir_s;
19888 MenhirLib.EngineTypes.semv = Obj.repr _v;
19889 MenhirLib.EngineTypes.startp = _startpos;
19890 MenhirLib.EngineTypes.endp = _endpos;
19891 MenhirLib.EngineTypes.next = _menhir_stack;
19892 });
19893 (fun _menhir_env ->
19894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19895 let {
19896 MenhirLib.EngineTypes.startp = _startpos__5_;
19897 MenhirLib.EngineTypes.endp = _endpos__5_;
19898 MenhirLib.EngineTypes.next = {
19899 MenhirLib.EngineTypes.semv = ids;
19900 MenhirLib.EngineTypes.startp = _startpos_ids_;
19901 MenhirLib.EngineTypes.endp = _endpos_ids_;
19902 MenhirLib.EngineTypes.next = {
19903 MenhirLib.EngineTypes.semv = a;
19904 MenhirLib.EngineTypes.startp = _startpos_a_;
19905 MenhirLib.EngineTypes.endp = _endpos_a_;
19906 MenhirLib.EngineTypes.next = {
19907 MenhirLib.EngineTypes.startp = _startpos__2_;
19908 MenhirLib.EngineTypes.endp = _endpos__2_;
19909 MenhirLib.EngineTypes.next = {
19910 MenhirLib.EngineTypes.state = _menhir_s;
19911 MenhirLib.EngineTypes.semv = ar;
19912 MenhirLib.EngineTypes.startp = _startpos_ar_;
19913 MenhirLib.EngineTypes.endp = _endpos_ar_;
19914 MenhirLib.EngineTypes.next = _menhir_stack;
19915 };
19916 };
19917 };
19918 };
19919 } = _menhir_stack in
19920 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
19921 let a : 'tv_option_TPosAny_ = Obj.magic a in
19922 let ar : 'tv_arity = Obj.magic ar in
19923 let _startpos = _startpos_ar_ in
19924 let _endpos = _endpos__5_ in
19925 let _v : 'tv_metadec =
19926# 304 "parser_cocci_menhir.mly"
19927 ( (if !Data.in_generating
19928 then failwith "position variables not allowed in a generated rule file");
19929 let kindfn arity name pure check_meta constraints =
19930 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
19931 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
19932 !Data.add_pos_meta name constraints any; tok in
19933 P.create_metadec_with_constraints ar false kindfn ids )
19934# 19935 "parser_cocci_menhir.ml"
19935 in
19936 _menhir_env.MenhirLib.EngineTypes.stack <- {
19937 MenhirLib.EngineTypes.state = _menhir_s;
19938 MenhirLib.EngineTypes.semv = Obj.repr _v;
19939 MenhirLib.EngineTypes.startp = _startpos;
19940 MenhirLib.EngineTypes.endp = _endpos;
19941 MenhirLib.EngineTypes.next = _menhir_stack;
19942 });
19943 (fun _menhir_env ->
19944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19945 let {
19946 MenhirLib.EngineTypes.startp = _startpos__9_;
19947 MenhirLib.EngineTypes.endp = _endpos__9_;
19948 MenhirLib.EngineTypes.next = {
19949 MenhirLib.EngineTypes.semv = ids;
19950 MenhirLib.EngineTypes.startp = _startpos_ids_;
19951 MenhirLib.EngineTypes.endp = _endpos_ids_;
19952 MenhirLib.EngineTypes.next = {
19953 MenhirLib.EngineTypes.startp = _startpos__7_;
19954 MenhirLib.EngineTypes.endp = _endpos__7_;
19955 MenhirLib.EngineTypes.next = {
19956 MenhirLib.EngineTypes.semv = id;
19957 MenhirLib.EngineTypes.startp = _startpos_id_;
19958 MenhirLib.EngineTypes.endp = _endpos_id_;
19959 MenhirLib.EngineTypes.next = {
19960 MenhirLib.EngineTypes.startp = _startpos__5_;
19961 MenhirLib.EngineTypes.endp = _endpos__5_;
19962 MenhirLib.EngineTypes.next = {
19963 MenhirLib.EngineTypes.startp = _startpos__4_;
19964 MenhirLib.EngineTypes.endp = _endpos__4_;
19965 MenhirLib.EngineTypes.next = {
19966 MenhirLib.EngineTypes.startp = _startpos__3_;
19967 MenhirLib.EngineTypes.endp = _endpos__3_;
19968 MenhirLib.EngineTypes.next = {
19969 MenhirLib.EngineTypes.semv = ispure;
19970 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19971 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19972 MenhirLib.EngineTypes.next = {
19973 MenhirLib.EngineTypes.state = _menhir_s;
19974 MenhirLib.EngineTypes.semv = ar;
19975 MenhirLib.EngineTypes.startp = _startpos_ar_;
19976 MenhirLib.EngineTypes.endp = _endpos_ar_;
19977 MenhirLib.EngineTypes.next = _menhir_stack;
19978 };
19979 };
19980 };
19981 };
19982 };
19983 };
19984 };
19985 };
19986 } = _menhir_stack in
19987 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19988 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
19989 let ispure : 'tv_pure = Obj.magic ispure in
19990 let ar : 'tv_arity = Obj.magic ar in
19991 let _startpos = _startpos_ar_ in
19992 let _endpos = _endpos__9_ in
19993 let _v : 'tv_metadec =
19994# 314 "parser_cocci_menhir.mly"
19995 ( P.create_len_metadec ar ispure
19996 (fun lenname arity name pure check_meta ->
19997 let tok =
19998 check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
19999 !Data.add_paramlist_meta name (Some lenname) pure; tok)
20000 id ids )
20001# 20002 "parser_cocci_menhir.ml"
20002 in
20003 _menhir_env.MenhirLib.EngineTypes.stack <- {
20004 MenhirLib.EngineTypes.state = _menhir_s;
20005 MenhirLib.EngineTypes.semv = Obj.repr _v;
20006 MenhirLib.EngineTypes.startp = _startpos;
20007 MenhirLib.EngineTypes.endp = _endpos;
20008 MenhirLib.EngineTypes.next = _menhir_stack;
20009 });
20010 (fun _menhir_env ->
20011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20012 let {
20013 MenhirLib.EngineTypes.startp = _startpos__9_;
20014 MenhirLib.EngineTypes.endp = _endpos__9_;
20015 MenhirLib.EngineTypes.next = {
20016 MenhirLib.EngineTypes.semv = ids;
20017 MenhirLib.EngineTypes.startp = _startpos_ids_;
20018 MenhirLib.EngineTypes.endp = _endpos_ids_;
20019 MenhirLib.EngineTypes.next = {
20020 MenhirLib.EngineTypes.startp = _startpos__7_;
20021 MenhirLib.EngineTypes.endp = _endpos__7_;
20022 MenhirLib.EngineTypes.next = {
20023 MenhirLib.EngineTypes.semv = id;
20024 MenhirLib.EngineTypes.startp = _startpos_id_;
20025 MenhirLib.EngineTypes.endp = _endpos_id_;
20026 MenhirLib.EngineTypes.next = {
20027 MenhirLib.EngineTypes.startp = _startpos__5_;
20028 MenhirLib.EngineTypes.endp = _endpos__5_;
20029 MenhirLib.EngineTypes.next = {
20030 MenhirLib.EngineTypes.startp = _startpos__4_;
20031 MenhirLib.EngineTypes.endp = _endpos__4_;
20032 MenhirLib.EngineTypes.next = {
20033 MenhirLib.EngineTypes.startp = _startpos__3_;
20034 MenhirLib.EngineTypes.endp = _endpos__3_;
20035 MenhirLib.EngineTypes.next = {
20036 MenhirLib.EngineTypes.semv = ispure;
20037 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20038 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20039 MenhirLib.EngineTypes.next = {
20040 MenhirLib.EngineTypes.state = _menhir_s;
20041 MenhirLib.EngineTypes.semv = ar;
20042 MenhirLib.EngineTypes.startp = _startpos_ar_;
20043 MenhirLib.EngineTypes.endp = _endpos_ar_;
20044 MenhirLib.EngineTypes.next = _menhir_stack;
20045 };
20046 };
20047 };
20048 };
20049 };
20050 };
20051 };
20052 };
20053 } = _menhir_stack in
20054 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20055 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
20056 let ispure : 'tv_pure = Obj.magic ispure in
20057 let ar : 'tv_arity = Obj.magic ar in
20058 let _startpos = _startpos_ar_ in
20059 let _endpos = _endpos__9_ in
20060 let _v : 'tv_metadec =
20061# 323 "parser_cocci_menhir.mly"
20062 ( P.create_len_metadec ar ispure
20063 (fun lenname arity name pure check_meta ->
20064 let tok =
20065 check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
20066 !Data.add_explist_meta name (Some lenname) pure; tok)
20067 id ids )
20068# 20069 "parser_cocci_menhir.ml"
20069 in
20070 _menhir_env.MenhirLib.EngineTypes.stack <- {
20071 MenhirLib.EngineTypes.state = _menhir_s;
20072 MenhirLib.EngineTypes.semv = Obj.repr _v;
20073 MenhirLib.EngineTypes.startp = _startpos;
20074 MenhirLib.EngineTypes.endp = _endpos;
20075 MenhirLib.EngineTypes.next = _menhir_stack;
20076 });
20077 (fun _menhir_env ->
20078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20079 let {
20080 MenhirLib.EngineTypes.semv = b;
20081 MenhirLib.EngineTypes.startp = _startpos_b_;
20082 MenhirLib.EngineTypes.endp = _endpos_b_;
20083 MenhirLib.EngineTypes.next = {
20084 MenhirLib.EngineTypes.state = _menhir_s;
20085 MenhirLib.EngineTypes.semv = a;
20086 MenhirLib.EngineTypes.startp = _startpos_a_;
20087 MenhirLib.EngineTypes.endp = _endpos_a_;
20088 MenhirLib.EngineTypes.next = _menhir_stack;
20089 };
20090 } = _menhir_stack in
20091 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
20092 let a : 'tv_ctype = Obj.magic a in
20093 let _startpos = _startpos_a_ in
20094 let _endpos = _endpos_b_ in
20095 let _v : 'tv_midzero_list_ctype_ctype_ =
20096# 1919 "parser_cocci_menhir.mly"
20097 ( let (mids,code) = List.split b in (mids,(a::code)) )
20098# 20099 "parser_cocci_menhir.ml"
20099 in
20100 _menhir_env.MenhirLib.EngineTypes.stack <- {
20101 MenhirLib.EngineTypes.state = _menhir_s;
20102 MenhirLib.EngineTypes.semv = Obj.repr _v;
20103 MenhirLib.EngineTypes.startp = _startpos;
20104 MenhirLib.EngineTypes.endp = _endpos;
20105 MenhirLib.EngineTypes.next = _menhir_stack;
20106 });
20107 (fun _menhir_env ->
20108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20109 let {
20110 MenhirLib.EngineTypes.semv = b;
20111 MenhirLib.EngineTypes.startp = _startpos_b_;
20112 MenhirLib.EngineTypes.endp = _endpos_b_;
20113 MenhirLib.EngineTypes.next = {
20114 MenhirLib.EngineTypes.state = _menhir_s;
20115 MenhirLib.EngineTypes.semv = a;
20116 MenhirLib.EngineTypes.startp = _startpos_a_;
20117 MenhirLib.EngineTypes.endp = _endpos_a_;
20118 MenhirLib.EngineTypes.next = _menhir_stack;
20119 };
20120 } = _menhir_stack in
20121 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20122 let a : 'tv_eexpr = Obj.magic a in
20123 let _startpos = _startpos_a_ in
20124 let _endpos = _endpos_b_ in
20125 let _v : 'tv_midzero_list_eexpr_eexpr_ =
20126# 1919 "parser_cocci_menhir.mly"
20127 ( let (mids,code) = List.split b in (mids,(a::code)) )
20128# 20129 "parser_cocci_menhir.ml"
20129 in
20130 _menhir_env.MenhirLib.EngineTypes.stack <- {
20131 MenhirLib.EngineTypes.state = _menhir_s;
20132 MenhirLib.EngineTypes.semv = Obj.repr _v;
20133 MenhirLib.EngineTypes.startp = _startpos;
20134 MenhirLib.EngineTypes.endp = _endpos;
20135 MenhirLib.EngineTypes.next = _menhir_stack;
20136 });
20137 (fun _menhir_env ->
20138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20139 let {
20140 MenhirLib.EngineTypes.semv = b;
20141 MenhirLib.EngineTypes.startp = _startpos_b_;
20142 MenhirLib.EngineTypes.endp = _endpos_b_;
20143 MenhirLib.EngineTypes.next = {
20144 MenhirLib.EngineTypes.state = _menhir_s;
20145 MenhirLib.EngineTypes.semv = a;
20146 MenhirLib.EngineTypes.startp = _startpos_a_;
20147 MenhirLib.EngineTypes.endp = _endpos_a_;
20148 MenhirLib.EngineTypes.next = _menhir_stack;
20149 };
20150 } = _menhir_stack in
20151 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20152 let a : 'tv_expr = Obj.magic a in
20153 let _startpos = _startpos_a_ in
20154 let _endpos = _endpos_b_ in
20155 let _v : 'tv_midzero_list_expr_eexpr_ =
20156# 1919 "parser_cocci_menhir.mly"
20157 ( let (mids,code) = List.split b in (mids,(a::code)) )
20158# 20159 "parser_cocci_menhir.ml"
20159 in
20160 _menhir_env.MenhirLib.EngineTypes.stack <- {
20161 MenhirLib.EngineTypes.state = _menhir_s;
20162 MenhirLib.EngineTypes.semv = Obj.repr _v;
20163 MenhirLib.EngineTypes.startp = _startpos;
20164 MenhirLib.EngineTypes.endp = _endpos;
20165 MenhirLib.EngineTypes.next = _menhir_stack;
20166 });
20167 (fun _menhir_env ->
20168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20169 let {
20170 MenhirLib.EngineTypes.semv = b;
20171 MenhirLib.EngineTypes.startp = _startpos_b_;
20172 MenhirLib.EngineTypes.endp = _endpos_b_;
20173 MenhirLib.EngineTypes.next = {
20174 MenhirLib.EngineTypes.state = _menhir_s;
20175 MenhirLib.EngineTypes.semv = a;
20176 MenhirLib.EngineTypes.startp = _startpos_a_;
20177 MenhirLib.EngineTypes.endp = _endpos_a_;
20178 MenhirLib.EngineTypes.next = _menhir_stack;
20179 };
20180 } = _menhir_stack in
20181 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
20182 let a : 'tv_fun_after_stm = Obj.magic a in
20183 let _startpos = _startpos_a_ in
20184 let _endpos = _endpos_b_ in
20185 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
20186# 1919 "parser_cocci_menhir.mly"
20187 ( let (mids,code) = List.split b in (mids,(a::code)) )
20188# 20189 "parser_cocci_menhir.ml"
20189 in
20190 _menhir_env.MenhirLib.EngineTypes.stack <- {
20191 MenhirLib.EngineTypes.state = _menhir_s;
20192 MenhirLib.EngineTypes.semv = Obj.repr _v;
20193 MenhirLib.EngineTypes.startp = _startpos;
20194 MenhirLib.EngineTypes.endp = _endpos;
20195 MenhirLib.EngineTypes.next = _menhir_stack;
20196 });
20197 (fun _menhir_env ->
20198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20199 let {
20200 MenhirLib.EngineTypes.semv = b;
20201 MenhirLib.EngineTypes.startp = _startpos_b_;
20202 MenhirLib.EngineTypes.endp = _endpos_b_;
20203 MenhirLib.EngineTypes.next = {
20204 MenhirLib.EngineTypes.state = _menhir_s;
20205 MenhirLib.EngineTypes.semv = a;
20206 MenhirLib.EngineTypes.startp = _startpos_a_;
20207 MenhirLib.EngineTypes.endp = _endpos_a_;
20208 MenhirLib.EngineTypes.next = _menhir_stack;
20209 };
20210 } = _menhir_stack in
20211 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
20212 let a : 'tv_fun_start = Obj.magic a in
20213 let _startpos = _startpos_a_ in
20214 let _endpos = _endpos_b_ in
20215 let _v : 'tv_midzero_list_fun_start_fun_start_ =
20216# 1919 "parser_cocci_menhir.mly"
20217 ( let (mids,code) = List.split b in (mids,(a::code)) )
20218# 20219 "parser_cocci_menhir.ml"
20219 in
20220 _menhir_env.MenhirLib.EngineTypes.stack <- {
20221 MenhirLib.EngineTypes.state = _menhir_s;
20222 MenhirLib.EngineTypes.semv = Obj.repr _v;
20223 MenhirLib.EngineTypes.startp = _startpos;
20224 MenhirLib.EngineTypes.endp = _endpos;
20225 MenhirLib.EngineTypes.next = _menhir_stack;
20226 });
20227 (fun _menhir_env ->
20228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20229 let {
20230 MenhirLib.EngineTypes.semv = b;
20231 MenhirLib.EngineTypes.startp = _startpos_b_;
20232 MenhirLib.EngineTypes.endp = _endpos_b_;
20233 MenhirLib.EngineTypes.next = {
20234 MenhirLib.EngineTypes.state = _menhir_s;
20235 MenhirLib.EngineTypes.semv = a;
20236 MenhirLib.EngineTypes.startp = _startpos_a_;
20237 MenhirLib.EngineTypes.endp = _endpos_a_;
20238 MenhirLib.EngineTypes.next = _menhir_stack;
20239 };
20240 } = _menhir_stack in
20241 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
20242 let a : 'tv_rule_elem_statement = Obj.magic a in
20243 let _startpos = _startpos_a_ in
20244 let _endpos = _endpos_b_ in
20245 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
20246# 1919 "parser_cocci_menhir.mly"
20247 ( let (mids,code) = List.split b in (mids,(a::code)) )
20248# 20249 "parser_cocci_menhir.ml"
20249 in
20250 _menhir_env.MenhirLib.EngineTypes.stack <- {
20251 MenhirLib.EngineTypes.state = _menhir_s;
20252 MenhirLib.EngineTypes.semv = Obj.repr _v;
20253 MenhirLib.EngineTypes.startp = _startpos;
20254 MenhirLib.EngineTypes.endp = _endpos;
20255 MenhirLib.EngineTypes.next = _menhir_stack;
20256 });
20257 (fun _menhir_env ->
20258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20259 let {
20260 MenhirLib.EngineTypes.semv = b;
20261 MenhirLib.EngineTypes.startp = _startpos_b_;
20262 MenhirLib.EngineTypes.endp = _endpos_b_;
20263 MenhirLib.EngineTypes.next = {
20264 MenhirLib.EngineTypes.state = _menhir_s;
20265 MenhirLib.EngineTypes.semv = a;
20266 MenhirLib.EngineTypes.startp = _startpos_a_;
20267 MenhirLib.EngineTypes.endp = _endpos_a_;
20268 MenhirLib.EngineTypes.next = _menhir_stack;
20269 };
20270 } = _menhir_stack in
20271 let b : 'tv_list_mzl_statement__ = Obj.magic b in
20272 let a : 'tv_statement = Obj.magic a in
20273 let _startpos = _startpos_a_ in
20274 let _endpos = _endpos_b_ in
20275 let _v : 'tv_midzero_list_statement_statement_ =
20276# 1919 "parser_cocci_menhir.mly"
20277 ( let (mids,code) = List.split b in (mids,(a::code)) )
20278# 20279 "parser_cocci_menhir.ml"
20279 in
20280 _menhir_env.MenhirLib.EngineTypes.stack <- {
20281 MenhirLib.EngineTypes.state = _menhir_s;
20282 MenhirLib.EngineTypes.semv = Obj.repr _v;
20283 MenhirLib.EngineTypes.startp = _startpos;
20284 MenhirLib.EngineTypes.endp = _endpos;
20285 MenhirLib.EngineTypes.next = _menhir_stack;
20286 });
20287 (fun _menhir_env ->
20288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20289 let {
20290 MenhirLib.EngineTypes.semv = b;
20291 MenhirLib.EngineTypes.startp = _startpos_b_;
20292 MenhirLib.EngineTypes.endp = _endpos_b_;
20293 MenhirLib.EngineTypes.next = {
20294 MenhirLib.EngineTypes.state = _menhir_s;
20295 MenhirLib.EngineTypes.semv = f;
20296 MenhirLib.EngineTypes.startp = _startpos_f_;
20297 MenhirLib.EngineTypes.endp = _endpos_f_;
20298 MenhirLib.EngineTypes.next = _menhir_stack;
20299 };
20300 } = _menhir_stack in
20301 let b : 'tv_loption_minus_start_ = Obj.magic b in
20302 let f : 'tv_loption_filespec_ = Obj.magic f in
20303 let _startpos = _startpos_f_ in
20304 let _endpos = _endpos_b_ in
20305 let _v : 'tv_minus_body =
20306# 630 "parser_cocci_menhir.mly"
20307 ( match f@b(*@ew*) with
20308 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20309 | code -> Top_level.top_level code )
20310# 20311 "parser_cocci_menhir.ml"
20311 in
20312 _menhir_env.MenhirLib.EngineTypes.stack <- {
20313 MenhirLib.EngineTypes.state = _menhir_s;
20314 MenhirLib.EngineTypes.semv = Obj.repr _v;
20315 MenhirLib.EngineTypes.startp = _startpos;
20316 MenhirLib.EngineTypes.endp = _endpos;
20317 MenhirLib.EngineTypes.next = _menhir_stack;
20318 });
20319 (fun _menhir_env ->
20320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20321 let {
20322 MenhirLib.EngineTypes.semv = b;
20323 MenhirLib.EngineTypes.startp = _startpos_b_;
20324 MenhirLib.EngineTypes.endp = _endpos_b_;
20325 MenhirLib.EngineTypes.next = {
20326 MenhirLib.EngineTypes.state = _menhir_s;
20327 MenhirLib.EngineTypes.semv = f;
20328 MenhirLib.EngineTypes.startp = _startpos_f_;
20329 MenhirLib.EngineTypes.endp = _endpos_f_;
20330 MenhirLib.EngineTypes.next = _menhir_stack;
20331 };
20332 } = _menhir_stack in
20333 let b : 'tv_top_eexpr = Obj.magic b in
20334 let f : 'tv_loption_filespec_ = Obj.magic f in
20335 let _startpos = _startpos_f_ in
20336 let _endpos = _endpos_b_ in
20337 let _v : 'tv_minus_exp_body =
20338# 644 "parser_cocci_menhir.mly"
20339 ( match f@[b](*@ew*) with
20340 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20341 | code -> Top_level.top_level code )
20342# 20343 "parser_cocci_menhir.ml"
20343 in
20344 _menhir_env.MenhirLib.EngineTypes.stack <- {
20345 MenhirLib.EngineTypes.state = _menhir_s;
20346 MenhirLib.EngineTypes.semv = Obj.repr _v;
20347 MenhirLib.EngineTypes.startp = _startpos;
20348 MenhirLib.EngineTypes.endp = _endpos;
20349 MenhirLib.EngineTypes.next = _menhir_stack;
20350 });
20351 (fun _menhir_env ->
20352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20353 let {
20354 MenhirLib.EngineTypes.startp = _startpos__2_;
20355 MenhirLib.EngineTypes.endp = _endpos__2_;
20356 MenhirLib.EngineTypes.next = {
20357 MenhirLib.EngineTypes.state = _menhir_s;
20358 MenhirLib.EngineTypes.semv = _1;
20359 MenhirLib.EngineTypes.startp = _startpos__1_;
20360 MenhirLib.EngineTypes.endp = _endpos__1_;
20361 MenhirLib.EngineTypes.next = _menhir_stack;
20362 };
20363 } = _menhir_stack in
20364 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
20365 let _startpos = _startpos__1_ in
20366 let _endpos = _endpos__2_ in
20367 let _v : (
20368# 138 "parser_cocci_menhir.mly"
20369 (Ast0_cocci.rule)
20370# 20371 "parser_cocci_menhir.ml"
20371 ) =
20372# 178 "parser_cocci_menhir.mly"
20373 ( _1 )
20374# 20375 "parser_cocci_menhir.ml"
20375 in
20376 _menhir_env.MenhirLib.EngineTypes.stack <- {
20377 MenhirLib.EngineTypes.state = _menhir_s;
20378 MenhirLib.EngineTypes.semv = Obj.repr _v;
20379 MenhirLib.EngineTypes.startp = _startpos;
20380 MenhirLib.EngineTypes.endp = _endpos;
20381 MenhirLib.EngineTypes.next = _menhir_stack;
20382 });
20383 (fun _menhir_env ->
20384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20385 let {
20386 MenhirLib.EngineTypes.startp = _startpos__2_;
20387 MenhirLib.EngineTypes.endp = _endpos__2_;
20388 MenhirLib.EngineTypes.next = {
20389 MenhirLib.EngineTypes.state = _menhir_s;
20390 MenhirLib.EngineTypes.semv = m;
20391 MenhirLib.EngineTypes.startp = _startpos_m_;
20392 MenhirLib.EngineTypes.endp = _endpos_m_;
20393 MenhirLib.EngineTypes.next = _menhir_stack;
20394 };
20395 } = _menhir_stack in
20396 let m : 'tv_minus_exp_body = Obj.magic m in
20397 let _startpos = _startpos_m_ in
20398 let _endpos = _endpos__2_ in
20399 let _v : (
20400# 138 "parser_cocci_menhir.mly"
20401 (Ast0_cocci.rule)
20402# 20403 "parser_cocci_menhir.ml"
20403 ) =
20404# 178 "parser_cocci_menhir.mly"
20405 ( m )
20406# 20407 "parser_cocci_menhir.ml"
20407 in
20408 _menhir_env.MenhirLib.EngineTypes.stack <- {
20409 MenhirLib.EngineTypes.state = _menhir_s;
20410 MenhirLib.EngineTypes.semv = Obj.repr _v;
20411 MenhirLib.EngineTypes.startp = _startpos;
20412 MenhirLib.EngineTypes.endp = _endpos;
20413 MenhirLib.EngineTypes.next = _menhir_stack;
20414 });
20415 (fun _menhir_env ->
20416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20417 let {
20418 MenhirLib.EngineTypes.startp = _startpos__2_;
20419 MenhirLib.EngineTypes.endp = _endpos__2_;
20420 MenhirLib.EngineTypes.next = {
20421 MenhirLib.EngineTypes.state = _menhir_s;
20422 MenhirLib.EngineTypes.semv = m;
20423 MenhirLib.EngineTypes.startp = _startpos_m_;
20424 MenhirLib.EngineTypes.endp = _endpos_m_;
20425 MenhirLib.EngineTypes.next = _menhir_stack;
20426 };
20427 } = _menhir_stack in
20428 let m : 'tv_minus_exp_body = Obj.magic m in
20429 let _startpos = _startpos_m_ in
20430 let _endpos = _endpos__2_ in
20431 let _v : (
20432# 138 "parser_cocci_menhir.mly"
20433 (Ast0_cocci.rule)
20434# 20435 "parser_cocci_menhir.ml"
20435 ) =
20436# 179 "parser_cocci_menhir.mly"
20437 ( m )
20438# 20439 "parser_cocci_menhir.ml"
20439 in
20440 _menhir_env.MenhirLib.EngineTypes.stack <- {
20441 MenhirLib.EngineTypes.state = _menhir_s;
20442 MenhirLib.EngineTypes.semv = Obj.repr _v;
20443 MenhirLib.EngineTypes.startp = _startpos;
20444 MenhirLib.EngineTypes.endp = _endpos;
20445 MenhirLib.EngineTypes.next = _menhir_stack;
20446 });
20447 (fun _menhir_env ->
20448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20449 let {
20450 MenhirLib.EngineTypes.startp = _startpos__2_;
20451 MenhirLib.EngineTypes.endp = _endpos__2_;
20452 MenhirLib.EngineTypes.next = {
20453 MenhirLib.EngineTypes.state = _menhir_s;
20454 MenhirLib.EngineTypes.semv = _1;
20455 MenhirLib.EngineTypes.startp = _startpos__1_;
20456 MenhirLib.EngineTypes.endp = _endpos__1_;
20457 MenhirLib.EngineTypes.next = _menhir_stack;
20458 };
20459 } = _menhir_stack in
20460 let _1 : 'tv_minus_body = Obj.magic _1 in
20461 let _startpos = _startpos__1_ in
20462 let _endpos = _endpos__2_ in
20463 let _v : (
20464# 135 "parser_cocci_menhir.mly"
20465 (Ast0_cocci.rule)
20466# 20467 "parser_cocci_menhir.ml"
20467 ) =
20468# 174 "parser_cocci_menhir.mly"
20469 ( _1 )
20470# 20471 "parser_cocci_menhir.ml"
20471 in
20472 _menhir_env.MenhirLib.EngineTypes.stack <- {
20473 MenhirLib.EngineTypes.state = _menhir_s;
20474 MenhirLib.EngineTypes.semv = Obj.repr _v;
20475 MenhirLib.EngineTypes.startp = _startpos;
20476 MenhirLib.EngineTypes.endp = _endpos;
20477 MenhirLib.EngineTypes.next = _menhir_stack;
20478 });
20479 (fun _menhir_env ->
20480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20481 let {
20482 MenhirLib.EngineTypes.startp = _startpos__2_;
20483 MenhirLib.EngineTypes.endp = _endpos__2_;
20484 MenhirLib.EngineTypes.next = {
20485 MenhirLib.EngineTypes.state = _menhir_s;
20486 MenhirLib.EngineTypes.semv = m;
20487 MenhirLib.EngineTypes.startp = _startpos_m_;
20488 MenhirLib.EngineTypes.endp = _endpos_m_;
20489 MenhirLib.EngineTypes.next = _menhir_stack;
20490 };
20491 } = _menhir_stack in
20492 let m : 'tv_minus_body = Obj.magic m in
20493 let _startpos = _startpos_m_ in
20494 let _endpos = _endpos__2_ in
20495 let _v : (
20496# 135 "parser_cocci_menhir.mly"
20497 (Ast0_cocci.rule)
20498# 20499 "parser_cocci_menhir.ml"
20499 ) =
20500# 174 "parser_cocci_menhir.mly"
20501 ( m )
20502# 20503 "parser_cocci_menhir.ml"
20503 in
20504 _menhir_env.MenhirLib.EngineTypes.stack <- {
20505 MenhirLib.EngineTypes.state = _menhir_s;
20506 MenhirLib.EngineTypes.semv = Obj.repr _v;
20507 MenhirLib.EngineTypes.startp = _startpos;
20508 MenhirLib.EngineTypes.endp = _endpos;
20509 MenhirLib.EngineTypes.next = _menhir_stack;
20510 });
20511 (fun _menhir_env ->
20512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20513 let {
20514 MenhirLib.EngineTypes.startp = _startpos__2_;
20515 MenhirLib.EngineTypes.endp = _endpos__2_;
20516 MenhirLib.EngineTypes.next = {
20517 MenhirLib.EngineTypes.state = _menhir_s;
20518 MenhirLib.EngineTypes.semv = m;
20519 MenhirLib.EngineTypes.startp = _startpos_m_;
20520 MenhirLib.EngineTypes.endp = _endpos_m_;
20521 MenhirLib.EngineTypes.next = _menhir_stack;
20522 };
20523 } = _menhir_stack in
20524 let m : 'tv_minus_body = Obj.magic m in
20525 let _startpos = _startpos_m_ in
20526 let _endpos = _endpos__2_ in
20527 let _v : (
20528# 135 "parser_cocci_menhir.mly"
20529 (Ast0_cocci.rule)
20530# 20531 "parser_cocci_menhir.ml"
20531 ) =
20532# 175 "parser_cocci_menhir.mly"
20533 ( m )
20534# 20535 "parser_cocci_menhir.ml"
20535 in
20536 _menhir_env.MenhirLib.EngineTypes.stack <- {
20537 MenhirLib.EngineTypes.state = _menhir_s;
20538 MenhirLib.EngineTypes.semv = Obj.repr _v;
20539 MenhirLib.EngineTypes.startp = _startpos;
20540 MenhirLib.EngineTypes.endp = _endpos;
20541 MenhirLib.EngineTypes.next = _menhir_stack;
20542 });
20543 (fun _menhir_env ->
20544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20545 let {
20546 MenhirLib.EngineTypes.state = _menhir_s;
20547 MenhirLib.EngineTypes.semv = _1;
20548 MenhirLib.EngineTypes.startp = _startpos__1_;
20549 MenhirLib.EngineTypes.endp = _endpos__1_;
20550 MenhirLib.EngineTypes.next = _menhir_stack;
20551 } = _menhir_stack in
20552 let _1 : 'tv_fundecl = Obj.magic _1 in
20553 let _startpos = _startpos__1_ in
20554 let _endpos = _endpos__1_ in
20555 let _v : 'tv_minus_start =
20556# 1728 "parser_cocci_menhir.mly"
20557 ( [Ast0.wrap(Ast0.DECL(_1))] )
20558# 20559 "parser_cocci_menhir.ml"
20559 in
20560 _menhir_env.MenhirLib.EngineTypes.stack <- {
20561 MenhirLib.EngineTypes.state = _menhir_s;
20562 MenhirLib.EngineTypes.semv = Obj.repr _v;
20563 MenhirLib.EngineTypes.startp = _startpos;
20564 MenhirLib.EngineTypes.endp = _endpos;
20565 MenhirLib.EngineTypes.next = _menhir_stack;
20566 });
20567 (fun _menhir_env ->
20568 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20569 let {
20570 MenhirLib.EngineTypes.state = _menhir_s;
20571 MenhirLib.EngineTypes.semv = _1;
20572 MenhirLib.EngineTypes.startp = _startpos__1_;
20573 MenhirLib.EngineTypes.endp = _endpos__1_;
20574 MenhirLib.EngineTypes.next = _menhir_stack;
20575 } = _menhir_stack in
20576 let _1 : 'tv_ctype = Obj.magic _1 in
20577 let _startpos = _startpos__1_ in
20578 let _endpos = _endpos__1_ in
20579 let _v : 'tv_minus_start =
20580# 1729 "parser_cocci_menhir.mly"
20581 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
20582# 20583 "parser_cocci_menhir.ml"
20583 in
20584 _menhir_env.MenhirLib.EngineTypes.stack <- {
20585 MenhirLib.EngineTypes.state = _menhir_s;
20586 MenhirLib.EngineTypes.semv = Obj.repr _v;
20587 MenhirLib.EngineTypes.startp = _startpos;
20588 MenhirLib.EngineTypes.endp = _endpos;
20589 MenhirLib.EngineTypes.next = _menhir_stack;
20590 });
20591 (fun _menhir_env ->
20592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20593 let {
20594 MenhirLib.EngineTypes.state = _menhir_s;
20595 MenhirLib.EngineTypes.semv = _1;
20596 MenhirLib.EngineTypes.startp = _startpos__1_;
20597 MenhirLib.EngineTypes.endp = _endpos__1_;
20598 MenhirLib.EngineTypes.next = _menhir_stack;
20599 } = _menhir_stack in
20600 let _1 : 'tv_top_init = Obj.magic _1 in
20601 let _startpos = _startpos__1_ in
20602 let _endpos = _endpos__1_ in
20603 let _v : 'tv_minus_start =
20604# 1730 "parser_cocci_menhir.mly"
20605 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
20606# 20607 "parser_cocci_menhir.ml"
20607 in
20608 _menhir_env.MenhirLib.EngineTypes.stack <- {
20609 MenhirLib.EngineTypes.state = _menhir_s;
20610 MenhirLib.EngineTypes.semv = Obj.repr _v;
20611 MenhirLib.EngineTypes.startp = _startpos;
20612 MenhirLib.EngineTypes.endp = _endpos;
20613 MenhirLib.EngineTypes.next = _menhir_stack;
20614 });
20615 (fun _menhir_env ->
20616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20617 let {
20618 MenhirLib.EngineTypes.state = _menhir_s;
20619 MenhirLib.EngineTypes.semv = _1;
20620 MenhirLib.EngineTypes.startp = _startpos__1_;
20621 MenhirLib.EngineTypes.endp = _endpos__1_;
20622 MenhirLib.EngineTypes.next = _menhir_stack;
20623 } = _menhir_stack in
20624 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
20625 let _startpos = _startpos__1_ in
20626 let _endpos = _endpos__1_ in
20627 let _v : 'tv_minus_start =
20628# 1732 "parser_cocci_menhir.mly"
20629 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
20630# 20631 "parser_cocci_menhir.ml"
20631 in
20632 _menhir_env.MenhirLib.EngineTypes.stack <- {
20633 MenhirLib.EngineTypes.state = _menhir_s;
20634 MenhirLib.EngineTypes.semv = Obj.repr _v;
20635 MenhirLib.EngineTypes.startp = _startpos;
20636 MenhirLib.EngineTypes.endp = _endpos;
20637 MenhirLib.EngineTypes.next = _menhir_stack;
20638 });
20639 (fun _menhir_env ->
20640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20641 let {
20642 MenhirLib.EngineTypes.semv = b;
20643 MenhirLib.EngineTypes.startp = _startpos_b_;
20644 MenhirLib.EngineTypes.endp = _endpos_b_;
20645 MenhirLib.EngineTypes.next = {
20646 MenhirLib.EngineTypes.state = _menhir_s;
20647 MenhirLib.EngineTypes.semv = a;
20648 MenhirLib.EngineTypes.startp = _startpos_a_;
20649 MenhirLib.EngineTypes.endp = _endpos_a_;
20650 MenhirLib.EngineTypes.next = _menhir_stack;
20651 };
20652 } = _menhir_stack in
20653 let b : 'tv_ctype = Obj.magic b in
20654 let a : (
20655# 78 "parser_cocci_menhir.mly"
20656 (Data.clt)
20657# 20658 "parser_cocci_menhir.ml"
20658 ) = Obj.magic a in
20659 let _startpos = _startpos_a_ in
20660 let _endpos = _endpos_b_ in
20661 let _v : 'tv_mzl_ctype_ =
20662# 1922 "parser_cocci_menhir.mly"
20663 ( (P.clt2mcode "|" a, b) )
20664# 20665 "parser_cocci_menhir.ml"
20665 in
20666 _menhir_env.MenhirLib.EngineTypes.stack <- {
20667 MenhirLib.EngineTypes.state = _menhir_s;
20668 MenhirLib.EngineTypes.semv = Obj.repr _v;
20669 MenhirLib.EngineTypes.startp = _startpos;
20670 MenhirLib.EngineTypes.endp = _endpos;
20671 MenhirLib.EngineTypes.next = _menhir_stack;
20672 });
20673 (fun _menhir_env ->
20674 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20675 let {
20676 MenhirLib.EngineTypes.semv = b;
20677 MenhirLib.EngineTypes.startp = _startpos_b_;
20678 MenhirLib.EngineTypes.endp = _endpos_b_;
20679 MenhirLib.EngineTypes.next = {
20680 MenhirLib.EngineTypes.state = _menhir_s;
20681 MenhirLib.EngineTypes.semv = a;
20682 MenhirLib.EngineTypes.startp = _startpos_a_;
20683 MenhirLib.EngineTypes.endp = _endpos_a_;
20684 MenhirLib.EngineTypes.next = _menhir_stack;
20685 };
20686 } = _menhir_stack in
20687 let b : 'tv_eexpr = Obj.magic b in
20688 let a : (
20689# 78 "parser_cocci_menhir.mly"
20690 (Data.clt)
20691# 20692 "parser_cocci_menhir.ml"
20692 ) = Obj.magic a in
20693 let _startpos = _startpos_a_ in
20694 let _endpos = _endpos_b_ in
20695 let _v : 'tv_mzl_eexpr_ =
20696# 1922 "parser_cocci_menhir.mly"
20697 ( (P.clt2mcode "|" a, b) )
20698# 20699 "parser_cocci_menhir.ml"
20699 in
20700 _menhir_env.MenhirLib.EngineTypes.stack <- {
20701 MenhirLib.EngineTypes.state = _menhir_s;
20702 MenhirLib.EngineTypes.semv = Obj.repr _v;
20703 MenhirLib.EngineTypes.startp = _startpos;
20704 MenhirLib.EngineTypes.endp = _endpos;
20705 MenhirLib.EngineTypes.next = _menhir_stack;
20706 });
20707 (fun _menhir_env ->
20708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20709 let {
20710 MenhirLib.EngineTypes.semv = b;
20711 MenhirLib.EngineTypes.startp = _startpos_b_;
20712 MenhirLib.EngineTypes.endp = _endpos_b_;
20713 MenhirLib.EngineTypes.next = {
20714 MenhirLib.EngineTypes.state = _menhir_s;
20715 MenhirLib.EngineTypes.semv = a;
20716 MenhirLib.EngineTypes.startp = _startpos_a_;
20717 MenhirLib.EngineTypes.endp = _endpos_a_;
20718 MenhirLib.EngineTypes.next = _menhir_stack;
20719 };
20720 } = _menhir_stack in
20721 let b : 'tv_fun_after_dots_or = Obj.magic b in
20722 let a : (
20723# 78 "parser_cocci_menhir.mly"
20724 (Data.clt)
20725# 20726 "parser_cocci_menhir.ml"
20726 ) = Obj.magic a in
20727 let _startpos = _startpos_a_ in
20728 let _endpos = _endpos_b_ in
20729 let _v : 'tv_mzl_fun_after_dots_or_ =
20730# 1922 "parser_cocci_menhir.mly"
20731 ( (P.clt2mcode "|" a, b) )
20732# 20733 "parser_cocci_menhir.ml"
20733 in
20734 _menhir_env.MenhirLib.EngineTypes.stack <- {
20735 MenhirLib.EngineTypes.state = _menhir_s;
20736 MenhirLib.EngineTypes.semv = Obj.repr _v;
20737 MenhirLib.EngineTypes.startp = _startpos;
20738 MenhirLib.EngineTypes.endp = _endpos;
20739 MenhirLib.EngineTypes.next = _menhir_stack;
20740 });
20741 (fun _menhir_env ->
20742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20743 let {
20744 MenhirLib.EngineTypes.semv = b;
20745 MenhirLib.EngineTypes.startp = _startpos_b_;
20746 MenhirLib.EngineTypes.endp = _endpos_b_;
20747 MenhirLib.EngineTypes.next = {
20748 MenhirLib.EngineTypes.state = _menhir_s;
20749 MenhirLib.EngineTypes.semv = a;
20750 MenhirLib.EngineTypes.startp = _startpos_a_;
20751 MenhirLib.EngineTypes.endp = _endpos_a_;
20752 MenhirLib.EngineTypes.next = _menhir_stack;
20753 };
20754 } = _menhir_stack in
20755 let b : 'tv_fun_start = Obj.magic b in
20756 let a : (
20757# 78 "parser_cocci_menhir.mly"
20758 (Data.clt)
20759# 20760 "parser_cocci_menhir.ml"
20760 ) = Obj.magic a in
20761 let _startpos = _startpos_a_ in
20762 let _endpos = _endpos_b_ in
20763 let _v : 'tv_mzl_fun_start_ =
20764# 1922 "parser_cocci_menhir.mly"
20765 ( (P.clt2mcode "|" a, b) )
20766# 20767 "parser_cocci_menhir.ml"
20767 in
20768 _menhir_env.MenhirLib.EngineTypes.stack <- {
20769 MenhirLib.EngineTypes.state = _menhir_s;
20770 MenhirLib.EngineTypes.semv = Obj.repr _v;
20771 MenhirLib.EngineTypes.startp = _startpos;
20772 MenhirLib.EngineTypes.endp = _endpos;
20773 MenhirLib.EngineTypes.next = _menhir_stack;
20774 });
20775 (fun _menhir_env ->
20776 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20777 let {
20778 MenhirLib.EngineTypes.semv = b;
20779 MenhirLib.EngineTypes.startp = _startpos_b_;
20780 MenhirLib.EngineTypes.endp = _endpos_b_;
20781 MenhirLib.EngineTypes.next = {
20782 MenhirLib.EngineTypes.state = _menhir_s;
20783 MenhirLib.EngineTypes.semv = a;
20784 MenhirLib.EngineTypes.startp = _startpos_a_;
20785 MenhirLib.EngineTypes.endp = _endpos_a_;
20786 MenhirLib.EngineTypes.next = _menhir_stack;
20787 };
20788 } = _menhir_stack in
20789 let b : 'tv_rule_elem_statement = Obj.magic b in
20790 let a : (
20791# 78 "parser_cocci_menhir.mly"
20792 (Data.clt)
20793# 20794 "parser_cocci_menhir.ml"
20794 ) = Obj.magic a in
20795 let _startpos = _startpos_a_ in
20796 let _endpos = _endpos_b_ in
20797 let _v : 'tv_mzl_rule_elem_statement_ =
20798# 1922 "parser_cocci_menhir.mly"
20799 ( (P.clt2mcode "|" a, b) )
20800# 20801 "parser_cocci_menhir.ml"
20801 in
20802 _menhir_env.MenhirLib.EngineTypes.stack <- {
20803 MenhirLib.EngineTypes.state = _menhir_s;
20804 MenhirLib.EngineTypes.semv = Obj.repr _v;
20805 MenhirLib.EngineTypes.startp = _startpos;
20806 MenhirLib.EngineTypes.endp = _endpos;
20807 MenhirLib.EngineTypes.next = _menhir_stack;
20808 });
20809 (fun _menhir_env ->
20810 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20811 let {
20812 MenhirLib.EngineTypes.semv = b;
20813 MenhirLib.EngineTypes.startp = _startpos_b_;
20814 MenhirLib.EngineTypes.endp = _endpos_b_;
20815 MenhirLib.EngineTypes.next = {
20816 MenhirLib.EngineTypes.state = _menhir_s;
20817 MenhirLib.EngineTypes.semv = a;
20818 MenhirLib.EngineTypes.startp = _startpos_a_;
20819 MenhirLib.EngineTypes.endp = _endpos_a_;
20820 MenhirLib.EngineTypes.next = _menhir_stack;
20821 };
20822 } = _menhir_stack in
20823 let b : 'tv_statement = Obj.magic b in
20824 let a : (
20825# 78 "parser_cocci_menhir.mly"
20826 (Data.clt)
20827# 20828 "parser_cocci_menhir.ml"
20828 ) = Obj.magic a in
20829 let _startpos = _startpos_a_ in
20830 let _endpos = _endpos_b_ in
20831 let _v : 'tv_mzl_statement_ =
20832# 1922 "parser_cocci_menhir.mly"
20833 ( (P.clt2mcode "|" a, b) )
20834# 20835 "parser_cocci_menhir.ml"
20835 in
20836 _menhir_env.MenhirLib.EngineTypes.stack <- {
20837 MenhirLib.EngineTypes.state = _menhir_s;
20838 MenhirLib.EngineTypes.semv = Obj.repr _v;
20839 MenhirLib.EngineTypes.startp = _startpos;
20840 MenhirLib.EngineTypes.endp = _endpos;
20841 MenhirLib.EngineTypes.next = _menhir_stack;
20842 });
20843 (fun _menhir_env ->
20844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20845 let {
20846 MenhirLib.EngineTypes.state = _menhir_s;
20847 MenhirLib.EngineTypes.semv = _1;
20848 MenhirLib.EngineTypes.startp = _startpos__1_;
20849 MenhirLib.EngineTypes.endp = _endpos__1_;
20850 MenhirLib.EngineTypes.next = _menhir_stack;
20851 } = _menhir_stack in
20852 let _1 : 'tv_decl = Obj.magic _1 in
20853 let _startpos = _startpos__1_ in
20854 let _endpos = _endpos__1_ in
20855 let _v : 'tv_name_opt_decl =
20856# 853 "parser_cocci_menhir.mly"
20857 ( _1 )
20858# 20859 "parser_cocci_menhir.ml"
20859 in
20860 _menhir_env.MenhirLib.EngineTypes.stack <- {
20861 MenhirLib.EngineTypes.state = _menhir_s;
20862 MenhirLib.EngineTypes.semv = Obj.repr _v;
20863 MenhirLib.EngineTypes.startp = _startpos;
20864 MenhirLib.EngineTypes.endp = _endpos;
20865 MenhirLib.EngineTypes.next = _menhir_stack;
20866 });
20867 (fun _menhir_env ->
20868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20869 let {
20870 MenhirLib.EngineTypes.semv = rp1;
20871 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20872 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20873 MenhirLib.EngineTypes.next = {
20874 MenhirLib.EngineTypes.semv = d;
20875 MenhirLib.EngineTypes.startp = _startpos_d_;
20876 MenhirLib.EngineTypes.endp = _endpos_d_;
20877 MenhirLib.EngineTypes.next = {
20878 MenhirLib.EngineTypes.semv = lp1;
20879 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20880 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20881 MenhirLib.EngineTypes.next = {
20882 MenhirLib.EngineTypes.semv = rp;
20883 MenhirLib.EngineTypes.startp = _startpos_rp_;
20884 MenhirLib.EngineTypes.endp = _endpos_rp_;
20885 MenhirLib.EngineTypes.next = {
20886 MenhirLib.EngineTypes.semv = s;
20887 MenhirLib.EngineTypes.startp = _startpos_s_;
20888 MenhirLib.EngineTypes.endp = _endpos_s_;
20889 MenhirLib.EngineTypes.next = {
20890 MenhirLib.EngineTypes.semv = lp;
20891 MenhirLib.EngineTypes.startp = _startpos_lp_;
20892 MenhirLib.EngineTypes.endp = _endpos_lp_;
20893 MenhirLib.EngineTypes.next = {
20894 MenhirLib.EngineTypes.state = _menhir_s;
20895 MenhirLib.EngineTypes.semv = t;
20896 MenhirLib.EngineTypes.startp = _startpos_t_;
20897 MenhirLib.EngineTypes.endp = _endpos_t_;
20898 MenhirLib.EngineTypes.next = _menhir_stack;
20899 };
20900 };
20901 };
20902 };
20903 };
20904 };
20905 } = _menhir_stack in
20906 let rp1 : (
20907# 78 "parser_cocci_menhir.mly"
20908 (Data.clt)
20909# 20910 "parser_cocci_menhir.ml"
20910 ) = Obj.magic rp1 in
20911 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
20912 let lp1 : (
20913# 77 "parser_cocci_menhir.mly"
20914 (Data.clt)
20915# 20916 "parser_cocci_menhir.ml"
20916 ) = Obj.magic lp1 in
20917 let rp : (
20918# 78 "parser_cocci_menhir.mly"
20919 (Data.clt)
20920# 20921 "parser_cocci_menhir.ml"
20921 ) = Obj.magic rp in
20922 let s : (
20923# 100 "parser_cocci_menhir.mly"
20924 (Data.clt)
20925# 20926 "parser_cocci_menhir.ml"
20926 ) = Obj.magic s in
20927 let lp : (
20928# 77 "parser_cocci_menhir.mly"
20929 (Data.clt)
20930# 20931 "parser_cocci_menhir.ml"
20931 ) = Obj.magic lp in
20932 let t : 'tv_ctype = Obj.magic t in
20933 let _startpos = _startpos_t_ in
20934 let _endpos = _endpos_rp1_ in
20935 let _v : 'tv_name_opt_decl =
20936# 856 "parser_cocci_menhir.mly"
20937 ( let fnptr =
20938 Ast0.wrap
20939 (Ast0.FunctionPointer
20940 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
20941 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
20942 Ast0.wrap(Ast0.Param(fnptr, None)) )
20943# 20944 "parser_cocci_menhir.ml"
20944 in
20945 _menhir_env.MenhirLib.EngineTypes.stack <- {
20946 MenhirLib.EngineTypes.state = _menhir_s;
20947 MenhirLib.EngineTypes.semv = Obj.repr _v;
20948 MenhirLib.EngineTypes.startp = _startpos;
20949 MenhirLib.EngineTypes.endp = _endpos;
20950 MenhirLib.EngineTypes.next = _menhir_stack;
20951 });
20952 (fun _menhir_env ->
20953 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20954 let {
20955 MenhirLib.EngineTypes.semv = _2;
20956 MenhirLib.EngineTypes.startp = _startpos__2_;
20957 MenhirLib.EngineTypes.endp = _endpos__2_;
20958 MenhirLib.EngineTypes.next = {
20959 MenhirLib.EngineTypes.state = _menhir_s;
20960 MenhirLib.EngineTypes.semv = _1;
20961 MenhirLib.EngineTypes.startp = _startpos__1_;
20962 MenhirLib.EngineTypes.endp = _endpos__1_;
20963 MenhirLib.EngineTypes.next = _menhir_stack;
20964 };
20965 } = _menhir_stack in
20966 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
20967 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
20968 let _startpos = _startpos__1_ in
20969 let _endpos = _endpos__2_ in
20970 let _v : 'tv_nest_after_dots =
20971# 1843 "parser_cocci_menhir.mly"
20972 (_1@_2)
20973# 20974 "parser_cocci_menhir.ml"
20974 in
20975 _menhir_env.MenhirLib.EngineTypes.stack <- {
20976 MenhirLib.EngineTypes.state = _menhir_s;
20977 MenhirLib.EngineTypes.semv = Obj.repr _v;
20978 MenhirLib.EngineTypes.startp = _startpos;
20979 MenhirLib.EngineTypes.endp = _endpos;
20980 MenhirLib.EngineTypes.next = _menhir_stack;
20981 });
20982 (fun _menhir_env ->
20983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20984 let {
20985 MenhirLib.EngineTypes.semv = _2;
20986 MenhirLib.EngineTypes.startp = _startpos__2_;
20987 MenhirLib.EngineTypes.endp = _endpos__2_;
20988 MenhirLib.EngineTypes.next = {
20989 MenhirLib.EngineTypes.state = _menhir_s;
20990 MenhirLib.EngineTypes.startp = _startpos__1_;
20991 MenhirLib.EngineTypes.endp = _endpos__1_;
20992 MenhirLib.EngineTypes.next = _menhir_stack;
20993 };
20994 } = _menhir_stack in
20995 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
20996 let _startpos = _startpos__1_ in
20997 let _endpos = _endpos__2_ in
20998 let _v : 'tv_nest_after_dots =
20999# 1844 "parser_cocci_menhir.mly"
21000 (_2)
21001# 21002 "parser_cocci_menhir.ml"
21002 in
21003 _menhir_env.MenhirLib.EngineTypes.stack <- {
21004 MenhirLib.EngineTypes.state = _menhir_s;
21005 MenhirLib.EngineTypes.semv = Obj.repr _v;
21006 MenhirLib.EngineTypes.startp = _startpos;
21007 MenhirLib.EngineTypes.endp = _endpos;
21008 MenhirLib.EngineTypes.next = _menhir_stack;
21009 });
21010 (fun _menhir_env ->
21011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21012 let {
21013 MenhirLib.EngineTypes.semv = _2;
21014 MenhirLib.EngineTypes.startp = _startpos__2_;
21015 MenhirLib.EngineTypes.endp = _endpos__2_;
21016 MenhirLib.EngineTypes.next = {
21017 MenhirLib.EngineTypes.state = _menhir_s;
21018 MenhirLib.EngineTypes.semv = _1;
21019 MenhirLib.EngineTypes.startp = _startpos__1_;
21020 MenhirLib.EngineTypes.endp = _endpos__1_;
21021 MenhirLib.EngineTypes.next = _menhir_stack;
21022 };
21023 } = _menhir_stack in
21024 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
21025 let _1 : 'tv_expr = Obj.magic _1 in
21026 let _startpos = _startpos__1_ in
21027 let _endpos = _endpos__2_ in
21028 let _v : 'tv_nest_after_dots =
21029# 1845 "parser_cocci_menhir.mly"
21030 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
21031# 21032 "parser_cocci_menhir.ml"
21032 in
21033 _menhir_env.MenhirLib.EngineTypes.stack <- {
21034 MenhirLib.EngineTypes.state = _menhir_s;
21035 MenhirLib.EngineTypes.semv = Obj.repr _v;
21036 MenhirLib.EngineTypes.startp = _startpos;
21037 MenhirLib.EngineTypes.endp = _endpos;
21038 MenhirLib.EngineTypes.next = _menhir_stack;
21039 });
21040 (fun _menhir_env ->
21041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21042 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21043 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21044 let _endpos = _startpos in
21045 let _v : 'tv_nest_after_exp =
21046# 1853 "parser_cocci_menhir.mly"
21047 ([])
21048# 21049 "parser_cocci_menhir.ml"
21049 in
21050 _menhir_env.MenhirLib.EngineTypes.stack <- {
21051 MenhirLib.EngineTypes.state = _menhir_s;
21052 MenhirLib.EngineTypes.semv = Obj.repr _v;
21053 MenhirLib.EngineTypes.startp = _startpos;
21054 MenhirLib.EngineTypes.endp = _endpos;
21055 MenhirLib.EngineTypes.next = _menhir_stack;
21056 });
21057 (fun _menhir_env ->
21058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21059 let {
21060 MenhirLib.EngineTypes.semv = _2;
21061 MenhirLib.EngineTypes.startp = _startpos__2_;
21062 MenhirLib.EngineTypes.endp = _endpos__2_;
21063 MenhirLib.EngineTypes.next = {
21064 MenhirLib.EngineTypes.state = _menhir_s;
21065 MenhirLib.EngineTypes.semv = _1;
21066 MenhirLib.EngineTypes.startp = _startpos__1_;
21067 MenhirLib.EngineTypes.endp = _endpos__1_;
21068 MenhirLib.EngineTypes.next = _menhir_stack;
21069 };
21070 } = _menhir_stack in
21071 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
21072 let _1 : 'tv_stm_dots = Obj.magic _1 in
21073 let _startpos = _startpos__1_ in
21074 let _endpos = _endpos__2_ in
21075 let _v : 'tv_nest_after_exp =
21076# 1854 "parser_cocci_menhir.mly"
21077 (_1::_2)
21078# 21079 "parser_cocci_menhir.ml"
21079 in
21080 _menhir_env.MenhirLib.EngineTypes.stack <- {
21081 MenhirLib.EngineTypes.state = _menhir_s;
21082 MenhirLib.EngineTypes.semv = Obj.repr _v;
21083 MenhirLib.EngineTypes.startp = _startpos;
21084 MenhirLib.EngineTypes.endp = _endpos;
21085 MenhirLib.EngineTypes.next = _menhir_stack;
21086 });
21087 (fun _menhir_env ->
21088 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21089 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21090 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21091 let _endpos = _startpos in
21092 let _v : 'tv_nest_after_stm =
21093# 1848 "parser_cocci_menhir.mly"
21094 ([])
21095# 21096 "parser_cocci_menhir.ml"
21096 in
21097 _menhir_env.MenhirLib.EngineTypes.stack <- {
21098 MenhirLib.EngineTypes.state = _menhir_s;
21099 MenhirLib.EngineTypes.semv = Obj.repr _v;
21100 MenhirLib.EngineTypes.startp = _startpos;
21101 MenhirLib.EngineTypes.endp = _endpos;
21102 MenhirLib.EngineTypes.next = _menhir_stack;
21103 });
21104 (fun _menhir_env ->
21105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21106 let {
21107 MenhirLib.EngineTypes.semv = _2;
21108 MenhirLib.EngineTypes.startp = _startpos__2_;
21109 MenhirLib.EngineTypes.endp = _endpos__2_;
21110 MenhirLib.EngineTypes.next = {
21111 MenhirLib.EngineTypes.state = _menhir_s;
21112 MenhirLib.EngineTypes.semv = _1;
21113 MenhirLib.EngineTypes.startp = _startpos__1_;
21114 MenhirLib.EngineTypes.endp = _endpos__1_;
21115 MenhirLib.EngineTypes.next = _menhir_stack;
21116 };
21117 } = _menhir_stack in
21118 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
21119 let _1 : 'tv_stm_dots = Obj.magic _1 in
21120 let _startpos = _startpos__1_ in
21121 let _endpos = _endpos__2_ in
21122 let _v : 'tv_nest_after_stm =
21123# 1849 "parser_cocci_menhir.mly"
21124 (_1::_2)
21125# 21126 "parser_cocci_menhir.ml"
21126 in
21127 _menhir_env.MenhirLib.EngineTypes.stack <- {
21128 MenhirLib.EngineTypes.state = _menhir_s;
21129 MenhirLib.EngineTypes.semv = Obj.repr _v;
21130 MenhirLib.EngineTypes.startp = _startpos;
21131 MenhirLib.EngineTypes.endp = _endpos;
21132 MenhirLib.EngineTypes.next = _menhir_stack;
21133 });
21134 (fun _menhir_env ->
21135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21136 let {
21137 MenhirLib.EngineTypes.semv = _2;
21138 MenhirLib.EngineTypes.startp = _startpos__2_;
21139 MenhirLib.EngineTypes.endp = _endpos__2_;
21140 MenhirLib.EngineTypes.next = {
21141 MenhirLib.EngineTypes.state = _menhir_s;
21142 MenhirLib.EngineTypes.semv = _1;
21143 MenhirLib.EngineTypes.startp = _startpos__1_;
21144 MenhirLib.EngineTypes.endp = _endpos__1_;
21145 MenhirLib.EngineTypes.next = _menhir_stack;
21146 };
21147 } = _menhir_stack in
21148 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
21149 let _1 : 'tv_decl_statement = Obj.magic _1 in
21150 let _startpos = _startpos__1_ in
21151 let _endpos = _endpos__2_ in
21152 let _v : 'tv_nest_after_stm =
21153# 1850 "parser_cocci_menhir.mly"
21154 (_1@_2)
21155# 21156 "parser_cocci_menhir.ml"
21156 in
21157 _menhir_env.MenhirLib.EngineTypes.stack <- {
21158 MenhirLib.EngineTypes.state = _menhir_s;
21159 MenhirLib.EngineTypes.semv = Obj.repr _v;
21160 MenhirLib.EngineTypes.startp = _startpos;
21161 MenhirLib.EngineTypes.endp = _endpos;
21162 MenhirLib.EngineTypes.next = _menhir_stack;
21163 });
21164 (fun _menhir_env ->
21165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21166 let {
21167 MenhirLib.EngineTypes.semv = c;
21168 MenhirLib.EngineTypes.startp = _startpos_c_;
21169 MenhirLib.EngineTypes.endp = _endpos_c_;
21170 MenhirLib.EngineTypes.next = {
21171 MenhirLib.EngineTypes.semv = e;
21172 MenhirLib.EngineTypes.startp = _startpos_e_;
21173 MenhirLib.EngineTypes.endp = _endpos_e_;
21174 MenhirLib.EngineTypes.next = {
21175 MenhirLib.EngineTypes.state = _menhir_s;
21176 MenhirLib.EngineTypes.semv = _1;
21177 MenhirLib.EngineTypes.startp = _startpos__1_;
21178 MenhirLib.EngineTypes.endp = _endpos__1_;
21179 MenhirLib.EngineTypes.next = _menhir_stack;
21180 };
21181 };
21182 } = _menhir_stack in
21183 let c : (
21184# 74 "parser_cocci_menhir.mly"
21185 (Data.clt)
21186# 21187 "parser_cocci_menhir.ml"
21187 ) = Obj.magic c in
21188 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21189 let _1 : (
21190# 74 "parser_cocci_menhir.mly"
21191 (Data.clt)
21192# 21193 "parser_cocci_menhir.ml"
21193 ) = Obj.magic _1 in
21194 let _startpos = _startpos__1_ in
21195 let _endpos = _endpos_c_ in
21196 let _v : 'tv_nest_expressions =
21197# 1242 "parser_cocci_menhir.mly"
21198 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
21199 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21200 P.clt2mcode "...>" c, None, false)) )
21201# 21202 "parser_cocci_menhir.ml"
21202 in
21203 _menhir_env.MenhirLib.EngineTypes.stack <- {
21204 MenhirLib.EngineTypes.state = _menhir_s;
21205 MenhirLib.EngineTypes.semv = Obj.repr _v;
21206 MenhirLib.EngineTypes.startp = _startpos;
21207 MenhirLib.EngineTypes.endp = _endpos;
21208 MenhirLib.EngineTypes.next = _menhir_stack;
21209 });
21210 (fun _menhir_env ->
21211 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21212 let {
21213 MenhirLib.EngineTypes.semv = c;
21214 MenhirLib.EngineTypes.startp = _startpos_c_;
21215 MenhirLib.EngineTypes.endp = _endpos_c_;
21216 MenhirLib.EngineTypes.next = {
21217 MenhirLib.EngineTypes.semv = e;
21218 MenhirLib.EngineTypes.startp = _startpos_e_;
21219 MenhirLib.EngineTypes.endp = _endpos_e_;
21220 MenhirLib.EngineTypes.next = {
21221 MenhirLib.EngineTypes.state = _menhir_s;
21222 MenhirLib.EngineTypes.semv = _1;
21223 MenhirLib.EngineTypes.startp = _startpos__1_;
21224 MenhirLib.EngineTypes.endp = _endpos__1_;
21225 MenhirLib.EngineTypes.next = _menhir_stack;
21226 };
21227 };
21228 } = _menhir_stack in
21229 let c : (
21230# 74 "parser_cocci_menhir.mly"
21231 (Data.clt)
21232# 21233 "parser_cocci_menhir.ml"
21233 ) = Obj.magic c in
21234 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21235 let _1 : (
21236# 74 "parser_cocci_menhir.mly"
21237 (Data.clt)
21238# 21239 "parser_cocci_menhir.ml"
21239 ) = Obj.magic _1 in
21240 let _startpos = _startpos__1_ in
21241 let _endpos = _endpos_c_ in
21242 let _v : 'tv_nest_expressions =
21243# 1246 "parser_cocci_menhir.mly"
21244 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
21245 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21246 P.clt2mcode "...+>" c, None, true)) )
21247# 21248 "parser_cocci_menhir.ml"
21248 in
21249 _menhir_env.MenhirLib.EngineTypes.stack <- {
21250 MenhirLib.EngineTypes.state = _menhir_s;
21251 MenhirLib.EngineTypes.semv = Obj.repr _v;
21252 MenhirLib.EngineTypes.startp = _startpos;
21253 MenhirLib.EngineTypes.endp = _endpos;
21254 MenhirLib.EngineTypes.next = _menhir_stack;
21255 });
21256 (fun _menhir_env ->
21257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21258 let {
21259 MenhirLib.EngineTypes.state = _menhir_s;
21260 MenhirLib.EngineTypes.semv = _1;
21261 MenhirLib.EngineTypes.startp = _startpos__1_;
21262 MenhirLib.EngineTypes.endp = _endpos__1_;
21263 MenhirLib.EngineTypes.next = _menhir_stack;
21264 } = _menhir_stack in
21265 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
21266 let _startpos = _startpos__1_ in
21267 let _endpos = _endpos__1_ in
21268 let _v : 'tv_nest_start =
21269# 1840 "parser_cocci_menhir.mly"
21270 ( Ast0.wrap(Ast0.DOTS(_1)) )
21271# 21272 "parser_cocci_menhir.ml"
21272 in
21273 _menhir_env.MenhirLib.EngineTypes.stack <- {
21274 MenhirLib.EngineTypes.state = _menhir_s;
21275 MenhirLib.EngineTypes.semv = Obj.repr _v;
21276 MenhirLib.EngineTypes.startp = _startpos;
21277 MenhirLib.EngineTypes.endp = _endpos;
21278 MenhirLib.EngineTypes.next = _menhir_stack;
21279 });
21280 (fun _menhir_env ->
21281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21282 let {
21283 MenhirLib.EngineTypes.state = _menhir_s;
21284 MenhirLib.EngineTypes.startp = _startpos__1_;
21285 MenhirLib.EngineTypes.endp = _endpos__1_;
21286 MenhirLib.EngineTypes.next = _menhir_stack;
21287 } = _menhir_stack in
21288 let _startpos = _startpos__1_ in
21289 let _endpos = _endpos__1_ in
21290 let _v : (
21291# 169 "parser_cocci_menhir.mly"
21292 (unit)
21293# 21294 "parser_cocci_menhir.ml"
21294 ) =
21295# 1989 "parser_cocci_menhir.mly"
21296 ( () )
21297# 21298 "parser_cocci_menhir.ml"
21298 in
21299 _menhir_env.MenhirLib.EngineTypes.stack <- {
21300 MenhirLib.EngineTypes.state = _menhir_s;
21301 MenhirLib.EngineTypes.semv = Obj.repr _v;
21302 MenhirLib.EngineTypes.startp = _startpos;
21303 MenhirLib.EngineTypes.endp = _endpos;
21304 MenhirLib.EngineTypes.next = _menhir_stack;
21305 });
21306 (fun _menhir_env ->
21307 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21308 let {
21309 MenhirLib.EngineTypes.startp = _startpos__2_;
21310 MenhirLib.EngineTypes.endp = _endpos__2_;
21311 MenhirLib.EngineTypes.next = {
21312 MenhirLib.EngineTypes.state = _menhir_s;
21313 MenhirLib.EngineTypes.startp = _startpos__1_;
21314 MenhirLib.EngineTypes.endp = _endpos__1_;
21315 MenhirLib.EngineTypes.next = _menhir_stack;
21316 };
21317 } = _menhir_stack in
21318 let _startpos = _startpos__1_ in
21319 let _endpos = _endpos__2_ in
21320 let _v : (
21321# 169 "parser_cocci_menhir.mly"
21322 (unit)
21323# 21324 "parser_cocci_menhir.ml"
21324 ) =
21325# 1990 "parser_cocci_menhir.mly"
21326 ( () )
21327# 21328 "parser_cocci_menhir.ml"
21328 in
21329 _menhir_env.MenhirLib.EngineTypes.stack <- {
21330 MenhirLib.EngineTypes.state = _menhir_s;
21331 MenhirLib.EngineTypes.semv = Obj.repr _v;
21332 MenhirLib.EngineTypes.startp = _startpos;
21333 MenhirLib.EngineTypes.endp = _endpos;
21334 MenhirLib.EngineTypes.next = _menhir_stack;
21335 });
21336 (fun _menhir_env ->
21337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21338 let {
21339 MenhirLib.EngineTypes.state = _menhir_s;
21340 MenhirLib.EngineTypes.startp = _startpos__1_;
21341 MenhirLib.EngineTypes.endp = _endpos__1_;
21342 MenhirLib.EngineTypes.next = _menhir_stack;
21343 } = _menhir_stack in
21344 let _startpos = _startpos__1_ in
21345 let _endpos = _endpos__1_ in
21346 let _v : (
21347# 169 "parser_cocci_menhir.mly"
21348 (unit)
21349# 21350 "parser_cocci_menhir.ml"
21350 ) =
21351# 1991 "parser_cocci_menhir.mly"
21352 ( () )
21353# 21354 "parser_cocci_menhir.ml"
21354 in
21355 _menhir_env.MenhirLib.EngineTypes.stack <- {
21356 MenhirLib.EngineTypes.state = _menhir_s;
21357 MenhirLib.EngineTypes.semv = Obj.repr _v;
21358 MenhirLib.EngineTypes.startp = _startpos;
21359 MenhirLib.EngineTypes.endp = _endpos;
21360 MenhirLib.EngineTypes.next = _menhir_stack;
21361 });
21362 (fun _menhir_env ->
21363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21364 let {
21365 MenhirLib.EngineTypes.semv = dg;
21366 MenhirLib.EngineTypes.startp = _startpos_dg_;
21367 MenhirLib.EngineTypes.endp = _endpos_dg_;
21368 MenhirLib.EngineTypes.next = {
21369 MenhirLib.EngineTypes.state = _menhir_s;
21370 MenhirLib.EngineTypes.semv = g;
21371 MenhirLib.EngineTypes.startp = _startpos_g_;
21372 MenhirLib.EngineTypes.endp = _endpos_g_;
21373 MenhirLib.EngineTypes.next = _menhir_stack;
21374 };
21375 } = _menhir_stack in
21376 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
21377 let g : 'tv_dexpr = Obj.magic g in
21378 let _startpos = _startpos_g_ in
21379 let _endpos = _endpos_dg_ in
21380 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
21381# 1410 "parser_cocci_menhir.mly"
21382 ( function dot_builder ->
21383 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
21384# 21385 "parser_cocci_menhir.ml"
21385 in
21386 _menhir_env.MenhirLib.EngineTypes.stack <- {
21387 MenhirLib.EngineTypes.state = _menhir_s;
21388 MenhirLib.EngineTypes.semv = Obj.repr _v;
21389 MenhirLib.EngineTypes.startp = _startpos;
21390 MenhirLib.EngineTypes.endp = _endpos;
21391 MenhirLib.EngineTypes.next = _menhir_stack;
21392 });
21393 (fun _menhir_env ->
21394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21395 let {
21396 MenhirLib.EngineTypes.state = _menhir_s;
21397 MenhirLib.EngineTypes.semv = x;
21398 MenhirLib.EngineTypes.startp = _startpos_x_;
21399 MenhirLib.EngineTypes.endp = _endpos_x_;
21400 MenhirLib.EngineTypes.next = _menhir_stack;
21401 } = _menhir_stack in
21402 let x : (
21403# 100 "parser_cocci_menhir.mly"
21404 (Data.clt)
21405# 21406 "parser_cocci_menhir.ml"
21406 ) = Obj.magic x in
21407 let _startpos = _startpos_x_ in
21408 let _endpos = _endpos_x_ in
21409 let _v : 'tv_nonempty_list_TMul_ =
21410# 124 "standard.mly"
21411 ( [ x ] )
21412# 21413 "parser_cocci_menhir.ml"
21413 in
21414 _menhir_env.MenhirLib.EngineTypes.stack <- {
21415 MenhirLib.EngineTypes.state = _menhir_s;
21416 MenhirLib.EngineTypes.semv = Obj.repr _v;
21417 MenhirLib.EngineTypes.startp = _startpos;
21418 MenhirLib.EngineTypes.endp = _endpos;
21419 MenhirLib.EngineTypes.next = _menhir_stack;
21420 });
21421 (fun _menhir_env ->
21422 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21423 let {
21424 MenhirLib.EngineTypes.semv = xs;
21425 MenhirLib.EngineTypes.startp = _startpos_xs_;
21426 MenhirLib.EngineTypes.endp = _endpos_xs_;
21427 MenhirLib.EngineTypes.next = {
21428 MenhirLib.EngineTypes.state = _menhir_s;
21429 MenhirLib.EngineTypes.semv = x;
21430 MenhirLib.EngineTypes.startp = _startpos_x_;
21431 MenhirLib.EngineTypes.endp = _endpos_x_;
21432 MenhirLib.EngineTypes.next = _menhir_stack;
21433 };
21434 } = _menhir_stack in
21435 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
21436 let x : (
21437# 100 "parser_cocci_menhir.mly"
21438 (Data.clt)
21439# 21440 "parser_cocci_menhir.ml"
21440 ) = Obj.magic x in
21441 let _startpos = _startpos_x_ in
21442 let _endpos = _endpos_xs_ in
21443 let _v : 'tv_nonempty_list_TMul_ =
21444# 126 "standard.mly"
21445 ( x :: xs )
21446# 21447 "parser_cocci_menhir.ml"
21447 in
21448 _menhir_env.MenhirLib.EngineTypes.stack <- {
21449 MenhirLib.EngineTypes.state = _menhir_s;
21450 MenhirLib.EngineTypes.semv = Obj.repr _v;
21451 MenhirLib.EngineTypes.startp = _startpos;
21452 MenhirLib.EngineTypes.endp = _endpos;
21453 MenhirLib.EngineTypes.next = _menhir_stack;
21454 });
21455 (fun _menhir_env ->
21456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21457 let {
21458 MenhirLib.EngineTypes.semv = i;
21459 MenhirLib.EngineTypes.startp = _startpos_i_;
21460 MenhirLib.EngineTypes.endp = _endpos_i_;
21461 MenhirLib.EngineTypes.next = {
21462 MenhirLib.EngineTypes.state = _menhir_s;
21463 MenhirLib.EngineTypes.startp = _startpos__1_;
21464 MenhirLib.EngineTypes.endp = _endpos__1_;
21465 MenhirLib.EngineTypes.next = _menhir_stack;
21466 };
21467 } = _menhir_stack in
21468 let i : 'tv_ident_or_const = Obj.magic i in
21469 let _startpos = _startpos__1_ in
21470 let _endpos = _endpos_i_ in
21471 let _v : 'tv_not_ceq =
21472# 1561 "parser_cocci_menhir.mly"
21473 ( (if !Data.in_iso
21474 then failwith "constraints not allowed in iso file");
21475 (if !Data.in_generating
21476 then failwith "constraints not allowed in a generated rule file");
21477 [i] )
21478# 21479 "parser_cocci_menhir.ml"
21479 in
21480 _menhir_env.MenhirLib.EngineTypes.stack <- {
21481 MenhirLib.EngineTypes.state = _menhir_s;
21482 MenhirLib.EngineTypes.semv = Obj.repr _v;
21483 MenhirLib.EngineTypes.startp = _startpos;
21484 MenhirLib.EngineTypes.endp = _endpos;
21485 MenhirLib.EngineTypes.next = _menhir_stack;
21486 });
21487 (fun _menhir_env ->
21488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21489 let {
21490 MenhirLib.EngineTypes.startp = _startpos__4_;
21491 MenhirLib.EngineTypes.endp = _endpos__4_;
21492 MenhirLib.EngineTypes.next = {
21493 MenhirLib.EngineTypes.semv = l;
21494 MenhirLib.EngineTypes.startp = _startpos_l_;
21495 MenhirLib.EngineTypes.endp = _endpos_l_;
21496 MenhirLib.EngineTypes.next = {
21497 MenhirLib.EngineTypes.startp = _startpos__2_;
21498 MenhirLib.EngineTypes.endp = _endpos__2_;
21499 MenhirLib.EngineTypes.next = {
21500 MenhirLib.EngineTypes.state = _menhir_s;
21501 MenhirLib.EngineTypes.startp = _startpos__1_;
21502 MenhirLib.EngineTypes.endp = _endpos__1_;
21503 MenhirLib.EngineTypes.next = _menhir_stack;
21504 };
21505 };
21506 };
21507 } = _menhir_stack in
21508 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
21509 let _startpos = _startpos__1_ in
21510 let _endpos = _endpos__4_ in
21511 let _v : 'tv_not_ceq =
21512# 1567 "parser_cocci_menhir.mly"
21513 ( (if !Data.in_iso
21514 then failwith "constraints not allowed in iso file");
21515 (if !Data.in_generating
21516 then failwith "constraints not allowed in a generated rule file");
21517 l )
21518# 21519 "parser_cocci_menhir.ml"
21519 in
21520 _menhir_env.MenhirLib.EngineTypes.stack <- {
21521 MenhirLib.EngineTypes.state = _menhir_s;
21522 MenhirLib.EngineTypes.semv = Obj.repr _v;
21523 MenhirLib.EngineTypes.startp = _startpos;
21524 MenhirLib.EngineTypes.endp = _endpos;
21525 MenhirLib.EngineTypes.next = _menhir_stack;
21526 });
21527 (fun _menhir_env ->
21528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21529 let {
21530 MenhirLib.EngineTypes.semv = i;
21531 MenhirLib.EngineTypes.startp = _startpos_i_;
21532 MenhirLib.EngineTypes.endp = _endpos_i_;
21533 MenhirLib.EngineTypes.next = {
21534 MenhirLib.EngineTypes.state = _menhir_s;
21535 MenhirLib.EngineTypes.startp = _startpos__1_;
21536 MenhirLib.EngineTypes.endp = _endpos__1_;
21537 MenhirLib.EngineTypes.next = _menhir_stack;
21538 };
21539 } = _menhir_stack in
21540 let i : 'tv_pure_ident = Obj.magic i in
21541 let _startpos = _startpos__1_ in
21542 let _endpos = _endpos_i_ in
21543 let _v : 'tv_not_eqe =
21544# 1542 "parser_cocci_menhir.mly"
21545 ( (if !Data.in_iso
21546 then failwith "constraints not allowed in iso file");
21547 (if !Data.in_generating
21548 then failwith "constraints not allowed in a generated rule file");
21549 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
21550 )
21551# 21552 "parser_cocci_menhir.ml"
21552 in
21553 _menhir_env.MenhirLib.EngineTypes.stack <- {
21554 MenhirLib.EngineTypes.state = _menhir_s;
21555 MenhirLib.EngineTypes.semv = Obj.repr _v;
21556 MenhirLib.EngineTypes.startp = _startpos;
21557 MenhirLib.EngineTypes.endp = _endpos;
21558 MenhirLib.EngineTypes.next = _menhir_stack;
21559 });
21560 (fun _menhir_env ->
21561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21562 let {
21563 MenhirLib.EngineTypes.startp = _startpos__4_;
21564 MenhirLib.EngineTypes.endp = _endpos__4_;
21565 MenhirLib.EngineTypes.next = {
21566 MenhirLib.EngineTypes.semv = l;
21567 MenhirLib.EngineTypes.startp = _startpos_l_;
21568 MenhirLib.EngineTypes.endp = _endpos_l_;
21569 MenhirLib.EngineTypes.next = {
21570 MenhirLib.EngineTypes.startp = _startpos__2_;
21571 MenhirLib.EngineTypes.endp = _endpos__2_;
21572 MenhirLib.EngineTypes.next = {
21573 MenhirLib.EngineTypes.state = _menhir_s;
21574 MenhirLib.EngineTypes.startp = _startpos__1_;
21575 MenhirLib.EngineTypes.endp = _endpos__1_;
21576 MenhirLib.EngineTypes.next = _menhir_stack;
21577 };
21578 };
21579 };
21580 } = _menhir_stack in
21581 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21582 let _startpos = _startpos__1_ in
21583 let _endpos = _endpos__4_ in
21584 let _v : 'tv_not_eqe =
21585# 1549 "parser_cocci_menhir.mly"
21586 ( (if !Data.in_iso
21587 then failwith "constraints not allowed in iso file");
21588 (if !Data.in_generating
21589 then failwith "constraints not allowed in a generated rule file");
21590 List.map
21591 (function i ->
21592 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
21593 l
21594 )
21595# 21596 "parser_cocci_menhir.ml"
21596 in
21597 _menhir_env.MenhirLib.EngineTypes.stack <- {
21598 MenhirLib.EngineTypes.state = _menhir_s;
21599 MenhirLib.EngineTypes.semv = Obj.repr _v;
21600 MenhirLib.EngineTypes.startp = _startpos;
21601 MenhirLib.EngineTypes.endp = _endpos;
21602 MenhirLib.EngineTypes.next = _menhir_stack;
21603 });
21604 (fun _menhir_env ->
21605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21606 let {
21607 MenhirLib.EngineTypes.semv = i;
21608 MenhirLib.EngineTypes.startp = _startpos_i_;
21609 MenhirLib.EngineTypes.endp = _endpos_i_;
21610 MenhirLib.EngineTypes.next = {
21611 MenhirLib.EngineTypes.state = _menhir_s;
21612 MenhirLib.EngineTypes.startp = _startpos__1_;
21613 MenhirLib.EngineTypes.endp = _endpos__1_;
21614 MenhirLib.EngineTypes.next = _menhir_stack;
21615 };
21616 } = _menhir_stack in
21617 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
21618 let _startpos = _startpos__1_ in
21619 let _endpos = _endpos_i_ in
21620 let _v : 'tv_not_eqid =
21621# 1521 "parser_cocci_menhir.mly"
21622 ( (if !Data.in_iso
21623 then failwith "constraints not allowed in iso file");
21624 (if !Data.in_generating
21625 (* pb: constraints not stored with metavars; too lazy to search for
21626 them in the pattern *)
21627 then failwith "constraints not allowed in a generated rule file");
21628 Ast.IdNegIdSet([snd i]) )
21629# 21630 "parser_cocci_menhir.ml"
21630 in
21631 _menhir_env.MenhirLib.EngineTypes.stack <- {
21632 MenhirLib.EngineTypes.state = _menhir_s;
21633 MenhirLib.EngineTypes.semv = Obj.repr _v;
21634 MenhirLib.EngineTypes.startp = _startpos;
21635 MenhirLib.EngineTypes.endp = _endpos;
21636 MenhirLib.EngineTypes.next = _menhir_stack;
21637 });
21638 (fun _menhir_env ->
21639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21640 let {
21641 MenhirLib.EngineTypes.startp = _startpos__4_;
21642 MenhirLib.EngineTypes.endp = _endpos__4_;
21643 MenhirLib.EngineTypes.next = {
21644 MenhirLib.EngineTypes.semv = l;
21645 MenhirLib.EngineTypes.startp = _startpos_l_;
21646 MenhirLib.EngineTypes.endp = _endpos_l_;
21647 MenhirLib.EngineTypes.next = {
21648 MenhirLib.EngineTypes.startp = _startpos__2_;
21649 MenhirLib.EngineTypes.endp = _endpos__2_;
21650 MenhirLib.EngineTypes.next = {
21651 MenhirLib.EngineTypes.state = _menhir_s;
21652 MenhirLib.EngineTypes.startp = _startpos__1_;
21653 MenhirLib.EngineTypes.endp = _endpos__1_;
21654 MenhirLib.EngineTypes.next = _menhir_stack;
21655 };
21656 };
21657 };
21658 } = _menhir_stack in
21659 let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
21660 let _startpos = _startpos__1_ in
21661 let _endpos = _endpos__4_ in
21662 let _v : 'tv_not_eqid =
21663# 1529 "parser_cocci_menhir.mly"
21664 ( (if !Data.in_iso
21665 then failwith "constraints not allowed in iso file");
21666 (if !Data.in_generating
21667 then failwith "constraints not allowed in a generated rule file");
21668 Ast.IdNegIdSet(List.map snd l)
21669 )
21670# 21671 "parser_cocci_menhir.ml"
21671 in
21672 _menhir_env.MenhirLib.EngineTypes.stack <- {
21673 MenhirLib.EngineTypes.state = _menhir_s;
21674 MenhirLib.EngineTypes.semv = Obj.repr _v;
21675 MenhirLib.EngineTypes.startp = _startpos;
21676 MenhirLib.EngineTypes.endp = _endpos;
21677 MenhirLib.EngineTypes.next = _menhir_stack;
21678 });
21679 (fun _menhir_env ->
21680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21681 let {
21682 MenhirLib.EngineTypes.semv = i;
21683 MenhirLib.EngineTypes.startp = _startpos_i_;
21684 MenhirLib.EngineTypes.endp = _endpos_i_;
21685 MenhirLib.EngineTypes.next = {
21686 MenhirLib.EngineTypes.state = _menhir_s;
21687 MenhirLib.EngineTypes.startp = _startpos__1_;
21688 MenhirLib.EngineTypes.endp = _endpos__1_;
21689 MenhirLib.EngineTypes.next = _menhir_stack;
21690 };
21691 } = _menhir_stack in
21692 let i : 'tv_meta_ident = Obj.magic i in
21693 let _startpos = _startpos__1_ in
21694 let _endpos = _endpos_i_ in
21695 let _v : 'tv_not_pos =
21696# 1581 "parser_cocci_menhir.mly"
21697 ( (if !Data.in_iso
21698 then failwith "constraints not allowed in iso file");
21699 (if !Data.in_generating
21700 then failwith "constraints not allowed in a generated rule file");
21701 match i with
21702 (None,_) -> failwith "constraint must be an inherited variable"
21703 | (Some rule,name) ->
21704 let i = (rule,name) in
21705 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
21706 [i] )
21707# 21708 "parser_cocci_menhir.ml"
21708 in
21709 _menhir_env.MenhirLib.EngineTypes.stack <- {
21710 MenhirLib.EngineTypes.state = _menhir_s;
21711 MenhirLib.EngineTypes.semv = Obj.repr _v;
21712 MenhirLib.EngineTypes.startp = _startpos;
21713 MenhirLib.EngineTypes.endp = _endpos;
21714 MenhirLib.EngineTypes.next = _menhir_stack;
21715 });
21716 (fun _menhir_env ->
21717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21718 let {
21719 MenhirLib.EngineTypes.startp = _startpos__4_;
21720 MenhirLib.EngineTypes.endp = _endpos__4_;
21721 MenhirLib.EngineTypes.next = {
21722 MenhirLib.EngineTypes.semv = l;
21723 MenhirLib.EngineTypes.startp = _startpos_l_;
21724 MenhirLib.EngineTypes.endp = _endpos_l_;
21725 MenhirLib.EngineTypes.next = {
21726 MenhirLib.EngineTypes.startp = _startpos__2_;
21727 MenhirLib.EngineTypes.endp = _endpos__2_;
21728 MenhirLib.EngineTypes.next = {
21729 MenhirLib.EngineTypes.state = _menhir_s;
21730 MenhirLib.EngineTypes.startp = _startpos__1_;
21731 MenhirLib.EngineTypes.endp = _endpos__1_;
21732 MenhirLib.EngineTypes.next = _menhir_stack;
21733 };
21734 };
21735 };
21736 } = _menhir_stack in
21737 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
21738 let _startpos = _startpos__1_ in
21739 let _endpos = _endpos__4_ in
21740 let _v : 'tv_not_pos =
21741# 1592 "parser_cocci_menhir.mly"
21742 ( (if !Data.in_iso
21743 then failwith "constraints not allowed in iso file");
21744 (if !Data.in_generating
21745 then failwith "constraints not allowed in a generated rule file");
21746 List.map
21747 (function
21748 (None,_) ->
21749 failwith "constraint must be an inherited variable"
21750 | (Some rule,name) ->
21751 let i = (rule,name) in
21752 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
21753 i)
21754 l )
21755# 21756 "parser_cocci_menhir.ml"
21756 in
21757 _menhir_env.MenhirLib.EngineTypes.stack <- {
21758 MenhirLib.EngineTypes.state = _menhir_s;
21759 MenhirLib.EngineTypes.semv = Obj.repr _v;
21760 MenhirLib.EngineTypes.startp = _startpos;
21761 MenhirLib.EngineTypes.endp = _endpos;
21762 MenhirLib.EngineTypes.next = _menhir_stack;
21763 });
21764 (fun _menhir_env ->
21765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21766 let {
21767 MenhirLib.EngineTypes.state = _menhir_s;
21768 MenhirLib.EngineTypes.semv = _1;
21769 MenhirLib.EngineTypes.startp = _startpos__1_;
21770 MenhirLib.EngineTypes.endp = _endpos__1_;
21771 MenhirLib.EngineTypes.next = _menhir_stack;
21772 } = _menhir_stack in
21773 let _1 : 'tv_decl = Obj.magic _1 in
21774 let _startpos = _startpos__1_ in
21775 let _endpos = _endpos__1_ in
21776 let _v : 'tv_one_dec_decl_ =
21777# 1666 "parser_cocci_menhir.mly"
21778 ( _1 )
21779# 21780 "parser_cocci_menhir.ml"
21780 in
21781 _menhir_env.MenhirLib.EngineTypes.stack <- {
21782 MenhirLib.EngineTypes.state = _menhir_s;
21783 MenhirLib.EngineTypes.semv = Obj.repr _v;
21784 MenhirLib.EngineTypes.startp = _startpos;
21785 MenhirLib.EngineTypes.endp = _endpos;
21786 MenhirLib.EngineTypes.next = _menhir_stack;
21787 });
21788 (fun _menhir_env ->
21789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21790 let {
21791 MenhirLib.EngineTypes.state = _menhir_s;
21792 MenhirLib.EngineTypes.semv = _1;
21793 MenhirLib.EngineTypes.startp = _startpos__1_;
21794 MenhirLib.EngineTypes.endp = _endpos__1_;
21795 MenhirLib.EngineTypes.next = _menhir_stack;
21796 } = _menhir_stack in
21797 let _1 : (
21798# 67 "parser_cocci_menhir.mly"
21799 (Parse_aux.list_info)
21800# 21801 "parser_cocci_menhir.ml"
21801 ) = Obj.magic _1 in
21802 let _startpos = _startpos__1_ in
21803 let _endpos = _endpos__1_ in
21804 let _v : 'tv_one_dec_decl_ =
21805# 1668 "parser_cocci_menhir.mly"
21806 ( let (nm,lenname,pure,clt) = _1 in
21807 let nm = P.clt2mcode nm clt in
21808 let lenname =
21809 match lenname with
21810 Some nm -> Some(P.clt2mcode nm clt)
21811 | None -> None in
21812 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21813# 21814 "parser_cocci_menhir.ml"
21814 in
21815 _menhir_env.MenhirLib.EngineTypes.stack <- {
21816 MenhirLib.EngineTypes.state = _menhir_s;
21817 MenhirLib.EngineTypes.semv = Obj.repr _v;
21818 MenhirLib.EngineTypes.startp = _startpos;
21819 MenhirLib.EngineTypes.endp = _endpos;
21820 MenhirLib.EngineTypes.next = _menhir_stack;
21821 });
21822 (fun _menhir_env ->
21823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21824 let {
21825 MenhirLib.EngineTypes.state = _menhir_s;
21826 MenhirLib.EngineTypes.semv = _1;
21827 MenhirLib.EngineTypes.startp = _startpos__1_;
21828 MenhirLib.EngineTypes.endp = _endpos__1_;
21829 MenhirLib.EngineTypes.next = _menhir_stack;
21830 } = _menhir_stack in
21831 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
21832 let _startpos = _startpos__1_ in
21833 let _endpos = _endpos__1_ in
21834 let _v : 'tv_one_dec_name_opt_decl_ =
21835# 1666 "parser_cocci_menhir.mly"
21836 ( _1 )
21837# 21838 "parser_cocci_menhir.ml"
21838 in
21839 _menhir_env.MenhirLib.EngineTypes.stack <- {
21840 MenhirLib.EngineTypes.state = _menhir_s;
21841 MenhirLib.EngineTypes.semv = Obj.repr _v;
21842 MenhirLib.EngineTypes.startp = _startpos;
21843 MenhirLib.EngineTypes.endp = _endpos;
21844 MenhirLib.EngineTypes.next = _menhir_stack;
21845 });
21846 (fun _menhir_env ->
21847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21848 let {
21849 MenhirLib.EngineTypes.state = _menhir_s;
21850 MenhirLib.EngineTypes.semv = _1;
21851 MenhirLib.EngineTypes.startp = _startpos__1_;
21852 MenhirLib.EngineTypes.endp = _endpos__1_;
21853 MenhirLib.EngineTypes.next = _menhir_stack;
21854 } = _menhir_stack in
21855 let _1 : (
21856# 67 "parser_cocci_menhir.mly"
21857 (Parse_aux.list_info)
21858# 21859 "parser_cocci_menhir.ml"
21859 ) = Obj.magic _1 in
21860 let _startpos = _startpos__1_ in
21861 let _endpos = _endpos__1_ in
21862 let _v : 'tv_one_dec_name_opt_decl_ =
21863# 1668 "parser_cocci_menhir.mly"
21864 ( let (nm,lenname,pure,clt) = _1 in
21865 let nm = P.clt2mcode nm clt in
21866 let lenname =
21867 match lenname with
21868 Some nm -> Some(P.clt2mcode nm clt)
21869 | None -> None in
21870 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21871# 21872 "parser_cocci_menhir.ml"
21872 in
21873 _menhir_env.MenhirLib.EngineTypes.stack <- {
21874 MenhirLib.EngineTypes.state = _menhir_s;
21875 MenhirLib.EngineTypes.semv = Obj.repr _v;
21876 MenhirLib.EngineTypes.startp = _startpos;
21877 MenhirLib.EngineTypes.endp = _endpos;
21878 MenhirLib.EngineTypes.next = _menhir_stack;
21879 });
21880 (fun _menhir_env ->
21881 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21882 let {
21883 MenhirLib.EngineTypes.semv = pv;
21884 MenhirLib.EngineTypes.startp = _startpos_pv_;
21885 MenhirLib.EngineTypes.endp = _endpos_pv_;
21886 MenhirLib.EngineTypes.next = {
21887 MenhirLib.EngineTypes.state = _menhir_s;
21888 MenhirLib.EngineTypes.semv = t;
21889 MenhirLib.EngineTypes.startp = _startpos_t_;
21890 MenhirLib.EngineTypes.endp = _endpos_t_;
21891 MenhirLib.EngineTypes.next = _menhir_stack;
21892 };
21893 } = _menhir_stack in
21894 let pv : (
21895# 108 "parser_cocci_menhir.mly"
21896 (Data.clt)
21897# 21898 "parser_cocci_menhir.ml"
21898 ) = Obj.magic pv in
21899 let t : 'tv_ctype = Obj.magic t in
21900 let _startpos = _startpos_t_ in
21901 let _endpos = _endpos_pv_ in
21902 let _v : 'tv_one_decl_var =
21903# 1031 "parser_cocci_menhir.mly"
21904 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
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 = d;
21922 MenhirLib.EngineTypes.startp = _startpos_d_;
21923 MenhirLib.EngineTypes.endp = _endpos_d_;
21924 MenhirLib.EngineTypes.next = {
21925 MenhirLib.EngineTypes.state = _menhir_s;
21926 MenhirLib.EngineTypes.semv = t;
21927 MenhirLib.EngineTypes.startp = _startpos_t_;
21928 MenhirLib.EngineTypes.endp = _endpos_t_;
21929 MenhirLib.EngineTypes.next = _menhir_stack;
21930 };
21931 };
21932 } = _menhir_stack in
21933 let pv : (
21934# 108 "parser_cocci_menhir.mly"
21935 (Data.clt)
21936# 21937 "parser_cocci_menhir.ml"
21937 ) = Obj.magic pv in
21938 let d : 'tv_d_ident = Obj.magic d in
21939 let t : 'tv_ctype = Obj.magic t in
21940 let _startpos = _startpos_t_ in
21941 let _endpos = _endpos_pv_ in
21942 let _v : 'tv_one_decl_var = let s =
21943
21944# 39 "standard.mly"
21945 ( None )
21946# 21947 "parser_cocci_menhir.ml"
21947
21948 in
21949
21950# 1033 "parser_cocci_menhir.mly"
21951 ( let (id,fn) = d in
21952 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
21953# 21954 "parser_cocci_menhir.ml"
21954 in
21955 _menhir_env.MenhirLib.EngineTypes.stack <- {
21956 MenhirLib.EngineTypes.state = _menhir_s;
21957 MenhirLib.EngineTypes.semv = Obj.repr _v;
21958 MenhirLib.EngineTypes.startp = _startpos;
21959 MenhirLib.EngineTypes.endp = _endpos;
21960 MenhirLib.EngineTypes.next = _menhir_stack;
21961 });
21962 (fun _menhir_env ->
21963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21964 let {
21965 MenhirLib.EngineTypes.semv = pv;
21966 MenhirLib.EngineTypes.startp = _startpos_pv_;
21967 MenhirLib.EngineTypes.endp = _endpos_pv_;
21968 MenhirLib.EngineTypes.next = {
21969 MenhirLib.EngineTypes.semv = d;
21970 MenhirLib.EngineTypes.startp = _startpos_d_;
21971 MenhirLib.EngineTypes.endp = _endpos_d_;
21972 MenhirLib.EngineTypes.next = {
21973 MenhirLib.EngineTypes.semv = t;
21974 MenhirLib.EngineTypes.startp = _startpos_t_;
21975 MenhirLib.EngineTypes.endp = _endpos_t_;
21976 MenhirLib.EngineTypes.next = {
21977 MenhirLib.EngineTypes.state = _menhir_s;
21978 MenhirLib.EngineTypes.semv = x0;
21979 MenhirLib.EngineTypes.startp = _startpos_x0_;
21980 MenhirLib.EngineTypes.endp = _endpos_x0_;
21981 MenhirLib.EngineTypes.next = _menhir_stack;
21982 };
21983 };
21984 };
21985 } = _menhir_stack in
21986 let pv : (
21987# 108 "parser_cocci_menhir.mly"
21988 (Data.clt)
21989# 21990 "parser_cocci_menhir.ml"
21990 ) = Obj.magic pv in
21991 let d : 'tv_d_ident = Obj.magic d in
21992 let t : 'tv_ctype = Obj.magic t in
21993 let x0 : 'tv_storage = Obj.magic x0 in
21994 let _startpos = _startpos_x0_ in
21995 let _endpos = _endpos_pv_ in
21996 let _v : 'tv_one_decl_var = let s =
21997 let x = x0 in
21998
21999# 41 "standard.mly"
22000 ( Some x )
22001# 22002 "parser_cocci_menhir.ml"
22002
22003 in
22004
22005# 1033 "parser_cocci_menhir.mly"
22006 ( let (id,fn) = d in
22007 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22008# 22009 "parser_cocci_menhir.ml"
22009 in
22010 _menhir_env.MenhirLib.EngineTypes.stack <- {
22011 MenhirLib.EngineTypes.state = _menhir_s;
22012 MenhirLib.EngineTypes.semv = Obj.repr _v;
22013 MenhirLib.EngineTypes.startp = _startpos;
22014 MenhirLib.EngineTypes.endp = _endpos;
22015 MenhirLib.EngineTypes.next = _menhir_stack;
22016 });
22017 (fun _menhir_env ->
22018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22019 let {
22020 MenhirLib.EngineTypes.state = _menhir_s;
22021 MenhirLib.EngineTypes.semv = f;
22022 MenhirLib.EngineTypes.startp = _startpos_f_;
22023 MenhirLib.EngineTypes.endp = _endpos_f_;
22024 MenhirLib.EngineTypes.next = _menhir_stack;
22025 } = _menhir_stack in
22026 let f : 'tv_funproto = Obj.magic f in
22027 let _startpos = _startpos_f_ in
22028 let _endpos = _endpos_f_ in
22029 let _v : 'tv_one_decl_var =
22030# 1035 "parser_cocci_menhir.mly"
22031 ( f )
22032# 22033 "parser_cocci_menhir.ml"
22033 in
22034 _menhir_env.MenhirLib.EngineTypes.stack <- {
22035 MenhirLib.EngineTypes.state = _menhir_s;
22036 MenhirLib.EngineTypes.semv = Obj.repr _v;
22037 MenhirLib.EngineTypes.startp = _startpos;
22038 MenhirLib.EngineTypes.endp = _endpos;
22039 MenhirLib.EngineTypes.next = _menhir_stack;
22040 });
22041 (fun _menhir_env ->
22042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22043 let {
22044 MenhirLib.EngineTypes.semv = pv;
22045 MenhirLib.EngineTypes.startp = _startpos_pv_;
22046 MenhirLib.EngineTypes.endp = _endpos_pv_;
22047 MenhirLib.EngineTypes.next = {
22048 MenhirLib.EngineTypes.semv = e;
22049 MenhirLib.EngineTypes.startp = _startpos_e_;
22050 MenhirLib.EngineTypes.endp = _endpos_e_;
22051 MenhirLib.EngineTypes.next = {
22052 MenhirLib.EngineTypes.semv = q;
22053 MenhirLib.EngineTypes.startp = _startpos_q_;
22054 MenhirLib.EngineTypes.endp = _endpos_q_;
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 = t;
22062 MenhirLib.EngineTypes.startp = _startpos_t_;
22063 MenhirLib.EngineTypes.endp = _endpos_t_;
22064 MenhirLib.EngineTypes.next = _menhir_stack;
22065 };
22066 };
22067 };
22068 };
22069 } = _menhir_stack in
22070 let pv : (
22071# 108 "parser_cocci_menhir.mly"
22072 (Data.clt)
22073# 22074 "parser_cocci_menhir.ml"
22074 ) = Obj.magic pv in
22075 let e : 'tv_initialize = Obj.magic e in
22076 let q : (
22077# 108 "parser_cocci_menhir.mly"
22078 (Data.clt)
22079# 22080 "parser_cocci_menhir.ml"
22080 ) = Obj.magic q in
22081 let d : 'tv_d_ident = Obj.magic d in
22082 let t : 'tv_ctype = Obj.magic t in
22083 let _startpos = _startpos_t_ in
22084 let _endpos = _endpos_pv_ in
22085 let _v : 'tv_one_decl_var = let s =
22086
22087# 39 "standard.mly"
22088 ( None )
22089# 22090 "parser_cocci_menhir.ml"
22090
22091 in
22092
22093# 1037 "parser_cocci_menhir.mly"
22094 ( let (id,fn) = d in
22095 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,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 = e;
22113 MenhirLib.EngineTypes.startp = _startpos_e_;
22114 MenhirLib.EngineTypes.endp = _endpos_e_;
22115 MenhirLib.EngineTypes.next = {
22116 MenhirLib.EngineTypes.semv = q;
22117 MenhirLib.EngineTypes.startp = _startpos_q_;
22118 MenhirLib.EngineTypes.endp = _endpos_q_;
22119 MenhirLib.EngineTypes.next = {
22120 MenhirLib.EngineTypes.semv = d;
22121 MenhirLib.EngineTypes.startp = _startpos_d_;
22122 MenhirLib.EngineTypes.endp = _endpos_d_;
22123 MenhirLib.EngineTypes.next = {
22124 MenhirLib.EngineTypes.semv = t;
22125 MenhirLib.EngineTypes.startp = _startpos_t_;
22126 MenhirLib.EngineTypes.endp = _endpos_t_;
22127 MenhirLib.EngineTypes.next = {
22128 MenhirLib.EngineTypes.state = _menhir_s;
22129 MenhirLib.EngineTypes.semv = x0;
22130 MenhirLib.EngineTypes.startp = _startpos_x0_;
22131 MenhirLib.EngineTypes.endp = _endpos_x0_;
22132 MenhirLib.EngineTypes.next = _menhir_stack;
22133 };
22134 };
22135 };
22136 };
22137 };
22138 } = _menhir_stack in
22139 let pv : (
22140# 108 "parser_cocci_menhir.mly"
22141 (Data.clt)
22142# 22143 "parser_cocci_menhir.ml"
22143 ) = Obj.magic pv in
22144 let e : 'tv_initialize = Obj.magic e in
22145 let q : (
22146# 108 "parser_cocci_menhir.mly"
22147 (Data.clt)
22148# 22149 "parser_cocci_menhir.ml"
22149 ) = Obj.magic q in
22150 let d : 'tv_d_ident = Obj.magic d in
22151 let t : 'tv_ctype = Obj.magic t in
22152 let x0 : 'tv_storage = Obj.magic x0 in
22153 let _startpos = _startpos_x0_ in
22154 let _endpos = _endpos_pv_ in
22155 let _v : 'tv_one_decl_var = let s =
22156 let x = x0 in
22157
22158# 41 "standard.mly"
22159 ( Some x )
22160# 22161 "parser_cocci_menhir.ml"
22161
22162 in
22163
22164# 1037 "parser_cocci_menhir.mly"
22165 ( let (id,fn) = d in
22166 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22167# 22168 "parser_cocci_menhir.ml"
22168 in
22169 _menhir_env.MenhirLib.EngineTypes.stack <- {
22170 MenhirLib.EngineTypes.state = _menhir_s;
22171 MenhirLib.EngineTypes.semv = Obj.repr _v;
22172 MenhirLib.EngineTypes.startp = _startpos;
22173 MenhirLib.EngineTypes.endp = _endpos;
22174 MenhirLib.EngineTypes.next = _menhir_stack;
22175 });
22176 (fun _menhir_env ->
22177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22178 let {
22179 MenhirLib.EngineTypes.semv = pv;
22180 MenhirLib.EngineTypes.startp = _startpos_pv_;
22181 MenhirLib.EngineTypes.endp = _endpos_pv_;
22182 MenhirLib.EngineTypes.next = {
22183 MenhirLib.EngineTypes.semv = d;
22184 MenhirLib.EngineTypes.startp = _startpos_d_;
22185 MenhirLib.EngineTypes.endp = _endpos_d_;
22186 MenhirLib.EngineTypes.next = {
22187 MenhirLib.EngineTypes.state = _menhir_s;
22188 MenhirLib.EngineTypes.semv = i;
22189 MenhirLib.EngineTypes.startp = _startpos_i_;
22190 MenhirLib.EngineTypes.endp = _endpos_i_;
22191 MenhirLib.EngineTypes.next = _menhir_stack;
22192 };
22193 };
22194 } = _menhir_stack in
22195 let pv : (
22196# 108 "parser_cocci_menhir.mly"
22197 (Data.clt)
22198# 22199 "parser_cocci_menhir.ml"
22199 ) = Obj.magic pv in
22200 let d : 'tv_d_ident = Obj.magic d in
22201 let i : 'tv_pure_ident = Obj.magic i in
22202 let _startpos = _startpos_i_ in
22203 let _endpos = _endpos_pv_ in
22204 let _v : 'tv_one_decl_var = let cv =
22205
22206# 39 "standard.mly"
22207 ( None )
22208# 22209 "parser_cocci_menhir.ml"
22209
22210 in
22211 let s =
22212
22213# 39 "standard.mly"
22214 ( None )
22215# 22216 "parser_cocci_menhir.ml"
22216
22217 in
22218
22219# 1042 "parser_cocci_menhir.mly"
22220 ( let (id,fn) = d in
22221 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22222 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22223# 22224 "parser_cocci_menhir.ml"
22224 in
22225 _menhir_env.MenhirLib.EngineTypes.stack <- {
22226 MenhirLib.EngineTypes.state = _menhir_s;
22227 MenhirLib.EngineTypes.semv = Obj.repr _v;
22228 MenhirLib.EngineTypes.startp = _startpos;
22229 MenhirLib.EngineTypes.endp = _endpos;
22230 MenhirLib.EngineTypes.next = _menhir_stack;
22231 });
22232 (fun _menhir_env ->
22233 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22234 let {
22235 MenhirLib.EngineTypes.semv = pv;
22236 MenhirLib.EngineTypes.startp = _startpos_pv_;
22237 MenhirLib.EngineTypes.endp = _endpos_pv_;
22238 MenhirLib.EngineTypes.next = {
22239 MenhirLib.EngineTypes.semv = d;
22240 MenhirLib.EngineTypes.startp = _startpos_d_;
22241 MenhirLib.EngineTypes.endp = _endpos_d_;
22242 MenhirLib.EngineTypes.next = {
22243 MenhirLib.EngineTypes.semv = i;
22244 MenhirLib.EngineTypes.startp = _startpos_i_;
22245 MenhirLib.EngineTypes.endp = _endpos_i_;
22246 MenhirLib.EngineTypes.next = {
22247 MenhirLib.EngineTypes.state = _menhir_s;
22248 MenhirLib.EngineTypes.semv = x0;
22249 MenhirLib.EngineTypes.startp = _startpos_x0_;
22250 MenhirLib.EngineTypes.endp = _endpos_x0_;
22251 MenhirLib.EngineTypes.next = _menhir_stack;
22252 };
22253 };
22254 };
22255 } = _menhir_stack in
22256 let pv : (
22257# 108 "parser_cocci_menhir.mly"
22258 (Data.clt)
22259# 22260 "parser_cocci_menhir.ml"
22260 ) = Obj.magic pv in
22261 let d : 'tv_d_ident = Obj.magic d in
22262 let i : 'tv_pure_ident = Obj.magic i in
22263 let x0 : 'tv_const_vol = Obj.magic x0 in
22264 let _startpos = _startpos_x0_ in
22265 let _endpos = _endpos_pv_ in
22266 let _v : 'tv_one_decl_var = let cv =
22267 let x = x0 in
22268
22269# 41 "standard.mly"
22270 ( Some x )
22271# 22272 "parser_cocci_menhir.ml"
22272
22273 in
22274 let s =
22275
22276# 39 "standard.mly"
22277 ( None )
22278# 22279 "parser_cocci_menhir.ml"
22279
22280 in
22281
22282# 1042 "parser_cocci_menhir.mly"
22283 ( let (id,fn) = d in
22284 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22285 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22286# 22287 "parser_cocci_menhir.ml"
22287 in
22288 _menhir_env.MenhirLib.EngineTypes.stack <- {
22289 MenhirLib.EngineTypes.state = _menhir_s;
22290 MenhirLib.EngineTypes.semv = Obj.repr _v;
22291 MenhirLib.EngineTypes.startp = _startpos;
22292 MenhirLib.EngineTypes.endp = _endpos;
22293 MenhirLib.EngineTypes.next = _menhir_stack;
22294 });
22295 (fun _menhir_env ->
22296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22297 let {
22298 MenhirLib.EngineTypes.semv = pv;
22299 MenhirLib.EngineTypes.startp = _startpos_pv_;
22300 MenhirLib.EngineTypes.endp = _endpos_pv_;
22301 MenhirLib.EngineTypes.next = {
22302 MenhirLib.EngineTypes.semv = d;
22303 MenhirLib.EngineTypes.startp = _startpos_d_;
22304 MenhirLib.EngineTypes.endp = _endpos_d_;
22305 MenhirLib.EngineTypes.next = {
22306 MenhirLib.EngineTypes.semv = i;
22307 MenhirLib.EngineTypes.startp = _startpos_i_;
22308 MenhirLib.EngineTypes.endp = _endpos_i_;
22309 MenhirLib.EngineTypes.next = {
22310 MenhirLib.EngineTypes.state = _menhir_s;
22311 MenhirLib.EngineTypes.semv = x0;
22312 MenhirLib.EngineTypes.startp = _startpos_x0_;
22313 MenhirLib.EngineTypes.endp = _endpos_x0_;
22314 MenhirLib.EngineTypes.next = _menhir_stack;
22315 };
22316 };
22317 };
22318 } = _menhir_stack in
22319 let pv : (
22320# 108 "parser_cocci_menhir.mly"
22321 (Data.clt)
22322# 22323 "parser_cocci_menhir.ml"
22323 ) = Obj.magic pv in
22324 let d : 'tv_d_ident = Obj.magic d in
22325 let i : 'tv_pure_ident = Obj.magic i in
22326 let x0 : 'tv_storage = Obj.magic x0 in
22327 let _startpos = _startpos_x0_ in
22328 let _endpos = _endpos_pv_ in
22329 let _v : 'tv_one_decl_var = let cv =
22330
22331# 39 "standard.mly"
22332 ( None )
22333# 22334 "parser_cocci_menhir.ml"
22334
22335 in
22336 let s =
22337 let x = x0 in
22338
22339# 41 "standard.mly"
22340 ( Some x )
22341# 22342 "parser_cocci_menhir.ml"
22342
22343 in
22344
22345# 1042 "parser_cocci_menhir.mly"
22346 ( let (id,fn) = d in
22347 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22348 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22349# 22350 "parser_cocci_menhir.ml"
22350 in
22351 _menhir_env.MenhirLib.EngineTypes.stack <- {
22352 MenhirLib.EngineTypes.state = _menhir_s;
22353 MenhirLib.EngineTypes.semv = Obj.repr _v;
22354 MenhirLib.EngineTypes.startp = _startpos;
22355 MenhirLib.EngineTypes.endp = _endpos;
22356 MenhirLib.EngineTypes.next = _menhir_stack;
22357 });
22358 (fun _menhir_env ->
22359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22360 let {
22361 MenhirLib.EngineTypes.semv = pv;
22362 MenhirLib.EngineTypes.startp = _startpos_pv_;
22363 MenhirLib.EngineTypes.endp = _endpos_pv_;
22364 MenhirLib.EngineTypes.next = {
22365 MenhirLib.EngineTypes.semv = d;
22366 MenhirLib.EngineTypes.startp = _startpos_d_;
22367 MenhirLib.EngineTypes.endp = _endpos_d_;
22368 MenhirLib.EngineTypes.next = {
22369 MenhirLib.EngineTypes.semv = i;
22370 MenhirLib.EngineTypes.startp = _startpos_i_;
22371 MenhirLib.EngineTypes.endp = _endpos_i_;
22372 MenhirLib.EngineTypes.next = {
22373 MenhirLib.EngineTypes.semv = x1;
22374 MenhirLib.EngineTypes.startp = _startpos_x1_;
22375 MenhirLib.EngineTypes.endp = _endpos_x1_;
22376 MenhirLib.EngineTypes.next = {
22377 MenhirLib.EngineTypes.state = _menhir_s;
22378 MenhirLib.EngineTypes.semv = x0;
22379 MenhirLib.EngineTypes.startp = _startpos_x0_;
22380 MenhirLib.EngineTypes.endp = _endpos_x0_;
22381 MenhirLib.EngineTypes.next = _menhir_stack;
22382 };
22383 };
22384 };
22385 };
22386 } = _menhir_stack in
22387 let pv : (
22388# 108 "parser_cocci_menhir.mly"
22389 (Data.clt)
22390# 22391 "parser_cocci_menhir.ml"
22391 ) = Obj.magic pv in
22392 let d : 'tv_d_ident = Obj.magic d in
22393 let i : 'tv_pure_ident = Obj.magic i in
22394 let x1 : 'tv_const_vol = Obj.magic x1 in
22395 let x0 : 'tv_storage = Obj.magic x0 in
22396 let _startpos = _startpos_x0_ in
22397 let _endpos = _endpos_pv_ in
22398 let _v : 'tv_one_decl_var = let cv =
22399 let x = x1 in
22400
22401# 41 "standard.mly"
22402 ( Some x )
22403# 22404 "parser_cocci_menhir.ml"
22404
22405 in
22406 let s =
22407 let x = x0 in
22408
22409# 41 "standard.mly"
22410 ( Some x )
22411# 22412 "parser_cocci_menhir.ml"
22412
22413 in
22414
22415# 1042 "parser_cocci_menhir.mly"
22416 ( let (id,fn) = d in
22417 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22418 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22419# 22420 "parser_cocci_menhir.ml"
22420 in
22421 _menhir_env.MenhirLib.EngineTypes.stack <- {
22422 MenhirLib.EngineTypes.state = _menhir_s;
22423 MenhirLib.EngineTypes.semv = Obj.repr _v;
22424 MenhirLib.EngineTypes.startp = _startpos;
22425 MenhirLib.EngineTypes.endp = _endpos;
22426 MenhirLib.EngineTypes.next = _menhir_stack;
22427 });
22428 (fun _menhir_env ->
22429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22430 let {
22431 MenhirLib.EngineTypes.semv = pv;
22432 MenhirLib.EngineTypes.startp = _startpos_pv_;
22433 MenhirLib.EngineTypes.endp = _endpos_pv_;
22434 MenhirLib.EngineTypes.next = {
22435 MenhirLib.EngineTypes.semv = e;
22436 MenhirLib.EngineTypes.startp = _startpos_e_;
22437 MenhirLib.EngineTypes.endp = _endpos_e_;
22438 MenhirLib.EngineTypes.next = {
22439 MenhirLib.EngineTypes.semv = q;
22440 MenhirLib.EngineTypes.startp = _startpos_q_;
22441 MenhirLib.EngineTypes.endp = _endpos_q_;
22442 MenhirLib.EngineTypes.next = {
22443 MenhirLib.EngineTypes.semv = d;
22444 MenhirLib.EngineTypes.startp = _startpos_d_;
22445 MenhirLib.EngineTypes.endp = _endpos_d_;
22446 MenhirLib.EngineTypes.next = {
22447 MenhirLib.EngineTypes.state = _menhir_s;
22448 MenhirLib.EngineTypes.semv = i;
22449 MenhirLib.EngineTypes.startp = _startpos_i_;
22450 MenhirLib.EngineTypes.endp = _endpos_i_;
22451 MenhirLib.EngineTypes.next = _menhir_stack;
22452 };
22453 };
22454 };
22455 };
22456 } = _menhir_stack in
22457 let pv : (
22458# 108 "parser_cocci_menhir.mly"
22459 (Data.clt)
22460# 22461 "parser_cocci_menhir.ml"
22461 ) = Obj.magic pv in
22462 let e : 'tv_initialize = Obj.magic e in
22463 let q : (
22464# 108 "parser_cocci_menhir.mly"
22465 (Data.clt)
22466# 22467 "parser_cocci_menhir.ml"
22467 ) = Obj.magic q in
22468 let d : 'tv_d_ident = Obj.magic d in
22469 let i : 'tv_pure_ident = Obj.magic i in
22470 let _startpos = _startpos_i_ in
22471 let _endpos = _endpos_pv_ in
22472 let _v : 'tv_one_decl_var = let cv =
22473
22474# 39 "standard.mly"
22475 ( None )
22476# 22477 "parser_cocci_menhir.ml"
22477
22478 in
22479 let s =
22480
22481# 39 "standard.mly"
22482 ( None )
22483# 22484 "parser_cocci_menhir.ml"
22484
22485 in
22486
22487# 1047 "parser_cocci_menhir.mly"
22488 ( let (id,fn) = d in
22489 !Data.add_type_name (P.id2name i);
22490 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22491 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22492 P.clt2mcode ";" pv)) )
22493# 22494 "parser_cocci_menhir.ml"
22494 in
22495 _menhir_env.MenhirLib.EngineTypes.stack <- {
22496 MenhirLib.EngineTypes.state = _menhir_s;
22497 MenhirLib.EngineTypes.semv = Obj.repr _v;
22498 MenhirLib.EngineTypes.startp = _startpos;
22499 MenhirLib.EngineTypes.endp = _endpos;
22500 MenhirLib.EngineTypes.next = _menhir_stack;
22501 });
22502 (fun _menhir_env ->
22503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22504 let {
22505 MenhirLib.EngineTypes.semv = pv;
22506 MenhirLib.EngineTypes.startp = _startpos_pv_;
22507 MenhirLib.EngineTypes.endp = _endpos_pv_;
22508 MenhirLib.EngineTypes.next = {
22509 MenhirLib.EngineTypes.semv = e;
22510 MenhirLib.EngineTypes.startp = _startpos_e_;
22511 MenhirLib.EngineTypes.endp = _endpos_e_;
22512 MenhirLib.EngineTypes.next = {
22513 MenhirLib.EngineTypes.semv = q;
22514 MenhirLib.EngineTypes.startp = _startpos_q_;
22515 MenhirLib.EngineTypes.endp = _endpos_q_;
22516 MenhirLib.EngineTypes.next = {
22517 MenhirLib.EngineTypes.semv = d;
22518 MenhirLib.EngineTypes.startp = _startpos_d_;
22519 MenhirLib.EngineTypes.endp = _endpos_d_;
22520 MenhirLib.EngineTypes.next = {
22521 MenhirLib.EngineTypes.semv = i;
22522 MenhirLib.EngineTypes.startp = _startpos_i_;
22523 MenhirLib.EngineTypes.endp = _endpos_i_;
22524 MenhirLib.EngineTypes.next = {
22525 MenhirLib.EngineTypes.state = _menhir_s;
22526 MenhirLib.EngineTypes.semv = x0;
22527 MenhirLib.EngineTypes.startp = _startpos_x0_;
22528 MenhirLib.EngineTypes.endp = _endpos_x0_;
22529 MenhirLib.EngineTypes.next = _menhir_stack;
22530 };
22531 };
22532 };
22533 };
22534 };
22535 } = _menhir_stack in
22536 let pv : (
22537# 108 "parser_cocci_menhir.mly"
22538 (Data.clt)
22539# 22540 "parser_cocci_menhir.ml"
22540 ) = Obj.magic pv in
22541 let e : 'tv_initialize = Obj.magic e in
22542 let q : (
22543# 108 "parser_cocci_menhir.mly"
22544 (Data.clt)
22545# 22546 "parser_cocci_menhir.ml"
22546 ) = Obj.magic q in
22547 let d : 'tv_d_ident = Obj.magic d in
22548 let i : 'tv_pure_ident = Obj.magic i in
22549 let x0 : 'tv_const_vol = Obj.magic x0 in
22550 let _startpos = _startpos_x0_ in
22551 let _endpos = _endpos_pv_ in
22552 let _v : 'tv_one_decl_var = let cv =
22553 let x = x0 in
22554
22555# 41 "standard.mly"
22556 ( Some x )
22557# 22558 "parser_cocci_menhir.ml"
22558
22559 in
22560 let s =
22561
22562# 39 "standard.mly"
22563 ( None )
22564# 22565 "parser_cocci_menhir.ml"
22565
22566 in
22567
22568# 1047 "parser_cocci_menhir.mly"
22569 ( let (id,fn) = d in
22570 !Data.add_type_name (P.id2name i);
22571 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22572 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22573 P.clt2mcode ";" pv)) )
22574# 22575 "parser_cocci_menhir.ml"
22575 in
22576 _menhir_env.MenhirLib.EngineTypes.stack <- {
22577 MenhirLib.EngineTypes.state = _menhir_s;
22578 MenhirLib.EngineTypes.semv = Obj.repr _v;
22579 MenhirLib.EngineTypes.startp = _startpos;
22580 MenhirLib.EngineTypes.endp = _endpos;
22581 MenhirLib.EngineTypes.next = _menhir_stack;
22582 });
22583 (fun _menhir_env ->
22584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22585 let {
22586 MenhirLib.EngineTypes.semv = pv;
22587 MenhirLib.EngineTypes.startp = _startpos_pv_;
22588 MenhirLib.EngineTypes.endp = _endpos_pv_;
22589 MenhirLib.EngineTypes.next = {
22590 MenhirLib.EngineTypes.semv = e;
22591 MenhirLib.EngineTypes.startp = _startpos_e_;
22592 MenhirLib.EngineTypes.endp = _endpos_e_;
22593 MenhirLib.EngineTypes.next = {
22594 MenhirLib.EngineTypes.semv = q;
22595 MenhirLib.EngineTypes.startp = _startpos_q_;
22596 MenhirLib.EngineTypes.endp = _endpos_q_;
22597 MenhirLib.EngineTypes.next = {
22598 MenhirLib.EngineTypes.semv = d;
22599 MenhirLib.EngineTypes.startp = _startpos_d_;
22600 MenhirLib.EngineTypes.endp = _endpos_d_;
22601 MenhirLib.EngineTypes.next = {
22602 MenhirLib.EngineTypes.semv = i;
22603 MenhirLib.EngineTypes.startp = _startpos_i_;
22604 MenhirLib.EngineTypes.endp = _endpos_i_;
22605 MenhirLib.EngineTypes.next = {
22606 MenhirLib.EngineTypes.state = _menhir_s;
22607 MenhirLib.EngineTypes.semv = x0;
22608 MenhirLib.EngineTypes.startp = _startpos_x0_;
22609 MenhirLib.EngineTypes.endp = _endpos_x0_;
22610 MenhirLib.EngineTypes.next = _menhir_stack;
22611 };
22612 };
22613 };
22614 };
22615 };
22616 } = _menhir_stack in
22617 let pv : (
22618# 108 "parser_cocci_menhir.mly"
22619 (Data.clt)
22620# 22621 "parser_cocci_menhir.ml"
22621 ) = Obj.magic pv in
22622 let e : 'tv_initialize = Obj.magic e in
22623 let q : (
22624# 108 "parser_cocci_menhir.mly"
22625 (Data.clt)
22626# 22627 "parser_cocci_menhir.ml"
22627 ) = Obj.magic q in
22628 let d : 'tv_d_ident = Obj.magic d in
22629 let i : 'tv_pure_ident = Obj.magic i in
22630 let x0 : 'tv_storage = Obj.magic x0 in
22631 let _startpos = _startpos_x0_ in
22632 let _endpos = _endpos_pv_ in
22633 let _v : 'tv_one_decl_var = let cv =
22634
22635# 39 "standard.mly"
22636 ( None )
22637# 22638 "parser_cocci_menhir.ml"
22638
22639 in
22640 let s =
22641 let x = x0 in
22642
22643# 41 "standard.mly"
22644 ( Some x )
22645# 22646 "parser_cocci_menhir.ml"
22646
22647 in
22648
22649# 1047 "parser_cocci_menhir.mly"
22650 ( let (id,fn) = d in
22651 !Data.add_type_name (P.id2name i);
22652 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22653 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22654 P.clt2mcode ";" pv)) )
22655# 22656 "parser_cocci_menhir.ml"
22656 in
22657 _menhir_env.MenhirLib.EngineTypes.stack <- {
22658 MenhirLib.EngineTypes.state = _menhir_s;
22659 MenhirLib.EngineTypes.semv = Obj.repr _v;
22660 MenhirLib.EngineTypes.startp = _startpos;
22661 MenhirLib.EngineTypes.endp = _endpos;
22662 MenhirLib.EngineTypes.next = _menhir_stack;
22663 });
22664 (fun _menhir_env ->
22665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22666 let {
22667 MenhirLib.EngineTypes.semv = pv;
22668 MenhirLib.EngineTypes.startp = _startpos_pv_;
22669 MenhirLib.EngineTypes.endp = _endpos_pv_;
22670 MenhirLib.EngineTypes.next = {
22671 MenhirLib.EngineTypes.semv = e;
22672 MenhirLib.EngineTypes.startp = _startpos_e_;
22673 MenhirLib.EngineTypes.endp = _endpos_e_;
22674 MenhirLib.EngineTypes.next = {
22675 MenhirLib.EngineTypes.semv = q;
22676 MenhirLib.EngineTypes.startp = _startpos_q_;
22677 MenhirLib.EngineTypes.endp = _endpos_q_;
22678 MenhirLib.EngineTypes.next = {
22679 MenhirLib.EngineTypes.semv = d;
22680 MenhirLib.EngineTypes.startp = _startpos_d_;
22681 MenhirLib.EngineTypes.endp = _endpos_d_;
22682 MenhirLib.EngineTypes.next = {
22683 MenhirLib.EngineTypes.semv = i;
22684 MenhirLib.EngineTypes.startp = _startpos_i_;
22685 MenhirLib.EngineTypes.endp = _endpos_i_;
22686 MenhirLib.EngineTypes.next = {
22687 MenhirLib.EngineTypes.semv = x1;
22688 MenhirLib.EngineTypes.startp = _startpos_x1_;
22689 MenhirLib.EngineTypes.endp = _endpos_x1_;
22690 MenhirLib.EngineTypes.next = {
22691 MenhirLib.EngineTypes.state = _menhir_s;
22692 MenhirLib.EngineTypes.semv = x0;
22693 MenhirLib.EngineTypes.startp = _startpos_x0_;
22694 MenhirLib.EngineTypes.endp = _endpos_x0_;
22695 MenhirLib.EngineTypes.next = _menhir_stack;
22696 };
22697 };
22698 };
22699 };
22700 };
22701 };
22702 } = _menhir_stack in
22703 let pv : (
22704# 108 "parser_cocci_menhir.mly"
22705 (Data.clt)
22706# 22707 "parser_cocci_menhir.ml"
22707 ) = Obj.magic pv in
22708 let e : 'tv_initialize = Obj.magic e in
22709 let q : (
22710# 108 "parser_cocci_menhir.mly"
22711 (Data.clt)
22712# 22713 "parser_cocci_menhir.ml"
22713 ) = Obj.magic q in
22714 let d : 'tv_d_ident = Obj.magic d in
22715 let i : 'tv_pure_ident = Obj.magic i in
22716 let x1 : 'tv_const_vol = Obj.magic x1 in
22717 let x0 : 'tv_storage = Obj.magic x0 in
22718 let _startpos = _startpos_x0_ in
22719 let _endpos = _endpos_pv_ in
22720 let _v : 'tv_one_decl_var = let cv =
22721 let x = x1 in
22722
22723# 41 "standard.mly"
22724 ( Some x )
22725# 22726 "parser_cocci_menhir.ml"
22726
22727 in
22728 let s =
22729 let x = x0 in
22730
22731# 41 "standard.mly"
22732 ( Some x )
22733# 22734 "parser_cocci_menhir.ml"
22734
22735 in
22736
22737# 1047 "parser_cocci_menhir.mly"
22738 ( let (id,fn) = d in
22739 !Data.add_type_name (P.id2name i);
22740 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22741 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22742 P.clt2mcode ";" pv)) )
22743# 22744 "parser_cocci_menhir.ml"
22744 in
22745 _menhir_env.MenhirLib.EngineTypes.stack <- {
22746 MenhirLib.EngineTypes.state = _menhir_s;
22747 MenhirLib.EngineTypes.semv = Obj.repr _v;
22748 MenhirLib.EngineTypes.startp = _startpos;
22749 MenhirLib.EngineTypes.endp = _endpos;
22750 MenhirLib.EngineTypes.next = _menhir_stack;
22751 });
22752 (fun _menhir_env ->
22753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22754 let {
22755 MenhirLib.EngineTypes.semv = pv;
22756 MenhirLib.EngineTypes.startp = _startpos_pv_;
22757 MenhirLib.EngineTypes.endp = _endpos_pv_;
22758 MenhirLib.EngineTypes.next = {
22759 MenhirLib.EngineTypes.semv = rp2;
22760 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22761 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22762 MenhirLib.EngineTypes.next = {
22763 MenhirLib.EngineTypes.semv = p;
22764 MenhirLib.EngineTypes.startp = _startpos_p_;
22765 MenhirLib.EngineTypes.endp = _endpos_p_;
22766 MenhirLib.EngineTypes.next = {
22767 MenhirLib.EngineTypes.semv = lp2;
22768 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22769 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22770 MenhirLib.EngineTypes.next = {
22771 MenhirLib.EngineTypes.semv = rp1;
22772 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22773 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22774 MenhirLib.EngineTypes.next = {
22775 MenhirLib.EngineTypes.semv = d;
22776 MenhirLib.EngineTypes.startp = _startpos_d_;
22777 MenhirLib.EngineTypes.endp = _endpos_d_;
22778 MenhirLib.EngineTypes.next = {
22779 MenhirLib.EngineTypes.semv = st;
22780 MenhirLib.EngineTypes.startp = _startpos_st_;
22781 MenhirLib.EngineTypes.endp = _endpos_st_;
22782 MenhirLib.EngineTypes.next = {
22783 MenhirLib.EngineTypes.semv = lp1;
22784 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22785 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22786 MenhirLib.EngineTypes.next = {
22787 MenhirLib.EngineTypes.state = _menhir_s;
22788 MenhirLib.EngineTypes.semv = t;
22789 MenhirLib.EngineTypes.startp = _startpos_t_;
22790 MenhirLib.EngineTypes.endp = _endpos_t_;
22791 MenhirLib.EngineTypes.next = _menhir_stack;
22792 };
22793 };
22794 };
22795 };
22796 };
22797 };
22798 };
22799 };
22800 } = _menhir_stack in
22801 let pv : (
22802# 108 "parser_cocci_menhir.mly"
22803 (Data.clt)
22804# 22805 "parser_cocci_menhir.ml"
22805 ) = Obj.magic pv in
22806 let rp2 : (
22807# 78 "parser_cocci_menhir.mly"
22808 (Data.clt)
22809# 22810 "parser_cocci_menhir.ml"
22810 ) = Obj.magic rp2 in
22811 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22812 let lp2 : (
22813# 77 "parser_cocci_menhir.mly"
22814 (Data.clt)
22815# 22816 "parser_cocci_menhir.ml"
22816 ) = Obj.magic lp2 in
22817 let rp1 : (
22818# 78 "parser_cocci_menhir.mly"
22819 (Data.clt)
22820# 22821 "parser_cocci_menhir.ml"
22821 ) = Obj.magic rp1 in
22822 let d : 'tv_d_ident = Obj.magic d in
22823 let st : (
22824# 100 "parser_cocci_menhir.mly"
22825 (Data.clt)
22826# 22827 "parser_cocci_menhir.ml"
22827 ) = Obj.magic st in
22828 let lp1 : (
22829# 77 "parser_cocci_menhir.mly"
22830 (Data.clt)
22831# 22832 "parser_cocci_menhir.ml"
22832 ) = Obj.magic lp1 in
22833 let t : 'tv_ctype = Obj.magic t in
22834 let _startpos = _startpos_t_ in
22835 let _endpos = _endpos_pv_ in
22836 let _v : 'tv_one_decl_var = let s =
22837
22838# 39 "standard.mly"
22839 ( None )
22840# 22841 "parser_cocci_menhir.ml"
22841
22842 in
22843
22844# 1057 "parser_cocci_menhir.mly"
22845 ( let (id,fn) = d in
22846 let t =
22847 Ast0.wrap
22848 (Ast0.FunctionPointer
22849 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22850 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22851 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22852# 22853 "parser_cocci_menhir.ml"
22853 in
22854 _menhir_env.MenhirLib.EngineTypes.stack <- {
22855 MenhirLib.EngineTypes.state = _menhir_s;
22856 MenhirLib.EngineTypes.semv = Obj.repr _v;
22857 MenhirLib.EngineTypes.startp = _startpos;
22858 MenhirLib.EngineTypes.endp = _endpos;
22859 MenhirLib.EngineTypes.next = _menhir_stack;
22860 });
22861 (fun _menhir_env ->
22862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22863 let {
22864 MenhirLib.EngineTypes.semv = pv;
22865 MenhirLib.EngineTypes.startp = _startpos_pv_;
22866 MenhirLib.EngineTypes.endp = _endpos_pv_;
22867 MenhirLib.EngineTypes.next = {
22868 MenhirLib.EngineTypes.semv = rp2;
22869 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22870 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22871 MenhirLib.EngineTypes.next = {
22872 MenhirLib.EngineTypes.semv = p;
22873 MenhirLib.EngineTypes.startp = _startpos_p_;
22874 MenhirLib.EngineTypes.endp = _endpos_p_;
22875 MenhirLib.EngineTypes.next = {
22876 MenhirLib.EngineTypes.semv = lp2;
22877 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22878 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22879 MenhirLib.EngineTypes.next = {
22880 MenhirLib.EngineTypes.semv = rp1;
22881 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22882 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22883 MenhirLib.EngineTypes.next = {
22884 MenhirLib.EngineTypes.semv = d;
22885 MenhirLib.EngineTypes.startp = _startpos_d_;
22886 MenhirLib.EngineTypes.endp = _endpos_d_;
22887 MenhirLib.EngineTypes.next = {
22888 MenhirLib.EngineTypes.semv = st;
22889 MenhirLib.EngineTypes.startp = _startpos_st_;
22890 MenhirLib.EngineTypes.endp = _endpos_st_;
22891 MenhirLib.EngineTypes.next = {
22892 MenhirLib.EngineTypes.semv = lp1;
22893 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22894 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22895 MenhirLib.EngineTypes.next = {
22896 MenhirLib.EngineTypes.semv = t;
22897 MenhirLib.EngineTypes.startp = _startpos_t_;
22898 MenhirLib.EngineTypes.endp = _endpos_t_;
22899 MenhirLib.EngineTypes.next = {
22900 MenhirLib.EngineTypes.state = _menhir_s;
22901 MenhirLib.EngineTypes.semv = x0;
22902 MenhirLib.EngineTypes.startp = _startpos_x0_;
22903 MenhirLib.EngineTypes.endp = _endpos_x0_;
22904 MenhirLib.EngineTypes.next = _menhir_stack;
22905 };
22906 };
22907 };
22908 };
22909 };
22910 };
22911 };
22912 };
22913 };
22914 } = _menhir_stack in
22915 let pv : (
22916# 108 "parser_cocci_menhir.mly"
22917 (Data.clt)
22918# 22919 "parser_cocci_menhir.ml"
22919 ) = Obj.magic pv in
22920 let rp2 : (
22921# 78 "parser_cocci_menhir.mly"
22922 (Data.clt)
22923# 22924 "parser_cocci_menhir.ml"
22924 ) = Obj.magic rp2 in
22925 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22926 let lp2 : (
22927# 77 "parser_cocci_menhir.mly"
22928 (Data.clt)
22929# 22930 "parser_cocci_menhir.ml"
22930 ) = Obj.magic lp2 in
22931 let rp1 : (
22932# 78 "parser_cocci_menhir.mly"
22933 (Data.clt)
22934# 22935 "parser_cocci_menhir.ml"
22935 ) = Obj.magic rp1 in
22936 let d : 'tv_d_ident = Obj.magic d in
22937 let st : (
22938# 100 "parser_cocci_menhir.mly"
22939 (Data.clt)
22940# 22941 "parser_cocci_menhir.ml"
22941 ) = Obj.magic st in
22942 let lp1 : (
22943# 77 "parser_cocci_menhir.mly"
22944 (Data.clt)
22945# 22946 "parser_cocci_menhir.ml"
22946 ) = Obj.magic lp1 in
22947 let t : 'tv_ctype = Obj.magic t in
22948 let x0 : 'tv_storage = Obj.magic x0 in
22949 let _startpos = _startpos_x0_ in
22950 let _endpos = _endpos_pv_ in
22951 let _v : 'tv_one_decl_var = let s =
22952 let x = x0 in
22953
22954# 41 "standard.mly"
22955 ( Some x )
22956# 22957 "parser_cocci_menhir.ml"
22957
22958 in
22959
22960# 1057 "parser_cocci_menhir.mly"
22961 ( let (id,fn) = d in
22962 let t =
22963 Ast0.wrap
22964 (Ast0.FunctionPointer
22965 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22966 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22967 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22968# 22969 "parser_cocci_menhir.ml"
22969 in
22970 _menhir_env.MenhirLib.EngineTypes.stack <- {
22971 MenhirLib.EngineTypes.state = _menhir_s;
22972 MenhirLib.EngineTypes.semv = Obj.repr _v;
22973 MenhirLib.EngineTypes.startp = _startpos;
22974 MenhirLib.EngineTypes.endp = _endpos;
22975 MenhirLib.EngineTypes.next = _menhir_stack;
22976 });
22977 (fun _menhir_env ->
22978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22979 let {
22980 MenhirLib.EngineTypes.semv = _5;
22981 MenhirLib.EngineTypes.startp = _startpos__5_;
22982 MenhirLib.EngineTypes.endp = _endpos__5_;
22983 MenhirLib.EngineTypes.next = {
22984 MenhirLib.EngineTypes.semv = _4;
22985 MenhirLib.EngineTypes.startp = _startpos__4_;
22986 MenhirLib.EngineTypes.endp = _endpos__4_;
22987 MenhirLib.EngineTypes.next = {
22988 MenhirLib.EngineTypes.semv = _3;
22989 MenhirLib.EngineTypes.startp = _startpos__3_;
22990 MenhirLib.EngineTypes.endp = _endpos__3_;
22991 MenhirLib.EngineTypes.next = {
22992 MenhirLib.EngineTypes.semv = _2;
22993 MenhirLib.EngineTypes.startp = _startpos__2_;
22994 MenhirLib.EngineTypes.endp = _endpos__2_;
22995 MenhirLib.EngineTypes.next = {
22996 MenhirLib.EngineTypes.state = _menhir_s;
22997 MenhirLib.EngineTypes.semv = _1;
22998 MenhirLib.EngineTypes.startp = _startpos__1_;
22999 MenhirLib.EngineTypes.endp = _endpos__1_;
23000 MenhirLib.EngineTypes.next = _menhir_stack;
23001 };
23002 };
23003 };
23004 };
23005 } = _menhir_stack in
23006 let _5 : (
23007# 108 "parser_cocci_menhir.mly"
23008 (Data.clt)
23009# 23010 "parser_cocci_menhir.ml"
23010 ) = Obj.magic _5 in
23011 let _4 : (
23012# 78 "parser_cocci_menhir.mly"
23013 (Data.clt)
23014# 23015 "parser_cocci_menhir.ml"
23015 ) = Obj.magic _4 in
23016 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
23017 let _2 : (
23018# 77 "parser_cocci_menhir.mly"
23019 (Data.clt)
23020# 23021 "parser_cocci_menhir.ml"
23021 ) = Obj.magic _2 in
23022 let _1 : 'tv_decl_ident = Obj.magic _1 in
23023 let _startpos = _startpos__1_ in
23024 let _endpos = _endpos__5_ in
23025 let _v : 'tv_one_decl_var =
23026# 1065 "parser_cocci_menhir.mly"
23027 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
23028 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
23029# 23030 "parser_cocci_menhir.ml"
23030 in
23031 _menhir_env.MenhirLib.EngineTypes.stack <- {
23032 MenhirLib.EngineTypes.state = _menhir_s;
23033 MenhirLib.EngineTypes.semv = Obj.repr _v;
23034 MenhirLib.EngineTypes.startp = _startpos;
23035 MenhirLib.EngineTypes.endp = _endpos;
23036 MenhirLib.EngineTypes.next = _menhir_stack;
23037 });
23038 (fun _menhir_env ->
23039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23040 let {
23041 MenhirLib.EngineTypes.semv = pv;
23042 MenhirLib.EngineTypes.startp = _startpos_pv_;
23043 MenhirLib.EngineTypes.endp = _endpos_pv_;
23044 MenhirLib.EngineTypes.next = {
23045 MenhirLib.EngineTypes.semv = e;
23046 MenhirLib.EngineTypes.startp = _startpos_e_;
23047 MenhirLib.EngineTypes.endp = _endpos_e_;
23048 MenhirLib.EngineTypes.next = {
23049 MenhirLib.EngineTypes.semv = q;
23050 MenhirLib.EngineTypes.startp = _startpos_q_;
23051 MenhirLib.EngineTypes.endp = _endpos_q_;
23052 MenhirLib.EngineTypes.next = {
23053 MenhirLib.EngineTypes.semv = rp2;
23054 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23055 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23056 MenhirLib.EngineTypes.next = {
23057 MenhirLib.EngineTypes.semv = p;
23058 MenhirLib.EngineTypes.startp = _startpos_p_;
23059 MenhirLib.EngineTypes.endp = _endpos_p_;
23060 MenhirLib.EngineTypes.next = {
23061 MenhirLib.EngineTypes.semv = lp2;
23062 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23063 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23064 MenhirLib.EngineTypes.next = {
23065 MenhirLib.EngineTypes.semv = rp1;
23066 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23067 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23068 MenhirLib.EngineTypes.next = {
23069 MenhirLib.EngineTypes.semv = d;
23070 MenhirLib.EngineTypes.startp = _startpos_d_;
23071 MenhirLib.EngineTypes.endp = _endpos_d_;
23072 MenhirLib.EngineTypes.next = {
23073 MenhirLib.EngineTypes.semv = st;
23074 MenhirLib.EngineTypes.startp = _startpos_st_;
23075 MenhirLib.EngineTypes.endp = _endpos_st_;
23076 MenhirLib.EngineTypes.next = {
23077 MenhirLib.EngineTypes.semv = lp1;
23078 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23079 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23080 MenhirLib.EngineTypes.next = {
23081 MenhirLib.EngineTypes.state = _menhir_s;
23082 MenhirLib.EngineTypes.semv = t;
23083 MenhirLib.EngineTypes.startp = _startpos_t_;
23084 MenhirLib.EngineTypes.endp = _endpos_t_;
23085 MenhirLib.EngineTypes.next = _menhir_stack;
23086 };
23087 };
23088 };
23089 };
23090 };
23091 };
23092 };
23093 };
23094 };
23095 };
23096 } = _menhir_stack in
23097 let pv : (
23098# 108 "parser_cocci_menhir.mly"
23099 (Data.clt)
23100# 23101 "parser_cocci_menhir.ml"
23101 ) = Obj.magic pv in
23102 let e : 'tv_initialize = Obj.magic e in
23103 let q : (
23104# 108 "parser_cocci_menhir.mly"
23105 (Data.clt)
23106# 23107 "parser_cocci_menhir.ml"
23107 ) = Obj.magic q in
23108 let rp2 : (
23109# 78 "parser_cocci_menhir.mly"
23110 (Data.clt)
23111# 23112 "parser_cocci_menhir.ml"
23112 ) = Obj.magic rp2 in
23113 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23114 let lp2 : (
23115# 77 "parser_cocci_menhir.mly"
23116 (Data.clt)
23117# 23118 "parser_cocci_menhir.ml"
23118 ) = Obj.magic lp2 in
23119 let rp1 : (
23120# 78 "parser_cocci_menhir.mly"
23121 (Data.clt)
23122# 23123 "parser_cocci_menhir.ml"
23123 ) = Obj.magic rp1 in
23124 let d : 'tv_d_ident = Obj.magic d in
23125 let st : (
23126# 100 "parser_cocci_menhir.mly"
23127 (Data.clt)
23128# 23129 "parser_cocci_menhir.ml"
23129 ) = Obj.magic st in
23130 let lp1 : (
23131# 77 "parser_cocci_menhir.mly"
23132 (Data.clt)
23133# 23134 "parser_cocci_menhir.ml"
23134 ) = Obj.magic lp1 in
23135 let t : 'tv_ctype = Obj.magic t in
23136 let _startpos = _startpos_t_ in
23137 let _endpos = _endpos_pv_ in
23138 let _v : 'tv_one_decl_var = let s =
23139
23140# 39 "standard.mly"
23141 ( None )
23142# 23143 "parser_cocci_menhir.ml"
23143
23144 in
23145
23146# 1071 "parser_cocci_menhir.mly"
23147 ( let (id,fn) = d in
23148 let t =
23149 Ast0.wrap
23150 (Ast0.FunctionPointer
23151 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23152 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23153 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23154# 23155 "parser_cocci_menhir.ml"
23155 in
23156 _menhir_env.MenhirLib.EngineTypes.stack <- {
23157 MenhirLib.EngineTypes.state = _menhir_s;
23158 MenhirLib.EngineTypes.semv = Obj.repr _v;
23159 MenhirLib.EngineTypes.startp = _startpos;
23160 MenhirLib.EngineTypes.endp = _endpos;
23161 MenhirLib.EngineTypes.next = _menhir_stack;
23162 });
23163 (fun _menhir_env ->
23164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23165 let {
23166 MenhirLib.EngineTypes.semv = pv;
23167 MenhirLib.EngineTypes.startp = _startpos_pv_;
23168 MenhirLib.EngineTypes.endp = _endpos_pv_;
23169 MenhirLib.EngineTypes.next = {
23170 MenhirLib.EngineTypes.semv = e;
23171 MenhirLib.EngineTypes.startp = _startpos_e_;
23172 MenhirLib.EngineTypes.endp = _endpos_e_;
23173 MenhirLib.EngineTypes.next = {
23174 MenhirLib.EngineTypes.semv = q;
23175 MenhirLib.EngineTypes.startp = _startpos_q_;
23176 MenhirLib.EngineTypes.endp = _endpos_q_;
23177 MenhirLib.EngineTypes.next = {
23178 MenhirLib.EngineTypes.semv = rp2;
23179 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23180 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23181 MenhirLib.EngineTypes.next = {
23182 MenhirLib.EngineTypes.semv = p;
23183 MenhirLib.EngineTypes.startp = _startpos_p_;
23184 MenhirLib.EngineTypes.endp = _endpos_p_;
23185 MenhirLib.EngineTypes.next = {
23186 MenhirLib.EngineTypes.semv = lp2;
23187 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23188 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23189 MenhirLib.EngineTypes.next = {
23190 MenhirLib.EngineTypes.semv = rp1;
23191 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23192 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23193 MenhirLib.EngineTypes.next = {
23194 MenhirLib.EngineTypes.semv = d;
23195 MenhirLib.EngineTypes.startp = _startpos_d_;
23196 MenhirLib.EngineTypes.endp = _endpos_d_;
23197 MenhirLib.EngineTypes.next = {
23198 MenhirLib.EngineTypes.semv = st;
23199 MenhirLib.EngineTypes.startp = _startpos_st_;
23200 MenhirLib.EngineTypes.endp = _endpos_st_;
23201 MenhirLib.EngineTypes.next = {
23202 MenhirLib.EngineTypes.semv = lp1;
23203 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23204 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23205 MenhirLib.EngineTypes.next = {
23206 MenhirLib.EngineTypes.semv = t;
23207 MenhirLib.EngineTypes.startp = _startpos_t_;
23208 MenhirLib.EngineTypes.endp = _endpos_t_;
23209 MenhirLib.EngineTypes.next = {
23210 MenhirLib.EngineTypes.state = _menhir_s;
23211 MenhirLib.EngineTypes.semv = x0;
23212 MenhirLib.EngineTypes.startp = _startpos_x0_;
23213 MenhirLib.EngineTypes.endp = _endpos_x0_;
23214 MenhirLib.EngineTypes.next = _menhir_stack;
23215 };
23216 };
23217 };
23218 };
23219 };
23220 };
23221 };
23222 };
23223 };
23224 };
23225 };
23226 } = _menhir_stack in
23227 let pv : (
23228# 108 "parser_cocci_menhir.mly"
23229 (Data.clt)
23230# 23231 "parser_cocci_menhir.ml"
23231 ) = Obj.magic pv in
23232 let e : 'tv_initialize = Obj.magic e in
23233 let q : (
23234# 108 "parser_cocci_menhir.mly"
23235 (Data.clt)
23236# 23237 "parser_cocci_menhir.ml"
23237 ) = Obj.magic q in
23238 let rp2 : (
23239# 78 "parser_cocci_menhir.mly"
23240 (Data.clt)
23241# 23242 "parser_cocci_menhir.ml"
23242 ) = Obj.magic rp2 in
23243 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23244 let lp2 : (
23245# 77 "parser_cocci_menhir.mly"
23246 (Data.clt)
23247# 23248 "parser_cocci_menhir.ml"
23248 ) = Obj.magic lp2 in
23249 let rp1 : (
23250# 78 "parser_cocci_menhir.mly"
23251 (Data.clt)
23252# 23253 "parser_cocci_menhir.ml"
23253 ) = Obj.magic rp1 in
23254 let d : 'tv_d_ident = Obj.magic d in
23255 let st : (
23256# 100 "parser_cocci_menhir.mly"
23257 (Data.clt)
23258# 23259 "parser_cocci_menhir.ml"
23259 ) = Obj.magic st in
23260 let lp1 : (
23261# 77 "parser_cocci_menhir.mly"
23262 (Data.clt)
23263# 23264 "parser_cocci_menhir.ml"
23264 ) = Obj.magic lp1 in
23265 let t : 'tv_ctype = Obj.magic t in
23266 let x0 : 'tv_storage = Obj.magic x0 in
23267 let _startpos = _startpos_x0_ in
23268 let _endpos = _endpos_pv_ in
23269 let _v : 'tv_one_decl_var = let s =
23270 let x = x0 in
23271
23272# 41 "standard.mly"
23273 ( Some x )
23274# 23275 "parser_cocci_menhir.ml"
23275
23276 in
23277
23278# 1071 "parser_cocci_menhir.mly"
23279 ( let (id,fn) = d in
23280 let t =
23281 Ast0.wrap
23282 (Ast0.FunctionPointer
23283 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23284 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23285 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23286# 23287 "parser_cocci_menhir.ml"
23287 in
23288 _menhir_env.MenhirLib.EngineTypes.stack <- {
23289 MenhirLib.EngineTypes.state = _menhir_s;
23290 MenhirLib.EngineTypes.semv = Obj.repr _v;
23291 MenhirLib.EngineTypes.startp = _startpos;
23292 MenhirLib.EngineTypes.endp = _endpos;
23293 MenhirLib.EngineTypes.next = _menhir_stack;
23294 });
23295 (fun _menhir_env ->
23296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23297 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23298 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23299 let _endpos = _startpos in
23300 let _v : 'tv_option_TLocal_ =
23301# 29 "standard.mly"
23302 ( None )
23303# 23304 "parser_cocci_menhir.ml"
23304 in
23305 _menhir_env.MenhirLib.EngineTypes.stack <- {
23306 MenhirLib.EngineTypes.state = _menhir_s;
23307 MenhirLib.EngineTypes.semv = Obj.repr _v;
23308 MenhirLib.EngineTypes.startp = _startpos;
23309 MenhirLib.EngineTypes.endp = _endpos;
23310 MenhirLib.EngineTypes.next = _menhir_stack;
23311 });
23312 (fun _menhir_env ->
23313 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23314 let {
23315 MenhirLib.EngineTypes.state = _menhir_s;
23316 MenhirLib.EngineTypes.semv = x;
23317 MenhirLib.EngineTypes.startp = _startpos_x_;
23318 MenhirLib.EngineTypes.endp = _endpos_x_;
23319 MenhirLib.EngineTypes.next = _menhir_stack;
23320 } = _menhir_stack in
23321 let x : unit = Obj.magic x in
23322 let _startpos = _startpos_x_ in
23323 let _endpos = _endpos_x_ in
23324 let _v : 'tv_option_TLocal_ =
23325# 31 "standard.mly"
23326 ( Some x )
23327# 23328 "parser_cocci_menhir.ml"
23328 in
23329 _menhir_env.MenhirLib.EngineTypes.stack <- {
23330 MenhirLib.EngineTypes.state = _menhir_s;
23331 MenhirLib.EngineTypes.semv = Obj.repr _v;
23332 MenhirLib.EngineTypes.startp = _startpos;
23333 MenhirLib.EngineTypes.endp = _endpos;
23334 MenhirLib.EngineTypes.next = _menhir_stack;
23335 });
23336 (fun _menhir_env ->
23337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23338 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23339 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23340 let _endpos = _startpos in
23341 let _v : 'tv_option_TPosAny_ =
23342# 29 "standard.mly"
23343 ( None )
23344# 23345 "parser_cocci_menhir.ml"
23345 in
23346 _menhir_env.MenhirLib.EngineTypes.stack <- {
23347 MenhirLib.EngineTypes.state = _menhir_s;
23348 MenhirLib.EngineTypes.semv = Obj.repr _v;
23349 MenhirLib.EngineTypes.startp = _startpos;
23350 MenhirLib.EngineTypes.endp = _endpos;
23351 MenhirLib.EngineTypes.next = _menhir_stack;
23352 });
23353 (fun _menhir_env ->
23354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23355 let {
23356 MenhirLib.EngineTypes.state = _menhir_s;
23357 MenhirLib.EngineTypes.semv = x;
23358 MenhirLib.EngineTypes.startp = _startpos_x_;
23359 MenhirLib.EngineTypes.endp = _endpos_x_;
23360 MenhirLib.EngineTypes.next = _menhir_stack;
23361 } = _menhir_stack in
23362 let x : unit = Obj.magic x in
23363 let _startpos = _startpos_x_ in
23364 let _endpos = _endpos_x_ in
23365 let _v : 'tv_option_TPosAny_ =
23366# 31 "standard.mly"
23367 ( Some x )
23368# 23369 "parser_cocci_menhir.ml"
23369 in
23370 _menhir_env.MenhirLib.EngineTypes.stack <- {
23371 MenhirLib.EngineTypes.state = _menhir_s;
23372 MenhirLib.EngineTypes.semv = Obj.repr _v;
23373 MenhirLib.EngineTypes.startp = _startpos;
23374 MenhirLib.EngineTypes.endp = _endpos;
23375 MenhirLib.EngineTypes.next = _menhir_stack;
23376 });
23377 (fun _menhir_env ->
23378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23379 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23380 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23381 let _endpos = _startpos in
23382 let _v : 'tv_option_eexpr_ =
23383# 29 "standard.mly"
23384 ( None )
23385# 23386 "parser_cocci_menhir.ml"
23386 in
23387 _menhir_env.MenhirLib.EngineTypes.stack <- {
23388 MenhirLib.EngineTypes.state = _menhir_s;
23389 MenhirLib.EngineTypes.semv = Obj.repr _v;
23390 MenhirLib.EngineTypes.startp = _startpos;
23391 MenhirLib.EngineTypes.endp = _endpos;
23392 MenhirLib.EngineTypes.next = _menhir_stack;
23393 });
23394 (fun _menhir_env ->
23395 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23396 let {
23397 MenhirLib.EngineTypes.state = _menhir_s;
23398 MenhirLib.EngineTypes.semv = x;
23399 MenhirLib.EngineTypes.startp = _startpos_x_;
23400 MenhirLib.EngineTypes.endp = _endpos_x_;
23401 MenhirLib.EngineTypes.next = _menhir_stack;
23402 } = _menhir_stack in
23403 let x : 'tv_eexpr = Obj.magic x in
23404 let _startpos = _startpos_x_ in
23405 let _endpos = _endpos_x_ in
23406 let _v : 'tv_option_eexpr_ =
23407# 31 "standard.mly"
23408 ( Some x )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23421 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23422 let _endpos = _startpos in
23423 let _v : 'tv_option_re_or_not_eqe_ =
23424# 29 "standard.mly"
23425 ( None )
23426# 23427 "parser_cocci_menhir.ml"
23427 in
23428 _menhir_env.MenhirLib.EngineTypes.stack <- {
23429 MenhirLib.EngineTypes.state = _menhir_s;
23430 MenhirLib.EngineTypes.semv = Obj.repr _v;
23431 MenhirLib.EngineTypes.startp = _startpos;
23432 MenhirLib.EngineTypes.endp = _endpos;
23433 MenhirLib.EngineTypes.next = _menhir_stack;
23434 });
23435 (fun _menhir_env ->
23436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23437 let {
23438 MenhirLib.EngineTypes.state = _menhir_s;
23439 MenhirLib.EngineTypes.semv = x;
23440 MenhirLib.EngineTypes.startp = _startpos_x_;
23441 MenhirLib.EngineTypes.endp = _endpos_x_;
23442 MenhirLib.EngineTypes.next = _menhir_stack;
23443 } = _menhir_stack in
23444 let x : 'tv_re_or_not_eqe = Obj.magic x in
23445 let _startpos = _startpos_x_ in
23446 let _endpos = _endpos_x_ in
23447 let _v : 'tv_option_re_or_not_eqe_ =
23448# 31 "standard.mly"
23449 ( Some x )
23450# 23451 "parser_cocci_menhir.ml"
23451 in
23452 _menhir_env.MenhirLib.EngineTypes.stack <- {
23453 MenhirLib.EngineTypes.state = _menhir_s;
23454 MenhirLib.EngineTypes.semv = Obj.repr _v;
23455 MenhirLib.EngineTypes.startp = _startpos;
23456 MenhirLib.EngineTypes.endp = _endpos;
23457 MenhirLib.EngineTypes.next = _menhir_stack;
23458 });
23459 (fun _menhir_env ->
23460 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23461 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23462 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23463 let _endpos = _startpos in
23464 let _v : 'tv_option_re_or_not_eqid_ =
23465# 29 "standard.mly"
23466 ( None )
23467# 23468 "parser_cocci_menhir.ml"
23468 in
23469 _menhir_env.MenhirLib.EngineTypes.stack <- {
23470 MenhirLib.EngineTypes.state = _menhir_s;
23471 MenhirLib.EngineTypes.semv = Obj.repr _v;
23472 MenhirLib.EngineTypes.startp = _startpos;
23473 MenhirLib.EngineTypes.endp = _endpos;
23474 MenhirLib.EngineTypes.next = _menhir_stack;
23475 });
23476 (fun _menhir_env ->
23477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23478 let {
23479 MenhirLib.EngineTypes.state = _menhir_s;
23480 MenhirLib.EngineTypes.semv = x;
23481 MenhirLib.EngineTypes.startp = _startpos_x_;
23482 MenhirLib.EngineTypes.endp = _endpos_x_;
23483 MenhirLib.EngineTypes.next = _menhir_stack;
23484 } = _menhir_stack in
23485 let x : 'tv_re_or_not_eqid = Obj.magic x in
23486 let _startpos = _startpos_x_ in
23487 let _endpos = _endpos_x_ in
23488 let _v : 'tv_option_re_or_not_eqid_ =
23489# 31 "standard.mly"
23490 ( Some x )
23491# 23492 "parser_cocci_menhir.ml"
23492 in
23493 _menhir_env.MenhirLib.EngineTypes.stack <- {
23494 MenhirLib.EngineTypes.state = _menhir_s;
23495 MenhirLib.EngineTypes.semv = Obj.repr _v;
23496 MenhirLib.EngineTypes.startp = _startpos;
23497 MenhirLib.EngineTypes.endp = _endpos;
23498 MenhirLib.EngineTypes.next = _menhir_stack;
23499 });
23500 (fun _menhir_env ->
23501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23502 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23503 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23504 let _endpos = _startpos in
23505 let _v : 'tv_plus_after_dots =
23506# 1790 "parser_cocci_menhir.mly"
23507 ([])
23508# 23509 "parser_cocci_menhir.ml"
23509 in
23510 _menhir_env.MenhirLib.EngineTypes.stack <- {
23511 MenhirLib.EngineTypes.state = _menhir_s;
23512 MenhirLib.EngineTypes.semv = Obj.repr _v;
23513 MenhirLib.EngineTypes.startp = _startpos;
23514 MenhirLib.EngineTypes.endp = _endpos;
23515 MenhirLib.EngineTypes.next = _menhir_stack;
23516 });
23517 (fun _menhir_env ->
23518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23519 let {
23520 MenhirLib.EngineTypes.semv = _2;
23521 MenhirLib.EngineTypes.startp = _startpos__2_;
23522 MenhirLib.EngineTypes.endp = _endpos__2_;
23523 MenhirLib.EngineTypes.next = {
23524 MenhirLib.EngineTypes.state = _menhir_s;
23525 MenhirLib.EngineTypes.startp = _startpos__1_;
23526 MenhirLib.EngineTypes.endp = _endpos__1_;
23527 MenhirLib.EngineTypes.next = _menhir_stack;
23528 };
23529 } = _menhir_stack in
23530 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23531 let _startpos = _startpos__1_ in
23532 let _endpos = _endpos__2_ in
23533 let _v : 'tv_plus_after_dots =
23534# 1791 "parser_cocci_menhir.mly"
23535 (_2)
23536# 23537 "parser_cocci_menhir.ml"
23537 in
23538 _menhir_env.MenhirLib.EngineTypes.stack <- {
23539 MenhirLib.EngineTypes.state = _menhir_s;
23540 MenhirLib.EngineTypes.semv = Obj.repr _v;
23541 MenhirLib.EngineTypes.startp = _startpos;
23542 MenhirLib.EngineTypes.endp = _endpos;
23543 MenhirLib.EngineTypes.next = _menhir_stack;
23544 });
23545 (fun _menhir_env ->
23546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23547 let {
23548 MenhirLib.EngineTypes.semv = _2;
23549 MenhirLib.EngineTypes.startp = _startpos__2_;
23550 MenhirLib.EngineTypes.endp = _endpos__2_;
23551 MenhirLib.EngineTypes.next = {
23552 MenhirLib.EngineTypes.state = _menhir_s;
23553 MenhirLib.EngineTypes.semv = _1;
23554 MenhirLib.EngineTypes.startp = _startpos__1_;
23555 MenhirLib.EngineTypes.endp = _endpos__1_;
23556 MenhirLib.EngineTypes.next = _menhir_stack;
23557 };
23558 } = _menhir_stack in
23559 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23560 let _1 : 'tv_expr = Obj.magic _1 in
23561 let _startpos = _startpos__1_ in
23562 let _endpos = _endpos__2_ in
23563 let _v : 'tv_plus_after_dots =
23564# 1793 "parser_cocci_menhir.mly"
23565 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
23566# 23567 "parser_cocci_menhir.ml"
23567 in
23568 _menhir_env.MenhirLib.EngineTypes.stack <- {
23569 MenhirLib.EngineTypes.state = _menhir_s;
23570 MenhirLib.EngineTypes.semv = Obj.repr _v;
23571 MenhirLib.EngineTypes.startp = _startpos;
23572 MenhirLib.EngineTypes.endp = _endpos;
23573 MenhirLib.EngineTypes.next = _menhir_stack;
23574 });
23575 (fun _menhir_env ->
23576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23577 let {
23578 MenhirLib.EngineTypes.semv = _2;
23579 MenhirLib.EngineTypes.startp = _startpos__2_;
23580 MenhirLib.EngineTypes.endp = _endpos__2_;
23581 MenhirLib.EngineTypes.next = {
23582 MenhirLib.EngineTypes.state = _menhir_s;
23583 MenhirLib.EngineTypes.semv = _1;
23584 MenhirLib.EngineTypes.startp = _startpos__1_;
23585 MenhirLib.EngineTypes.endp = _endpos__1_;
23586 MenhirLib.EngineTypes.next = _menhir_stack;
23587 };
23588 } = _menhir_stack in
23589 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23590 let _1 : 'tv_fundecl = Obj.magic _1 in
23591 let _startpos = _startpos__1_ in
23592 let _endpos = _endpos__2_ in
23593 let _v : 'tv_plus_after_dots =
23594# 1794 "parser_cocci_menhir.mly"
23595 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23596# 23597 "parser_cocci_menhir.ml"
23597 in
23598 _menhir_env.MenhirLib.EngineTypes.stack <- {
23599 MenhirLib.EngineTypes.state = _menhir_s;
23600 MenhirLib.EngineTypes.semv = Obj.repr _v;
23601 MenhirLib.EngineTypes.startp = _startpos;
23602 MenhirLib.EngineTypes.endp = _endpos;
23603 MenhirLib.EngineTypes.next = _menhir_stack;
23604 });
23605 (fun _menhir_env ->
23606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23607 let {
23608 MenhirLib.EngineTypes.semv = _2;
23609 MenhirLib.EngineTypes.startp = _startpos__2_;
23610 MenhirLib.EngineTypes.endp = _endpos__2_;
23611 MenhirLib.EngineTypes.next = {
23612 MenhirLib.EngineTypes.state = _menhir_s;
23613 MenhirLib.EngineTypes.semv = _1;
23614 MenhirLib.EngineTypes.startp = _startpos__1_;
23615 MenhirLib.EngineTypes.endp = _endpos__1_;
23616 MenhirLib.EngineTypes.next = _menhir_stack;
23617 };
23618 } = _menhir_stack in
23619 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23620 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
23621 let _startpos = _startpos__1_ in
23622 let _endpos = _endpos__2_ in
23623 let _v : 'tv_plus_after_dots =
23624# 1796 "parser_cocci_menhir.mly"
23625 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23626# 23627 "parser_cocci_menhir.ml"
23627 in
23628 _menhir_env.MenhirLib.EngineTypes.stack <- {
23629 MenhirLib.EngineTypes.state = _menhir_s;
23630 MenhirLib.EngineTypes.semv = Obj.repr _v;
23631 MenhirLib.EngineTypes.startp = _startpos;
23632 MenhirLib.EngineTypes.endp = _endpos;
23633 MenhirLib.EngineTypes.next = _menhir_stack;
23634 });
23635 (fun _menhir_env ->
23636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23637 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23638 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23639 let _endpos = _startpos in
23640 let _v : 'tv_plus_after_exp =
23641# 1786 "parser_cocci_menhir.mly"
23642 ([])
23643# 23644 "parser_cocci_menhir.ml"
23644 in
23645 _menhir_env.MenhirLib.EngineTypes.stack <- {
23646 MenhirLib.EngineTypes.state = _menhir_s;
23647 MenhirLib.EngineTypes.semv = Obj.repr _v;
23648 MenhirLib.EngineTypes.startp = _startpos;
23649 MenhirLib.EngineTypes.endp = _endpos;
23650 MenhirLib.EngineTypes.next = _menhir_stack;
23651 });
23652 (fun _menhir_env ->
23653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23654 let {
23655 MenhirLib.EngineTypes.semv = _2;
23656 MenhirLib.EngineTypes.startp = _startpos__2_;
23657 MenhirLib.EngineTypes.endp = _endpos__2_;
23658 MenhirLib.EngineTypes.next = {
23659 MenhirLib.EngineTypes.state = _menhir_s;
23660 MenhirLib.EngineTypes.semv = _1;
23661 MenhirLib.EngineTypes.startp = _startpos__1_;
23662 MenhirLib.EngineTypes.endp = _endpos__1_;
23663 MenhirLib.EngineTypes.next = _menhir_stack;
23664 };
23665 } = _menhir_stack in
23666 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23667 let _1 : 'tv_stm_dots = Obj.magic _1 in
23668 let _startpos = _startpos__1_ in
23669 let _endpos = _endpos__2_ in
23670 let _v : 'tv_plus_after_exp =
23671# 1787 "parser_cocci_menhir.mly"
23672 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23673# 23674 "parser_cocci_menhir.ml"
23674 in
23675 _menhir_env.MenhirLib.EngineTypes.stack <- {
23676 MenhirLib.EngineTypes.state = _menhir_s;
23677 MenhirLib.EngineTypes.semv = Obj.repr _v;
23678 MenhirLib.EngineTypes.startp = _startpos;
23679 MenhirLib.EngineTypes.endp = _endpos;
23680 MenhirLib.EngineTypes.next = _menhir_stack;
23681 });
23682 (fun _menhir_env ->
23683 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23684 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23685 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23686 let _endpos = _startpos in
23687 let _v : 'tv_plus_after_stm =
23688# 1799 "parser_cocci_menhir.mly"
23689 ([])
23690# 23691 "parser_cocci_menhir.ml"
23691 in
23692 _menhir_env.MenhirLib.EngineTypes.stack <- {
23693 MenhirLib.EngineTypes.state = _menhir_s;
23694 MenhirLib.EngineTypes.semv = Obj.repr _v;
23695 MenhirLib.EngineTypes.startp = _startpos;
23696 MenhirLib.EngineTypes.endp = _endpos;
23697 MenhirLib.EngineTypes.next = _menhir_stack;
23698 });
23699 (fun _menhir_env ->
23700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23701 let {
23702 MenhirLib.EngineTypes.semv = _2;
23703 MenhirLib.EngineTypes.startp = _startpos__2_;
23704 MenhirLib.EngineTypes.endp = _endpos__2_;
23705 MenhirLib.EngineTypes.next = {
23706 MenhirLib.EngineTypes.state = _menhir_s;
23707 MenhirLib.EngineTypes.semv = _1;
23708 MenhirLib.EngineTypes.startp = _startpos__1_;
23709 MenhirLib.EngineTypes.endp = _endpos__1_;
23710 MenhirLib.EngineTypes.next = _menhir_stack;
23711 };
23712 } = _menhir_stack in
23713 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23714 let _1 : 'tv_stm_dots = Obj.magic _1 in
23715 let _startpos = _startpos__1_ in
23716 let _endpos = _endpos__2_ in
23717 let _v : 'tv_plus_after_stm =
23718# 1800 "parser_cocci_menhir.mly"
23719 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23720# 23721 "parser_cocci_menhir.ml"
23721 in
23722 _menhir_env.MenhirLib.EngineTypes.stack <- {
23723 MenhirLib.EngineTypes.state = _menhir_s;
23724 MenhirLib.EngineTypes.semv = Obj.repr _v;
23725 MenhirLib.EngineTypes.startp = _startpos;
23726 MenhirLib.EngineTypes.endp = _endpos;
23727 MenhirLib.EngineTypes.next = _menhir_stack;
23728 });
23729 (fun _menhir_env ->
23730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23731 let {
23732 MenhirLib.EngineTypes.semv = _2;
23733 MenhirLib.EngineTypes.startp = _startpos__2_;
23734 MenhirLib.EngineTypes.endp = _endpos__2_;
23735 MenhirLib.EngineTypes.next = {
23736 MenhirLib.EngineTypes.state = _menhir_s;
23737 MenhirLib.EngineTypes.semv = _1;
23738 MenhirLib.EngineTypes.startp = _startpos__1_;
23739 MenhirLib.EngineTypes.endp = _endpos__1_;
23740 MenhirLib.EngineTypes.next = _menhir_stack;
23741 };
23742 } = _menhir_stack in
23743 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23744 let _1 : 'tv_fundecl = Obj.magic _1 in
23745 let _startpos = _startpos__1_ in
23746 let _endpos = _endpos__2_ in
23747 let _v : 'tv_plus_after_stm =
23748# 1801 "parser_cocci_menhir.mly"
23749 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23750# 23751 "parser_cocci_menhir.ml"
23751 in
23752 _menhir_env.MenhirLib.EngineTypes.stack <- {
23753 MenhirLib.EngineTypes.state = _menhir_s;
23754 MenhirLib.EngineTypes.semv = Obj.repr _v;
23755 MenhirLib.EngineTypes.startp = _startpos;
23756 MenhirLib.EngineTypes.endp = _endpos;
23757 MenhirLib.EngineTypes.next = _menhir_stack;
23758 });
23759 (fun _menhir_env ->
23760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23761 let {
23762 MenhirLib.EngineTypes.semv = _2;
23763 MenhirLib.EngineTypes.startp = _startpos__2_;
23764 MenhirLib.EngineTypes.endp = _endpos__2_;
23765 MenhirLib.EngineTypes.next = {
23766 MenhirLib.EngineTypes.state = _menhir_s;
23767 MenhirLib.EngineTypes.semv = _1;
23768 MenhirLib.EngineTypes.startp = _startpos__1_;
23769 MenhirLib.EngineTypes.endp = _endpos__1_;
23770 MenhirLib.EngineTypes.next = _menhir_stack;
23771 };
23772 } = _menhir_stack in
23773 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23774 let _1 : 'tv_decl_statement = Obj.magic _1 in
23775 let _startpos = _startpos__1_ in
23776 let _endpos = _endpos__2_ in
23777 let _v : 'tv_plus_after_stm =
23778# 1803 "parser_cocci_menhir.mly"
23779 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23780# 23781 "parser_cocci_menhir.ml"
23781 in
23782 _menhir_env.MenhirLib.EngineTypes.stack <- {
23783 MenhirLib.EngineTypes.state = _menhir_s;
23784 MenhirLib.EngineTypes.semv = Obj.repr _v;
23785 MenhirLib.EngineTypes.startp = _startpos;
23786 MenhirLib.EngineTypes.endp = _endpos;
23787 MenhirLib.EngineTypes.next = _menhir_stack;
23788 });
23789 (fun _menhir_env ->
23790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23791 let {
23792 MenhirLib.EngineTypes.semv = b;
23793 MenhirLib.EngineTypes.startp = _startpos_b_;
23794 MenhirLib.EngineTypes.endp = _endpos_b_;
23795 MenhirLib.EngineTypes.next = {
23796 MenhirLib.EngineTypes.state = _menhir_s;
23797 MenhirLib.EngineTypes.semv = f;
23798 MenhirLib.EngineTypes.startp = _startpos_f_;
23799 MenhirLib.EngineTypes.endp = _endpos_f_;
23800 MenhirLib.EngineTypes.next = _menhir_stack;
23801 };
23802 } = _menhir_stack in
23803 let b : 'tv_loption_plus_start_ = Obj.magic b in
23804 let f : 'tv_loption_filespec_ = Obj.magic f in
23805 let _startpos = _startpos_f_ in
23806 let _endpos = _endpos_b_ in
23807 let _v : 'tv_plus_body =
23808# 638 "parser_cocci_menhir.mly"
23809 ( Top_level.top_level (f@b(*@ew*)) )
23810# 23811 "parser_cocci_menhir.ml"
23811 in
23812 _menhir_env.MenhirLib.EngineTypes.stack <- {
23813 MenhirLib.EngineTypes.state = _menhir_s;
23814 MenhirLib.EngineTypes.semv = Obj.repr _v;
23815 MenhirLib.EngineTypes.startp = _startpos;
23816 MenhirLib.EngineTypes.endp = _endpos;
23817 MenhirLib.EngineTypes.next = _menhir_stack;
23818 });
23819 (fun _menhir_env ->
23820 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23821 let {
23822 MenhirLib.EngineTypes.semv = b;
23823 MenhirLib.EngineTypes.startp = _startpos_b_;
23824 MenhirLib.EngineTypes.endp = _endpos_b_;
23825 MenhirLib.EngineTypes.next = {
23826 MenhirLib.EngineTypes.state = _menhir_s;
23827 MenhirLib.EngineTypes.semv = f;
23828 MenhirLib.EngineTypes.startp = _startpos_f_;
23829 MenhirLib.EngineTypes.endp = _endpos_f_;
23830 MenhirLib.EngineTypes.next = _menhir_stack;
23831 };
23832 } = _menhir_stack in
23833 let b : 'tv_top_eexpr = Obj.magic b in
23834 let f : 'tv_loption_filespec_ = Obj.magic f in
23835 let _startpos = _startpos_f_ in
23836 let _endpos = _endpos_b_ in
23837 let _v : 'tv_plus_exp_body =
23838# 652 "parser_cocci_menhir.mly"
23839 ( Top_level.top_level (f@[b](*@ew*)) )
23840# 23841 "parser_cocci_menhir.ml"
23841 in
23842 _menhir_env.MenhirLib.EngineTypes.stack <- {
23843 MenhirLib.EngineTypes.state = _menhir_s;
23844 MenhirLib.EngineTypes.semv = Obj.repr _v;
23845 MenhirLib.EngineTypes.startp = _startpos;
23846 MenhirLib.EngineTypes.endp = _endpos;
23847 MenhirLib.EngineTypes.next = _menhir_stack;
23848 });
23849 (fun _menhir_env ->
23850 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23851 let {
23852 MenhirLib.EngineTypes.startp = _startpos__2_;
23853 MenhirLib.EngineTypes.endp = _endpos__2_;
23854 MenhirLib.EngineTypes.next = {
23855 MenhirLib.EngineTypes.state = _menhir_s;
23856 MenhirLib.EngineTypes.semv = _1;
23857 MenhirLib.EngineTypes.startp = _startpos__1_;
23858 MenhirLib.EngineTypes.endp = _endpos__1_;
23859 MenhirLib.EngineTypes.next = _menhir_stack;
23860 };
23861 } = _menhir_stack in
23862 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
23863 let _startpos = _startpos__1_ in
23864 let _endpos = _endpos__2_ in
23865 let _v : (
23866# 144 "parser_cocci_menhir.mly"
23867 (Ast0_cocci.rule)
23868# 23869 "parser_cocci_menhir.ml"
23869 ) =
23870# 180 "parser_cocci_menhir.mly"
23871 ( _1 )
23872# 23873 "parser_cocci_menhir.ml"
23873 in
23874 _menhir_env.MenhirLib.EngineTypes.stack <- {
23875 MenhirLib.EngineTypes.state = _menhir_s;
23876 MenhirLib.EngineTypes.semv = Obj.repr _v;
23877 MenhirLib.EngineTypes.startp = _startpos;
23878 MenhirLib.EngineTypes.endp = _endpos;
23879 MenhirLib.EngineTypes.next = _menhir_stack;
23880 });
23881 (fun _menhir_env ->
23882 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23883 let {
23884 MenhirLib.EngineTypes.startp = _startpos__2_;
23885 MenhirLib.EngineTypes.endp = _endpos__2_;
23886 MenhirLib.EngineTypes.next = {
23887 MenhirLib.EngineTypes.state = _menhir_s;
23888 MenhirLib.EngineTypes.semv = p;
23889 MenhirLib.EngineTypes.startp = _startpos_p_;
23890 MenhirLib.EngineTypes.endp = _endpos_p_;
23891 MenhirLib.EngineTypes.next = _menhir_stack;
23892 };
23893 } = _menhir_stack in
23894 let p : 'tv_plus_exp_body = Obj.magic p in
23895 let _startpos = _startpos_p_ in
23896 let _endpos = _endpos__2_ in
23897 let _v : (
23898# 144 "parser_cocci_menhir.mly"
23899 (Ast0_cocci.rule)
23900# 23901 "parser_cocci_menhir.ml"
23901 ) =
23902# 180 "parser_cocci_menhir.mly"
23903 ( p )
23904# 23905 "parser_cocci_menhir.ml"
23905 in
23906 _menhir_env.MenhirLib.EngineTypes.stack <- {
23907 MenhirLib.EngineTypes.state = _menhir_s;
23908 MenhirLib.EngineTypes.semv = Obj.repr _v;
23909 MenhirLib.EngineTypes.startp = _startpos;
23910 MenhirLib.EngineTypes.endp = _endpos;
23911 MenhirLib.EngineTypes.next = _menhir_stack;
23912 });
23913 (fun _menhir_env ->
23914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23915 let {
23916 MenhirLib.EngineTypes.startp = _startpos__2_;
23917 MenhirLib.EngineTypes.endp = _endpos__2_;
23918 MenhirLib.EngineTypes.next = {
23919 MenhirLib.EngineTypes.state = _menhir_s;
23920 MenhirLib.EngineTypes.semv = p;
23921 MenhirLib.EngineTypes.startp = _startpos_p_;
23922 MenhirLib.EngineTypes.endp = _endpos_p_;
23923 MenhirLib.EngineTypes.next = _menhir_stack;
23924 };
23925 } = _menhir_stack in
23926 let p : 'tv_plus_exp_body = Obj.magic p in
23927 let _startpos = _startpos_p_ in
23928 let _endpos = _endpos__2_ in
23929 let _v : (
23930# 144 "parser_cocci_menhir.mly"
23931 (Ast0_cocci.rule)
23932# 23933 "parser_cocci_menhir.ml"
23933 ) =
23934# 181 "parser_cocci_menhir.mly"
23935 ( p )
23936# 23937 "parser_cocci_menhir.ml"
23937 in
23938 _menhir_env.MenhirLib.EngineTypes.stack <- {
23939 MenhirLib.EngineTypes.state = _menhir_s;
23940 MenhirLib.EngineTypes.semv = Obj.repr _v;
23941 MenhirLib.EngineTypes.startp = _startpos;
23942 MenhirLib.EngineTypes.endp = _endpos;
23943 MenhirLib.EngineTypes.next = _menhir_stack;
23944 });
23945 (fun _menhir_env ->
23946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23947 let {
23948 MenhirLib.EngineTypes.startp = _startpos__2_;
23949 MenhirLib.EngineTypes.endp = _endpos__2_;
23950 MenhirLib.EngineTypes.next = {
23951 MenhirLib.EngineTypes.state = _menhir_s;
23952 MenhirLib.EngineTypes.semv = _1;
23953 MenhirLib.EngineTypes.startp = _startpos__1_;
23954 MenhirLib.EngineTypes.endp = _endpos__1_;
23955 MenhirLib.EngineTypes.next = _menhir_stack;
23956 };
23957 } = _menhir_stack in
23958 let _1 : 'tv_plus_body = Obj.magic _1 in
23959 let _startpos = _startpos__1_ in
23960 let _endpos = _endpos__2_ in
23961 let _v : (
23962# 141 "parser_cocci_menhir.mly"
23963 (Ast0_cocci.rule)
23964# 23965 "parser_cocci_menhir.ml"
23965 ) =
23966# 176 "parser_cocci_menhir.mly"
23967 ( _1 )
23968# 23969 "parser_cocci_menhir.ml"
23969 in
23970 _menhir_env.MenhirLib.EngineTypes.stack <- {
23971 MenhirLib.EngineTypes.state = _menhir_s;
23972 MenhirLib.EngineTypes.semv = Obj.repr _v;
23973 MenhirLib.EngineTypes.startp = _startpos;
23974 MenhirLib.EngineTypes.endp = _endpos;
23975 MenhirLib.EngineTypes.next = _menhir_stack;
23976 });
23977 (fun _menhir_env ->
23978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23979 let {
23980 MenhirLib.EngineTypes.startp = _startpos__2_;
23981 MenhirLib.EngineTypes.endp = _endpos__2_;
23982 MenhirLib.EngineTypes.next = {
23983 MenhirLib.EngineTypes.state = _menhir_s;
23984 MenhirLib.EngineTypes.semv = p;
23985 MenhirLib.EngineTypes.startp = _startpos_p_;
23986 MenhirLib.EngineTypes.endp = _endpos_p_;
23987 MenhirLib.EngineTypes.next = _menhir_stack;
23988 };
23989 } = _menhir_stack in
23990 let p : 'tv_plus_body = Obj.magic p in
23991 let _startpos = _startpos_p_ in
23992 let _endpos = _endpos__2_ in
23993 let _v : (
23994# 141 "parser_cocci_menhir.mly"
23995 (Ast0_cocci.rule)
23996# 23997 "parser_cocci_menhir.ml"
23997 ) =
23998# 176 "parser_cocci_menhir.mly"
23999 ( p )
24000# 24001 "parser_cocci_menhir.ml"
24001 in
24002 _menhir_env.MenhirLib.EngineTypes.stack <- {
24003 MenhirLib.EngineTypes.state = _menhir_s;
24004 MenhirLib.EngineTypes.semv = Obj.repr _v;
24005 MenhirLib.EngineTypes.startp = _startpos;
24006 MenhirLib.EngineTypes.endp = _endpos;
24007 MenhirLib.EngineTypes.next = _menhir_stack;
24008 });
24009 (fun _menhir_env ->
24010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24011 let {
24012 MenhirLib.EngineTypes.startp = _startpos__2_;
24013 MenhirLib.EngineTypes.endp = _endpos__2_;
24014 MenhirLib.EngineTypes.next = {
24015 MenhirLib.EngineTypes.state = _menhir_s;
24016 MenhirLib.EngineTypes.semv = p;
24017 MenhirLib.EngineTypes.startp = _startpos_p_;
24018 MenhirLib.EngineTypes.endp = _endpos_p_;
24019 MenhirLib.EngineTypes.next = _menhir_stack;
24020 };
24021 } = _menhir_stack in
24022 let p : 'tv_plus_body = Obj.magic p in
24023 let _startpos = _startpos_p_ in
24024 let _endpos = _endpos__2_ in
24025 let _v : (
24026# 141 "parser_cocci_menhir.mly"
24027 (Ast0_cocci.rule)
24028# 24029 "parser_cocci_menhir.ml"
24029 ) =
24030# 177 "parser_cocci_menhir.mly"
24031 ( p )
24032# 24033 "parser_cocci_menhir.ml"
24033 in
24034 _menhir_env.MenhirLib.EngineTypes.stack <- {
24035 MenhirLib.EngineTypes.state = _menhir_s;
24036 MenhirLib.EngineTypes.semv = Obj.repr _v;
24037 MenhirLib.EngineTypes.startp = _startpos;
24038 MenhirLib.EngineTypes.endp = _endpos;
24039 MenhirLib.EngineTypes.next = _menhir_stack;
24040 });
24041 (fun _menhir_env ->
24042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24043 let {
24044 MenhirLib.EngineTypes.state = _menhir_s;
24045 MenhirLib.EngineTypes.semv = _1;
24046 MenhirLib.EngineTypes.startp = _startpos__1_;
24047 MenhirLib.EngineTypes.endp = _endpos__1_;
24048 MenhirLib.EngineTypes.next = _menhir_stack;
24049 } = _menhir_stack in
24050 let _1 : 'tv_ctype = Obj.magic _1 in
24051 let _startpos = _startpos__1_ in
24052 let _endpos = _endpos__1_ in
24053 let _v : 'tv_plus_start =
24054# 1775 "parser_cocci_menhir.mly"
24055 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
24056# 24057 "parser_cocci_menhir.ml"
24057 in
24058 _menhir_env.MenhirLib.EngineTypes.stack <- {
24059 MenhirLib.EngineTypes.state = _menhir_s;
24060 MenhirLib.EngineTypes.semv = Obj.repr _v;
24061 MenhirLib.EngineTypes.startp = _startpos;
24062 MenhirLib.EngineTypes.endp = _endpos;
24063 MenhirLib.EngineTypes.next = _menhir_stack;
24064 });
24065 (fun _menhir_env ->
24066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24067 let {
24068 MenhirLib.EngineTypes.state = _menhir_s;
24069 MenhirLib.EngineTypes.semv = _1;
24070 MenhirLib.EngineTypes.startp = _startpos__1_;
24071 MenhirLib.EngineTypes.endp = _endpos__1_;
24072 MenhirLib.EngineTypes.next = _menhir_stack;
24073 } = _menhir_stack in
24074 let _1 : 'tv_top_init = Obj.magic _1 in
24075 let _startpos = _startpos__1_ in
24076 let _endpos = _endpos__1_ in
24077 let _v : 'tv_plus_start =
24078# 1776 "parser_cocci_menhir.mly"
24079 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
24080# 24081 "parser_cocci_menhir.ml"
24081 in
24082 _menhir_env.MenhirLib.EngineTypes.stack <- {
24083 MenhirLib.EngineTypes.state = _menhir_s;
24084 MenhirLib.EngineTypes.semv = Obj.repr _v;
24085 MenhirLib.EngineTypes.startp = _startpos;
24086 MenhirLib.EngineTypes.endp = _endpos;
24087 MenhirLib.EngineTypes.next = _menhir_stack;
24088 });
24089 (fun _menhir_env ->
24090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24091 let {
24092 MenhirLib.EngineTypes.semv = _2;
24093 MenhirLib.EngineTypes.startp = _startpos__2_;
24094 MenhirLib.EngineTypes.endp = _endpos__2_;
24095 MenhirLib.EngineTypes.next = {
24096 MenhirLib.EngineTypes.state = _menhir_s;
24097 MenhirLib.EngineTypes.semv = _1;
24098 MenhirLib.EngineTypes.startp = _startpos__1_;
24099 MenhirLib.EngineTypes.endp = _endpos__1_;
24100 MenhirLib.EngineTypes.next = _menhir_stack;
24101 };
24102 } = _menhir_stack in
24103 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
24104 let _1 : 'tv_stm_dots = Obj.magic _1 in
24105 let _startpos = _startpos__1_ in
24106 let _endpos = _endpos__2_ in
24107 let _v : 'tv_plus_start =
24108# 1778 "parser_cocci_menhir.mly"
24109 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
24110# 24111 "parser_cocci_menhir.ml"
24111 in
24112 _menhir_env.MenhirLib.EngineTypes.stack <- {
24113 MenhirLib.EngineTypes.state = _menhir_s;
24114 MenhirLib.EngineTypes.semv = Obj.repr _v;
24115 MenhirLib.EngineTypes.startp = _startpos;
24116 MenhirLib.EngineTypes.endp = _endpos;
24117 MenhirLib.EngineTypes.next = _menhir_stack;
24118 });
24119 (fun _menhir_env ->
24120 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24121 let {
24122 MenhirLib.EngineTypes.semv = _2;
24123 MenhirLib.EngineTypes.startp = _startpos__2_;
24124 MenhirLib.EngineTypes.endp = _endpos__2_;
24125 MenhirLib.EngineTypes.next = {
24126 MenhirLib.EngineTypes.state = _menhir_s;
24127 MenhirLib.EngineTypes.semv = _1;
24128 MenhirLib.EngineTypes.startp = _startpos__1_;
24129 MenhirLib.EngineTypes.endp = _endpos__1_;
24130 MenhirLib.EngineTypes.next = _menhir_stack;
24131 };
24132 } = _menhir_stack in
24133 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
24134 let _1 : 'tv_expr = Obj.magic _1 in
24135 let _startpos = _startpos__1_ in
24136 let _endpos = _endpos__2_ in
24137 let _v : 'tv_plus_start =
24138# 1780 "parser_cocci_menhir.mly"
24139 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
24140# 24141 "parser_cocci_menhir.ml"
24141 in
24142 _menhir_env.MenhirLib.EngineTypes.stack <- {
24143 MenhirLib.EngineTypes.state = _menhir_s;
24144 MenhirLib.EngineTypes.semv = Obj.repr _v;
24145 MenhirLib.EngineTypes.startp = _startpos;
24146 MenhirLib.EngineTypes.endp = _endpos;
24147 MenhirLib.EngineTypes.next = _menhir_stack;
24148 });
24149 (fun _menhir_env ->
24150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24151 let {
24152 MenhirLib.EngineTypes.semv = _2;
24153 MenhirLib.EngineTypes.startp = _startpos__2_;
24154 MenhirLib.EngineTypes.endp = _endpos__2_;
24155 MenhirLib.EngineTypes.next = {
24156 MenhirLib.EngineTypes.state = _menhir_s;
24157 MenhirLib.EngineTypes.semv = _1;
24158 MenhirLib.EngineTypes.startp = _startpos__1_;
24159 MenhirLib.EngineTypes.endp = _endpos__1_;
24160 MenhirLib.EngineTypes.next = _menhir_stack;
24161 };
24162 } = _menhir_stack in
24163 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24164 let _1 : 'tv_fundecl = Obj.magic _1 in
24165 let _startpos = _startpos__1_ in
24166 let _endpos = _endpos__2_ in
24167 let _v : 'tv_plus_start =
24168# 1781 "parser_cocci_menhir.mly"
24169 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
24170# 24171 "parser_cocci_menhir.ml"
24171 in
24172 _menhir_env.MenhirLib.EngineTypes.stack <- {
24173 MenhirLib.EngineTypes.state = _menhir_s;
24174 MenhirLib.EngineTypes.semv = Obj.repr _v;
24175 MenhirLib.EngineTypes.startp = _startpos;
24176 MenhirLib.EngineTypes.endp = _endpos;
24177 MenhirLib.EngineTypes.next = _menhir_stack;
24178 });
24179 (fun _menhir_env ->
24180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24181 let {
24182 MenhirLib.EngineTypes.semv = _2;
24183 MenhirLib.EngineTypes.startp = _startpos__2_;
24184 MenhirLib.EngineTypes.endp = _endpos__2_;
24185 MenhirLib.EngineTypes.next = {
24186 MenhirLib.EngineTypes.state = _menhir_s;
24187 MenhirLib.EngineTypes.semv = _1;
24188 MenhirLib.EngineTypes.startp = _startpos__1_;
24189 MenhirLib.EngineTypes.endp = _endpos__1_;
24190 MenhirLib.EngineTypes.next = _menhir_stack;
24191 };
24192 } = _menhir_stack in
24193 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24194 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
24195 let _startpos = _startpos__1_ in
24196 let _endpos = _endpos__2_ in
24197 let _v : 'tv_plus_start =
24198# 1783 "parser_cocci_menhir.mly"
24199 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
24200# 24201 "parser_cocci_menhir.ml"
24201 in
24202 _menhir_env.MenhirLib.EngineTypes.stack <- {
24203 MenhirLib.EngineTypes.state = _menhir_s;
24204 MenhirLib.EngineTypes.semv = Obj.repr _v;
24205 MenhirLib.EngineTypes.startp = _startpos;
24206 MenhirLib.EngineTypes.endp = _endpos;
24207 MenhirLib.EngineTypes.next = _menhir_stack;
24208 });
24209 (fun _menhir_env ->
24210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24211 let {
24212 MenhirLib.EngineTypes.state = _menhir_s;
24213 MenhirLib.EngineTypes.semv = _1;
24214 MenhirLib.EngineTypes.startp = _startpos__1_;
24215 MenhirLib.EngineTypes.endp = _endpos__1_;
24216 MenhirLib.EngineTypes.next = _menhir_stack;
24217 } = _menhir_stack in
24218 let _1 : (
24219# 47 "parser_cocci_menhir.mly"
24220 (string)
24221# 24222 "parser_cocci_menhir.ml"
24222 ) = Obj.magic _1 in
24223 let _startpos = _startpos__1_ in
24224 let _endpos = _endpos__1_ in
24225 let _v : 'tv_pnrule =
24226# 231 "parser_cocci_menhir.mly"
24227 ( Ast.Dep _1 )
24228# 24229 "parser_cocci_menhir.ml"
24229 in
24230 _menhir_env.MenhirLib.EngineTypes.stack <- {
24231 MenhirLib.EngineTypes.state = _menhir_s;
24232 MenhirLib.EngineTypes.semv = Obj.repr _v;
24233 MenhirLib.EngineTypes.startp = _startpos;
24234 MenhirLib.EngineTypes.endp = _endpos;
24235 MenhirLib.EngineTypes.next = _menhir_stack;
24236 });
24237 (fun _menhir_env ->
24238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24239 let {
24240 MenhirLib.EngineTypes.semv = _2;
24241 MenhirLib.EngineTypes.startp = _startpos__2_;
24242 MenhirLib.EngineTypes.endp = _endpos__2_;
24243 MenhirLib.EngineTypes.next = {
24244 MenhirLib.EngineTypes.state = _menhir_s;
24245 MenhirLib.EngineTypes.startp = _startpos__1_;
24246 MenhirLib.EngineTypes.endp = _endpos__1_;
24247 MenhirLib.EngineTypes.next = _menhir_stack;
24248 };
24249 } = _menhir_stack in
24250 let _2 : (
24251# 47 "parser_cocci_menhir.mly"
24252 (string)
24253# 24254 "parser_cocci_menhir.ml"
24254 ) = Obj.magic _2 in
24255 let _startpos = _startpos__1_ in
24256 let _endpos = _endpos__2_ in
24257 let _v : 'tv_pnrule =
24258# 232 "parser_cocci_menhir.mly"
24259 ( Ast.AntiDep _2 )
24260# 24261 "parser_cocci_menhir.ml"
24261 in
24262 _menhir_env.MenhirLib.EngineTypes.stack <- {
24263 MenhirLib.EngineTypes.state = _menhir_s;
24264 MenhirLib.EngineTypes.semv = Obj.repr _v;
24265 MenhirLib.EngineTypes.startp = _startpos;
24266 MenhirLib.EngineTypes.endp = _endpos;
24267 MenhirLib.EngineTypes.next = _menhir_stack;
24268 });
24269 (fun _menhir_env ->
24270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24271 let {
24272 MenhirLib.EngineTypes.semv = _2;
24273 MenhirLib.EngineTypes.startp = _startpos__2_;
24274 MenhirLib.EngineTypes.endp = _endpos__2_;
24275 MenhirLib.EngineTypes.next = {
24276 MenhirLib.EngineTypes.state = _menhir_s;
24277 MenhirLib.EngineTypes.startp = _startpos__1_;
24278 MenhirLib.EngineTypes.endp = _endpos__1_;
24279 MenhirLib.EngineTypes.next = _menhir_stack;
24280 };
24281 } = _menhir_stack in
24282 let _2 : (
24283# 47 "parser_cocci_menhir.mly"
24284 (string)
24285# 24286 "parser_cocci_menhir.ml"
24286 ) = Obj.magic _2 in
24287 let _startpos = _startpos__1_ in
24288 let _endpos = _endpos__2_ in
24289 let _v : 'tv_pnrule =
24290# 233 "parser_cocci_menhir.mly"
24291 ( Ast.EverDep _2 )
24292# 24293 "parser_cocci_menhir.ml"
24293 in
24294 _menhir_env.MenhirLib.EngineTypes.stack <- {
24295 MenhirLib.EngineTypes.state = _menhir_s;
24296 MenhirLib.EngineTypes.semv = Obj.repr _v;
24297 MenhirLib.EngineTypes.startp = _startpos;
24298 MenhirLib.EngineTypes.endp = _endpos;
24299 MenhirLib.EngineTypes.next = _menhir_stack;
24300 });
24301 (fun _menhir_env ->
24302 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24303 let {
24304 MenhirLib.EngineTypes.semv = _2;
24305 MenhirLib.EngineTypes.startp = _startpos__2_;
24306 MenhirLib.EngineTypes.endp = _endpos__2_;
24307 MenhirLib.EngineTypes.next = {
24308 MenhirLib.EngineTypes.state = _menhir_s;
24309 MenhirLib.EngineTypes.startp = _startpos__1_;
24310 MenhirLib.EngineTypes.endp = _endpos__1_;
24311 MenhirLib.EngineTypes.next = _menhir_stack;
24312 };
24313 } = _menhir_stack in
24314 let _2 : (
24315# 47 "parser_cocci_menhir.mly"
24316 (string)
24317# 24318 "parser_cocci_menhir.ml"
24318 ) = Obj.magic _2 in
24319 let _startpos = _startpos__1_ in
24320 let _endpos = _endpos__2_ in
24321 let _v : 'tv_pnrule =
24322# 234 "parser_cocci_menhir.mly"
24323 ( Ast.NeverDep _2 )
24324# 24325 "parser_cocci_menhir.ml"
24325 in
24326 _menhir_env.MenhirLib.EngineTypes.stack <- {
24327 MenhirLib.EngineTypes.state = _menhir_s;
24328 MenhirLib.EngineTypes.semv = Obj.repr _v;
24329 MenhirLib.EngineTypes.startp = _startpos;
24330 MenhirLib.EngineTypes.endp = _endpos;
24331 MenhirLib.EngineTypes.next = _menhir_stack;
24332 });
24333 (fun _menhir_env ->
24334 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24335 let {
24336 MenhirLib.EngineTypes.startp = _startpos__3_;
24337 MenhirLib.EngineTypes.endp = _endpos__3_;
24338 MenhirLib.EngineTypes.next = {
24339 MenhirLib.EngineTypes.semv = _2;
24340 MenhirLib.EngineTypes.startp = _startpos__2_;
24341 MenhirLib.EngineTypes.endp = _endpos__2_;
24342 MenhirLib.EngineTypes.next = {
24343 MenhirLib.EngineTypes.state = _menhir_s;
24344 MenhirLib.EngineTypes.startp = _startpos__1_;
24345 MenhirLib.EngineTypes.endp = _endpos__1_;
24346 MenhirLib.EngineTypes.next = _menhir_stack;
24347 };
24348 };
24349 } = _menhir_stack in
24350 let _2 : 'tv_dep = Obj.magic _2 in
24351 let _startpos = _startpos__1_ in
24352 let _endpos = _endpos__3_ in
24353 let _v : 'tv_pnrule =
24354# 235 "parser_cocci_menhir.mly"
24355 ( _2 )
24356# 24357 "parser_cocci_menhir.ml"
24357 in
24358 _menhir_env.MenhirLib.EngineTypes.stack <- {
24359 MenhirLib.EngineTypes.state = _menhir_s;
24360 MenhirLib.EngineTypes.semv = Obj.repr _v;
24361 MenhirLib.EngineTypes.startp = _startpos;
24362 MenhirLib.EngineTypes.endp = _endpos;
24363 MenhirLib.EngineTypes.next = _menhir_stack;
24364 });
24365 (fun _menhir_env ->
24366 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24367 let {
24368 MenhirLib.EngineTypes.state = _menhir_s;
24369 MenhirLib.EngineTypes.semv = _1;
24370 MenhirLib.EngineTypes.startp = _startpos__1_;
24371 MenhirLib.EngineTypes.endp = _endpos__1_;
24372 MenhirLib.EngineTypes.next = _menhir_stack;
24373 } = _menhir_stack in
24374 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24375 let _startpos = _startpos__1_ in
24376 let _endpos = _endpos__1_ in
24377 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24378# 1343 "parser_cocci_menhir.mly"
24379 ( _1 )
24380# 24381 "parser_cocci_menhir.ml"
24381 in
24382 _menhir_env.MenhirLib.EngineTypes.stack <- {
24383 MenhirLib.EngineTypes.state = _menhir_s;
24384 MenhirLib.EngineTypes.semv = Obj.repr _v;
24385 MenhirLib.EngineTypes.startp = _startpos;
24386 MenhirLib.EngineTypes.endp = _endpos;
24387 MenhirLib.EngineTypes.next = _menhir_stack;
24388 });
24389 (fun _menhir_env ->
24390 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24391 let {
24392 MenhirLib.EngineTypes.semv = _4;
24393 MenhirLib.EngineTypes.startp = _startpos__4_;
24394 MenhirLib.EngineTypes.endp = _endpos__4_;
24395 MenhirLib.EngineTypes.next = {
24396 MenhirLib.EngineTypes.semv = _3;
24397 MenhirLib.EngineTypes.startp = _startpos__3_;
24398 MenhirLib.EngineTypes.endp = _endpos__3_;
24399 MenhirLib.EngineTypes.next = {
24400 MenhirLib.EngineTypes.semv = _2;
24401 MenhirLib.EngineTypes.startp = _startpos__2_;
24402 MenhirLib.EngineTypes.endp = _endpos__2_;
24403 MenhirLib.EngineTypes.next = {
24404 MenhirLib.EngineTypes.state = _menhir_s;
24405 MenhirLib.EngineTypes.semv = _1;
24406 MenhirLib.EngineTypes.startp = _startpos__1_;
24407 MenhirLib.EngineTypes.endp = _endpos__1_;
24408 MenhirLib.EngineTypes.next = _menhir_stack;
24409 };
24410 };
24411 };
24412 } = _menhir_stack in
24413 let _4 : (
24414# 103 "parser_cocci_menhir.mly"
24415 (Data.clt)
24416# 24417 "parser_cocci_menhir.ml"
24417 ) = Obj.magic _4 in
24418 let _3 : 'tv_eexpr = Obj.magic _3 in
24419 let _2 : (
24420# 103 "parser_cocci_menhir.mly"
24421 (Data.clt)
24422# 24423 "parser_cocci_menhir.ml"
24423 ) = Obj.magic _2 in
24424 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24425 let _startpos = _startpos__1_ in
24426 let _endpos = _endpos__4_ in
24427 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24428# 1345 "parser_cocci_menhir.mly"
24429 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24430 P.clt2mcode "]" _4)) )
24431# 24432 "parser_cocci_menhir.ml"
24432 in
24433 _menhir_env.MenhirLib.EngineTypes.stack <- {
24434 MenhirLib.EngineTypes.state = _menhir_s;
24435 MenhirLib.EngineTypes.semv = Obj.repr _v;
24436 MenhirLib.EngineTypes.startp = _startpos;
24437 MenhirLib.EngineTypes.endp = _endpos;
24438 MenhirLib.EngineTypes.next = _menhir_stack;
24439 });
24440 (fun _menhir_env ->
24441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24442 let {
24443 MenhirLib.EngineTypes.semv = _3;
24444 MenhirLib.EngineTypes.startp = _startpos__3_;
24445 MenhirLib.EngineTypes.endp = _endpos__3_;
24446 MenhirLib.EngineTypes.next = {
24447 MenhirLib.EngineTypes.semv = _2;
24448 MenhirLib.EngineTypes.startp = _startpos__2_;
24449 MenhirLib.EngineTypes.endp = _endpos__2_;
24450 MenhirLib.EngineTypes.next = {
24451 MenhirLib.EngineTypes.state = _menhir_s;
24452 MenhirLib.EngineTypes.semv = _1;
24453 MenhirLib.EngineTypes.startp = _startpos__1_;
24454 MenhirLib.EngineTypes.endp = _endpos__1_;
24455 MenhirLib.EngineTypes.next = _menhir_stack;
24456 };
24457 };
24458 } = _menhir_stack in
24459 let _3 : 'tv_ident = Obj.magic _3 in
24460 let _2 : (
24461# 108 "parser_cocci_menhir.mly"
24462 (Data.clt)
24463# 24464 "parser_cocci_menhir.ml"
24464 ) = Obj.magic _2 in
24465 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24466 let _startpos = _startpos__1_ in
24467 let _endpos = _endpos__3_ in
24468 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24469# 1348 "parser_cocci_menhir.mly"
24470 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24471# 24472 "parser_cocci_menhir.ml"
24472 in
24473 _menhir_env.MenhirLib.EngineTypes.stack <- {
24474 MenhirLib.EngineTypes.state = _menhir_s;
24475 MenhirLib.EngineTypes.semv = Obj.repr _v;
24476 MenhirLib.EngineTypes.startp = _startpos;
24477 MenhirLib.EngineTypes.endp = _endpos;
24478 MenhirLib.EngineTypes.next = _menhir_stack;
24479 });
24480 (fun _menhir_env ->
24481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24482 let {
24483 MenhirLib.EngineTypes.semv = _3;
24484 MenhirLib.EngineTypes.startp = _startpos__3_;
24485 MenhirLib.EngineTypes.endp = _endpos__3_;
24486 MenhirLib.EngineTypes.next = {
24487 MenhirLib.EngineTypes.semv = _2;
24488 MenhirLib.EngineTypes.startp = _startpos__2_;
24489 MenhirLib.EngineTypes.endp = _endpos__2_;
24490 MenhirLib.EngineTypes.next = {
24491 MenhirLib.EngineTypes.state = _menhir_s;
24492 MenhirLib.EngineTypes.semv = _1;
24493 MenhirLib.EngineTypes.startp = _startpos__1_;
24494 MenhirLib.EngineTypes.endp = _endpos__1_;
24495 MenhirLib.EngineTypes.next = _menhir_stack;
24496 };
24497 };
24498 } = _menhir_stack in
24499 let _3 : 'tv_ident = Obj.magic _3 in
24500 let _2 : (
24501# 105 "parser_cocci_menhir.mly"
24502 (Data.clt)
24503# 24504 "parser_cocci_menhir.ml"
24504 ) = Obj.magic _2 in
24505 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24506 let _startpos = _startpos__1_ in
24507 let _endpos = _endpos__3_ in
24508 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24509# 1350 "parser_cocci_menhir.mly"
24510 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24511 _3)) )
24512# 24513 "parser_cocci_menhir.ml"
24513 in
24514 _menhir_env.MenhirLib.EngineTypes.stack <- {
24515 MenhirLib.EngineTypes.state = _menhir_s;
24516 MenhirLib.EngineTypes.semv = Obj.repr _v;
24517 MenhirLib.EngineTypes.startp = _startpos;
24518 MenhirLib.EngineTypes.endp = _endpos;
24519 MenhirLib.EngineTypes.next = _menhir_stack;
24520 });
24521 (fun _menhir_env ->
24522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24523 let {
24524 MenhirLib.EngineTypes.semv = _2;
24525 MenhirLib.EngineTypes.startp = _startpos__2_;
24526 MenhirLib.EngineTypes.endp = _endpos__2_;
24527 MenhirLib.EngineTypes.next = {
24528 MenhirLib.EngineTypes.state = _menhir_s;
24529 MenhirLib.EngineTypes.semv = _1;
24530 MenhirLib.EngineTypes.startp = _startpos__1_;
24531 MenhirLib.EngineTypes.endp = _endpos__1_;
24532 MenhirLib.EngineTypes.next = _menhir_stack;
24533 };
24534 } = _menhir_stack in
24535 let _2 : (
24536# 86 "parser_cocci_menhir.mly"
24537 (Data.clt)
24538# 24539 "parser_cocci_menhir.ml"
24539 ) = Obj.magic _2 in
24540 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24541 let _startpos = _startpos__1_ in
24542 let _endpos = _endpos__2_ in
24543 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24544# 1353 "parser_cocci_menhir.mly"
24545 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24546# 24547 "parser_cocci_menhir.ml"
24547 in
24548 _menhir_env.MenhirLib.EngineTypes.stack <- {
24549 MenhirLib.EngineTypes.state = _menhir_s;
24550 MenhirLib.EngineTypes.semv = Obj.repr _v;
24551 MenhirLib.EngineTypes.startp = _startpos;
24552 MenhirLib.EngineTypes.endp = _endpos;
24553 MenhirLib.EngineTypes.next = _menhir_stack;
24554 });
24555 (fun _menhir_env ->
24556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24557 let {
24558 MenhirLib.EngineTypes.semv = _2;
24559 MenhirLib.EngineTypes.startp = _startpos__2_;
24560 MenhirLib.EngineTypes.endp = _endpos__2_;
24561 MenhirLib.EngineTypes.next = {
24562 MenhirLib.EngineTypes.state = _menhir_s;
24563 MenhirLib.EngineTypes.semv = _1;
24564 MenhirLib.EngineTypes.startp = _startpos__1_;
24565 MenhirLib.EngineTypes.endp = _endpos__1_;
24566 MenhirLib.EngineTypes.next = _menhir_stack;
24567 };
24568 } = _menhir_stack in
24569 let _2 : (
24570# 86 "parser_cocci_menhir.mly"
24571 (Data.clt)
24572# 24573 "parser_cocci_menhir.ml"
24573 ) = Obj.magic _2 in
24574 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24575 let _startpos = _startpos__1_ in
24576 let _endpos = _endpos__2_ in
24577 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24578# 1355 "parser_cocci_menhir.mly"
24579 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
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 = _4;
24593 MenhirLib.EngineTypes.startp = _startpos__4_;
24594 MenhirLib.EngineTypes.endp = _endpos__4_;
24595 MenhirLib.EngineTypes.next = {
24596 MenhirLib.EngineTypes.semv = _3;
24597 MenhirLib.EngineTypes.startp = _startpos__3_;
24598 MenhirLib.EngineTypes.endp = _endpos__3_;
24599 MenhirLib.EngineTypes.next = {
24600 MenhirLib.EngineTypes.semv = _2;
24601 MenhirLib.EngineTypes.startp = _startpos__2_;
24602 MenhirLib.EngineTypes.endp = _endpos__2_;
24603 MenhirLib.EngineTypes.next = {
24604 MenhirLib.EngineTypes.state = _menhir_s;
24605 MenhirLib.EngineTypes.semv = _1;
24606 MenhirLib.EngineTypes.startp = _startpos__1_;
24607 MenhirLib.EngineTypes.endp = _endpos__1_;
24608 MenhirLib.EngineTypes.next = _menhir_stack;
24609 };
24610 };
24611 };
24612 } = _menhir_stack in
24613 let _4 : (
24614# 78 "parser_cocci_menhir.mly"
24615 (Data.clt)
24616# 24617 "parser_cocci_menhir.ml"
24617 ) = Obj.magic _4 in
24618 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24619 let _2 : (
24620# 77 "parser_cocci_menhir.mly"
24621 (Data.clt)
24622# 24623 "parser_cocci_menhir.ml"
24623 ) = Obj.magic _2 in
24624 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24625 let _startpos = _startpos__1_ in
24626 let _endpos = _endpos__4_ in
24627 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24628# 1357 "parser_cocci_menhir.mly"
24629 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24630 _3,
24631 P.clt2mcode ")" _4)) )
24632# 24633 "parser_cocci_menhir.ml"
24633 in
24634 _menhir_env.MenhirLib.EngineTypes.stack <- {
24635 MenhirLib.EngineTypes.state = _menhir_s;
24636 MenhirLib.EngineTypes.semv = Obj.repr _v;
24637 MenhirLib.EngineTypes.startp = _startpos;
24638 MenhirLib.EngineTypes.endp = _endpos;
24639 MenhirLib.EngineTypes.next = _menhir_stack;
24640 });
24641 (fun _menhir_env ->
24642 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24643 let {
24644 MenhirLib.EngineTypes.state = _menhir_s;
24645 MenhirLib.EngineTypes.semv = _1;
24646 MenhirLib.EngineTypes.startp = _startpos__1_;
24647 MenhirLib.EngineTypes.endp = _endpos__1_;
24648 MenhirLib.EngineTypes.next = _menhir_stack;
24649 } = _menhir_stack in
24650 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
24651 let _startpos = _startpos__1_ in
24652 let _endpos = _endpos__1_ in
24653 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24654# 1343 "parser_cocci_menhir.mly"
24655 ( _1 )
24656# 24657 "parser_cocci_menhir.ml"
24657 in
24658 _menhir_env.MenhirLib.EngineTypes.stack <- {
24659 MenhirLib.EngineTypes.state = _menhir_s;
24660 MenhirLib.EngineTypes.semv = Obj.repr _v;
24661 MenhirLib.EngineTypes.startp = _startpos;
24662 MenhirLib.EngineTypes.endp = _endpos;
24663 MenhirLib.EngineTypes.next = _menhir_stack;
24664 });
24665 (fun _menhir_env ->
24666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24667 let {
24668 MenhirLib.EngineTypes.semv = _4;
24669 MenhirLib.EngineTypes.startp = _startpos__4_;
24670 MenhirLib.EngineTypes.endp = _endpos__4_;
24671 MenhirLib.EngineTypes.next = {
24672 MenhirLib.EngineTypes.semv = _3;
24673 MenhirLib.EngineTypes.startp = _startpos__3_;
24674 MenhirLib.EngineTypes.endp = _endpos__3_;
24675 MenhirLib.EngineTypes.next = {
24676 MenhirLib.EngineTypes.semv = _2;
24677 MenhirLib.EngineTypes.startp = _startpos__2_;
24678 MenhirLib.EngineTypes.endp = _endpos__2_;
24679 MenhirLib.EngineTypes.next = {
24680 MenhirLib.EngineTypes.state = _menhir_s;
24681 MenhirLib.EngineTypes.semv = _1;
24682 MenhirLib.EngineTypes.startp = _startpos__1_;
24683 MenhirLib.EngineTypes.endp = _endpos__1_;
24684 MenhirLib.EngineTypes.next = _menhir_stack;
24685 };
24686 };
24687 };
24688 } = _menhir_stack in
24689 let _4 : (
24690# 103 "parser_cocci_menhir.mly"
24691 (Data.clt)
24692# 24693 "parser_cocci_menhir.ml"
24693 ) = Obj.magic _4 in
24694 let _3 : 'tv_eexpr = Obj.magic _3 in
24695 let _2 : (
24696# 103 "parser_cocci_menhir.mly"
24697 (Data.clt)
24698# 24699 "parser_cocci_menhir.ml"
24699 ) = Obj.magic _2 in
24700 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24701 let _startpos = _startpos__1_ in
24702 let _endpos = _endpos__4_ in
24703 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24704# 1345 "parser_cocci_menhir.mly"
24705 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24706 P.clt2mcode "]" _4)) )
24707# 24708 "parser_cocci_menhir.ml"
24708 in
24709 _menhir_env.MenhirLib.EngineTypes.stack <- {
24710 MenhirLib.EngineTypes.state = _menhir_s;
24711 MenhirLib.EngineTypes.semv = Obj.repr _v;
24712 MenhirLib.EngineTypes.startp = _startpos;
24713 MenhirLib.EngineTypes.endp = _endpos;
24714 MenhirLib.EngineTypes.next = _menhir_stack;
24715 });
24716 (fun _menhir_env ->
24717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24718 let {
24719 MenhirLib.EngineTypes.semv = _3;
24720 MenhirLib.EngineTypes.startp = _startpos__3_;
24721 MenhirLib.EngineTypes.endp = _endpos__3_;
24722 MenhirLib.EngineTypes.next = {
24723 MenhirLib.EngineTypes.semv = _2;
24724 MenhirLib.EngineTypes.startp = _startpos__2_;
24725 MenhirLib.EngineTypes.endp = _endpos__2_;
24726 MenhirLib.EngineTypes.next = {
24727 MenhirLib.EngineTypes.state = _menhir_s;
24728 MenhirLib.EngineTypes.semv = _1;
24729 MenhirLib.EngineTypes.startp = _startpos__1_;
24730 MenhirLib.EngineTypes.endp = _endpos__1_;
24731 MenhirLib.EngineTypes.next = _menhir_stack;
24732 };
24733 };
24734 } = _menhir_stack in
24735 let _3 : 'tv_ident = Obj.magic _3 in
24736 let _2 : (
24737# 108 "parser_cocci_menhir.mly"
24738 (Data.clt)
24739# 24740 "parser_cocci_menhir.ml"
24740 ) = Obj.magic _2 in
24741 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24742 let _startpos = _startpos__1_ in
24743 let _endpos = _endpos__3_ in
24744 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24745# 1348 "parser_cocci_menhir.mly"
24746 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24747# 24748 "parser_cocci_menhir.ml"
24748 in
24749 _menhir_env.MenhirLib.EngineTypes.stack <- {
24750 MenhirLib.EngineTypes.state = _menhir_s;
24751 MenhirLib.EngineTypes.semv = Obj.repr _v;
24752 MenhirLib.EngineTypes.startp = _startpos;
24753 MenhirLib.EngineTypes.endp = _endpos;
24754 MenhirLib.EngineTypes.next = _menhir_stack;
24755 });
24756 (fun _menhir_env ->
24757 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24758 let {
24759 MenhirLib.EngineTypes.semv = _3;
24760 MenhirLib.EngineTypes.startp = _startpos__3_;
24761 MenhirLib.EngineTypes.endp = _endpos__3_;
24762 MenhirLib.EngineTypes.next = {
24763 MenhirLib.EngineTypes.semv = _2;
24764 MenhirLib.EngineTypes.startp = _startpos__2_;
24765 MenhirLib.EngineTypes.endp = _endpos__2_;
24766 MenhirLib.EngineTypes.next = {
24767 MenhirLib.EngineTypes.state = _menhir_s;
24768 MenhirLib.EngineTypes.semv = _1;
24769 MenhirLib.EngineTypes.startp = _startpos__1_;
24770 MenhirLib.EngineTypes.endp = _endpos__1_;
24771 MenhirLib.EngineTypes.next = _menhir_stack;
24772 };
24773 };
24774 } = _menhir_stack in
24775 let _3 : 'tv_ident = Obj.magic _3 in
24776 let _2 : (
24777# 105 "parser_cocci_menhir.mly"
24778 (Data.clt)
24779# 24780 "parser_cocci_menhir.ml"
24780 ) = Obj.magic _2 in
24781 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24782 let _startpos = _startpos__1_ in
24783 let _endpos = _endpos__3_ in
24784 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24785# 1350 "parser_cocci_menhir.mly"
24786 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24787 _3)) )
24788# 24789 "parser_cocci_menhir.ml"
24789 in
24790 _menhir_env.MenhirLib.EngineTypes.stack <- {
24791 MenhirLib.EngineTypes.state = _menhir_s;
24792 MenhirLib.EngineTypes.semv = Obj.repr _v;
24793 MenhirLib.EngineTypes.startp = _startpos;
24794 MenhirLib.EngineTypes.endp = _endpos;
24795 MenhirLib.EngineTypes.next = _menhir_stack;
24796 });
24797 (fun _menhir_env ->
24798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24799 let {
24800 MenhirLib.EngineTypes.semv = _2;
24801 MenhirLib.EngineTypes.startp = _startpos__2_;
24802 MenhirLib.EngineTypes.endp = _endpos__2_;
24803 MenhirLib.EngineTypes.next = {
24804 MenhirLib.EngineTypes.state = _menhir_s;
24805 MenhirLib.EngineTypes.semv = _1;
24806 MenhirLib.EngineTypes.startp = _startpos__1_;
24807 MenhirLib.EngineTypes.endp = _endpos__1_;
24808 MenhirLib.EngineTypes.next = _menhir_stack;
24809 };
24810 } = _menhir_stack in
24811 let _2 : (
24812# 86 "parser_cocci_menhir.mly"
24813 (Data.clt)
24814# 24815 "parser_cocci_menhir.ml"
24815 ) = Obj.magic _2 in
24816 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24817 let _startpos = _startpos__1_ in
24818 let _endpos = _endpos__2_ in
24819 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24820# 1353 "parser_cocci_menhir.mly"
24821 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24822# 24823 "parser_cocci_menhir.ml"
24823 in
24824 _menhir_env.MenhirLib.EngineTypes.stack <- {
24825 MenhirLib.EngineTypes.state = _menhir_s;
24826 MenhirLib.EngineTypes.semv = Obj.repr _v;
24827 MenhirLib.EngineTypes.startp = _startpos;
24828 MenhirLib.EngineTypes.endp = _endpos;
24829 MenhirLib.EngineTypes.next = _menhir_stack;
24830 });
24831 (fun _menhir_env ->
24832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24833 let {
24834 MenhirLib.EngineTypes.semv = _2;
24835 MenhirLib.EngineTypes.startp = _startpos__2_;
24836 MenhirLib.EngineTypes.endp = _endpos__2_;
24837 MenhirLib.EngineTypes.next = {
24838 MenhirLib.EngineTypes.state = _menhir_s;
24839 MenhirLib.EngineTypes.semv = _1;
24840 MenhirLib.EngineTypes.startp = _startpos__1_;
24841 MenhirLib.EngineTypes.endp = _endpos__1_;
24842 MenhirLib.EngineTypes.next = _menhir_stack;
24843 };
24844 } = _menhir_stack in
24845 let _2 : (
24846# 86 "parser_cocci_menhir.mly"
24847 (Data.clt)
24848# 24849 "parser_cocci_menhir.ml"
24849 ) = Obj.magic _2 in
24850 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24851 let _startpos = _startpos__1_ in
24852 let _endpos = _endpos__2_ in
24853 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24854# 1355 "parser_cocci_menhir.mly"
24855 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
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 = _4;
24869 MenhirLib.EngineTypes.startp = _startpos__4_;
24870 MenhirLib.EngineTypes.endp = _endpos__4_;
24871 MenhirLib.EngineTypes.next = {
24872 MenhirLib.EngineTypes.semv = _3;
24873 MenhirLib.EngineTypes.startp = _startpos__3_;
24874 MenhirLib.EngineTypes.endp = _endpos__3_;
24875 MenhirLib.EngineTypes.next = {
24876 MenhirLib.EngineTypes.semv = _2;
24877 MenhirLib.EngineTypes.startp = _startpos__2_;
24878 MenhirLib.EngineTypes.endp = _endpos__2_;
24879 MenhirLib.EngineTypes.next = {
24880 MenhirLib.EngineTypes.state = _menhir_s;
24881 MenhirLib.EngineTypes.semv = _1;
24882 MenhirLib.EngineTypes.startp = _startpos__1_;
24883 MenhirLib.EngineTypes.endp = _endpos__1_;
24884 MenhirLib.EngineTypes.next = _menhir_stack;
24885 };
24886 };
24887 };
24888 } = _menhir_stack in
24889 let _4 : (
24890# 78 "parser_cocci_menhir.mly"
24891 (Data.clt)
24892# 24893 "parser_cocci_menhir.ml"
24893 ) = Obj.magic _4 in
24894 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24895 let _2 : (
24896# 77 "parser_cocci_menhir.mly"
24897 (Data.clt)
24898# 24899 "parser_cocci_menhir.ml"
24899 ) = Obj.magic _2 in
24900 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24901 let _startpos = _startpos__1_ in
24902 let _endpos = _endpos__4_ in
24903 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24904# 1357 "parser_cocci_menhir.mly"
24905 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24906 _3,
24907 P.clt2mcode ")" _4)) )
24908# 24909 "parser_cocci_menhir.ml"
24909 in
24910 _menhir_env.MenhirLib.EngineTypes.stack <- {
24911 MenhirLib.EngineTypes.state = _menhir_s;
24912 MenhirLib.EngineTypes.semv = Obj.repr _v;
24913 MenhirLib.EngineTypes.startp = _startpos;
24914 MenhirLib.EngineTypes.endp = _endpos;
24915 MenhirLib.EngineTypes.next = _menhir_stack;
24916 });
24917 (fun _menhir_env ->
24918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24919 let {
24920 MenhirLib.EngineTypes.state = _menhir_s;
24921 MenhirLib.EngineTypes.semv = _1;
24922 MenhirLib.EngineTypes.startp = _startpos__1_;
24923 MenhirLib.EngineTypes.endp = _endpos__1_;
24924 MenhirLib.EngineTypes.next = _menhir_stack;
24925 } = _menhir_stack in
24926 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24927 let _startpos = _startpos__1_ in
24928 let _endpos = _endpos__1_ in
24929 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24930# 1343 "parser_cocci_menhir.mly"
24931 ( _1 )
24932# 24933 "parser_cocci_menhir.ml"
24933 in
24934 _menhir_env.MenhirLib.EngineTypes.stack <- {
24935 MenhirLib.EngineTypes.state = _menhir_s;
24936 MenhirLib.EngineTypes.semv = Obj.repr _v;
24937 MenhirLib.EngineTypes.startp = _startpos;
24938 MenhirLib.EngineTypes.endp = _endpos;
24939 MenhirLib.EngineTypes.next = _menhir_stack;
24940 });
24941 (fun _menhir_env ->
24942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24943 let {
24944 MenhirLib.EngineTypes.semv = _4;
24945 MenhirLib.EngineTypes.startp = _startpos__4_;
24946 MenhirLib.EngineTypes.endp = _endpos__4_;
24947 MenhirLib.EngineTypes.next = {
24948 MenhirLib.EngineTypes.semv = _3;
24949 MenhirLib.EngineTypes.startp = _startpos__3_;
24950 MenhirLib.EngineTypes.endp = _endpos__3_;
24951 MenhirLib.EngineTypes.next = {
24952 MenhirLib.EngineTypes.semv = _2;
24953 MenhirLib.EngineTypes.startp = _startpos__2_;
24954 MenhirLib.EngineTypes.endp = _endpos__2_;
24955 MenhirLib.EngineTypes.next = {
24956 MenhirLib.EngineTypes.state = _menhir_s;
24957 MenhirLib.EngineTypes.semv = _1;
24958 MenhirLib.EngineTypes.startp = _startpos__1_;
24959 MenhirLib.EngineTypes.endp = _endpos__1_;
24960 MenhirLib.EngineTypes.next = _menhir_stack;
24961 };
24962 };
24963 };
24964 } = _menhir_stack in
24965 let _4 : (
24966# 103 "parser_cocci_menhir.mly"
24967 (Data.clt)
24968# 24969 "parser_cocci_menhir.ml"
24969 ) = Obj.magic _4 in
24970 let _3 : 'tv_eexpr = Obj.magic _3 in
24971 let _2 : (
24972# 103 "parser_cocci_menhir.mly"
24973 (Data.clt)
24974# 24975 "parser_cocci_menhir.ml"
24975 ) = Obj.magic _2 in
24976 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
24977 let _startpos = _startpos__1_ in
24978 let _endpos = _endpos__4_ in
24979 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
24980# 1345 "parser_cocci_menhir.mly"
24981 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24982 P.clt2mcode "]" _4)) )
24983# 24984 "parser_cocci_menhir.ml"
24984 in
24985 _menhir_env.MenhirLib.EngineTypes.stack <- {
24986 MenhirLib.EngineTypes.state = _menhir_s;
24987 MenhirLib.EngineTypes.semv = Obj.repr _v;
24988 MenhirLib.EngineTypes.startp = _startpos;
24989 MenhirLib.EngineTypes.endp = _endpos;
24990 MenhirLib.EngineTypes.next = _menhir_stack;
24991 });
24992 (fun _menhir_env ->
24993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24994 let {
24995 MenhirLib.EngineTypes.semv = _3;
24996 MenhirLib.EngineTypes.startp = _startpos__3_;
24997 MenhirLib.EngineTypes.endp = _endpos__3_;
24998 MenhirLib.EngineTypes.next = {
24999 MenhirLib.EngineTypes.semv = _2;
25000 MenhirLib.EngineTypes.startp = _startpos__2_;
25001 MenhirLib.EngineTypes.endp = _endpos__2_;
25002 MenhirLib.EngineTypes.next = {
25003 MenhirLib.EngineTypes.state = _menhir_s;
25004 MenhirLib.EngineTypes.semv = _1;
25005 MenhirLib.EngineTypes.startp = _startpos__1_;
25006 MenhirLib.EngineTypes.endp = _endpos__1_;
25007 MenhirLib.EngineTypes.next = _menhir_stack;
25008 };
25009 };
25010 } = _menhir_stack in
25011 let _3 : 'tv_ident = Obj.magic _3 in
25012 let _2 : (
25013# 108 "parser_cocci_menhir.mly"
25014 (Data.clt)
25015# 25016 "parser_cocci_menhir.ml"
25016 ) = Obj.magic _2 in
25017 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25018 let _startpos = _startpos__1_ in
25019 let _endpos = _endpos__3_ in
25020 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25021# 1348 "parser_cocci_menhir.mly"
25022 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25023# 25024 "parser_cocci_menhir.ml"
25024 in
25025 _menhir_env.MenhirLib.EngineTypes.stack <- {
25026 MenhirLib.EngineTypes.state = _menhir_s;
25027 MenhirLib.EngineTypes.semv = Obj.repr _v;
25028 MenhirLib.EngineTypes.startp = _startpos;
25029 MenhirLib.EngineTypes.endp = _endpos;
25030 MenhirLib.EngineTypes.next = _menhir_stack;
25031 });
25032 (fun _menhir_env ->
25033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25034 let {
25035 MenhirLib.EngineTypes.semv = _3;
25036 MenhirLib.EngineTypes.startp = _startpos__3_;
25037 MenhirLib.EngineTypes.endp = _endpos__3_;
25038 MenhirLib.EngineTypes.next = {
25039 MenhirLib.EngineTypes.semv = _2;
25040 MenhirLib.EngineTypes.startp = _startpos__2_;
25041 MenhirLib.EngineTypes.endp = _endpos__2_;
25042 MenhirLib.EngineTypes.next = {
25043 MenhirLib.EngineTypes.state = _menhir_s;
25044 MenhirLib.EngineTypes.semv = _1;
25045 MenhirLib.EngineTypes.startp = _startpos__1_;
25046 MenhirLib.EngineTypes.endp = _endpos__1_;
25047 MenhirLib.EngineTypes.next = _menhir_stack;
25048 };
25049 };
25050 } = _menhir_stack in
25051 let _3 : 'tv_ident = Obj.magic _3 in
25052 let _2 : (
25053# 105 "parser_cocci_menhir.mly"
25054 (Data.clt)
25055# 25056 "parser_cocci_menhir.ml"
25056 ) = Obj.magic _2 in
25057 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25058 let _startpos = _startpos__1_ in
25059 let _endpos = _endpos__3_ in
25060 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25061# 1350 "parser_cocci_menhir.mly"
25062 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25063 _3)) )
25064# 25065 "parser_cocci_menhir.ml"
25065 in
25066 _menhir_env.MenhirLib.EngineTypes.stack <- {
25067 MenhirLib.EngineTypes.state = _menhir_s;
25068 MenhirLib.EngineTypes.semv = Obj.repr _v;
25069 MenhirLib.EngineTypes.startp = _startpos;
25070 MenhirLib.EngineTypes.endp = _endpos;
25071 MenhirLib.EngineTypes.next = _menhir_stack;
25072 });
25073 (fun _menhir_env ->
25074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25075 let {
25076 MenhirLib.EngineTypes.semv = _2;
25077 MenhirLib.EngineTypes.startp = _startpos__2_;
25078 MenhirLib.EngineTypes.endp = _endpos__2_;
25079 MenhirLib.EngineTypes.next = {
25080 MenhirLib.EngineTypes.state = _menhir_s;
25081 MenhirLib.EngineTypes.semv = _1;
25082 MenhirLib.EngineTypes.startp = _startpos__1_;
25083 MenhirLib.EngineTypes.endp = _endpos__1_;
25084 MenhirLib.EngineTypes.next = _menhir_stack;
25085 };
25086 } = _menhir_stack in
25087 let _2 : (
25088# 86 "parser_cocci_menhir.mly"
25089 (Data.clt)
25090# 25091 "parser_cocci_menhir.ml"
25091 ) = Obj.magic _2 in
25092 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25093 let _startpos = _startpos__1_ in
25094 let _endpos = _endpos__2_ in
25095 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25096# 1353 "parser_cocci_menhir.mly"
25097 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25098# 25099 "parser_cocci_menhir.ml"
25099 in
25100 _menhir_env.MenhirLib.EngineTypes.stack <- {
25101 MenhirLib.EngineTypes.state = _menhir_s;
25102 MenhirLib.EngineTypes.semv = Obj.repr _v;
25103 MenhirLib.EngineTypes.startp = _startpos;
25104 MenhirLib.EngineTypes.endp = _endpos;
25105 MenhirLib.EngineTypes.next = _menhir_stack;
25106 });
25107 (fun _menhir_env ->
25108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25109 let {
25110 MenhirLib.EngineTypes.semv = _2;
25111 MenhirLib.EngineTypes.startp = _startpos__2_;
25112 MenhirLib.EngineTypes.endp = _endpos__2_;
25113 MenhirLib.EngineTypes.next = {
25114 MenhirLib.EngineTypes.state = _menhir_s;
25115 MenhirLib.EngineTypes.semv = _1;
25116 MenhirLib.EngineTypes.startp = _startpos__1_;
25117 MenhirLib.EngineTypes.endp = _endpos__1_;
25118 MenhirLib.EngineTypes.next = _menhir_stack;
25119 };
25120 } = _menhir_stack in
25121 let _2 : (
25122# 86 "parser_cocci_menhir.mly"
25123 (Data.clt)
25124# 25125 "parser_cocci_menhir.ml"
25125 ) = Obj.magic _2 in
25126 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25127 let _startpos = _startpos__1_ in
25128 let _endpos = _endpos__2_ in
25129 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25130# 1355 "parser_cocci_menhir.mly"
25131 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
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 = _4;
25145 MenhirLib.EngineTypes.startp = _startpos__4_;
25146 MenhirLib.EngineTypes.endp = _endpos__4_;
25147 MenhirLib.EngineTypes.next = {
25148 MenhirLib.EngineTypes.semv = _3;
25149 MenhirLib.EngineTypes.startp = _startpos__3_;
25150 MenhirLib.EngineTypes.endp = _endpos__3_;
25151 MenhirLib.EngineTypes.next = {
25152 MenhirLib.EngineTypes.semv = _2;
25153 MenhirLib.EngineTypes.startp = _startpos__2_;
25154 MenhirLib.EngineTypes.endp = _endpos__2_;
25155 MenhirLib.EngineTypes.next = {
25156 MenhirLib.EngineTypes.state = _menhir_s;
25157 MenhirLib.EngineTypes.semv = _1;
25158 MenhirLib.EngineTypes.startp = _startpos__1_;
25159 MenhirLib.EngineTypes.endp = _endpos__1_;
25160 MenhirLib.EngineTypes.next = _menhir_stack;
25161 };
25162 };
25163 };
25164 } = _menhir_stack in
25165 let _4 : (
25166# 78 "parser_cocci_menhir.mly"
25167 (Data.clt)
25168# 25169 "parser_cocci_menhir.ml"
25169 ) = Obj.magic _4 in
25170 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25171 let _2 : (
25172# 77 "parser_cocci_menhir.mly"
25173 (Data.clt)
25174# 25175 "parser_cocci_menhir.ml"
25175 ) = Obj.magic _2 in
25176 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25177 let _startpos = _startpos__1_ in
25178 let _endpos = _endpos__4_ in
25179 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25180# 1357 "parser_cocci_menhir.mly"
25181 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25182 _3,
25183 P.clt2mcode ")" _4)) )
25184# 25185 "parser_cocci_menhir.ml"
25185 in
25186 _menhir_env.MenhirLib.EngineTypes.stack <- {
25187 MenhirLib.EngineTypes.state = _menhir_s;
25188 MenhirLib.EngineTypes.semv = Obj.repr _v;
25189 MenhirLib.EngineTypes.startp = _startpos;
25190 MenhirLib.EngineTypes.endp = _endpos;
25191 MenhirLib.EngineTypes.next = _menhir_stack;
25192 });
25193 (fun _menhir_env ->
25194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25195 let {
25196 MenhirLib.EngineTypes.state = _menhir_s;
25197 MenhirLib.EngineTypes.semv = _1;
25198 MenhirLib.EngineTypes.startp = _startpos__1_;
25199 MenhirLib.EngineTypes.endp = _endpos__1_;
25200 MenhirLib.EngineTypes.next = _menhir_stack;
25201 } = _menhir_stack in
25202 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
25203 let _startpos = _startpos__1_ in
25204 let _endpos = _endpos__1_ in
25205 let _v : 'tv_postfix_expr_expr_invalid_ =
25206# 1343 "parser_cocci_menhir.mly"
25207 ( _1 )
25208# 25209 "parser_cocci_menhir.ml"
25209 in
25210 _menhir_env.MenhirLib.EngineTypes.stack <- {
25211 MenhirLib.EngineTypes.state = _menhir_s;
25212 MenhirLib.EngineTypes.semv = Obj.repr _v;
25213 MenhirLib.EngineTypes.startp = _startpos;
25214 MenhirLib.EngineTypes.endp = _endpos;
25215 MenhirLib.EngineTypes.next = _menhir_stack;
25216 });
25217 (fun _menhir_env ->
25218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25219 let {
25220 MenhirLib.EngineTypes.semv = _4;
25221 MenhirLib.EngineTypes.startp = _startpos__4_;
25222 MenhirLib.EngineTypes.endp = _endpos__4_;
25223 MenhirLib.EngineTypes.next = {
25224 MenhirLib.EngineTypes.semv = _3;
25225 MenhirLib.EngineTypes.startp = _startpos__3_;
25226 MenhirLib.EngineTypes.endp = _endpos__3_;
25227 MenhirLib.EngineTypes.next = {
25228 MenhirLib.EngineTypes.semv = _2;
25229 MenhirLib.EngineTypes.startp = _startpos__2_;
25230 MenhirLib.EngineTypes.endp = _endpos__2_;
25231 MenhirLib.EngineTypes.next = {
25232 MenhirLib.EngineTypes.state = _menhir_s;
25233 MenhirLib.EngineTypes.semv = _1;
25234 MenhirLib.EngineTypes.startp = _startpos__1_;
25235 MenhirLib.EngineTypes.endp = _endpos__1_;
25236 MenhirLib.EngineTypes.next = _menhir_stack;
25237 };
25238 };
25239 };
25240 } = _menhir_stack in
25241 let _4 : (
25242# 103 "parser_cocci_menhir.mly"
25243 (Data.clt)
25244# 25245 "parser_cocci_menhir.ml"
25245 ) = Obj.magic _4 in
25246 let _3 : 'tv_eexpr = Obj.magic _3 in
25247 let _2 : (
25248# 103 "parser_cocci_menhir.mly"
25249 (Data.clt)
25250# 25251 "parser_cocci_menhir.ml"
25251 ) = Obj.magic _2 in
25252 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25253 let _startpos = _startpos__1_ in
25254 let _endpos = _endpos__4_ in
25255 let _v : 'tv_postfix_expr_expr_invalid_ =
25256# 1345 "parser_cocci_menhir.mly"
25257 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25258 P.clt2mcode "]" _4)) )
25259# 25260 "parser_cocci_menhir.ml"
25260 in
25261 _menhir_env.MenhirLib.EngineTypes.stack <- {
25262 MenhirLib.EngineTypes.state = _menhir_s;
25263 MenhirLib.EngineTypes.semv = Obj.repr _v;
25264 MenhirLib.EngineTypes.startp = _startpos;
25265 MenhirLib.EngineTypes.endp = _endpos;
25266 MenhirLib.EngineTypes.next = _menhir_stack;
25267 });
25268 (fun _menhir_env ->
25269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25270 let {
25271 MenhirLib.EngineTypes.semv = _3;
25272 MenhirLib.EngineTypes.startp = _startpos__3_;
25273 MenhirLib.EngineTypes.endp = _endpos__3_;
25274 MenhirLib.EngineTypes.next = {
25275 MenhirLib.EngineTypes.semv = _2;
25276 MenhirLib.EngineTypes.startp = _startpos__2_;
25277 MenhirLib.EngineTypes.endp = _endpos__2_;
25278 MenhirLib.EngineTypes.next = {
25279 MenhirLib.EngineTypes.state = _menhir_s;
25280 MenhirLib.EngineTypes.semv = _1;
25281 MenhirLib.EngineTypes.startp = _startpos__1_;
25282 MenhirLib.EngineTypes.endp = _endpos__1_;
25283 MenhirLib.EngineTypes.next = _menhir_stack;
25284 };
25285 };
25286 } = _menhir_stack in
25287 let _3 : 'tv_ident = Obj.magic _3 in
25288 let _2 : (
25289# 108 "parser_cocci_menhir.mly"
25290 (Data.clt)
25291# 25292 "parser_cocci_menhir.ml"
25292 ) = Obj.magic _2 in
25293 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25294 let _startpos = _startpos__1_ in
25295 let _endpos = _endpos__3_ in
25296 let _v : 'tv_postfix_expr_expr_invalid_ =
25297# 1348 "parser_cocci_menhir.mly"
25298 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25299# 25300 "parser_cocci_menhir.ml"
25300 in
25301 _menhir_env.MenhirLib.EngineTypes.stack <- {
25302 MenhirLib.EngineTypes.state = _menhir_s;
25303 MenhirLib.EngineTypes.semv = Obj.repr _v;
25304 MenhirLib.EngineTypes.startp = _startpos;
25305 MenhirLib.EngineTypes.endp = _endpos;
25306 MenhirLib.EngineTypes.next = _menhir_stack;
25307 });
25308 (fun _menhir_env ->
25309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25310 let {
25311 MenhirLib.EngineTypes.semv = _3;
25312 MenhirLib.EngineTypes.startp = _startpos__3_;
25313 MenhirLib.EngineTypes.endp = _endpos__3_;
25314 MenhirLib.EngineTypes.next = {
25315 MenhirLib.EngineTypes.semv = _2;
25316 MenhirLib.EngineTypes.startp = _startpos__2_;
25317 MenhirLib.EngineTypes.endp = _endpos__2_;
25318 MenhirLib.EngineTypes.next = {
25319 MenhirLib.EngineTypes.state = _menhir_s;
25320 MenhirLib.EngineTypes.semv = _1;
25321 MenhirLib.EngineTypes.startp = _startpos__1_;
25322 MenhirLib.EngineTypes.endp = _endpos__1_;
25323 MenhirLib.EngineTypes.next = _menhir_stack;
25324 };
25325 };
25326 } = _menhir_stack in
25327 let _3 : 'tv_ident = Obj.magic _3 in
25328 let _2 : (
25329# 105 "parser_cocci_menhir.mly"
25330 (Data.clt)
25331# 25332 "parser_cocci_menhir.ml"
25332 ) = Obj.magic _2 in
25333 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25334 let _startpos = _startpos__1_ in
25335 let _endpos = _endpos__3_ in
25336 let _v : 'tv_postfix_expr_expr_invalid_ =
25337# 1350 "parser_cocci_menhir.mly"
25338 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25339 _3)) )
25340# 25341 "parser_cocci_menhir.ml"
25341 in
25342 _menhir_env.MenhirLib.EngineTypes.stack <- {
25343 MenhirLib.EngineTypes.state = _menhir_s;
25344 MenhirLib.EngineTypes.semv = Obj.repr _v;
25345 MenhirLib.EngineTypes.startp = _startpos;
25346 MenhirLib.EngineTypes.endp = _endpos;
25347 MenhirLib.EngineTypes.next = _menhir_stack;
25348 });
25349 (fun _menhir_env ->
25350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25351 let {
25352 MenhirLib.EngineTypes.semv = _2;
25353 MenhirLib.EngineTypes.startp = _startpos__2_;
25354 MenhirLib.EngineTypes.endp = _endpos__2_;
25355 MenhirLib.EngineTypes.next = {
25356 MenhirLib.EngineTypes.state = _menhir_s;
25357 MenhirLib.EngineTypes.semv = _1;
25358 MenhirLib.EngineTypes.startp = _startpos__1_;
25359 MenhirLib.EngineTypes.endp = _endpos__1_;
25360 MenhirLib.EngineTypes.next = _menhir_stack;
25361 };
25362 } = _menhir_stack in
25363 let _2 : (
25364# 86 "parser_cocci_menhir.mly"
25365 (Data.clt)
25366# 25367 "parser_cocci_menhir.ml"
25367 ) = Obj.magic _2 in
25368 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25369 let _startpos = _startpos__1_ in
25370 let _endpos = _endpos__2_ in
25371 let _v : 'tv_postfix_expr_expr_invalid_ =
25372# 1353 "parser_cocci_menhir.mly"
25373 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25374# 25375 "parser_cocci_menhir.ml"
25375 in
25376 _menhir_env.MenhirLib.EngineTypes.stack <- {
25377 MenhirLib.EngineTypes.state = _menhir_s;
25378 MenhirLib.EngineTypes.semv = Obj.repr _v;
25379 MenhirLib.EngineTypes.startp = _startpos;
25380 MenhirLib.EngineTypes.endp = _endpos;
25381 MenhirLib.EngineTypes.next = _menhir_stack;
25382 });
25383 (fun _menhir_env ->
25384 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25385 let {
25386 MenhirLib.EngineTypes.semv = _2;
25387 MenhirLib.EngineTypes.startp = _startpos__2_;
25388 MenhirLib.EngineTypes.endp = _endpos__2_;
25389 MenhirLib.EngineTypes.next = {
25390 MenhirLib.EngineTypes.state = _menhir_s;
25391 MenhirLib.EngineTypes.semv = _1;
25392 MenhirLib.EngineTypes.startp = _startpos__1_;
25393 MenhirLib.EngineTypes.endp = _endpos__1_;
25394 MenhirLib.EngineTypes.next = _menhir_stack;
25395 };
25396 } = _menhir_stack in
25397 let _2 : (
25398# 86 "parser_cocci_menhir.mly"
25399 (Data.clt)
25400# 25401 "parser_cocci_menhir.ml"
25401 ) = Obj.magic _2 in
25402 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25403 let _startpos = _startpos__1_ in
25404 let _endpos = _endpos__2_ in
25405 let _v : 'tv_postfix_expr_expr_invalid_ =
25406# 1355 "parser_cocci_menhir.mly"
25407 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25408# 25409 "parser_cocci_menhir.ml"
25409 in
25410 _menhir_env.MenhirLib.EngineTypes.stack <- {
25411 MenhirLib.EngineTypes.state = _menhir_s;
25412 MenhirLib.EngineTypes.semv = Obj.repr _v;
25413 MenhirLib.EngineTypes.startp = _startpos;
25414 MenhirLib.EngineTypes.endp = _endpos;
25415 MenhirLib.EngineTypes.next = _menhir_stack;
25416 });
25417 (fun _menhir_env ->
25418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25419 let {
25420 MenhirLib.EngineTypes.semv = _4;
25421 MenhirLib.EngineTypes.startp = _startpos__4_;
25422 MenhirLib.EngineTypes.endp = _endpos__4_;
25423 MenhirLib.EngineTypes.next = {
25424 MenhirLib.EngineTypes.semv = _3;
25425 MenhirLib.EngineTypes.startp = _startpos__3_;
25426 MenhirLib.EngineTypes.endp = _endpos__3_;
25427 MenhirLib.EngineTypes.next = {
25428 MenhirLib.EngineTypes.semv = _2;
25429 MenhirLib.EngineTypes.startp = _startpos__2_;
25430 MenhirLib.EngineTypes.endp = _endpos__2_;
25431 MenhirLib.EngineTypes.next = {
25432 MenhirLib.EngineTypes.state = _menhir_s;
25433 MenhirLib.EngineTypes.semv = _1;
25434 MenhirLib.EngineTypes.startp = _startpos__1_;
25435 MenhirLib.EngineTypes.endp = _endpos__1_;
25436 MenhirLib.EngineTypes.next = _menhir_stack;
25437 };
25438 };
25439 };
25440 } = _menhir_stack in
25441 let _4 : (
25442# 78 "parser_cocci_menhir.mly"
25443 (Data.clt)
25444# 25445 "parser_cocci_menhir.ml"
25445 ) = Obj.magic _4 in
25446 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25447 let _2 : (
25448# 77 "parser_cocci_menhir.mly"
25449 (Data.clt)
25450# 25451 "parser_cocci_menhir.ml"
25451 ) = Obj.magic _2 in
25452 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25453 let _startpos = _startpos__1_ in
25454 let _endpos = _endpos__4_ in
25455 let _v : 'tv_postfix_expr_expr_invalid_ =
25456# 1357 "parser_cocci_menhir.mly"
25457 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25458 _3,
25459 P.clt2mcode ")" _4)) )
25460# 25461 "parser_cocci_menhir.ml"
25461 in
25462 _menhir_env.MenhirLib.EngineTypes.stack <- {
25463 MenhirLib.EngineTypes.state = _menhir_s;
25464 MenhirLib.EngineTypes.semv = Obj.repr _v;
25465 MenhirLib.EngineTypes.startp = _startpos;
25466 MenhirLib.EngineTypes.endp = _endpos;
25467 MenhirLib.EngineTypes.next = _menhir_stack;
25468 });
25469 (fun _menhir_env ->
25470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25471 let {
25472 MenhirLib.EngineTypes.state = _menhir_s;
25473 MenhirLib.EngineTypes.semv = _1;
25474 MenhirLib.EngineTypes.startp = _startpos__1_;
25475 MenhirLib.EngineTypes.endp = _endpos__1_;
25476 MenhirLib.EngineTypes.next = _menhir_stack;
25477 } = _menhir_stack in
25478 let _1 : 'tv_func_ident = Obj.magic _1 in
25479 let _startpos = _startpos__1_ in
25480 let _endpos = _endpos__1_ in
25481 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25482# 1362 "parser_cocci_menhir.mly"
25483 ( Ast0.wrap(Ast0.Ident(_1)) )
25484# 25485 "parser_cocci_menhir.ml"
25485 in
25486 _menhir_env.MenhirLib.EngineTypes.stack <- {
25487 MenhirLib.EngineTypes.state = _menhir_s;
25488 MenhirLib.EngineTypes.semv = Obj.repr _v;
25489 MenhirLib.EngineTypes.startp = _startpos;
25490 MenhirLib.EngineTypes.endp = _endpos;
25491 MenhirLib.EngineTypes.next = _menhir_stack;
25492 });
25493 (fun _menhir_env ->
25494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25495 let {
25496 MenhirLib.EngineTypes.state = _menhir_s;
25497 MenhirLib.EngineTypes.semv = _1;
25498 MenhirLib.EngineTypes.startp = _startpos__1_;
25499 MenhirLib.EngineTypes.endp = _endpos__1_;
25500 MenhirLib.EngineTypes.next = _menhir_stack;
25501 } = _menhir_stack in
25502 let _1 : (
25503# 88 "parser_cocci_menhir.mly"
25504 (string * Data.clt)
25505# 25506 "parser_cocci_menhir.ml"
25506 ) = Obj.magic _1 in
25507 let _startpos = _startpos__1_ in
25508 let _endpos = _endpos__1_ in
25509 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25510# 1364 "parser_cocci_menhir.mly"
25511 ( let (x,clt) = _1 in
25512 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25513# 25514 "parser_cocci_menhir.ml"
25514 in
25515 _menhir_env.MenhirLib.EngineTypes.stack <- {
25516 MenhirLib.EngineTypes.state = _menhir_s;
25517 MenhirLib.EngineTypes.semv = Obj.repr _v;
25518 MenhirLib.EngineTypes.startp = _startpos;
25519 MenhirLib.EngineTypes.endp = _endpos;
25520 MenhirLib.EngineTypes.next = _menhir_stack;
25521 });
25522 (fun _menhir_env ->
25523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25524 let {
25525 MenhirLib.EngineTypes.state = _menhir_s;
25526 MenhirLib.EngineTypes.semv = _1;
25527 MenhirLib.EngineTypes.startp = _startpos__1_;
25528 MenhirLib.EngineTypes.endp = _endpos__1_;
25529 MenhirLib.EngineTypes.next = _menhir_stack;
25530 } = _menhir_stack in
25531 let _1 : (
25532# 88 "parser_cocci_menhir.mly"
25533 (string * Data.clt)
25534# 25535 "parser_cocci_menhir.ml"
25535 ) = Obj.magic _1 in
25536 let _startpos = _startpos__1_ in
25537 let _endpos = _endpos__1_ in
25538 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25539# 1367 "parser_cocci_menhir.mly"
25540 ( let (x,clt) = _1 in
25541 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25542# 25543 "parser_cocci_menhir.ml"
25543 in
25544 _menhir_env.MenhirLib.EngineTypes.stack <- {
25545 MenhirLib.EngineTypes.state = _menhir_s;
25546 MenhirLib.EngineTypes.semv = Obj.repr _v;
25547 MenhirLib.EngineTypes.startp = _startpos;
25548 MenhirLib.EngineTypes.endp = _endpos;
25549 MenhirLib.EngineTypes.next = _menhir_stack;
25550 });
25551 (fun _menhir_env ->
25552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25553 let {
25554 MenhirLib.EngineTypes.state = _menhir_s;
25555 MenhirLib.EngineTypes.semv = _1;
25556 MenhirLib.EngineTypes.startp = _startpos__1_;
25557 MenhirLib.EngineTypes.endp = _endpos__1_;
25558 MenhirLib.EngineTypes.next = _menhir_stack;
25559 } = _menhir_stack in
25560 let _1 : (
25561# 88 "parser_cocci_menhir.mly"
25562 (string * Data.clt)
25563# 25564 "parser_cocci_menhir.ml"
25564 ) = Obj.magic _1 in
25565 let _startpos = _startpos__1_ in
25566 let _endpos = _endpos__1_ in
25567 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25568# 1370 "parser_cocci_menhir.mly"
25569 ( let (x,clt) = _1 in
25570 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25571# 25572 "parser_cocci_menhir.ml"
25572 in
25573 _menhir_env.MenhirLib.EngineTypes.stack <- {
25574 MenhirLib.EngineTypes.state = _menhir_s;
25575 MenhirLib.EngineTypes.semv = Obj.repr _v;
25576 MenhirLib.EngineTypes.startp = _startpos;
25577 MenhirLib.EngineTypes.endp = _endpos;
25578 MenhirLib.EngineTypes.next = _menhir_stack;
25579 });
25580 (fun _menhir_env ->
25581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25582 let {
25583 MenhirLib.EngineTypes.state = _menhir_s;
25584 MenhirLib.EngineTypes.semv = _1;
25585 MenhirLib.EngineTypes.startp = _startpos__1_;
25586 MenhirLib.EngineTypes.endp = _endpos__1_;
25587 MenhirLib.EngineTypes.next = _menhir_stack;
25588 } = _menhir_stack in
25589 let _1 : (
25590# 88 "parser_cocci_menhir.mly"
25591 (string * Data.clt)
25592# 25593 "parser_cocci_menhir.ml"
25593 ) = Obj.magic _1 in
25594 let _startpos = _startpos__1_ in
25595 let _endpos = _endpos__1_ in
25596 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25597# 1373 "parser_cocci_menhir.mly"
25598 ( let (x,clt) = _1 in
25599 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25600# 25601 "parser_cocci_menhir.ml"
25601 in
25602 _menhir_env.MenhirLib.EngineTypes.stack <- {
25603 MenhirLib.EngineTypes.state = _menhir_s;
25604 MenhirLib.EngineTypes.semv = Obj.repr _v;
25605 MenhirLib.EngineTypes.startp = _startpos;
25606 MenhirLib.EngineTypes.endp = _endpos;
25607 MenhirLib.EngineTypes.next = _menhir_stack;
25608 });
25609 (fun _menhir_env ->
25610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25611 let {
25612 MenhirLib.EngineTypes.state = _menhir_s;
25613 MenhirLib.EngineTypes.semv = _1;
25614 MenhirLib.EngineTypes.startp = _startpos__1_;
25615 MenhirLib.EngineTypes.endp = _endpos__1_;
25616 MenhirLib.EngineTypes.next = _menhir_stack;
25617 } = _menhir_stack in
25618 let _1 : (
25619# 68 "parser_cocci_menhir.mly"
25620 (Parse_aux.typed_expinfo)
25621# 25622 "parser_cocci_menhir.ml"
25622 ) = Obj.magic _1 in
25623 let _startpos = _startpos__1_ in
25624 let _endpos = _endpos__1_ in
25625 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25626# 1376 "parser_cocci_menhir.mly"
25627 ( let (nm,constraints,pure,ty,clt) = _1 in
25628 Ast0.wrap
25629 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25630# 25631 "parser_cocci_menhir.ml"
25631 in
25632 _menhir_env.MenhirLib.EngineTypes.stack <- {
25633 MenhirLib.EngineTypes.state = _menhir_s;
25634 MenhirLib.EngineTypes.semv = Obj.repr _v;
25635 MenhirLib.EngineTypes.startp = _startpos;
25636 MenhirLib.EngineTypes.endp = _endpos;
25637 MenhirLib.EngineTypes.next = _menhir_stack;
25638 });
25639 (fun _menhir_env ->
25640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25641 let {
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 } = _menhir_stack in
25648 let _1 : (
25649# 64 "parser_cocci_menhir.mly"
25650 (Parse_aux.expinfo)
25651# 25652 "parser_cocci_menhir.ml"
25652 ) = Obj.magic _1 in
25653 let _startpos = _startpos__1_ in
25654 let _endpos = _endpos__1_ in
25655 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25656# 1380 "parser_cocci_menhir.mly"
25657 ( let (nm,constraints,pure,clt) = _1 in
25658 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25659# 25660 "parser_cocci_menhir.ml"
25660 in
25661 _menhir_env.MenhirLib.EngineTypes.stack <- {
25662 MenhirLib.EngineTypes.state = _menhir_s;
25663 MenhirLib.EngineTypes.semv = Obj.repr _v;
25664 MenhirLib.EngineTypes.startp = _startpos;
25665 MenhirLib.EngineTypes.endp = _endpos;
25666 MenhirLib.EngineTypes.next = _menhir_stack;
25667 });
25668 (fun _menhir_env ->
25669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25670 let {
25671 MenhirLib.EngineTypes.state = _menhir_s;
25672 MenhirLib.EngineTypes.semv = _1;
25673 MenhirLib.EngineTypes.startp = _startpos__1_;
25674 MenhirLib.EngineTypes.endp = _endpos__1_;
25675 MenhirLib.EngineTypes.next = _menhir_stack;
25676 } = _menhir_stack in
25677 let _1 : (
25678# 68 "parser_cocci_menhir.mly"
25679 (Parse_aux.typed_expinfo)
25680# 25681 "parser_cocci_menhir.ml"
25681 ) = Obj.magic _1 in
25682 let _startpos = _startpos__1_ in
25683 let _endpos = _endpos__1_ in
25684 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25685# 1383 "parser_cocci_menhir.mly"
25686 ( let (nm,constraints,pure,ty,clt) = _1 in
25687 Ast0.wrap
25688 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25689# 25690 "parser_cocci_menhir.ml"
25690 in
25691 _menhir_env.MenhirLib.EngineTypes.stack <- {
25692 MenhirLib.EngineTypes.state = _menhir_s;
25693 MenhirLib.EngineTypes.semv = Obj.repr _v;
25694 MenhirLib.EngineTypes.startp = _startpos;
25695 MenhirLib.EngineTypes.endp = _endpos;
25696 MenhirLib.EngineTypes.next = _menhir_stack;
25697 });
25698 (fun _menhir_env ->
25699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25700 let {
25701 MenhirLib.EngineTypes.state = _menhir_s;
25702 MenhirLib.EngineTypes.semv = _1;
25703 MenhirLib.EngineTypes.startp = _startpos__1_;
25704 MenhirLib.EngineTypes.endp = _endpos__1_;
25705 MenhirLib.EngineTypes.next = _menhir_stack;
25706 } = _menhir_stack in
25707 let _1 : (
25708# 68 "parser_cocci_menhir.mly"
25709 (Parse_aux.typed_expinfo)
25710# 25711 "parser_cocci_menhir.ml"
25711 ) = Obj.magic _1 in
25712 let _startpos = _startpos__1_ in
25713 let _endpos = _endpos__1_ in
25714 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25715# 1387 "parser_cocci_menhir.mly"
25716 ( let (nm,constraints,pure,ty,clt) = _1 in
25717 Ast0.wrap
25718 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
25719# 25720 "parser_cocci_menhir.ml"
25720 in
25721 _menhir_env.MenhirLib.EngineTypes.stack <- {
25722 MenhirLib.EngineTypes.state = _menhir_s;
25723 MenhirLib.EngineTypes.semv = Obj.repr _v;
25724 MenhirLib.EngineTypes.startp = _startpos;
25725 MenhirLib.EngineTypes.endp = _endpos;
25726 MenhirLib.EngineTypes.next = _menhir_stack;
25727 });
25728 (fun _menhir_env ->
25729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25730 let {
25731 MenhirLib.EngineTypes.state = _menhir_s;
25732 MenhirLib.EngineTypes.semv = _1;
25733 MenhirLib.EngineTypes.startp = _startpos__1_;
25734 MenhirLib.EngineTypes.endp = _endpos__1_;
25735 MenhirLib.EngineTypes.next = _menhir_stack;
25736 } = _menhir_stack in
25737 let _1 : (
25738# 68 "parser_cocci_menhir.mly"
25739 (Parse_aux.typed_expinfo)
25740# 25741 "parser_cocci_menhir.ml"
25741 ) = Obj.magic _1 in
25742 let _startpos = _startpos__1_ in
25743 let _endpos = _endpos__1_ in
25744 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25745# 1391 "parser_cocci_menhir.mly"
25746 ( let (nm,constraints,pure,ty,clt) = _1 in
25747 Ast0.wrap
25748 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
25749# 25750 "parser_cocci_menhir.ml"
25750 in
25751 _menhir_env.MenhirLib.EngineTypes.stack <- {
25752 MenhirLib.EngineTypes.state = _menhir_s;
25753 MenhirLib.EngineTypes.semv = Obj.repr _v;
25754 MenhirLib.EngineTypes.startp = _startpos;
25755 MenhirLib.EngineTypes.endp = _endpos;
25756 MenhirLib.EngineTypes.next = _menhir_stack;
25757 });
25758 (fun _menhir_env ->
25759 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25760 let {
25761 MenhirLib.EngineTypes.semv = _3;
25762 MenhirLib.EngineTypes.startp = _startpos__3_;
25763 MenhirLib.EngineTypes.endp = _endpos__3_;
25764 MenhirLib.EngineTypes.next = {
25765 MenhirLib.EngineTypes.semv = _2;
25766 MenhirLib.EngineTypes.startp = _startpos__2_;
25767 MenhirLib.EngineTypes.endp = _endpos__2_;
25768 MenhirLib.EngineTypes.next = {
25769 MenhirLib.EngineTypes.state = _menhir_s;
25770 MenhirLib.EngineTypes.semv = _1;
25771 MenhirLib.EngineTypes.startp = _startpos__1_;
25772 MenhirLib.EngineTypes.endp = _endpos__1_;
25773 MenhirLib.EngineTypes.next = _menhir_stack;
25774 };
25775 };
25776 } = _menhir_stack in
25777 let _3 : (
25778# 78 "parser_cocci_menhir.mly"
25779 (Data.clt)
25780# 25781 "parser_cocci_menhir.ml"
25781 ) = Obj.magic _3 in
25782 let _2 : 'tv_eexpr = Obj.magic _2 in
25783 let _1 : (
25784# 77 "parser_cocci_menhir.mly"
25785 (Data.clt)
25786# 25787 "parser_cocci_menhir.ml"
25787 ) = Obj.magic _1 in
25788 let _startpos = _startpos__1_ in
25789 let _endpos = _endpos__3_ in
25790 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25791# 1395 "parser_cocci_menhir.mly"
25792 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
25793 P.clt2mcode ")" _3)) )
25794# 25795 "parser_cocci_menhir.ml"
25795 in
25796 _menhir_env.MenhirLib.EngineTypes.stack <- {
25797 MenhirLib.EngineTypes.state = _menhir_s;
25798 MenhirLib.EngineTypes.semv = Obj.repr _v;
25799 MenhirLib.EngineTypes.startp = _startpos;
25800 MenhirLib.EngineTypes.endp = _endpos;
25801 MenhirLib.EngineTypes.next = _menhir_stack;
25802 });
25803 (fun _menhir_env ->
25804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25805 let {
25806 MenhirLib.EngineTypes.semv = _3;
25807 MenhirLib.EngineTypes.startp = _startpos__3_;
25808 MenhirLib.EngineTypes.endp = _endpos__3_;
25809 MenhirLib.EngineTypes.next = {
25810 MenhirLib.EngineTypes.semv = _2;
25811 MenhirLib.EngineTypes.startp = _startpos__2_;
25812 MenhirLib.EngineTypes.endp = _endpos__2_;
25813 MenhirLib.EngineTypes.next = {
25814 MenhirLib.EngineTypes.state = _menhir_s;
25815 MenhirLib.EngineTypes.semv = _1;
25816 MenhirLib.EngineTypes.startp = _startpos__1_;
25817 MenhirLib.EngineTypes.endp = _endpos__1_;
25818 MenhirLib.EngineTypes.next = _menhir_stack;
25819 };
25820 };
25821 } = _menhir_stack in
25822 let _3 : (
25823# 78 "parser_cocci_menhir.mly"
25824 (Data.clt)
25825# 25826 "parser_cocci_menhir.ml"
25826 ) = Obj.magic _3 in
25827 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
25828 let _1 : (
25829# 77 "parser_cocci_menhir.mly"
25830 (Data.clt)
25831# 25832 "parser_cocci_menhir.ml"
25832 ) = Obj.magic _1 in
25833 let _startpos = _startpos__1_ in
25834 let _endpos = _endpos__3_ in
25835 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25836# 1398 "parser_cocci_menhir.mly"
25837 ( let (mids,code) = _2 in
25838 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
25839 code, mids,
25840 P.clt2mcode ")" _3)) )
25841# 25842 "parser_cocci_menhir.ml"
25842 in
25843 _menhir_env.MenhirLib.EngineTypes.stack <- {
25844 MenhirLib.EngineTypes.state = _menhir_s;
25845 MenhirLib.EngineTypes.semv = Obj.repr _v;
25846 MenhirLib.EngineTypes.startp = _startpos;
25847 MenhirLib.EngineTypes.endp = _endpos;
25848 MenhirLib.EngineTypes.next = _menhir_stack;
25849 });
25850 (fun _menhir_env ->
25851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25852 let {
25853 MenhirLib.EngineTypes.state = _menhir_s;
25854 MenhirLib.EngineTypes.semv = _1;
25855 MenhirLib.EngineTypes.startp = _startpos__1_;
25856 MenhirLib.EngineTypes.endp = _endpos__1_;
25857 MenhirLib.EngineTypes.next = _menhir_stack;
25858 } = _menhir_stack in
25859 let _1 : 'tv_dot_expressions = Obj.magic _1 in
25860 let _startpos = _startpos__1_ in
25861 let _endpos = _endpos__1_ in
25862 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25863# 1402 "parser_cocci_menhir.mly"
25864 ( _1 )
25865# 25866 "parser_cocci_menhir.ml"
25866 in
25867 _menhir_env.MenhirLib.EngineTypes.stack <- {
25868 MenhirLib.EngineTypes.state = _menhir_s;
25869 MenhirLib.EngineTypes.semv = Obj.repr _v;
25870 MenhirLib.EngineTypes.startp = _startpos;
25871 MenhirLib.EngineTypes.endp = _endpos;
25872 MenhirLib.EngineTypes.next = _menhir_stack;
25873 });
25874 (fun _menhir_env ->
25875 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25876 let {
25877 MenhirLib.EngineTypes.state = _menhir_s;
25878 MenhirLib.EngineTypes.semv = _1;
25879 MenhirLib.EngineTypes.startp = _startpos__1_;
25880 MenhirLib.EngineTypes.endp = _endpos__1_;
25881 MenhirLib.EngineTypes.next = _menhir_stack;
25882 } = _menhir_stack in
25883 let _1 : 'tv_func_ident = Obj.magic _1 in
25884 let _startpos = _startpos__1_ in
25885 let _endpos = _endpos__1_ in
25886 let _v : 'tv_primary_expr_eexpr_invalid_ =
25887# 1362 "parser_cocci_menhir.mly"
25888 ( Ast0.wrap(Ast0.Ident(_1)) )
25889# 25890 "parser_cocci_menhir.ml"
25890 in
25891 _menhir_env.MenhirLib.EngineTypes.stack <- {
25892 MenhirLib.EngineTypes.state = _menhir_s;
25893 MenhirLib.EngineTypes.semv = Obj.repr _v;
25894 MenhirLib.EngineTypes.startp = _startpos;
25895 MenhirLib.EngineTypes.endp = _endpos;
25896 MenhirLib.EngineTypes.next = _menhir_stack;
25897 });
25898 (fun _menhir_env ->
25899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25900 let {
25901 MenhirLib.EngineTypes.state = _menhir_s;
25902 MenhirLib.EngineTypes.semv = _1;
25903 MenhirLib.EngineTypes.startp = _startpos__1_;
25904 MenhirLib.EngineTypes.endp = _endpos__1_;
25905 MenhirLib.EngineTypes.next = _menhir_stack;
25906 } = _menhir_stack in
25907 let _1 : (
25908# 88 "parser_cocci_menhir.mly"
25909 (string * Data.clt)
25910# 25911 "parser_cocci_menhir.ml"
25911 ) = Obj.magic _1 in
25912 let _startpos = _startpos__1_ in
25913 let _endpos = _endpos__1_ in
25914 let _v : 'tv_primary_expr_eexpr_invalid_ =
25915# 1364 "parser_cocci_menhir.mly"
25916 ( let (x,clt) = _1 in
25917 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25918# 25919 "parser_cocci_menhir.ml"
25919 in
25920 _menhir_env.MenhirLib.EngineTypes.stack <- {
25921 MenhirLib.EngineTypes.state = _menhir_s;
25922 MenhirLib.EngineTypes.semv = Obj.repr _v;
25923 MenhirLib.EngineTypes.startp = _startpos;
25924 MenhirLib.EngineTypes.endp = _endpos;
25925 MenhirLib.EngineTypes.next = _menhir_stack;
25926 });
25927 (fun _menhir_env ->
25928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25929 let {
25930 MenhirLib.EngineTypes.state = _menhir_s;
25931 MenhirLib.EngineTypes.semv = _1;
25932 MenhirLib.EngineTypes.startp = _startpos__1_;
25933 MenhirLib.EngineTypes.endp = _endpos__1_;
25934 MenhirLib.EngineTypes.next = _menhir_stack;
25935 } = _menhir_stack in
25936 let _1 : (
25937# 88 "parser_cocci_menhir.mly"
25938 (string * Data.clt)
25939# 25940 "parser_cocci_menhir.ml"
25940 ) = Obj.magic _1 in
25941 let _startpos = _startpos__1_ in
25942 let _endpos = _endpos__1_ in
25943 let _v : 'tv_primary_expr_eexpr_invalid_ =
25944# 1367 "parser_cocci_menhir.mly"
25945 ( let (x,clt) = _1 in
25946 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25947# 25948 "parser_cocci_menhir.ml"
25948 in
25949 _menhir_env.MenhirLib.EngineTypes.stack <- {
25950 MenhirLib.EngineTypes.state = _menhir_s;
25951 MenhirLib.EngineTypes.semv = Obj.repr _v;
25952 MenhirLib.EngineTypes.startp = _startpos;
25953 MenhirLib.EngineTypes.endp = _endpos;
25954 MenhirLib.EngineTypes.next = _menhir_stack;
25955 });
25956 (fun _menhir_env ->
25957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25958 let {
25959 MenhirLib.EngineTypes.state = _menhir_s;
25960 MenhirLib.EngineTypes.semv = _1;
25961 MenhirLib.EngineTypes.startp = _startpos__1_;
25962 MenhirLib.EngineTypes.endp = _endpos__1_;
25963 MenhirLib.EngineTypes.next = _menhir_stack;
25964 } = _menhir_stack in
25965 let _1 : (
25966# 88 "parser_cocci_menhir.mly"
25967 (string * Data.clt)
25968# 25969 "parser_cocci_menhir.ml"
25969 ) = Obj.magic _1 in
25970 let _startpos = _startpos__1_ in
25971 let _endpos = _endpos__1_ in
25972 let _v : 'tv_primary_expr_eexpr_invalid_ =
25973# 1370 "parser_cocci_menhir.mly"
25974 ( let (x,clt) = _1 in
25975 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25976# 25977 "parser_cocci_menhir.ml"
25977 in
25978 _menhir_env.MenhirLib.EngineTypes.stack <- {
25979 MenhirLib.EngineTypes.state = _menhir_s;
25980 MenhirLib.EngineTypes.semv = Obj.repr _v;
25981 MenhirLib.EngineTypes.startp = _startpos;
25982 MenhirLib.EngineTypes.endp = _endpos;
25983 MenhirLib.EngineTypes.next = _menhir_stack;
25984 });
25985 (fun _menhir_env ->
25986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25987 let {
25988 MenhirLib.EngineTypes.state = _menhir_s;
25989 MenhirLib.EngineTypes.semv = _1;
25990 MenhirLib.EngineTypes.startp = _startpos__1_;
25991 MenhirLib.EngineTypes.endp = _endpos__1_;
25992 MenhirLib.EngineTypes.next = _menhir_stack;
25993 } = _menhir_stack in
25994 let _1 : (
25995# 88 "parser_cocci_menhir.mly"
25996 (string * Data.clt)
25997# 25998 "parser_cocci_menhir.ml"
25998 ) = Obj.magic _1 in
25999 let _startpos = _startpos__1_ in
26000 let _endpos = _endpos__1_ in
26001 let _v : 'tv_primary_expr_eexpr_invalid_ =
26002# 1373 "parser_cocci_menhir.mly"
26003 ( let (x,clt) = _1 in
26004 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26005# 26006 "parser_cocci_menhir.ml"
26006 in
26007 _menhir_env.MenhirLib.EngineTypes.stack <- {
26008 MenhirLib.EngineTypes.state = _menhir_s;
26009 MenhirLib.EngineTypes.semv = Obj.repr _v;
26010 MenhirLib.EngineTypes.startp = _startpos;
26011 MenhirLib.EngineTypes.endp = _endpos;
26012 MenhirLib.EngineTypes.next = _menhir_stack;
26013 });
26014 (fun _menhir_env ->
26015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26016 let {
26017 MenhirLib.EngineTypes.state = _menhir_s;
26018 MenhirLib.EngineTypes.semv = _1;
26019 MenhirLib.EngineTypes.startp = _startpos__1_;
26020 MenhirLib.EngineTypes.endp = _endpos__1_;
26021 MenhirLib.EngineTypes.next = _menhir_stack;
26022 } = _menhir_stack in
26023 let _1 : (
26024# 68 "parser_cocci_menhir.mly"
26025 (Parse_aux.typed_expinfo)
26026# 26027 "parser_cocci_menhir.ml"
26027 ) = Obj.magic _1 in
26028 let _startpos = _startpos__1_ in
26029 let _endpos = _endpos__1_ in
26030 let _v : 'tv_primary_expr_eexpr_invalid_ =
26031# 1376 "parser_cocci_menhir.mly"
26032 ( let (nm,constraints,pure,ty,clt) = _1 in
26033 Ast0.wrap
26034 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26035# 26036 "parser_cocci_menhir.ml"
26036 in
26037 _menhir_env.MenhirLib.EngineTypes.stack <- {
26038 MenhirLib.EngineTypes.state = _menhir_s;
26039 MenhirLib.EngineTypes.semv = Obj.repr _v;
26040 MenhirLib.EngineTypes.startp = _startpos;
26041 MenhirLib.EngineTypes.endp = _endpos;
26042 MenhirLib.EngineTypes.next = _menhir_stack;
26043 });
26044 (fun _menhir_env ->
26045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26046 let {
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 } = _menhir_stack in
26053 let _1 : (
26054# 64 "parser_cocci_menhir.mly"
26055 (Parse_aux.expinfo)
26056# 26057 "parser_cocci_menhir.ml"
26057 ) = Obj.magic _1 in
26058 let _startpos = _startpos__1_ in
26059 let _endpos = _endpos__1_ in
26060 let _v : 'tv_primary_expr_eexpr_invalid_ =
26061# 1380 "parser_cocci_menhir.mly"
26062 ( let (nm,constraints,pure,clt) = _1 in
26063 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26064# 26065 "parser_cocci_menhir.ml"
26065 in
26066 _menhir_env.MenhirLib.EngineTypes.stack <- {
26067 MenhirLib.EngineTypes.state = _menhir_s;
26068 MenhirLib.EngineTypes.semv = Obj.repr _v;
26069 MenhirLib.EngineTypes.startp = _startpos;
26070 MenhirLib.EngineTypes.endp = _endpos;
26071 MenhirLib.EngineTypes.next = _menhir_stack;
26072 });
26073 (fun _menhir_env ->
26074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26075 let {
26076 MenhirLib.EngineTypes.state = _menhir_s;
26077 MenhirLib.EngineTypes.semv = _1;
26078 MenhirLib.EngineTypes.startp = _startpos__1_;
26079 MenhirLib.EngineTypes.endp = _endpos__1_;
26080 MenhirLib.EngineTypes.next = _menhir_stack;
26081 } = _menhir_stack in
26082 let _1 : (
26083# 68 "parser_cocci_menhir.mly"
26084 (Parse_aux.typed_expinfo)
26085# 26086 "parser_cocci_menhir.ml"
26086 ) = Obj.magic _1 in
26087 let _startpos = _startpos__1_ in
26088 let _endpos = _endpos__1_ in
26089 let _v : 'tv_primary_expr_eexpr_invalid_ =
26090# 1383 "parser_cocci_menhir.mly"
26091 ( let (nm,constraints,pure,ty,clt) = _1 in
26092 Ast0.wrap
26093 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26094# 26095 "parser_cocci_menhir.ml"
26095 in
26096 _menhir_env.MenhirLib.EngineTypes.stack <- {
26097 MenhirLib.EngineTypes.state = _menhir_s;
26098 MenhirLib.EngineTypes.semv = Obj.repr _v;
26099 MenhirLib.EngineTypes.startp = _startpos;
26100 MenhirLib.EngineTypes.endp = _endpos;
26101 MenhirLib.EngineTypes.next = _menhir_stack;
26102 });
26103 (fun _menhir_env ->
26104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26105 let {
26106 MenhirLib.EngineTypes.state = _menhir_s;
26107 MenhirLib.EngineTypes.semv = _1;
26108 MenhirLib.EngineTypes.startp = _startpos__1_;
26109 MenhirLib.EngineTypes.endp = _endpos__1_;
26110 MenhirLib.EngineTypes.next = _menhir_stack;
26111 } = _menhir_stack in
26112 let _1 : (
26113# 68 "parser_cocci_menhir.mly"
26114 (Parse_aux.typed_expinfo)
26115# 26116 "parser_cocci_menhir.ml"
26116 ) = Obj.magic _1 in
26117 let _startpos = _startpos__1_ in
26118 let _endpos = _endpos__1_ in
26119 let _v : 'tv_primary_expr_eexpr_invalid_ =
26120# 1387 "parser_cocci_menhir.mly"
26121 ( let (nm,constraints,pure,ty,clt) = _1 in
26122 Ast0.wrap
26123 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26124# 26125 "parser_cocci_menhir.ml"
26125 in
26126 _menhir_env.MenhirLib.EngineTypes.stack <- {
26127 MenhirLib.EngineTypes.state = _menhir_s;
26128 MenhirLib.EngineTypes.semv = Obj.repr _v;
26129 MenhirLib.EngineTypes.startp = _startpos;
26130 MenhirLib.EngineTypes.endp = _endpos;
26131 MenhirLib.EngineTypes.next = _menhir_stack;
26132 });
26133 (fun _menhir_env ->
26134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26135 let {
26136 MenhirLib.EngineTypes.state = _menhir_s;
26137 MenhirLib.EngineTypes.semv = _1;
26138 MenhirLib.EngineTypes.startp = _startpos__1_;
26139 MenhirLib.EngineTypes.endp = _endpos__1_;
26140 MenhirLib.EngineTypes.next = _menhir_stack;
26141 } = _menhir_stack in
26142 let _1 : (
26143# 68 "parser_cocci_menhir.mly"
26144 (Parse_aux.typed_expinfo)
26145# 26146 "parser_cocci_menhir.ml"
26146 ) = Obj.magic _1 in
26147 let _startpos = _startpos__1_ in
26148 let _endpos = _endpos__1_ in
26149 let _v : 'tv_primary_expr_eexpr_invalid_ =
26150# 1391 "parser_cocci_menhir.mly"
26151 ( let (nm,constraints,pure,ty,clt) = _1 in
26152 Ast0.wrap
26153 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26154# 26155 "parser_cocci_menhir.ml"
26155 in
26156 _menhir_env.MenhirLib.EngineTypes.stack <- {
26157 MenhirLib.EngineTypes.state = _menhir_s;
26158 MenhirLib.EngineTypes.semv = Obj.repr _v;
26159 MenhirLib.EngineTypes.startp = _startpos;
26160 MenhirLib.EngineTypes.endp = _endpos;
26161 MenhirLib.EngineTypes.next = _menhir_stack;
26162 });
26163 (fun _menhir_env ->
26164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26165 let {
26166 MenhirLib.EngineTypes.semv = _3;
26167 MenhirLib.EngineTypes.startp = _startpos__3_;
26168 MenhirLib.EngineTypes.endp = _endpos__3_;
26169 MenhirLib.EngineTypes.next = {
26170 MenhirLib.EngineTypes.semv = _2;
26171 MenhirLib.EngineTypes.startp = _startpos__2_;
26172 MenhirLib.EngineTypes.endp = _endpos__2_;
26173 MenhirLib.EngineTypes.next = {
26174 MenhirLib.EngineTypes.state = _menhir_s;
26175 MenhirLib.EngineTypes.semv = _1;
26176 MenhirLib.EngineTypes.startp = _startpos__1_;
26177 MenhirLib.EngineTypes.endp = _endpos__1_;
26178 MenhirLib.EngineTypes.next = _menhir_stack;
26179 };
26180 };
26181 } = _menhir_stack in
26182 let _3 : (
26183# 78 "parser_cocci_menhir.mly"
26184 (Data.clt)
26185# 26186 "parser_cocci_menhir.ml"
26186 ) = Obj.magic _3 in
26187 let _2 : 'tv_eexpr = Obj.magic _2 in
26188 let _1 : (
26189# 77 "parser_cocci_menhir.mly"
26190 (Data.clt)
26191# 26192 "parser_cocci_menhir.ml"
26192 ) = Obj.magic _1 in
26193 let _startpos = _startpos__1_ in
26194 let _endpos = _endpos__3_ in
26195 let _v : 'tv_primary_expr_eexpr_invalid_ =
26196# 1395 "parser_cocci_menhir.mly"
26197 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26198 P.clt2mcode ")" _3)) )
26199# 26200 "parser_cocci_menhir.ml"
26200 in
26201 _menhir_env.MenhirLib.EngineTypes.stack <- {
26202 MenhirLib.EngineTypes.state = _menhir_s;
26203 MenhirLib.EngineTypes.semv = Obj.repr _v;
26204 MenhirLib.EngineTypes.startp = _startpos;
26205 MenhirLib.EngineTypes.endp = _endpos;
26206 MenhirLib.EngineTypes.next = _menhir_stack;
26207 });
26208 (fun _menhir_env ->
26209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26210 let {
26211 MenhirLib.EngineTypes.semv = _3;
26212 MenhirLib.EngineTypes.startp = _startpos__3_;
26213 MenhirLib.EngineTypes.endp = _endpos__3_;
26214 MenhirLib.EngineTypes.next = {
26215 MenhirLib.EngineTypes.semv = _2;
26216 MenhirLib.EngineTypes.startp = _startpos__2_;
26217 MenhirLib.EngineTypes.endp = _endpos__2_;
26218 MenhirLib.EngineTypes.next = {
26219 MenhirLib.EngineTypes.state = _menhir_s;
26220 MenhirLib.EngineTypes.semv = _1;
26221 MenhirLib.EngineTypes.startp = _startpos__1_;
26222 MenhirLib.EngineTypes.endp = _endpos__1_;
26223 MenhirLib.EngineTypes.next = _menhir_stack;
26224 };
26225 };
26226 } = _menhir_stack in
26227 let _3 : (
26228# 78 "parser_cocci_menhir.mly"
26229 (Data.clt)
26230# 26231 "parser_cocci_menhir.ml"
26231 ) = Obj.magic _3 in
26232 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26233 let _1 : (
26234# 77 "parser_cocci_menhir.mly"
26235 (Data.clt)
26236# 26237 "parser_cocci_menhir.ml"
26237 ) = Obj.magic _1 in
26238 let _startpos = _startpos__1_ in
26239 let _endpos = _endpos__3_ in
26240 let _v : 'tv_primary_expr_eexpr_invalid_ =
26241# 1398 "parser_cocci_menhir.mly"
26242 ( let (mids,code) = _2 in
26243 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26244 code, mids,
26245 P.clt2mcode ")" _3)) )
26246# 26247 "parser_cocci_menhir.ml"
26247 in
26248 _menhir_env.MenhirLib.EngineTypes.stack <- {
26249 MenhirLib.EngineTypes.state = _menhir_s;
26250 MenhirLib.EngineTypes.semv = Obj.repr _v;
26251 MenhirLib.EngineTypes.startp = _startpos;
26252 MenhirLib.EngineTypes.endp = _endpos;
26253 MenhirLib.EngineTypes.next = _menhir_stack;
26254 });
26255 (fun _menhir_env ->
26256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26257 let {
26258 MenhirLib.EngineTypes.state = _menhir_s;
26259 MenhirLib.EngineTypes.semv = _1;
26260 MenhirLib.EngineTypes.startp = _startpos__1_;
26261 MenhirLib.EngineTypes.endp = _endpos__1_;
26262 MenhirLib.EngineTypes.next = _menhir_stack;
26263 } = _menhir_stack in
26264 let _1 : 'tv_invalid = Obj.magic _1 in
26265 let _startpos = _startpos__1_ in
26266 let _endpos = _endpos__1_ in
26267 let _v : 'tv_primary_expr_eexpr_invalid_ =
26268# 1402 "parser_cocci_menhir.mly"
26269 ( _1 )
26270# 26271 "parser_cocci_menhir.ml"
26271 in
26272 _menhir_env.MenhirLib.EngineTypes.stack <- {
26273 MenhirLib.EngineTypes.state = _menhir_s;
26274 MenhirLib.EngineTypes.semv = Obj.repr _v;
26275 MenhirLib.EngineTypes.startp = _startpos;
26276 MenhirLib.EngineTypes.endp = _endpos;
26277 MenhirLib.EngineTypes.next = _menhir_stack;
26278 });
26279 (fun _menhir_env ->
26280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26281 let {
26282 MenhirLib.EngineTypes.state = _menhir_s;
26283 MenhirLib.EngineTypes.semv = _1;
26284 MenhirLib.EngineTypes.startp = _startpos__1_;
26285 MenhirLib.EngineTypes.endp = _endpos__1_;
26286 MenhirLib.EngineTypes.next = _menhir_stack;
26287 } = _menhir_stack in
26288 let _1 : 'tv_func_ident = Obj.magic _1 in
26289 let _startpos = _startpos__1_ in
26290 let _endpos = _endpos__1_ in
26291 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26292# 1362 "parser_cocci_menhir.mly"
26293 ( Ast0.wrap(Ast0.Ident(_1)) )
26294# 26295 "parser_cocci_menhir.ml"
26295 in
26296 _menhir_env.MenhirLib.EngineTypes.stack <- {
26297 MenhirLib.EngineTypes.state = _menhir_s;
26298 MenhirLib.EngineTypes.semv = Obj.repr _v;
26299 MenhirLib.EngineTypes.startp = _startpos;
26300 MenhirLib.EngineTypes.endp = _endpos;
26301 MenhirLib.EngineTypes.next = _menhir_stack;
26302 });
26303 (fun _menhir_env ->
26304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26305 let {
26306 MenhirLib.EngineTypes.state = _menhir_s;
26307 MenhirLib.EngineTypes.semv = _1;
26308 MenhirLib.EngineTypes.startp = _startpos__1_;
26309 MenhirLib.EngineTypes.endp = _endpos__1_;
26310 MenhirLib.EngineTypes.next = _menhir_stack;
26311 } = _menhir_stack in
26312 let _1 : (
26313# 88 "parser_cocci_menhir.mly"
26314 (string * Data.clt)
26315# 26316 "parser_cocci_menhir.ml"
26316 ) = Obj.magic _1 in
26317 let _startpos = _startpos__1_ in
26318 let _endpos = _endpos__1_ in
26319 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26320# 1364 "parser_cocci_menhir.mly"
26321 ( let (x,clt) = _1 in
26322 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26323# 26324 "parser_cocci_menhir.ml"
26324 in
26325 _menhir_env.MenhirLib.EngineTypes.stack <- {
26326 MenhirLib.EngineTypes.state = _menhir_s;
26327 MenhirLib.EngineTypes.semv = Obj.repr _v;
26328 MenhirLib.EngineTypes.startp = _startpos;
26329 MenhirLib.EngineTypes.endp = _endpos;
26330 MenhirLib.EngineTypes.next = _menhir_stack;
26331 });
26332 (fun _menhir_env ->
26333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26334 let {
26335 MenhirLib.EngineTypes.state = _menhir_s;
26336 MenhirLib.EngineTypes.semv = _1;
26337 MenhirLib.EngineTypes.startp = _startpos__1_;
26338 MenhirLib.EngineTypes.endp = _endpos__1_;
26339 MenhirLib.EngineTypes.next = _menhir_stack;
26340 } = _menhir_stack in
26341 let _1 : (
26342# 88 "parser_cocci_menhir.mly"
26343 (string * Data.clt)
26344# 26345 "parser_cocci_menhir.ml"
26345 ) = Obj.magic _1 in
26346 let _startpos = _startpos__1_ in
26347 let _endpos = _endpos__1_ in
26348 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26349# 1367 "parser_cocci_menhir.mly"
26350 ( let (x,clt) = _1 in
26351 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26352# 26353 "parser_cocci_menhir.ml"
26353 in
26354 _menhir_env.MenhirLib.EngineTypes.stack <- {
26355 MenhirLib.EngineTypes.state = _menhir_s;
26356 MenhirLib.EngineTypes.semv = Obj.repr _v;
26357 MenhirLib.EngineTypes.startp = _startpos;
26358 MenhirLib.EngineTypes.endp = _endpos;
26359 MenhirLib.EngineTypes.next = _menhir_stack;
26360 });
26361 (fun _menhir_env ->
26362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26363 let {
26364 MenhirLib.EngineTypes.state = _menhir_s;
26365 MenhirLib.EngineTypes.semv = _1;
26366 MenhirLib.EngineTypes.startp = _startpos__1_;
26367 MenhirLib.EngineTypes.endp = _endpos__1_;
26368 MenhirLib.EngineTypes.next = _menhir_stack;
26369 } = _menhir_stack in
26370 let _1 : (
26371# 88 "parser_cocci_menhir.mly"
26372 (string * Data.clt)
26373# 26374 "parser_cocci_menhir.ml"
26374 ) = Obj.magic _1 in
26375 let _startpos = _startpos__1_ in
26376 let _endpos = _endpos__1_ in
26377 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26378# 1370 "parser_cocci_menhir.mly"
26379 ( let (x,clt) = _1 in
26380 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26381# 26382 "parser_cocci_menhir.ml"
26382 in
26383 _menhir_env.MenhirLib.EngineTypes.stack <- {
26384 MenhirLib.EngineTypes.state = _menhir_s;
26385 MenhirLib.EngineTypes.semv = Obj.repr _v;
26386 MenhirLib.EngineTypes.startp = _startpos;
26387 MenhirLib.EngineTypes.endp = _endpos;
26388 MenhirLib.EngineTypes.next = _menhir_stack;
26389 });
26390 (fun _menhir_env ->
26391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26392 let {
26393 MenhirLib.EngineTypes.state = _menhir_s;
26394 MenhirLib.EngineTypes.semv = _1;
26395 MenhirLib.EngineTypes.startp = _startpos__1_;
26396 MenhirLib.EngineTypes.endp = _endpos__1_;
26397 MenhirLib.EngineTypes.next = _menhir_stack;
26398 } = _menhir_stack in
26399 let _1 : (
26400# 88 "parser_cocci_menhir.mly"
26401 (string * Data.clt)
26402# 26403 "parser_cocci_menhir.ml"
26403 ) = Obj.magic _1 in
26404 let _startpos = _startpos__1_ in
26405 let _endpos = _endpos__1_ in
26406 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26407# 1373 "parser_cocci_menhir.mly"
26408 ( let (x,clt) = _1 in
26409 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26410# 26411 "parser_cocci_menhir.ml"
26411 in
26412 _menhir_env.MenhirLib.EngineTypes.stack <- {
26413 MenhirLib.EngineTypes.state = _menhir_s;
26414 MenhirLib.EngineTypes.semv = Obj.repr _v;
26415 MenhirLib.EngineTypes.startp = _startpos;
26416 MenhirLib.EngineTypes.endp = _endpos;
26417 MenhirLib.EngineTypes.next = _menhir_stack;
26418 });
26419 (fun _menhir_env ->
26420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26421 let {
26422 MenhirLib.EngineTypes.state = _menhir_s;
26423 MenhirLib.EngineTypes.semv = _1;
26424 MenhirLib.EngineTypes.startp = _startpos__1_;
26425 MenhirLib.EngineTypes.endp = _endpos__1_;
26426 MenhirLib.EngineTypes.next = _menhir_stack;
26427 } = _menhir_stack in
26428 let _1 : (
26429# 68 "parser_cocci_menhir.mly"
26430 (Parse_aux.typed_expinfo)
26431# 26432 "parser_cocci_menhir.ml"
26432 ) = Obj.magic _1 in
26433 let _startpos = _startpos__1_ in
26434 let _endpos = _endpos__1_ in
26435 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26436# 1376 "parser_cocci_menhir.mly"
26437 ( let (nm,constraints,pure,ty,clt) = _1 in
26438 Ast0.wrap
26439 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26440# 26441 "parser_cocci_menhir.ml"
26441 in
26442 _menhir_env.MenhirLib.EngineTypes.stack <- {
26443 MenhirLib.EngineTypes.state = _menhir_s;
26444 MenhirLib.EngineTypes.semv = Obj.repr _v;
26445 MenhirLib.EngineTypes.startp = _startpos;
26446 MenhirLib.EngineTypes.endp = _endpos;
26447 MenhirLib.EngineTypes.next = _menhir_stack;
26448 });
26449 (fun _menhir_env ->
26450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26451 let {
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 } = _menhir_stack in
26458 let _1 : (
26459# 64 "parser_cocci_menhir.mly"
26460 (Parse_aux.expinfo)
26461# 26462 "parser_cocci_menhir.ml"
26462 ) = Obj.magic _1 in
26463 let _startpos = _startpos__1_ in
26464 let _endpos = _endpos__1_ in
26465 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26466# 1380 "parser_cocci_menhir.mly"
26467 ( let (nm,constraints,pure,clt) = _1 in
26468 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26469# 26470 "parser_cocci_menhir.ml"
26470 in
26471 _menhir_env.MenhirLib.EngineTypes.stack <- {
26472 MenhirLib.EngineTypes.state = _menhir_s;
26473 MenhirLib.EngineTypes.semv = Obj.repr _v;
26474 MenhirLib.EngineTypes.startp = _startpos;
26475 MenhirLib.EngineTypes.endp = _endpos;
26476 MenhirLib.EngineTypes.next = _menhir_stack;
26477 });
26478 (fun _menhir_env ->
26479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26480 let {
26481 MenhirLib.EngineTypes.state = _menhir_s;
26482 MenhirLib.EngineTypes.semv = _1;
26483 MenhirLib.EngineTypes.startp = _startpos__1_;
26484 MenhirLib.EngineTypes.endp = _endpos__1_;
26485 MenhirLib.EngineTypes.next = _menhir_stack;
26486 } = _menhir_stack in
26487 let _1 : (
26488# 68 "parser_cocci_menhir.mly"
26489 (Parse_aux.typed_expinfo)
26490# 26491 "parser_cocci_menhir.ml"
26491 ) = Obj.magic _1 in
26492 let _startpos = _startpos__1_ in
26493 let _endpos = _endpos__1_ in
26494 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26495# 1383 "parser_cocci_menhir.mly"
26496 ( let (nm,constraints,pure,ty,clt) = _1 in
26497 Ast0.wrap
26498 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26499# 26500 "parser_cocci_menhir.ml"
26500 in
26501 _menhir_env.MenhirLib.EngineTypes.stack <- {
26502 MenhirLib.EngineTypes.state = _menhir_s;
26503 MenhirLib.EngineTypes.semv = Obj.repr _v;
26504 MenhirLib.EngineTypes.startp = _startpos;
26505 MenhirLib.EngineTypes.endp = _endpos;
26506 MenhirLib.EngineTypes.next = _menhir_stack;
26507 });
26508 (fun _menhir_env ->
26509 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26510 let {
26511 MenhirLib.EngineTypes.state = _menhir_s;
26512 MenhirLib.EngineTypes.semv = _1;
26513 MenhirLib.EngineTypes.startp = _startpos__1_;
26514 MenhirLib.EngineTypes.endp = _endpos__1_;
26515 MenhirLib.EngineTypes.next = _menhir_stack;
26516 } = _menhir_stack in
26517 let _1 : (
26518# 68 "parser_cocci_menhir.mly"
26519 (Parse_aux.typed_expinfo)
26520# 26521 "parser_cocci_menhir.ml"
26521 ) = Obj.magic _1 in
26522 let _startpos = _startpos__1_ in
26523 let _endpos = _endpos__1_ in
26524 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26525# 1387 "parser_cocci_menhir.mly"
26526 ( let (nm,constraints,pure,ty,clt) = _1 in
26527 Ast0.wrap
26528 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26529# 26530 "parser_cocci_menhir.ml"
26530 in
26531 _menhir_env.MenhirLib.EngineTypes.stack <- {
26532 MenhirLib.EngineTypes.state = _menhir_s;
26533 MenhirLib.EngineTypes.semv = Obj.repr _v;
26534 MenhirLib.EngineTypes.startp = _startpos;
26535 MenhirLib.EngineTypes.endp = _endpos;
26536 MenhirLib.EngineTypes.next = _menhir_stack;
26537 });
26538 (fun _menhir_env ->
26539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26540 let {
26541 MenhirLib.EngineTypes.state = _menhir_s;
26542 MenhirLib.EngineTypes.semv = _1;
26543 MenhirLib.EngineTypes.startp = _startpos__1_;
26544 MenhirLib.EngineTypes.endp = _endpos__1_;
26545 MenhirLib.EngineTypes.next = _menhir_stack;
26546 } = _menhir_stack in
26547 let _1 : (
26548# 68 "parser_cocci_menhir.mly"
26549 (Parse_aux.typed_expinfo)
26550# 26551 "parser_cocci_menhir.ml"
26551 ) = Obj.magic _1 in
26552 let _startpos = _startpos__1_ in
26553 let _endpos = _endpos__1_ in
26554 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26555# 1391 "parser_cocci_menhir.mly"
26556 ( let (nm,constraints,pure,ty,clt) = _1 in
26557 Ast0.wrap
26558 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26559# 26560 "parser_cocci_menhir.ml"
26560 in
26561 _menhir_env.MenhirLib.EngineTypes.stack <- {
26562 MenhirLib.EngineTypes.state = _menhir_s;
26563 MenhirLib.EngineTypes.semv = Obj.repr _v;
26564 MenhirLib.EngineTypes.startp = _startpos;
26565 MenhirLib.EngineTypes.endp = _endpos;
26566 MenhirLib.EngineTypes.next = _menhir_stack;
26567 });
26568 (fun _menhir_env ->
26569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26570 let {
26571 MenhirLib.EngineTypes.semv = _3;
26572 MenhirLib.EngineTypes.startp = _startpos__3_;
26573 MenhirLib.EngineTypes.endp = _endpos__3_;
26574 MenhirLib.EngineTypes.next = {
26575 MenhirLib.EngineTypes.semv = _2;
26576 MenhirLib.EngineTypes.startp = _startpos__2_;
26577 MenhirLib.EngineTypes.endp = _endpos__2_;
26578 MenhirLib.EngineTypes.next = {
26579 MenhirLib.EngineTypes.state = _menhir_s;
26580 MenhirLib.EngineTypes.semv = _1;
26581 MenhirLib.EngineTypes.startp = _startpos__1_;
26582 MenhirLib.EngineTypes.endp = _endpos__1_;
26583 MenhirLib.EngineTypes.next = _menhir_stack;
26584 };
26585 };
26586 } = _menhir_stack in
26587 let _3 : (
26588# 78 "parser_cocci_menhir.mly"
26589 (Data.clt)
26590# 26591 "parser_cocci_menhir.ml"
26591 ) = Obj.magic _3 in
26592 let _2 : 'tv_eexpr = Obj.magic _2 in
26593 let _1 : (
26594# 77 "parser_cocci_menhir.mly"
26595 (Data.clt)
26596# 26597 "parser_cocci_menhir.ml"
26597 ) = Obj.magic _1 in
26598 let _startpos = _startpos__1_ in
26599 let _endpos = _endpos__3_ in
26600 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26601# 1395 "parser_cocci_menhir.mly"
26602 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26603 P.clt2mcode ")" _3)) )
26604# 26605 "parser_cocci_menhir.ml"
26605 in
26606 _menhir_env.MenhirLib.EngineTypes.stack <- {
26607 MenhirLib.EngineTypes.state = _menhir_s;
26608 MenhirLib.EngineTypes.semv = Obj.repr _v;
26609 MenhirLib.EngineTypes.startp = _startpos;
26610 MenhirLib.EngineTypes.endp = _endpos;
26611 MenhirLib.EngineTypes.next = _menhir_stack;
26612 });
26613 (fun _menhir_env ->
26614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26615 let {
26616 MenhirLib.EngineTypes.semv = _3;
26617 MenhirLib.EngineTypes.startp = _startpos__3_;
26618 MenhirLib.EngineTypes.endp = _endpos__3_;
26619 MenhirLib.EngineTypes.next = {
26620 MenhirLib.EngineTypes.semv = _2;
26621 MenhirLib.EngineTypes.startp = _startpos__2_;
26622 MenhirLib.EngineTypes.endp = _endpos__2_;
26623 MenhirLib.EngineTypes.next = {
26624 MenhirLib.EngineTypes.state = _menhir_s;
26625 MenhirLib.EngineTypes.semv = _1;
26626 MenhirLib.EngineTypes.startp = _startpos__1_;
26627 MenhirLib.EngineTypes.endp = _endpos__1_;
26628 MenhirLib.EngineTypes.next = _menhir_stack;
26629 };
26630 };
26631 } = _menhir_stack in
26632 let _3 : (
26633# 78 "parser_cocci_menhir.mly"
26634 (Data.clt)
26635# 26636 "parser_cocci_menhir.ml"
26636 ) = Obj.magic _3 in
26637 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26638 let _1 : (
26639# 77 "parser_cocci_menhir.mly"
26640 (Data.clt)
26641# 26642 "parser_cocci_menhir.ml"
26642 ) = Obj.magic _1 in
26643 let _startpos = _startpos__1_ in
26644 let _endpos = _endpos__3_ in
26645 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26646# 1398 "parser_cocci_menhir.mly"
26647 ( let (mids,code) = _2 in
26648 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26649 code, mids,
26650 P.clt2mcode ")" _3)) )
26651# 26652 "parser_cocci_menhir.ml"
26652 in
26653 _menhir_env.MenhirLib.EngineTypes.stack <- {
26654 MenhirLib.EngineTypes.state = _menhir_s;
26655 MenhirLib.EngineTypes.semv = Obj.repr _v;
26656 MenhirLib.EngineTypes.startp = _startpos;
26657 MenhirLib.EngineTypes.endp = _endpos;
26658 MenhirLib.EngineTypes.next = _menhir_stack;
26659 });
26660 (fun _menhir_env ->
26661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26662 let {
26663 MenhirLib.EngineTypes.state = _menhir_s;
26664 MenhirLib.EngineTypes.semv = _1;
26665 MenhirLib.EngineTypes.startp = _startpos__1_;
26666 MenhirLib.EngineTypes.endp = _endpos__1_;
26667 MenhirLib.EngineTypes.next = _menhir_stack;
26668 } = _menhir_stack in
26669 let _1 : 'tv_nest_expressions = Obj.magic _1 in
26670 let _startpos = _startpos__1_ in
26671 let _endpos = _endpos__1_ in
26672 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26673# 1402 "parser_cocci_menhir.mly"
26674 ( _1 )
26675# 26676 "parser_cocci_menhir.ml"
26676 in
26677 _menhir_env.MenhirLib.EngineTypes.stack <- {
26678 MenhirLib.EngineTypes.state = _menhir_s;
26679 MenhirLib.EngineTypes.semv = Obj.repr _v;
26680 MenhirLib.EngineTypes.startp = _startpos;
26681 MenhirLib.EngineTypes.endp = _endpos;
26682 MenhirLib.EngineTypes.next = _menhir_stack;
26683 });
26684 (fun _menhir_env ->
26685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26686 let {
26687 MenhirLib.EngineTypes.state = _menhir_s;
26688 MenhirLib.EngineTypes.semv = _1;
26689 MenhirLib.EngineTypes.startp = _startpos__1_;
26690 MenhirLib.EngineTypes.endp = _endpos__1_;
26691 MenhirLib.EngineTypes.next = _menhir_stack;
26692 } = _menhir_stack in
26693 let _1 : 'tv_func_ident = Obj.magic _1 in
26694 let _startpos = _startpos__1_ in
26695 let _endpos = _endpos__1_ in
26696 let _v : 'tv_primary_expr_expr_invalid_ =
26697# 1362 "parser_cocci_menhir.mly"
26698 ( Ast0.wrap(Ast0.Ident(_1)) )
26699# 26700 "parser_cocci_menhir.ml"
26700 in
26701 _menhir_env.MenhirLib.EngineTypes.stack <- {
26702 MenhirLib.EngineTypes.state = _menhir_s;
26703 MenhirLib.EngineTypes.semv = Obj.repr _v;
26704 MenhirLib.EngineTypes.startp = _startpos;
26705 MenhirLib.EngineTypes.endp = _endpos;
26706 MenhirLib.EngineTypes.next = _menhir_stack;
26707 });
26708 (fun _menhir_env ->
26709 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26710 let {
26711 MenhirLib.EngineTypes.state = _menhir_s;
26712 MenhirLib.EngineTypes.semv = _1;
26713 MenhirLib.EngineTypes.startp = _startpos__1_;
26714 MenhirLib.EngineTypes.endp = _endpos__1_;
26715 MenhirLib.EngineTypes.next = _menhir_stack;
26716 } = _menhir_stack in
26717 let _1 : (
26718# 88 "parser_cocci_menhir.mly"
26719 (string * Data.clt)
26720# 26721 "parser_cocci_menhir.ml"
26721 ) = Obj.magic _1 in
26722 let _startpos = _startpos__1_ in
26723 let _endpos = _endpos__1_ in
26724 let _v : 'tv_primary_expr_expr_invalid_ =
26725# 1364 "parser_cocci_menhir.mly"
26726 ( let (x,clt) = _1 in
26727 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26728# 26729 "parser_cocci_menhir.ml"
26729 in
26730 _menhir_env.MenhirLib.EngineTypes.stack <- {
26731 MenhirLib.EngineTypes.state = _menhir_s;
26732 MenhirLib.EngineTypes.semv = Obj.repr _v;
26733 MenhirLib.EngineTypes.startp = _startpos;
26734 MenhirLib.EngineTypes.endp = _endpos;
26735 MenhirLib.EngineTypes.next = _menhir_stack;
26736 });
26737 (fun _menhir_env ->
26738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26739 let {
26740 MenhirLib.EngineTypes.state = _menhir_s;
26741 MenhirLib.EngineTypes.semv = _1;
26742 MenhirLib.EngineTypes.startp = _startpos__1_;
26743 MenhirLib.EngineTypes.endp = _endpos__1_;
26744 MenhirLib.EngineTypes.next = _menhir_stack;
26745 } = _menhir_stack in
26746 let _1 : (
26747# 88 "parser_cocci_menhir.mly"
26748 (string * Data.clt)
26749# 26750 "parser_cocci_menhir.ml"
26750 ) = Obj.magic _1 in
26751 let _startpos = _startpos__1_ in
26752 let _endpos = _endpos__1_ in
26753 let _v : 'tv_primary_expr_expr_invalid_ =
26754# 1367 "parser_cocci_menhir.mly"
26755 ( let (x,clt) = _1 in
26756 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26757# 26758 "parser_cocci_menhir.ml"
26758 in
26759 _menhir_env.MenhirLib.EngineTypes.stack <- {
26760 MenhirLib.EngineTypes.state = _menhir_s;
26761 MenhirLib.EngineTypes.semv = Obj.repr _v;
26762 MenhirLib.EngineTypes.startp = _startpos;
26763 MenhirLib.EngineTypes.endp = _endpos;
26764 MenhirLib.EngineTypes.next = _menhir_stack;
26765 });
26766 (fun _menhir_env ->
26767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26768 let {
26769 MenhirLib.EngineTypes.state = _menhir_s;
26770 MenhirLib.EngineTypes.semv = _1;
26771 MenhirLib.EngineTypes.startp = _startpos__1_;
26772 MenhirLib.EngineTypes.endp = _endpos__1_;
26773 MenhirLib.EngineTypes.next = _menhir_stack;
26774 } = _menhir_stack in
26775 let _1 : (
26776# 88 "parser_cocci_menhir.mly"
26777 (string * Data.clt)
26778# 26779 "parser_cocci_menhir.ml"
26779 ) = Obj.magic _1 in
26780 let _startpos = _startpos__1_ in
26781 let _endpos = _endpos__1_ in
26782 let _v : 'tv_primary_expr_expr_invalid_ =
26783# 1370 "parser_cocci_menhir.mly"
26784 ( let (x,clt) = _1 in
26785 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26786# 26787 "parser_cocci_menhir.ml"
26787 in
26788 _menhir_env.MenhirLib.EngineTypes.stack <- {
26789 MenhirLib.EngineTypes.state = _menhir_s;
26790 MenhirLib.EngineTypes.semv = Obj.repr _v;
26791 MenhirLib.EngineTypes.startp = _startpos;
26792 MenhirLib.EngineTypes.endp = _endpos;
26793 MenhirLib.EngineTypes.next = _menhir_stack;
26794 });
26795 (fun _menhir_env ->
26796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26797 let {
26798 MenhirLib.EngineTypes.state = _menhir_s;
26799 MenhirLib.EngineTypes.semv = _1;
26800 MenhirLib.EngineTypes.startp = _startpos__1_;
26801 MenhirLib.EngineTypes.endp = _endpos__1_;
26802 MenhirLib.EngineTypes.next = _menhir_stack;
26803 } = _menhir_stack in
26804 let _1 : (
26805# 88 "parser_cocci_menhir.mly"
26806 (string * Data.clt)
26807# 26808 "parser_cocci_menhir.ml"
26808 ) = Obj.magic _1 in
26809 let _startpos = _startpos__1_ in
26810 let _endpos = _endpos__1_ in
26811 let _v : 'tv_primary_expr_expr_invalid_ =
26812# 1373 "parser_cocci_menhir.mly"
26813 ( let (x,clt) = _1 in
26814 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26815# 26816 "parser_cocci_menhir.ml"
26816 in
26817 _menhir_env.MenhirLib.EngineTypes.stack <- {
26818 MenhirLib.EngineTypes.state = _menhir_s;
26819 MenhirLib.EngineTypes.semv = Obj.repr _v;
26820 MenhirLib.EngineTypes.startp = _startpos;
26821 MenhirLib.EngineTypes.endp = _endpos;
26822 MenhirLib.EngineTypes.next = _menhir_stack;
26823 });
26824 (fun _menhir_env ->
26825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26826 let {
26827 MenhirLib.EngineTypes.state = _menhir_s;
26828 MenhirLib.EngineTypes.semv = _1;
26829 MenhirLib.EngineTypes.startp = _startpos__1_;
26830 MenhirLib.EngineTypes.endp = _endpos__1_;
26831 MenhirLib.EngineTypes.next = _menhir_stack;
26832 } = _menhir_stack in
26833 let _1 : (
26834# 68 "parser_cocci_menhir.mly"
26835 (Parse_aux.typed_expinfo)
26836# 26837 "parser_cocci_menhir.ml"
26837 ) = Obj.magic _1 in
26838 let _startpos = _startpos__1_ in
26839 let _endpos = _endpos__1_ in
26840 let _v : 'tv_primary_expr_expr_invalid_ =
26841# 1376 "parser_cocci_menhir.mly"
26842 ( let (nm,constraints,pure,ty,clt) = _1 in
26843 Ast0.wrap
26844 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26845# 26846 "parser_cocci_menhir.ml"
26846 in
26847 _menhir_env.MenhirLib.EngineTypes.stack <- {
26848 MenhirLib.EngineTypes.state = _menhir_s;
26849 MenhirLib.EngineTypes.semv = Obj.repr _v;
26850 MenhirLib.EngineTypes.startp = _startpos;
26851 MenhirLib.EngineTypes.endp = _endpos;
26852 MenhirLib.EngineTypes.next = _menhir_stack;
26853 });
26854 (fun _menhir_env ->
26855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26856 let {
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 } = _menhir_stack in
26863 let _1 : (
26864# 64 "parser_cocci_menhir.mly"
26865 (Parse_aux.expinfo)
26866# 26867 "parser_cocci_menhir.ml"
26867 ) = Obj.magic _1 in
26868 let _startpos = _startpos__1_ in
26869 let _endpos = _endpos__1_ in
26870 let _v : 'tv_primary_expr_expr_invalid_ =
26871# 1380 "parser_cocci_menhir.mly"
26872 ( let (nm,constraints,pure,clt) = _1 in
26873 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26874# 26875 "parser_cocci_menhir.ml"
26875 in
26876 _menhir_env.MenhirLib.EngineTypes.stack <- {
26877 MenhirLib.EngineTypes.state = _menhir_s;
26878 MenhirLib.EngineTypes.semv = Obj.repr _v;
26879 MenhirLib.EngineTypes.startp = _startpos;
26880 MenhirLib.EngineTypes.endp = _endpos;
26881 MenhirLib.EngineTypes.next = _menhir_stack;
26882 });
26883 (fun _menhir_env ->
26884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26885 let {
26886 MenhirLib.EngineTypes.state = _menhir_s;
26887 MenhirLib.EngineTypes.semv = _1;
26888 MenhirLib.EngineTypes.startp = _startpos__1_;
26889 MenhirLib.EngineTypes.endp = _endpos__1_;
26890 MenhirLib.EngineTypes.next = _menhir_stack;
26891 } = _menhir_stack in
26892 let _1 : (
26893# 68 "parser_cocci_menhir.mly"
26894 (Parse_aux.typed_expinfo)
26895# 26896 "parser_cocci_menhir.ml"
26896 ) = Obj.magic _1 in
26897 let _startpos = _startpos__1_ in
26898 let _endpos = _endpos__1_ in
26899 let _v : 'tv_primary_expr_expr_invalid_ =
26900# 1383 "parser_cocci_menhir.mly"
26901 ( let (nm,constraints,pure,ty,clt) = _1 in
26902 Ast0.wrap
26903 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26904# 26905 "parser_cocci_menhir.ml"
26905 in
26906 _menhir_env.MenhirLib.EngineTypes.stack <- {
26907 MenhirLib.EngineTypes.state = _menhir_s;
26908 MenhirLib.EngineTypes.semv = Obj.repr _v;
26909 MenhirLib.EngineTypes.startp = _startpos;
26910 MenhirLib.EngineTypes.endp = _endpos;
26911 MenhirLib.EngineTypes.next = _menhir_stack;
26912 });
26913 (fun _menhir_env ->
26914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26915 let {
26916 MenhirLib.EngineTypes.state = _menhir_s;
26917 MenhirLib.EngineTypes.semv = _1;
26918 MenhirLib.EngineTypes.startp = _startpos__1_;
26919 MenhirLib.EngineTypes.endp = _endpos__1_;
26920 MenhirLib.EngineTypes.next = _menhir_stack;
26921 } = _menhir_stack in
26922 let _1 : (
26923# 68 "parser_cocci_menhir.mly"
26924 (Parse_aux.typed_expinfo)
26925# 26926 "parser_cocci_menhir.ml"
26926 ) = Obj.magic _1 in
26927 let _startpos = _startpos__1_ in
26928 let _endpos = _endpos__1_ in
26929 let _v : 'tv_primary_expr_expr_invalid_ =
26930# 1387 "parser_cocci_menhir.mly"
26931 ( let (nm,constraints,pure,ty,clt) = _1 in
26932 Ast0.wrap
26933 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26934# 26935 "parser_cocci_menhir.ml"
26935 in
26936 _menhir_env.MenhirLib.EngineTypes.stack <- {
26937 MenhirLib.EngineTypes.state = _menhir_s;
26938 MenhirLib.EngineTypes.semv = Obj.repr _v;
26939 MenhirLib.EngineTypes.startp = _startpos;
26940 MenhirLib.EngineTypes.endp = _endpos;
26941 MenhirLib.EngineTypes.next = _menhir_stack;
26942 });
26943 (fun _menhir_env ->
26944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26945 let {
26946 MenhirLib.EngineTypes.state = _menhir_s;
26947 MenhirLib.EngineTypes.semv = _1;
26948 MenhirLib.EngineTypes.startp = _startpos__1_;
26949 MenhirLib.EngineTypes.endp = _endpos__1_;
26950 MenhirLib.EngineTypes.next = _menhir_stack;
26951 } = _menhir_stack in
26952 let _1 : (
26953# 68 "parser_cocci_menhir.mly"
26954 (Parse_aux.typed_expinfo)
26955# 26956 "parser_cocci_menhir.ml"
26956 ) = Obj.magic _1 in
26957 let _startpos = _startpos__1_ in
26958 let _endpos = _endpos__1_ in
26959 let _v : 'tv_primary_expr_expr_invalid_ =
26960# 1391 "parser_cocci_menhir.mly"
26961 ( let (nm,constraints,pure,ty,clt) = _1 in
26962 Ast0.wrap
26963 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26964# 26965 "parser_cocci_menhir.ml"
26965 in
26966 _menhir_env.MenhirLib.EngineTypes.stack <- {
26967 MenhirLib.EngineTypes.state = _menhir_s;
26968 MenhirLib.EngineTypes.semv = Obj.repr _v;
26969 MenhirLib.EngineTypes.startp = _startpos;
26970 MenhirLib.EngineTypes.endp = _endpos;
26971 MenhirLib.EngineTypes.next = _menhir_stack;
26972 });
26973 (fun _menhir_env ->
26974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26975 let {
26976 MenhirLib.EngineTypes.semv = _3;
26977 MenhirLib.EngineTypes.startp = _startpos__3_;
26978 MenhirLib.EngineTypes.endp = _endpos__3_;
26979 MenhirLib.EngineTypes.next = {
26980 MenhirLib.EngineTypes.semv = _2;
26981 MenhirLib.EngineTypes.startp = _startpos__2_;
26982 MenhirLib.EngineTypes.endp = _endpos__2_;
26983 MenhirLib.EngineTypes.next = {
26984 MenhirLib.EngineTypes.state = _menhir_s;
26985 MenhirLib.EngineTypes.semv = _1;
26986 MenhirLib.EngineTypes.startp = _startpos__1_;
26987 MenhirLib.EngineTypes.endp = _endpos__1_;
26988 MenhirLib.EngineTypes.next = _menhir_stack;
26989 };
26990 };
26991 } = _menhir_stack in
26992 let _3 : (
26993# 78 "parser_cocci_menhir.mly"
26994 (Data.clt)
26995# 26996 "parser_cocci_menhir.ml"
26996 ) = Obj.magic _3 in
26997 let _2 : 'tv_eexpr = Obj.magic _2 in
26998 let _1 : (
26999# 77 "parser_cocci_menhir.mly"
27000 (Data.clt)
27001# 27002 "parser_cocci_menhir.ml"
27002 ) = Obj.magic _1 in
27003 let _startpos = _startpos__1_ in
27004 let _endpos = _endpos__3_ in
27005 let _v : 'tv_primary_expr_expr_invalid_ =
27006# 1395 "parser_cocci_menhir.mly"
27007 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
27008 P.clt2mcode ")" _3)) )
27009# 27010 "parser_cocci_menhir.ml"
27010 in
27011 _menhir_env.MenhirLib.EngineTypes.stack <- {
27012 MenhirLib.EngineTypes.state = _menhir_s;
27013 MenhirLib.EngineTypes.semv = Obj.repr _v;
27014 MenhirLib.EngineTypes.startp = _startpos;
27015 MenhirLib.EngineTypes.endp = _endpos;
27016 MenhirLib.EngineTypes.next = _menhir_stack;
27017 });
27018 (fun _menhir_env ->
27019 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27020 let {
27021 MenhirLib.EngineTypes.semv = _3;
27022 MenhirLib.EngineTypes.startp = _startpos__3_;
27023 MenhirLib.EngineTypes.endp = _endpos__3_;
27024 MenhirLib.EngineTypes.next = {
27025 MenhirLib.EngineTypes.semv = _2;
27026 MenhirLib.EngineTypes.startp = _startpos__2_;
27027 MenhirLib.EngineTypes.endp = _endpos__2_;
27028 MenhirLib.EngineTypes.next = {
27029 MenhirLib.EngineTypes.state = _menhir_s;
27030 MenhirLib.EngineTypes.semv = _1;
27031 MenhirLib.EngineTypes.startp = _startpos__1_;
27032 MenhirLib.EngineTypes.endp = _endpos__1_;
27033 MenhirLib.EngineTypes.next = _menhir_stack;
27034 };
27035 };
27036 } = _menhir_stack in
27037 let _3 : (
27038# 78 "parser_cocci_menhir.mly"
27039 (Data.clt)
27040# 27041 "parser_cocci_menhir.ml"
27041 ) = Obj.magic _3 in
27042 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
27043 let _1 : (
27044# 77 "parser_cocci_menhir.mly"
27045 (Data.clt)
27046# 27047 "parser_cocci_menhir.ml"
27047 ) = Obj.magic _1 in
27048 let _startpos = _startpos__1_ in
27049 let _endpos = _endpos__3_ in
27050 let _v : 'tv_primary_expr_expr_invalid_ =
27051# 1398 "parser_cocci_menhir.mly"
27052 ( let (mids,code) = _2 in
27053 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
27054 code, mids,
27055 P.clt2mcode ")" _3)) )
27056# 27057 "parser_cocci_menhir.ml"
27057 in
27058 _menhir_env.MenhirLib.EngineTypes.stack <- {
27059 MenhirLib.EngineTypes.state = _menhir_s;
27060 MenhirLib.EngineTypes.semv = Obj.repr _v;
27061 MenhirLib.EngineTypes.startp = _startpos;
27062 MenhirLib.EngineTypes.endp = _endpos;
27063 MenhirLib.EngineTypes.next = _menhir_stack;
27064 });
27065 (fun _menhir_env ->
27066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27067 let {
27068 MenhirLib.EngineTypes.state = _menhir_s;
27069 MenhirLib.EngineTypes.semv = _1;
27070 MenhirLib.EngineTypes.startp = _startpos__1_;
27071 MenhirLib.EngineTypes.endp = _endpos__1_;
27072 MenhirLib.EngineTypes.next = _menhir_stack;
27073 } = _menhir_stack in
27074 let _1 : 'tv_invalid = Obj.magic _1 in
27075 let _startpos = _startpos__1_ in
27076 let _endpos = _endpos__1_ in
27077 let _v : 'tv_primary_expr_expr_invalid_ =
27078# 1402 "parser_cocci_menhir.mly"
27079 ( _1 )
27080# 27081 "parser_cocci_menhir.ml"
27081 in
27082 _menhir_env.MenhirLib.EngineTypes.stack <- {
27083 MenhirLib.EngineTypes.state = _menhir_s;
27084 MenhirLib.EngineTypes.semv = Obj.repr _v;
27085 MenhirLib.EngineTypes.startp = _startpos;
27086 MenhirLib.EngineTypes.endp = _endpos;
27087 MenhirLib.EngineTypes.next = _menhir_stack;
27088 });
27089 (fun _menhir_env ->
27090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27091 let {
27092 MenhirLib.EngineTypes.state = _menhir_s;
27093 MenhirLib.EngineTypes.startp = _startpos__1_;
27094 MenhirLib.EngineTypes.endp = _endpos__1_;
27095 MenhirLib.EngineTypes.next = _menhir_stack;
27096 } = _menhir_stack in
27097 let _startpos = _startpos__1_ in
27098 let _endpos = _endpos__1_ in
27099 let _v : 'tv_pure =
27100# 191 "parser_cocci_menhir.mly"
27101 ( Ast0.Pure )
27102# 27103 "parser_cocci_menhir.ml"
27103 in
27104 _menhir_env.MenhirLib.EngineTypes.stack <- {
27105 MenhirLib.EngineTypes.state = _menhir_s;
27106 MenhirLib.EngineTypes.semv = Obj.repr _v;
27107 MenhirLib.EngineTypes.startp = _startpos;
27108 MenhirLib.EngineTypes.endp = _endpos;
27109 MenhirLib.EngineTypes.next = _menhir_stack;
27110 });
27111 (fun _menhir_env ->
27112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27113 let {
27114 MenhirLib.EngineTypes.state = _menhir_s;
27115 MenhirLib.EngineTypes.startp = _startpos__1_;
27116 MenhirLib.EngineTypes.endp = _endpos__1_;
27117 MenhirLib.EngineTypes.next = _menhir_stack;
27118 } = _menhir_stack in
27119 let _startpos = _startpos__1_ in
27120 let _endpos = _endpos__1_ in
27121 let _v : 'tv_pure =
27122# 192 "parser_cocci_menhir.mly"
27123 ( Ast0.Context )
27124# 27125 "parser_cocci_menhir.ml"
27125 in
27126 _menhir_env.MenhirLib.EngineTypes.stack <- {
27127 MenhirLib.EngineTypes.state = _menhir_s;
27128 MenhirLib.EngineTypes.semv = Obj.repr _v;
27129 MenhirLib.EngineTypes.startp = _startpos;
27130 MenhirLib.EngineTypes.endp = _endpos;
27131 MenhirLib.EngineTypes.next = _menhir_stack;
27132 });
27133 (fun _menhir_env ->
27134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27135 let {
27136 MenhirLib.EngineTypes.startp = _startpos__2_;
27137 MenhirLib.EngineTypes.endp = _endpos__2_;
27138 MenhirLib.EngineTypes.next = {
27139 MenhirLib.EngineTypes.state = _menhir_s;
27140 MenhirLib.EngineTypes.startp = _startpos__1_;
27141 MenhirLib.EngineTypes.endp = _endpos__1_;
27142 MenhirLib.EngineTypes.next = _menhir_stack;
27143 };
27144 } = _menhir_stack in
27145 let _startpos = _startpos__1_ in
27146 let _endpos = _endpos__2_ in
27147 let _v : 'tv_pure =
27148# 193 "parser_cocci_menhir.mly"
27149 ( Ast0.PureContext )
27150# 27151 "parser_cocci_menhir.ml"
27151 in
27152 _menhir_env.MenhirLib.EngineTypes.stack <- {
27153 MenhirLib.EngineTypes.state = _menhir_s;
27154 MenhirLib.EngineTypes.semv = Obj.repr _v;
27155 MenhirLib.EngineTypes.startp = _startpos;
27156 MenhirLib.EngineTypes.endp = _endpos;
27157 MenhirLib.EngineTypes.next = _menhir_stack;
27158 });
27159 (fun _menhir_env ->
27160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27161 let {
27162 MenhirLib.EngineTypes.startp = _startpos__2_;
27163 MenhirLib.EngineTypes.endp = _endpos__2_;
27164 MenhirLib.EngineTypes.next = {
27165 MenhirLib.EngineTypes.state = _menhir_s;
27166 MenhirLib.EngineTypes.startp = _startpos__1_;
27167 MenhirLib.EngineTypes.endp = _endpos__1_;
27168 MenhirLib.EngineTypes.next = _menhir_stack;
27169 };
27170 } = _menhir_stack in
27171 let _startpos = _startpos__1_ in
27172 let _endpos = _endpos__2_ in
27173 let _v : 'tv_pure =
27174# 194 "parser_cocci_menhir.mly"
27175 ( Ast0.PureContext )
27176# 27177 "parser_cocci_menhir.ml"
27177 in
27178 _menhir_env.MenhirLib.EngineTypes.stack <- {
27179 MenhirLib.EngineTypes.state = _menhir_s;
27180 MenhirLib.EngineTypes.semv = Obj.repr _v;
27181 MenhirLib.EngineTypes.startp = _startpos;
27182 MenhirLib.EngineTypes.endp = _endpos;
27183 MenhirLib.EngineTypes.next = _menhir_stack;
27184 });
27185 (fun _menhir_env ->
27186 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27187 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27188 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27189 let _endpos = _startpos in
27190 let _v : 'tv_pure =
27191# 195 "parser_cocci_menhir.mly"
27192 ( Ast0.Impure )
27193# 27194 "parser_cocci_menhir.ml"
27194 in
27195 _menhir_env.MenhirLib.EngineTypes.stack <- {
27196 MenhirLib.EngineTypes.state = _menhir_s;
27197 MenhirLib.EngineTypes.semv = Obj.repr _v;
27198 MenhirLib.EngineTypes.startp = _startpos;
27199 MenhirLib.EngineTypes.endp = _endpos;
27200 MenhirLib.EngineTypes.next = _menhir_stack;
27201 });
27202 (fun _menhir_env ->
27203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27204 let {
27205 MenhirLib.EngineTypes.state = _menhir_s;
27206 MenhirLib.EngineTypes.semv = _1;
27207 MenhirLib.EngineTypes.startp = _startpos__1_;
27208 MenhirLib.EngineTypes.endp = _endpos__1_;
27209 MenhirLib.EngineTypes.next = _menhir_stack;
27210 } = _menhir_stack in
27211 let _1 : (
27212# 59 "parser_cocci_menhir.mly"
27213 (string * Data.clt)
27214# 27215 "parser_cocci_menhir.ml"
27215 ) = Obj.magic _1 in
27216 let _startpos = _startpos__1_ in
27217 let _endpos = _endpos__1_ in
27218 let _v : 'tv_pure_ident =
27219# 1416 "parser_cocci_menhir.mly"
27220 ( _1 )
27221# 27222 "parser_cocci_menhir.ml"
27222 in
27223 _menhir_env.MenhirLib.EngineTypes.stack <- {
27224 MenhirLib.EngineTypes.state = _menhir_s;
27225 MenhirLib.EngineTypes.semv = Obj.repr _v;
27226 MenhirLib.EngineTypes.startp = _startpos;
27227 MenhirLib.EngineTypes.endp = _endpos;
27228 MenhirLib.EngineTypes.next = _menhir_stack;
27229 });
27230 (fun _menhir_env ->
27231 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27232 let {
27233 MenhirLib.EngineTypes.state = _menhir_s;
27234 MenhirLib.EngineTypes.startp = _startpos__1_;
27235 MenhirLib.EngineTypes.endp = _endpos__1_;
27236 MenhirLib.EngineTypes.next = _menhir_stack;
27237 } = _menhir_stack in
27238 let _startpos = _startpos__1_ in
27239 let _endpos = _endpos__1_ in
27240 let _v : 'tv_pure_ident_kwd =
27241# 1419 "parser_cocci_menhir.mly"
27242 ( "identifier" )
27243# 27244 "parser_cocci_menhir.ml"
27244 in
27245 _menhir_env.MenhirLib.EngineTypes.stack <- {
27246 MenhirLib.EngineTypes.state = _menhir_s;
27247 MenhirLib.EngineTypes.semv = Obj.repr _v;
27248 MenhirLib.EngineTypes.startp = _startpos;
27249 MenhirLib.EngineTypes.endp = _endpos;
27250 MenhirLib.EngineTypes.next = _menhir_stack;
27251 });
27252 (fun _menhir_env ->
27253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27254 let {
27255 MenhirLib.EngineTypes.state = _menhir_s;
27256 MenhirLib.EngineTypes.startp = _startpos__1_;
27257 MenhirLib.EngineTypes.endp = _endpos__1_;
27258 MenhirLib.EngineTypes.next = _menhir_stack;
27259 } = _menhir_stack in
27260 let _startpos = _startpos__1_ in
27261 let _endpos = _endpos__1_ in
27262 let _v : 'tv_pure_ident_kwd =
27263# 1420 "parser_cocci_menhir.mly"
27264 ( "expression" )
27265# 27266 "parser_cocci_menhir.ml"
27266 in
27267 _menhir_env.MenhirLib.EngineTypes.stack <- {
27268 MenhirLib.EngineTypes.state = _menhir_s;
27269 MenhirLib.EngineTypes.semv = Obj.repr _v;
27270 MenhirLib.EngineTypes.startp = _startpos;
27271 MenhirLib.EngineTypes.endp = _endpos;
27272 MenhirLib.EngineTypes.next = _menhir_stack;
27273 });
27274 (fun _menhir_env ->
27275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27276 let {
27277 MenhirLib.EngineTypes.state = _menhir_s;
27278 MenhirLib.EngineTypes.startp = _startpos__1_;
27279 MenhirLib.EngineTypes.endp = _endpos__1_;
27280 MenhirLib.EngineTypes.next = _menhir_stack;
27281 } = _menhir_stack in
27282 let _startpos = _startpos__1_ in
27283 let _endpos = _endpos__1_ in
27284 let _v : 'tv_pure_ident_kwd =
27285# 1421 "parser_cocci_menhir.mly"
27286 ( "statement" )
27287# 27288 "parser_cocci_menhir.ml"
27288 in
27289 _menhir_env.MenhirLib.EngineTypes.stack <- {
27290 MenhirLib.EngineTypes.state = _menhir_s;
27291 MenhirLib.EngineTypes.semv = Obj.repr _v;
27292 MenhirLib.EngineTypes.startp = _startpos;
27293 MenhirLib.EngineTypes.endp = _endpos;
27294 MenhirLib.EngineTypes.next = _menhir_stack;
27295 });
27296 (fun _menhir_env ->
27297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27298 let {
27299 MenhirLib.EngineTypes.state = _menhir_s;
27300 MenhirLib.EngineTypes.startp = _startpos__1_;
27301 MenhirLib.EngineTypes.endp = _endpos__1_;
27302 MenhirLib.EngineTypes.next = _menhir_stack;
27303 } = _menhir_stack in
27304 let _startpos = _startpos__1_ in
27305 let _endpos = _endpos__1_ in
27306 let _v : 'tv_pure_ident_kwd =
27307# 1422 "parser_cocci_menhir.mly"
27308 ( "function" )
27309# 27310 "parser_cocci_menhir.ml"
27310 in
27311 _menhir_env.MenhirLib.EngineTypes.stack <- {
27312 MenhirLib.EngineTypes.state = _menhir_s;
27313 MenhirLib.EngineTypes.semv = Obj.repr _v;
27314 MenhirLib.EngineTypes.startp = _startpos;
27315 MenhirLib.EngineTypes.endp = _endpos;
27316 MenhirLib.EngineTypes.next = _menhir_stack;
27317 });
27318 (fun _menhir_env ->
27319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27320 let {
27321 MenhirLib.EngineTypes.state = _menhir_s;
27322 MenhirLib.EngineTypes.startp = _startpos__1_;
27323 MenhirLib.EngineTypes.endp = _endpos__1_;
27324 MenhirLib.EngineTypes.next = _menhir_stack;
27325 } = _menhir_stack in
27326 let _startpos = _startpos__1_ in
27327 let _endpos = _endpos__1_ in
27328 let _v : 'tv_pure_ident_kwd =
27329# 1423 "parser_cocci_menhir.mly"
27330 ( "local" )
27331# 27332 "parser_cocci_menhir.ml"
27332 in
27333 _menhir_env.MenhirLib.EngineTypes.stack <- {
27334 MenhirLib.EngineTypes.state = _menhir_s;
27335 MenhirLib.EngineTypes.semv = Obj.repr _v;
27336 MenhirLib.EngineTypes.startp = _startpos;
27337 MenhirLib.EngineTypes.endp = _endpos;
27338 MenhirLib.EngineTypes.next = _menhir_stack;
27339 });
27340 (fun _menhir_env ->
27341 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27342 let {
27343 MenhirLib.EngineTypes.state = _menhir_s;
27344 MenhirLib.EngineTypes.startp = _startpos__1_;
27345 MenhirLib.EngineTypes.endp = _endpos__1_;
27346 MenhirLib.EngineTypes.next = _menhir_stack;
27347 } = _menhir_stack in
27348 let _startpos = _startpos__1_ in
27349 let _endpos = _endpos__1_ in
27350 let _v : 'tv_pure_ident_kwd =
27351# 1424 "parser_cocci_menhir.mly"
27352 ( "type" )
27353# 27354 "parser_cocci_menhir.ml"
27354 in
27355 _menhir_env.MenhirLib.EngineTypes.stack <- {
27356 MenhirLib.EngineTypes.state = _menhir_s;
27357 MenhirLib.EngineTypes.semv = Obj.repr _v;
27358 MenhirLib.EngineTypes.startp = _startpos;
27359 MenhirLib.EngineTypes.endp = _endpos;
27360 MenhirLib.EngineTypes.next = _menhir_stack;
27361 });
27362 (fun _menhir_env ->
27363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27364 let {
27365 MenhirLib.EngineTypes.state = _menhir_s;
27366 MenhirLib.EngineTypes.startp = _startpos__1_;
27367 MenhirLib.EngineTypes.endp = _endpos__1_;
27368 MenhirLib.EngineTypes.next = _menhir_stack;
27369 } = _menhir_stack in
27370 let _startpos = _startpos__1_ in
27371 let _endpos = _endpos__1_ in
27372 let _v : 'tv_pure_ident_kwd =
27373# 1425 "parser_cocci_menhir.mly"
27374 ( "parameter" )
27375# 27376 "parser_cocci_menhir.ml"
27376 in
27377 _menhir_env.MenhirLib.EngineTypes.stack <- {
27378 MenhirLib.EngineTypes.state = _menhir_s;
27379 MenhirLib.EngineTypes.semv = Obj.repr _v;
27380 MenhirLib.EngineTypes.startp = _startpos;
27381 MenhirLib.EngineTypes.endp = _endpos;
27382 MenhirLib.EngineTypes.next = _menhir_stack;
27383 });
27384 (fun _menhir_env ->
27385 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27386 let {
27387 MenhirLib.EngineTypes.state = _menhir_s;
27388 MenhirLib.EngineTypes.startp = _startpos__1_;
27389 MenhirLib.EngineTypes.endp = _endpos__1_;
27390 MenhirLib.EngineTypes.next = _menhir_stack;
27391 } = _menhir_stack in
27392 let _startpos = _startpos__1_ in
27393 let _endpos = _endpos__1_ in
27394 let _v : 'tv_pure_ident_kwd =
27395# 1426 "parser_cocci_menhir.mly"
27396 ( "idexpression" )
27397# 27398 "parser_cocci_menhir.ml"
27398 in
27399 _menhir_env.MenhirLib.EngineTypes.stack <- {
27400 MenhirLib.EngineTypes.state = _menhir_s;
27401 MenhirLib.EngineTypes.semv = Obj.repr _v;
27402 MenhirLib.EngineTypes.startp = _startpos;
27403 MenhirLib.EngineTypes.endp = _endpos;
27404 MenhirLib.EngineTypes.next = _menhir_stack;
27405 });
27406 (fun _menhir_env ->
27407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27408 let {
27409 MenhirLib.EngineTypes.state = _menhir_s;
27410 MenhirLib.EngineTypes.startp = _startpos__1_;
27411 MenhirLib.EngineTypes.endp = _endpos__1_;
27412 MenhirLib.EngineTypes.next = _menhir_stack;
27413 } = _menhir_stack in
27414 let _startpos = _startpos__1_ in
27415 let _endpos = _endpos__1_ in
27416 let _v : 'tv_pure_ident_kwd =
27417# 1427 "parser_cocci_menhir.mly"
27418 ( "initialiser" )
27419# 27420 "parser_cocci_menhir.ml"
27420 in
27421 _menhir_env.MenhirLib.EngineTypes.stack <- {
27422 MenhirLib.EngineTypes.state = _menhir_s;
27423 MenhirLib.EngineTypes.semv = Obj.repr _v;
27424 MenhirLib.EngineTypes.startp = _startpos;
27425 MenhirLib.EngineTypes.endp = _endpos;
27426 MenhirLib.EngineTypes.next = _menhir_stack;
27427 });
27428 (fun _menhir_env ->
27429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27430 let {
27431 MenhirLib.EngineTypes.state = _menhir_s;
27432 MenhirLib.EngineTypes.startp = _startpos__1_;
27433 MenhirLib.EngineTypes.endp = _endpos__1_;
27434 MenhirLib.EngineTypes.next = _menhir_stack;
27435 } = _menhir_stack in
27436 let _startpos = _startpos__1_ in
27437 let _endpos = _endpos__1_ in
27438 let _v : 'tv_pure_ident_kwd =
27439# 1428 "parser_cocci_menhir.mly"
27440 ( "list" )
27441# 27442 "parser_cocci_menhir.ml"
27442 in
27443 _menhir_env.MenhirLib.EngineTypes.stack <- {
27444 MenhirLib.EngineTypes.state = _menhir_s;
27445 MenhirLib.EngineTypes.semv = Obj.repr _v;
27446 MenhirLib.EngineTypes.startp = _startpos;
27447 MenhirLib.EngineTypes.endp = _endpos;
27448 MenhirLib.EngineTypes.next = _menhir_stack;
27449 });
27450 (fun _menhir_env ->
27451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27452 let {
27453 MenhirLib.EngineTypes.state = _menhir_s;
27454 MenhirLib.EngineTypes.startp = _startpos__1_;
27455 MenhirLib.EngineTypes.endp = _endpos__1_;
27456 MenhirLib.EngineTypes.next = _menhir_stack;
27457 } = _menhir_stack in
27458 let _startpos = _startpos__1_ in
27459 let _endpos = _endpos__1_ in
27460 let _v : 'tv_pure_ident_kwd =
27461# 1429 "parser_cocci_menhir.mly"
27462 ( "fresh" )
27463# 27464 "parser_cocci_menhir.ml"
27464 in
27465 _menhir_env.MenhirLib.EngineTypes.stack <- {
27466 MenhirLib.EngineTypes.state = _menhir_s;
27467 MenhirLib.EngineTypes.semv = Obj.repr _v;
27468 MenhirLib.EngineTypes.startp = _startpos;
27469 MenhirLib.EngineTypes.endp = _endpos;
27470 MenhirLib.EngineTypes.next = _menhir_stack;
27471 });
27472 (fun _menhir_env ->
27473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27474 let {
27475 MenhirLib.EngineTypes.state = _menhir_s;
27476 MenhirLib.EngineTypes.startp = _startpos__1_;
27477 MenhirLib.EngineTypes.endp = _endpos__1_;
27478 MenhirLib.EngineTypes.next = _menhir_stack;
27479 } = _menhir_stack in
27480 let _startpos = _startpos__1_ in
27481 let _endpos = _endpos__1_ in
27482 let _v : 'tv_pure_ident_kwd =
27483# 1430 "parser_cocci_menhir.mly"
27484 ( "constant" )
27485# 27486 "parser_cocci_menhir.ml"
27486 in
27487 _menhir_env.MenhirLib.EngineTypes.stack <- {
27488 MenhirLib.EngineTypes.state = _menhir_s;
27489 MenhirLib.EngineTypes.semv = Obj.repr _v;
27490 MenhirLib.EngineTypes.startp = _startpos;
27491 MenhirLib.EngineTypes.endp = _endpos;
27492 MenhirLib.EngineTypes.next = _menhir_stack;
27493 });
27494 (fun _menhir_env ->
27495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27496 let {
27497 MenhirLib.EngineTypes.state = _menhir_s;
27498 MenhirLib.EngineTypes.startp = _startpos__1_;
27499 MenhirLib.EngineTypes.endp = _endpos__1_;
27500 MenhirLib.EngineTypes.next = _menhir_stack;
27501 } = _menhir_stack in
27502 let _startpos = _startpos__1_ in
27503 let _endpos = _endpos__1_ in
27504 let _v : 'tv_pure_ident_kwd =
27505# 1431 "parser_cocci_menhir.mly"
27506 ( "error" )
27507# 27508 "parser_cocci_menhir.ml"
27508 in
27509 _menhir_env.MenhirLib.EngineTypes.stack <- {
27510 MenhirLib.EngineTypes.state = _menhir_s;
27511 MenhirLib.EngineTypes.semv = Obj.repr _v;
27512 MenhirLib.EngineTypes.startp = _startpos;
27513 MenhirLib.EngineTypes.endp = _endpos;
27514 MenhirLib.EngineTypes.next = _menhir_stack;
27515 });
27516 (fun _menhir_env ->
27517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27518 let {
27519 MenhirLib.EngineTypes.state = _menhir_s;
27520 MenhirLib.EngineTypes.startp = _startpos__1_;
27521 MenhirLib.EngineTypes.endp = _endpos__1_;
27522 MenhirLib.EngineTypes.next = _menhir_stack;
27523 } = _menhir_stack in
27524 let _startpos = _startpos__1_ in
27525 let _endpos = _endpos__1_ in
27526 let _v : 'tv_pure_ident_kwd =
27527# 1432 "parser_cocci_menhir.mly"
27528 ( "words" )
27529# 27530 "parser_cocci_menhir.ml"
27530 in
27531 _menhir_env.MenhirLib.EngineTypes.stack <- {
27532 MenhirLib.EngineTypes.state = _menhir_s;
27533 MenhirLib.EngineTypes.semv = Obj.repr _v;
27534 MenhirLib.EngineTypes.startp = _startpos;
27535 MenhirLib.EngineTypes.endp = _endpos;
27536 MenhirLib.EngineTypes.next = _menhir_stack;
27537 });
27538 (fun _menhir_env ->
27539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27540 let {
27541 MenhirLib.EngineTypes.state = _menhir_s;
27542 MenhirLib.EngineTypes.startp = _startpos__1_;
27543 MenhirLib.EngineTypes.endp = _endpos__1_;
27544 MenhirLib.EngineTypes.next = _menhir_stack;
27545 } = _menhir_stack in
27546 let _startpos = _startpos__1_ in
27547 let _endpos = _endpos__1_ in
27548 let _v : 'tv_pure_ident_kwd =
27549# 1433 "parser_cocci_menhir.mly"
27550 ( "pure" )
27551# 27552 "parser_cocci_menhir.ml"
27552 in
27553 _menhir_env.MenhirLib.EngineTypes.stack <- {
27554 MenhirLib.EngineTypes.state = _menhir_s;
27555 MenhirLib.EngineTypes.semv = Obj.repr _v;
27556 MenhirLib.EngineTypes.startp = _startpos;
27557 MenhirLib.EngineTypes.endp = _endpos;
27558 MenhirLib.EngineTypes.next = _menhir_stack;
27559 });
27560 (fun _menhir_env ->
27561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27562 let {
27563 MenhirLib.EngineTypes.state = _menhir_s;
27564 MenhirLib.EngineTypes.startp = _startpos__1_;
27565 MenhirLib.EngineTypes.endp = _endpos__1_;
27566 MenhirLib.EngineTypes.next = _menhir_stack;
27567 } = _menhir_stack in
27568 let _startpos = _startpos__1_ in
27569 let _endpos = _endpos__1_ in
27570 let _v : 'tv_pure_ident_kwd =
27571# 1434 "parser_cocci_menhir.mly"
27572 ( "context" )
27573# 27574 "parser_cocci_menhir.ml"
27574 in
27575 _menhir_env.MenhirLib.EngineTypes.stack <- {
27576 MenhirLib.EngineTypes.state = _menhir_s;
27577 MenhirLib.EngineTypes.semv = Obj.repr _v;
27578 MenhirLib.EngineTypes.startp = _startpos;
27579 MenhirLib.EngineTypes.endp = _endpos;
27580 MenhirLib.EngineTypes.next = _menhir_stack;
27581 });
27582 (fun _menhir_env ->
27583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27584 let {
27585 MenhirLib.EngineTypes.state = _menhir_s;
27586 MenhirLib.EngineTypes.startp = _startpos__1_;
27587 MenhirLib.EngineTypes.endp = _endpos__1_;
27588 MenhirLib.EngineTypes.next = _menhir_stack;
27589 } = _menhir_stack in
27590 let _startpos = _startpos__1_ in
27591 let _endpos = _endpos__1_ in
27592 let _v : 'tv_pure_ident_kwd =
27593# 1435 "parser_cocci_menhir.mly"
27594 ( "generated" )
27595# 27596 "parser_cocci_menhir.ml"
27596 in
27597 _menhir_env.MenhirLib.EngineTypes.stack <- {
27598 MenhirLib.EngineTypes.state = _menhir_s;
27599 MenhirLib.EngineTypes.semv = Obj.repr _v;
27600 MenhirLib.EngineTypes.startp = _startpos;
27601 MenhirLib.EngineTypes.endp = _endpos;
27602 MenhirLib.EngineTypes.next = _menhir_stack;
27603 });
27604 (fun _menhir_env ->
27605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27606 let {
27607 MenhirLib.EngineTypes.state = _menhir_s;
27608 MenhirLib.EngineTypes.startp = _startpos__1_;
27609 MenhirLib.EngineTypes.endp = _endpos__1_;
27610 MenhirLib.EngineTypes.next = _menhir_stack;
27611 } = _menhir_stack in
27612 let _startpos = _startpos__1_ in
27613 let _endpos = _endpos__1_ in
27614 let _v : 'tv_pure_ident_kwd =
27615# 1436 "parser_cocci_menhir.mly"
27616 ( "typedef" )
27617# 27618 "parser_cocci_menhir.ml"
27618 in
27619 _menhir_env.MenhirLib.EngineTypes.stack <- {
27620 MenhirLib.EngineTypes.state = _menhir_s;
27621 MenhirLib.EngineTypes.semv = Obj.repr _v;
27622 MenhirLib.EngineTypes.startp = _startpos;
27623 MenhirLib.EngineTypes.endp = _endpos;
27624 MenhirLib.EngineTypes.next = _menhir_stack;
27625 });
27626 (fun _menhir_env ->
27627 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27628 let {
27629 MenhirLib.EngineTypes.state = _menhir_s;
27630 MenhirLib.EngineTypes.startp = _startpos__1_;
27631 MenhirLib.EngineTypes.endp = _endpos__1_;
27632 MenhirLib.EngineTypes.next = _menhir_stack;
27633 } = _menhir_stack in
27634 let _startpos = _startpos__1_ in
27635 let _endpos = _endpos__1_ in
27636 let _v : 'tv_pure_ident_kwd =
27637# 1437 "parser_cocci_menhir.mly"
27638 ( "declarer" )
27639# 27640 "parser_cocci_menhir.ml"
27640 in
27641 _menhir_env.MenhirLib.EngineTypes.stack <- {
27642 MenhirLib.EngineTypes.state = _menhir_s;
27643 MenhirLib.EngineTypes.semv = Obj.repr _v;
27644 MenhirLib.EngineTypes.startp = _startpos;
27645 MenhirLib.EngineTypes.endp = _endpos;
27646 MenhirLib.EngineTypes.next = _menhir_stack;
27647 });
27648 (fun _menhir_env ->
27649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27650 let {
27651 MenhirLib.EngineTypes.state = _menhir_s;
27652 MenhirLib.EngineTypes.startp = _startpos__1_;
27653 MenhirLib.EngineTypes.endp = _endpos__1_;
27654 MenhirLib.EngineTypes.next = _menhir_stack;
27655 } = _menhir_stack in
27656 let _startpos = _startpos__1_ in
27657 let _endpos = _endpos__1_ in
27658 let _v : 'tv_pure_ident_kwd =
27659# 1438 "parser_cocci_menhir.mly"
27660 ( "iterator" )
27661# 27662 "parser_cocci_menhir.ml"
27662 in
27663 _menhir_env.MenhirLib.EngineTypes.stack <- {
27664 MenhirLib.EngineTypes.state = _menhir_s;
27665 MenhirLib.EngineTypes.semv = Obj.repr _v;
27666 MenhirLib.EngineTypes.startp = _startpos;
27667 MenhirLib.EngineTypes.endp = _endpos;
27668 MenhirLib.EngineTypes.next = _menhir_stack;
27669 });
27670 (fun _menhir_env ->
27671 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27672 let {
27673 MenhirLib.EngineTypes.state = _menhir_s;
27674 MenhirLib.EngineTypes.startp = _startpos__1_;
27675 MenhirLib.EngineTypes.endp = _endpos__1_;
27676 MenhirLib.EngineTypes.next = _menhir_stack;
27677 } = _menhir_stack in
27678 let _startpos = _startpos__1_ in
27679 let _endpos = _endpos__1_ in
27680 let _v : 'tv_pure_ident_kwd =
27681# 1439 "parser_cocci_menhir.mly"
27682 ( "name" )
27683# 27684 "parser_cocci_menhir.ml"
27684 in
27685 _menhir_env.MenhirLib.EngineTypes.stack <- {
27686 MenhirLib.EngineTypes.state = _menhir_s;
27687 MenhirLib.EngineTypes.semv = Obj.repr _v;
27688 MenhirLib.EngineTypes.startp = _startpos;
27689 MenhirLib.EngineTypes.endp = _endpos;
27690 MenhirLib.EngineTypes.next = _menhir_stack;
27691 });
27692 (fun _menhir_env ->
27693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27694 let {
27695 MenhirLib.EngineTypes.state = _menhir_s;
27696 MenhirLib.EngineTypes.startp = _startpos__1_;
27697 MenhirLib.EngineTypes.endp = _endpos__1_;
27698 MenhirLib.EngineTypes.next = _menhir_stack;
27699 } = _menhir_stack in
27700 let _startpos = _startpos__1_ in
27701 let _endpos = _endpos__1_ in
27702 let _v : 'tv_pure_ident_kwd =
27703# 1440 "parser_cocci_menhir.mly"
27704 ( "position" )
27705# 27706 "parser_cocci_menhir.ml"
27706 in
27707 _menhir_env.MenhirLib.EngineTypes.stack <- {
27708 MenhirLib.EngineTypes.state = _menhir_s;
27709 MenhirLib.EngineTypes.semv = Obj.repr _v;
27710 MenhirLib.EngineTypes.startp = _startpos;
27711 MenhirLib.EngineTypes.endp = _endpos;
27712 MenhirLib.EngineTypes.next = _menhir_stack;
27713 });
27714 (fun _menhir_env ->
27715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27716 let {
27717 MenhirLib.EngineTypes.state = _menhir_s;
27718 MenhirLib.EngineTypes.semv = _1;
27719 MenhirLib.EngineTypes.startp = _startpos__1_;
27720 MenhirLib.EngineTypes.endp = _endpos__1_;
27721 MenhirLib.EngineTypes.next = _menhir_stack;
27722 } = _menhir_stack in
27723 let _1 : 'tv_pure_ident = Obj.magic _1 in
27724 let _startpos = _startpos__1_ in
27725 let _endpos = _endpos__1_ in
27726 let _v : 'tv_pure_ident_or_meta_ident =
27727# 1447 "parser_cocci_menhir.mly"
27728 ( (None,P.id2name _1) )
27729# 27730 "parser_cocci_menhir.ml"
27730 in
27731 _menhir_env.MenhirLib.EngineTypes.stack <- {
27732 MenhirLib.EngineTypes.state = _menhir_s;
27733 MenhirLib.EngineTypes.semv = Obj.repr _v;
27734 MenhirLib.EngineTypes.startp = _startpos;
27735 MenhirLib.EngineTypes.endp = _endpos;
27736 MenhirLib.EngineTypes.next = _menhir_stack;
27737 });
27738 (fun _menhir_env ->
27739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27740 let {
27741 MenhirLib.EngineTypes.state = _menhir_s;
27742 MenhirLib.EngineTypes.semv = _1;
27743 MenhirLib.EngineTypes.startp = _startpos__1_;
27744 MenhirLib.EngineTypes.endp = _endpos__1_;
27745 MenhirLib.EngineTypes.next = _menhir_stack;
27746 } = _menhir_stack in
27747 let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
27748 let _startpos = _startpos__1_ in
27749 let _endpos = _endpos__1_ in
27750 let _v : 'tv_pure_ident_or_meta_ident =
27751# 1448 "parser_cocci_menhir.mly"
27752 ( (None,_1) )
27753# 27754 "parser_cocci_menhir.ml"
27754 in
27755 _menhir_env.MenhirLib.EngineTypes.stack <- {
27756 MenhirLib.EngineTypes.state = _menhir_s;
27757 MenhirLib.EngineTypes.semv = Obj.repr _v;
27758 MenhirLib.EngineTypes.startp = _startpos;
27759 MenhirLib.EngineTypes.endp = _endpos;
27760 MenhirLib.EngineTypes.next = _menhir_stack;
27761 });
27762 (fun _menhir_env ->
27763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27764 let {
27765 MenhirLib.EngineTypes.state = _menhir_s;
27766 MenhirLib.EngineTypes.semv = _1;
27767 MenhirLib.EngineTypes.startp = _startpos__1_;
27768 MenhirLib.EngineTypes.endp = _endpos__1_;
27769 MenhirLib.EngineTypes.next = _menhir_stack;
27770 } = _menhir_stack in
27771 let _1 : 'tv_meta_ident = Obj.magic _1 in
27772 let _startpos = _startpos__1_ in
27773 let _endpos = _endpos__1_ in
27774 let _v : 'tv_pure_ident_or_meta_ident =
27775# 1449 "parser_cocci_menhir.mly"
27776 ( _1 )
27777# 27778 "parser_cocci_menhir.ml"
27778 in
27779 _menhir_env.MenhirLib.EngineTypes.stack <- {
27780 MenhirLib.EngineTypes.state = _menhir_s;
27781 MenhirLib.EngineTypes.semv = Obj.repr _v;
27782 MenhirLib.EngineTypes.startp = _startpos;
27783 MenhirLib.EngineTypes.endp = _endpos;
27784 MenhirLib.EngineTypes.next = _menhir_stack;
27785 });
27786 (fun _menhir_env ->
27787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27788 let {
27789 MenhirLib.EngineTypes.semv = optc;
27790 MenhirLib.EngineTypes.startp = _startpos_optc_;
27791 MenhirLib.EngineTypes.endp = _endpos_optc_;
27792 MenhirLib.EngineTypes.next = {
27793 MenhirLib.EngineTypes.state = _menhir_s;
27794 MenhirLib.EngineTypes.semv = i;
27795 MenhirLib.EngineTypes.startp = _startpos_i_;
27796 MenhirLib.EngineTypes.endp = _endpos_i_;
27797 MenhirLib.EngineTypes.next = _menhir_stack;
27798 };
27799 } = _menhir_stack in
27800 let optc : 'tv_option_re_or_not_eqe_ = Obj.magic optc in
27801 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27802 let _startpos = _startpos_i_ in
27803 let _endpos = _endpos_optc_ in
27804 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ =
27805# 1475 "parser_cocci_menhir.mly"
27806 (
27807 match optc with
27808 None -> (i, Ast0.NoConstraint)
27809 | Some c -> (i, c)
27810 )
27811# 27812 "parser_cocci_menhir.ml"
27812 in
27813 _menhir_env.MenhirLib.EngineTypes.stack <- {
27814 MenhirLib.EngineTypes.state = _menhir_s;
27815 MenhirLib.EngineTypes.semv = Obj.repr _v;
27816 MenhirLib.EngineTypes.startp = _startpos;
27817 MenhirLib.EngineTypes.endp = _endpos;
27818 MenhirLib.EngineTypes.next = _menhir_stack;
27819 });
27820 (fun _menhir_env ->
27821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27822 let {
27823 MenhirLib.EngineTypes.semv = c;
27824 MenhirLib.EngineTypes.startp = _startpos_c_;
27825 MenhirLib.EngineTypes.endp = _endpos_c_;
27826 MenhirLib.EngineTypes.next = {
27827 MenhirLib.EngineTypes.state = _menhir_s;
27828 MenhirLib.EngineTypes.semv = i;
27829 MenhirLib.EngineTypes.startp = _startpos_i_;
27830 MenhirLib.EngineTypes.endp = _endpos_i_;
27831 MenhirLib.EngineTypes.next = _menhir_stack;
27832 };
27833 } = _menhir_stack in
27834 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
27835 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27836 let _startpos = _startpos_i_ in
27837 let _endpos = _endpos_c_ in
27838 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
27839# 1493 "parser_cocci_menhir.mly"
27840 (
27841 match c with
27842 None -> (i, Ast.IdNoConstraint)
27843 | Some constraint_ -> (i,constraint_)
27844 )
27845# 27846 "parser_cocci_menhir.ml"
27846 in
27847 _menhir_env.MenhirLib.EngineTypes.stack <- {
27848 MenhirLib.EngineTypes.state = _menhir_s;
27849 MenhirLib.EngineTypes.semv = Obj.repr _v;
27850 MenhirLib.EngineTypes.startp = _startpos;
27851 MenhirLib.EngineTypes.endp = _endpos;
27852 MenhirLib.EngineTypes.next = _menhir_stack;
27853 });
27854 (fun _menhir_env ->
27855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27856 let {
27857 MenhirLib.EngineTypes.semv = c;
27858 MenhirLib.EngineTypes.startp = _startpos_c_;
27859 MenhirLib.EngineTypes.endp = _endpos_c_;
27860 MenhirLib.EngineTypes.next = {
27861 MenhirLib.EngineTypes.state = _menhir_s;
27862 MenhirLib.EngineTypes.semv = i;
27863 MenhirLib.EngineTypes.startp = _startpos_i_;
27864 MenhirLib.EngineTypes.endp = _endpos_i_;
27865 MenhirLib.EngineTypes.next = _menhir_stack;
27866 };
27867 } = _menhir_stack in
27868 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
27869 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27870 let _startpos = _startpos_i_ in
27871 let _endpos = _endpos_c_ in
27872 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
27873# 1483 "parser_cocci_menhir.mly"
27874 (
27875 Common.Left
27876 (match c with
27877 None -> (i, Ast.IdNoConstraint)
27878 | Some constraint_ -> (i,constraint_))
27879 )
27880# 27881 "parser_cocci_menhir.ml"
27881 in
27882 _menhir_env.MenhirLib.EngineTypes.stack <- {
27883 MenhirLib.EngineTypes.state = _menhir_s;
27884 MenhirLib.EngineTypes.semv = Obj.repr _v;
27885 MenhirLib.EngineTypes.startp = _startpos;
27886 MenhirLib.EngineTypes.endp = _endpos;
27887 MenhirLib.EngineTypes.next = _menhir_stack;
27888 });
27889 (fun _menhir_env ->
27890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27891 let {
27892 MenhirLib.EngineTypes.semv = _3;
27893 MenhirLib.EngineTypes.startp = _startpos__3_;
27894 MenhirLib.EngineTypes.endp = _endpos__3_;
27895 MenhirLib.EngineTypes.next = {
27896 MenhirLib.EngineTypes.startp = _startpos__2_;
27897 MenhirLib.EngineTypes.endp = _endpos__2_;
27898 MenhirLib.EngineTypes.next = {
27899 MenhirLib.EngineTypes.state = _menhir_s;
27900 MenhirLib.EngineTypes.startp = _startpos__1_;
27901 MenhirLib.EngineTypes.endp = _endpos__1_;
27902 MenhirLib.EngineTypes.next = _menhir_stack;
27903 };
27904 };
27905 } = _menhir_stack in
27906 let _3 : 'tv_pure_ident = Obj.magic _3 in
27907 let _startpos = _startpos__1_ in
27908 let _endpos = _endpos__3_ in
27909 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
27910# 1489 "parser_cocci_menhir.mly"
27911 ( Common.Right (P.id2name _3) )
27912# 27913 "parser_cocci_menhir.ml"
27913 in
27914 _menhir_env.MenhirLib.EngineTypes.stack <- {
27915 MenhirLib.EngineTypes.state = _menhir_s;
27916 MenhirLib.EngineTypes.semv = Obj.repr _v;
27917 MenhirLib.EngineTypes.startp = _startpos;
27918 MenhirLib.EngineTypes.endp = _endpos;
27919 MenhirLib.EngineTypes.next = _menhir_stack;
27920 });
27921 (fun _menhir_env ->
27922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27923 let {
27924 MenhirLib.EngineTypes.state = _menhir_s;
27925 MenhirLib.EngineTypes.semv = _1;
27926 MenhirLib.EngineTypes.startp = _startpos__1_;
27927 MenhirLib.EngineTypes.endp = _endpos__1_;
27928 MenhirLib.EngineTypes.next = _menhir_stack;
27929 } = _menhir_stack in
27930 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
27931 let _startpos = _startpos__1_ in
27932 let _endpos = _endpos__1_ in
27933 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
27934# 1452 "parser_cocci_menhir.mly"
27935 ( (_1,Ast.NoVal) )
27936# 27937 "parser_cocci_menhir.ml"
27937 in
27938 _menhir_env.MenhirLib.EngineTypes.stack <- {
27939 MenhirLib.EngineTypes.state = _menhir_s;
27940 MenhirLib.EngineTypes.semv = Obj.repr _v;
27941 MenhirLib.EngineTypes.startp = _startpos;
27942 MenhirLib.EngineTypes.endp = _endpos;
27943 MenhirLib.EngineTypes.next = _menhir_stack;
27944 });
27945 (fun _menhir_env ->
27946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27947 let {
27948 MenhirLib.EngineTypes.semv = _3;
27949 MenhirLib.EngineTypes.startp = _startpos__3_;
27950 MenhirLib.EngineTypes.endp = _endpos__3_;
27951 MenhirLib.EngineTypes.next = {
27952 MenhirLib.EngineTypes.startp = _startpos__2_;
27953 MenhirLib.EngineTypes.endp = _endpos__2_;
27954 MenhirLib.EngineTypes.next = {
27955 MenhirLib.EngineTypes.state = _menhir_s;
27956 MenhirLib.EngineTypes.semv = _1;
27957 MenhirLib.EngineTypes.startp = _startpos__1_;
27958 MenhirLib.EngineTypes.endp = _endpos__1_;
27959 MenhirLib.EngineTypes.next = _menhir_stack;
27960 };
27961 };
27962 } = _menhir_stack in
27963 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
27964 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
27965 let _startpos = _startpos__1_ in
27966 let _endpos = _endpos__3_ in
27967 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
27968# 1455 "parser_cocci_menhir.mly"
27969 ( match _3 with
27970 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
27971 | _ -> (_1,Ast.ListSeed _3) )
27972# 27973 "parser_cocci_menhir.ml"
27973 in
27974 _menhir_env.MenhirLib.EngineTypes.stack <- {
27975 MenhirLib.EngineTypes.state = _menhir_s;
27976 MenhirLib.EngineTypes.semv = Obj.repr _v;
27977 MenhirLib.EngineTypes.startp = _startpos;
27978 MenhirLib.EngineTypes.endp = _endpos;
27979 MenhirLib.EngineTypes.next = _menhir_stack;
27980 });
27981 (fun _menhir_env ->
27982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27983 let {
27984 MenhirLib.EngineTypes.semv = l;
27985 MenhirLib.EngineTypes.startp = _startpos_l_;
27986 MenhirLib.EngineTypes.endp = _endpos_l_;
27987 MenhirLib.EngineTypes.next = {
27988 MenhirLib.EngineTypes.state = _menhir_s;
27989 MenhirLib.EngineTypes.semv = i;
27990 MenhirLib.EngineTypes.startp = _startpos_i_;
27991 MenhirLib.EngineTypes.endp = _endpos_i_;
27992 MenhirLib.EngineTypes.next = _menhir_stack;
27993 };
27994 } = _menhir_stack in
27995 let l : 'tv_loption_not_ceq_ = Obj.magic l in
27996 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27997 let _startpos = _startpos_i_ in
27998 let _endpos = _endpos_l_ in
27999 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ =
28000# 1469 "parser_cocci_menhir.mly"
28001 (
28002 (i, l)
28003 )
28004# 28005 "parser_cocci_menhir.ml"
28005 in
28006 _menhir_env.MenhirLib.EngineTypes.stack <- {
28007 MenhirLib.EngineTypes.state = _menhir_s;
28008 MenhirLib.EngineTypes.semv = Obj.repr _v;
28009 MenhirLib.EngineTypes.startp = _startpos;
28010 MenhirLib.EngineTypes.endp = _endpos;
28011 MenhirLib.EngineTypes.next = _menhir_stack;
28012 });
28013 (fun _menhir_env ->
28014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28015 let {
28016 MenhirLib.EngineTypes.semv = l;
28017 MenhirLib.EngineTypes.startp = _startpos_l_;
28018 MenhirLib.EngineTypes.endp = _endpos_l_;
28019 MenhirLib.EngineTypes.next = {
28020 MenhirLib.EngineTypes.state = _menhir_s;
28021 MenhirLib.EngineTypes.semv = i;
28022 MenhirLib.EngineTypes.startp = _startpos_i_;
28023 MenhirLib.EngineTypes.endp = _endpos_i_;
28024 MenhirLib.EngineTypes.next = _menhir_stack;
28025 };
28026 } = _menhir_stack in
28027 let l : 'tv_loption_not_pos_ = Obj.magic l in
28028 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28029 let _startpos = _startpos_i_ in
28030 let _endpos = _endpos_l_ in
28031 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
28032# 1469 "parser_cocci_menhir.mly"
28033 (
28034 (i, l)
28035 )
28036# 28037 "parser_cocci_menhir.ml"
28037 in
28038 _menhir_env.MenhirLib.EngineTypes.stack <- {
28039 MenhirLib.EngineTypes.state = _menhir_s;
28040 MenhirLib.EngineTypes.semv = Obj.repr _v;
28041 MenhirLib.EngineTypes.startp = _startpos;
28042 MenhirLib.EngineTypes.endp = _endpos;
28043 MenhirLib.EngineTypes.next = _menhir_stack;
28044 });
28045 (fun _menhir_env ->
28046 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28047 let {
28048 MenhirLib.EngineTypes.state = _menhir_s;
28049 MenhirLib.EngineTypes.semv = re;
28050 MenhirLib.EngineTypes.startp = _startpos_re_;
28051 MenhirLib.EngineTypes.endp = _endpos_re_;
28052 MenhirLib.EngineTypes.next = _menhir_stack;
28053 } = _menhir_stack in
28054 let re : 'tv_regexp_eqid = Obj.magic re in
28055 let _startpos = _startpos_re_ in
28056 let _endpos = _endpos_re_ in
28057 let _v : 'tv_re_or_not_eqe =
28058# 1537 "parser_cocci_menhir.mly"
28059 (Ast0.NotIdCstrt (re))
28060# 28061 "parser_cocci_menhir.ml"
28061 in
28062 _menhir_env.MenhirLib.EngineTypes.stack <- {
28063 MenhirLib.EngineTypes.state = _menhir_s;
28064 MenhirLib.EngineTypes.semv = Obj.repr _v;
28065 MenhirLib.EngineTypes.startp = _startpos;
28066 MenhirLib.EngineTypes.endp = _endpos;
28067 MenhirLib.EngineTypes.next = _menhir_stack;
28068 });
28069 (fun _menhir_env ->
28070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28071 let {
28072 MenhirLib.EngineTypes.state = _menhir_s;
28073 MenhirLib.EngineTypes.semv = ne;
28074 MenhirLib.EngineTypes.startp = _startpos_ne_;
28075 MenhirLib.EngineTypes.endp = _endpos_ne_;
28076 MenhirLib.EngineTypes.next = _menhir_stack;
28077 } = _menhir_stack in
28078 let ne : 'tv_not_eqe = Obj.magic ne in
28079 let _startpos = _startpos_ne_ in
28080 let _endpos = _endpos_ne_ in
28081 let _v : 'tv_re_or_not_eqe =
28082# 1538 "parser_cocci_menhir.mly"
28083 (Ast0.NotExpCstrt (ne))
28084# 28085 "parser_cocci_menhir.ml"
28085 in
28086 _menhir_env.MenhirLib.EngineTypes.stack <- {
28087 MenhirLib.EngineTypes.state = _menhir_s;
28088 MenhirLib.EngineTypes.semv = Obj.repr _v;
28089 MenhirLib.EngineTypes.startp = _startpos;
28090 MenhirLib.EngineTypes.endp = _endpos;
28091 MenhirLib.EngineTypes.next = _menhir_stack;
28092 });
28093 (fun _menhir_env ->
28094 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28095 let {
28096 MenhirLib.EngineTypes.state = _menhir_s;
28097 MenhirLib.EngineTypes.semv = re;
28098 MenhirLib.EngineTypes.startp = _startpos_re_;
28099 MenhirLib.EngineTypes.endp = _endpos_re_;
28100 MenhirLib.EngineTypes.next = _menhir_stack;
28101 } = _menhir_stack in
28102 let re : 'tv_regexp_eqid = Obj.magic re in
28103 let _startpos = _startpos_re_ in
28104 let _endpos = _endpos_re_ in
28105 let _v : 'tv_re_or_not_eqid =
28106# 1500 "parser_cocci_menhir.mly"
28107 (re)
28108# 28109 "parser_cocci_menhir.ml"
28109 in
28110 _menhir_env.MenhirLib.EngineTypes.stack <- {
28111 MenhirLib.EngineTypes.state = _menhir_s;
28112 MenhirLib.EngineTypes.semv = Obj.repr _v;
28113 MenhirLib.EngineTypes.startp = _startpos;
28114 MenhirLib.EngineTypes.endp = _endpos;
28115 MenhirLib.EngineTypes.next = _menhir_stack;
28116 });
28117 (fun _menhir_env ->
28118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28119 let {
28120 MenhirLib.EngineTypes.state = _menhir_s;
28121 MenhirLib.EngineTypes.semv = ne;
28122 MenhirLib.EngineTypes.startp = _startpos_ne_;
28123 MenhirLib.EngineTypes.endp = _endpos_ne_;
28124 MenhirLib.EngineTypes.next = _menhir_stack;
28125 } = _menhir_stack in
28126 let ne : 'tv_not_eqid = Obj.magic ne in
28127 let _startpos = _startpos_ne_ in
28128 let _endpos = _endpos_ne_ in
28129 let _v : 'tv_re_or_not_eqid =
28130# 1501 "parser_cocci_menhir.mly"
28131 (ne)
28132# 28133 "parser_cocci_menhir.ml"
28133 in
28134 _menhir_env.MenhirLib.EngineTypes.stack <- {
28135 MenhirLib.EngineTypes.state = _menhir_s;
28136 MenhirLib.EngineTypes.semv = Obj.repr _v;
28137 MenhirLib.EngineTypes.startp = _startpos;
28138 MenhirLib.EngineTypes.endp = _endpos;
28139 MenhirLib.EngineTypes.next = _menhir_stack;
28140 });
28141 (fun _menhir_env ->
28142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28143 let {
28144 MenhirLib.EngineTypes.semv = re;
28145 MenhirLib.EngineTypes.startp = _startpos_re_;
28146 MenhirLib.EngineTypes.endp = _endpos_re_;
28147 MenhirLib.EngineTypes.next = {
28148 MenhirLib.EngineTypes.state = _menhir_s;
28149 MenhirLib.EngineTypes.startp = _startpos__1_;
28150 MenhirLib.EngineTypes.endp = _endpos__1_;
28151 MenhirLib.EngineTypes.next = _menhir_stack;
28152 };
28153 } = _menhir_stack in
28154 let re : (
28155# 88 "parser_cocci_menhir.mly"
28156 (string * Data.clt)
28157# 28158 "parser_cocci_menhir.ml"
28158 ) = Obj.magic re in
28159 let _startpos = _startpos__1_ in
28160 let _endpos = _endpos_re_ in
28161 let _v : 'tv_regexp_eqid =
28162# 1505 "parser_cocci_menhir.mly"
28163 ( (if !Data.in_iso
28164 then failwith "constraints not allowed in iso file");
28165 (if !Data.in_generating
28166 then failwith "constraints not allowed in a generated rule file");
28167 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
28168 )
28169# 28170 "parser_cocci_menhir.ml"
28170 in
28171 _menhir_env.MenhirLib.EngineTypes.stack <- {
28172 MenhirLib.EngineTypes.state = _menhir_s;
28173 MenhirLib.EngineTypes.semv = Obj.repr _v;
28174 MenhirLib.EngineTypes.startp = _startpos;
28175 MenhirLib.EngineTypes.endp = _endpos;
28176 MenhirLib.EngineTypes.next = _menhir_stack;
28177 });
28178 (fun _menhir_env ->
28179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28180 let {
28181 MenhirLib.EngineTypes.semv = re;
28182 MenhirLib.EngineTypes.startp = _startpos_re_;
28183 MenhirLib.EngineTypes.endp = _endpos_re_;
28184 MenhirLib.EngineTypes.next = {
28185 MenhirLib.EngineTypes.state = _menhir_s;
28186 MenhirLib.EngineTypes.startp = _startpos__1_;
28187 MenhirLib.EngineTypes.endp = _endpos__1_;
28188 MenhirLib.EngineTypes.next = _menhir_stack;
28189 };
28190 } = _menhir_stack in
28191 let re : (
28192# 88 "parser_cocci_menhir.mly"
28193 (string * Data.clt)
28194# 28195 "parser_cocci_menhir.ml"
28195 ) = Obj.magic re in
28196 let _startpos = _startpos__1_ in
28197 let _endpos = _endpos_re_ in
28198 let _v : 'tv_regexp_eqid =
28199# 1512 "parser_cocci_menhir.mly"
28200 ( (if !Data.in_iso
28201 then failwith "constraints not allowed in iso file");
28202 (if !Data.in_generating
28203 then failwith "constraints not allowed in a generated rule file");
28204 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
28205 )
28206# 28207 "parser_cocci_menhir.ml"
28207 in
28208 _menhir_env.MenhirLib.EngineTypes.stack <- {
28209 MenhirLib.EngineTypes.state = _menhir_s;
28210 MenhirLib.EngineTypes.semv = Obj.repr _v;
28211 MenhirLib.EngineTypes.startp = _startpos;
28212 MenhirLib.EngineTypes.endp = _endpos;
28213 MenhirLib.EngineTypes.next = _menhir_stack;
28214 });
28215 (fun _menhir_env ->
28216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28217 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28218 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28219 let _endpos = _startpos in
28220 let _v : (
28221# 132 "parser_cocci_menhir.mly"
28222 (unit)
28223# 28224 "parser_cocci_menhir.ml"
28224 ) =
28225# 173 "parser_cocci_menhir.mly"
28226 ( )
28227# 28228 "parser_cocci_menhir.ml"
28228 in
28229 _menhir_env.MenhirLib.EngineTypes.stack <- {
28230 MenhirLib.EngineTypes.state = _menhir_s;
28231 MenhirLib.EngineTypes.semv = Obj.repr _v;
28232 MenhirLib.EngineTypes.startp = _startpos;
28233 MenhirLib.EngineTypes.endp = _endpos;
28234 MenhirLib.EngineTypes.next = _menhir_stack;
28235 });
28236 (fun _menhir_env ->
28237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28238 let {
28239 MenhirLib.EngineTypes.state = _menhir_s;
28240 MenhirLib.EngineTypes.semv = _1;
28241 MenhirLib.EngineTypes.startp = _startpos__1_;
28242 MenhirLib.EngineTypes.endp = _endpos__1_;
28243 MenhirLib.EngineTypes.next = _menhir_stack;
28244 } = _menhir_stack in
28245 let _1 : 'tv_one_decl_var = Obj.magic _1 in
28246 let _startpos = _startpos__1_ in
28247 let _endpos = _endpos__1_ in
28248 let _v : 'tv_rule_elem_statement =
28249# 928 "parser_cocci_menhir.mly"
28250 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
28251# 28252 "parser_cocci_menhir.ml"
28252 in
28253 _menhir_env.MenhirLib.EngineTypes.stack <- {
28254 MenhirLib.EngineTypes.state = _menhir_s;
28255 MenhirLib.EngineTypes.semv = Obj.repr _v;
28256 MenhirLib.EngineTypes.startp = _startpos;
28257 MenhirLib.EngineTypes.endp = _endpos;
28258 MenhirLib.EngineTypes.next = _menhir_stack;
28259 });
28260 (fun _menhir_env ->
28261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28262 let {
28263 MenhirLib.EngineTypes.semv = _2;
28264 MenhirLib.EngineTypes.startp = _startpos__2_;
28265 MenhirLib.EngineTypes.endp = _endpos__2_;
28266 MenhirLib.EngineTypes.next = {
28267 MenhirLib.EngineTypes.state = _menhir_s;
28268 MenhirLib.EngineTypes.semv = _1;
28269 MenhirLib.EngineTypes.startp = _startpos__1_;
28270 MenhirLib.EngineTypes.endp = _endpos__1_;
28271 MenhirLib.EngineTypes.next = _menhir_stack;
28272 };
28273 } = _menhir_stack in
28274 let _2 : (
28275# 108 "parser_cocci_menhir.mly"
28276 (Data.clt)
28277# 28278 "parser_cocci_menhir.ml"
28278 ) = Obj.magic _2 in
28279 let _1 : 'tv_expr = Obj.magic _1 in
28280 let _startpos = _startpos__1_ in
28281 let _endpos = _endpos__2_ in
28282 let _v : 'tv_rule_elem_statement =
28283# 929 "parser_cocci_menhir.mly"
28284 ( P.exp_stm _1 _2 )
28285# 28286 "parser_cocci_menhir.ml"
28286 in
28287 _menhir_env.MenhirLib.EngineTypes.stack <- {
28288 MenhirLib.EngineTypes.state = _menhir_s;
28289 MenhirLib.EngineTypes.semv = Obj.repr _v;
28290 MenhirLib.EngineTypes.startp = _startpos;
28291 MenhirLib.EngineTypes.endp = _endpos;
28292 MenhirLib.EngineTypes.next = _menhir_stack;
28293 });
28294 (fun _menhir_env ->
28295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28296 let {
28297 MenhirLib.EngineTypes.semv = _3;
28298 MenhirLib.EngineTypes.startp = _startpos__3_;
28299 MenhirLib.EngineTypes.endp = _endpos__3_;
28300 MenhirLib.EngineTypes.next = {
28301 MenhirLib.EngineTypes.semv = _2;
28302 MenhirLib.EngineTypes.startp = _startpos__2_;
28303 MenhirLib.EngineTypes.endp = _endpos__2_;
28304 MenhirLib.EngineTypes.next = {
28305 MenhirLib.EngineTypes.state = _menhir_s;
28306 MenhirLib.EngineTypes.semv = _1;
28307 MenhirLib.EngineTypes.startp = _startpos__1_;
28308 MenhirLib.EngineTypes.endp = _endpos__1_;
28309 MenhirLib.EngineTypes.next = _menhir_stack;
28310 };
28311 };
28312 } = _menhir_stack in
28313 let _3 : (
28314# 108 "parser_cocci_menhir.mly"
28315 (Data.clt)
28316# 28317 "parser_cocci_menhir.ml"
28317 ) = Obj.magic _3 in
28318 let _2 : 'tv_eexpr = Obj.magic _2 in
28319 let _1 : (
28320# 57 "parser_cocci_menhir.mly"
28321 (Data.clt)
28322# 28323 "parser_cocci_menhir.ml"
28323 ) = Obj.magic _1 in
28324 let _startpos = _startpos__1_ in
28325 let _endpos = _endpos__3_ in
28326 let _v : 'tv_rule_elem_statement =
28327# 930 "parser_cocci_menhir.mly"
28328 ( P.ret_exp _1 _2 _3 )
28329# 28330 "parser_cocci_menhir.ml"
28330 in
28331 _menhir_env.MenhirLib.EngineTypes.stack <- {
28332 MenhirLib.EngineTypes.state = _menhir_s;
28333 MenhirLib.EngineTypes.semv = Obj.repr _v;
28334 MenhirLib.EngineTypes.startp = _startpos;
28335 MenhirLib.EngineTypes.endp = _endpos;
28336 MenhirLib.EngineTypes.next = _menhir_stack;
28337 });
28338 (fun _menhir_env ->
28339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28340 let {
28341 MenhirLib.EngineTypes.semv = _2;
28342 MenhirLib.EngineTypes.startp = _startpos__2_;
28343 MenhirLib.EngineTypes.endp = _endpos__2_;
28344 MenhirLib.EngineTypes.next = {
28345 MenhirLib.EngineTypes.state = _menhir_s;
28346 MenhirLib.EngineTypes.semv = _1;
28347 MenhirLib.EngineTypes.startp = _startpos__1_;
28348 MenhirLib.EngineTypes.endp = _endpos__1_;
28349 MenhirLib.EngineTypes.next = _menhir_stack;
28350 };
28351 } = _menhir_stack in
28352 let _2 : (
28353# 108 "parser_cocci_menhir.mly"
28354 (Data.clt)
28355# 28356 "parser_cocci_menhir.ml"
28356 ) = Obj.magic _2 in
28357 let _1 : (
28358# 57 "parser_cocci_menhir.mly"
28359 (Data.clt)
28360# 28361 "parser_cocci_menhir.ml"
28361 ) = Obj.magic _1 in
28362 let _startpos = _startpos__1_ in
28363 let _endpos = _endpos__2_ in
28364 let _v : 'tv_rule_elem_statement =
28365# 931 "parser_cocci_menhir.mly"
28366 ( P.ret _1 _2 )
28367# 28368 "parser_cocci_menhir.ml"
28368 in
28369 _menhir_env.MenhirLib.EngineTypes.stack <- {
28370 MenhirLib.EngineTypes.state = _menhir_s;
28371 MenhirLib.EngineTypes.semv = Obj.repr _v;
28372 MenhirLib.EngineTypes.startp = _startpos;
28373 MenhirLib.EngineTypes.endp = _endpos;
28374 MenhirLib.EngineTypes.next = _menhir_stack;
28375 });
28376 (fun _menhir_env ->
28377 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28378 let {
28379 MenhirLib.EngineTypes.semv = _2;
28380 MenhirLib.EngineTypes.startp = _startpos__2_;
28381 MenhirLib.EngineTypes.endp = _endpos__2_;
28382 MenhirLib.EngineTypes.next = {
28383 MenhirLib.EngineTypes.state = _menhir_s;
28384 MenhirLib.EngineTypes.semv = _1;
28385 MenhirLib.EngineTypes.startp = _startpos__1_;
28386 MenhirLib.EngineTypes.endp = _endpos__1_;
28387 MenhirLib.EngineTypes.next = _menhir_stack;
28388 };
28389 } = _menhir_stack in
28390 let _2 : (
28391# 108 "parser_cocci_menhir.mly"
28392 (Data.clt)
28393# 28394 "parser_cocci_menhir.ml"
28394 ) = Obj.magic _2 in
28395 let _1 : (
28396# 58 "parser_cocci_menhir.mly"
28397 (Data.clt)
28398# 28399 "parser_cocci_menhir.ml"
28399 ) = Obj.magic _1 in
28400 let _startpos = _startpos__1_ in
28401 let _endpos = _endpos__2_ in
28402 let _v : 'tv_rule_elem_statement =
28403# 932 "parser_cocci_menhir.mly"
28404 ( P.break _1 _2 )
28405# 28406 "parser_cocci_menhir.ml"
28406 in
28407 _menhir_env.MenhirLib.EngineTypes.stack <- {
28408 MenhirLib.EngineTypes.state = _menhir_s;
28409 MenhirLib.EngineTypes.semv = Obj.repr _v;
28410 MenhirLib.EngineTypes.startp = _startpos;
28411 MenhirLib.EngineTypes.endp = _endpos;
28412 MenhirLib.EngineTypes.next = _menhir_stack;
28413 });
28414 (fun _menhir_env ->
28415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28416 let {
28417 MenhirLib.EngineTypes.semv = _2;
28418 MenhirLib.EngineTypes.startp = _startpos__2_;
28419 MenhirLib.EngineTypes.endp = _endpos__2_;
28420 MenhirLib.EngineTypes.next = {
28421 MenhirLib.EngineTypes.state = _menhir_s;
28422 MenhirLib.EngineTypes.semv = _1;
28423 MenhirLib.EngineTypes.startp = _startpos__1_;
28424 MenhirLib.EngineTypes.endp = _endpos__1_;
28425 MenhirLib.EngineTypes.next = _menhir_stack;
28426 };
28427 } = _menhir_stack in
28428 let _2 : (
28429# 108 "parser_cocci_menhir.mly"
28430 (Data.clt)
28431# 28432 "parser_cocci_menhir.ml"
28432 ) = Obj.magic _2 in
28433 let _1 : (
28434# 58 "parser_cocci_menhir.mly"
28435 (Data.clt)
28436# 28437 "parser_cocci_menhir.ml"
28437 ) = Obj.magic _1 in
28438 let _startpos = _startpos__1_ in
28439 let _endpos = _endpos__2_ in
28440 let _v : 'tv_rule_elem_statement =
28441# 933 "parser_cocci_menhir.mly"
28442 ( P.cont _1 _2 )
28443# 28444 "parser_cocci_menhir.ml"
28444 in
28445 _menhir_env.MenhirLib.EngineTypes.stack <- {
28446 MenhirLib.EngineTypes.state = _menhir_s;
28447 MenhirLib.EngineTypes.semv = Obj.repr _v;
28448 MenhirLib.EngineTypes.startp = _startpos;
28449 MenhirLib.EngineTypes.endp = _endpos;
28450 MenhirLib.EngineTypes.next = _menhir_stack;
28451 });
28452 (fun _menhir_env ->
28453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28454 let {
28455 MenhirLib.EngineTypes.semv = _3;
28456 MenhirLib.EngineTypes.startp = _startpos__3_;
28457 MenhirLib.EngineTypes.endp = _endpos__3_;
28458 MenhirLib.EngineTypes.next = {
28459 MenhirLib.EngineTypes.semv = _2;
28460 MenhirLib.EngineTypes.startp = _startpos__2_;
28461 MenhirLib.EngineTypes.endp = _endpos__2_;
28462 MenhirLib.EngineTypes.next = {
28463 MenhirLib.EngineTypes.state = _menhir_s;
28464 MenhirLib.EngineTypes.semv = _1;
28465 MenhirLib.EngineTypes.startp = _startpos__1_;
28466 MenhirLib.EngineTypes.endp = _endpos__1_;
28467 MenhirLib.EngineTypes.next = _menhir_stack;
28468 };
28469 };
28470 } = _menhir_stack in
28471 let _3 : (
28472# 78 "parser_cocci_menhir.mly"
28473 (Data.clt)
28474# 28475 "parser_cocci_menhir.ml"
28475 ) = Obj.magic _3 in
28476 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
28477 let _1 : (
28478# 77 "parser_cocci_menhir.mly"
28479 (Data.clt)
28480# 28481 "parser_cocci_menhir.ml"
28481 ) = Obj.magic _1 in
28482 let _startpos = _startpos__1_ in
28483 let _endpos = _endpos__3_ in
28484 let _v : 'tv_rule_elem_statement =
28485# 935 "parser_cocci_menhir.mly"
28486 ( let (mids,code) = _2 in
28487 Ast0.wrap
28488 (Ast0.Disj(P.clt2mcode "(" _1,
28489 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
28490 mids, P.clt2mcode ")" _3)) )
28491# 28492 "parser_cocci_menhir.ml"
28492 in
28493 _menhir_env.MenhirLib.EngineTypes.stack <- {
28494 MenhirLib.EngineTypes.state = _menhir_s;
28495 MenhirLib.EngineTypes.semv = Obj.repr _v;
28496 MenhirLib.EngineTypes.startp = _startpos;
28497 MenhirLib.EngineTypes.endp = _endpos;
28498 MenhirLib.EngineTypes.next = _menhir_stack;
28499 });
28500 (fun _menhir_env ->
28501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28502 let {
28503 MenhirLib.EngineTypes.startp = _startpos__7_;
28504 MenhirLib.EngineTypes.endp = _endpos__7_;
28505 MenhirLib.EngineTypes.next = {
28506 MenhirLib.EngineTypes.semv = ee;
28507 MenhirLib.EngineTypes.startp = _startpos_ee_;
28508 MenhirLib.EngineTypes.endp = _endpos_ee_;
28509 MenhirLib.EngineTypes.next = {
28510 MenhirLib.EngineTypes.semv = e;
28511 MenhirLib.EngineTypes.startp = _startpos_e_;
28512 MenhirLib.EngineTypes.endp = _endpos_e_;
28513 MenhirLib.EngineTypes.next = {
28514 MenhirLib.EngineTypes.semv = a;
28515 MenhirLib.EngineTypes.startp = _startpos_a_;
28516 MenhirLib.EngineTypes.endp = _endpos_a_;
28517 MenhirLib.EngineTypes.next = {
28518 MenhirLib.EngineTypes.semv = i;
28519 MenhirLib.EngineTypes.startp = _startpos_i_;
28520 MenhirLib.EngineTypes.endp = _endpos_i_;
28521 MenhirLib.EngineTypes.next = {
28522 MenhirLib.EngineTypes.semv = d;
28523 MenhirLib.EngineTypes.startp = _startpos_d_;
28524 MenhirLib.EngineTypes.endp = _endpos_d_;
28525 MenhirLib.EngineTypes.next = {
28526 MenhirLib.EngineTypes.state = _menhir_s;
28527 MenhirLib.EngineTypes.startp = _startpos__1_;
28528 MenhirLib.EngineTypes.endp = _endpos__1_;
28529 MenhirLib.EngineTypes.next = _menhir_stack;
28530 };
28531 };
28532 };
28533 };
28534 };
28535 };
28536 } = _menhir_stack in
28537 let ee : 'tv_is_expression = Obj.magic ee in
28538 let e : 'tv_exists = Obj.magic e in
28539 let a : 'tv_loption_disable_ = Obj.magic a in
28540 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28541 let d : 'tv_depends = Obj.magic d in
28542 let _startpos = _startpos__1_ in
28543 let _endpos = _endpos__7_ in
28544 let _v : (
28545# 154 "parser_cocci_menhir.mly"
28546 (Ast_cocci.rulename)
28547# 28548 "parser_cocci_menhir.ml"
28548 ) = let nm =
28549
28550# 39 "standard.mly"
28551 ( None )
28552# 28553 "parser_cocci_menhir.ml"
28553
28554 in
28555
28556# 203 "parser_cocci_menhir.mly"
28557 ( P.make_cocci_rule_name_result nm d i a e ee )
28558# 28559 "parser_cocci_menhir.ml"
28559 in
28560 _menhir_env.MenhirLib.EngineTypes.stack <- {
28561 MenhirLib.EngineTypes.state = _menhir_s;
28562 MenhirLib.EngineTypes.semv = Obj.repr _v;
28563 MenhirLib.EngineTypes.startp = _startpos;
28564 MenhirLib.EngineTypes.endp = _endpos;
28565 MenhirLib.EngineTypes.next = _menhir_stack;
28566 });
28567 (fun _menhir_env ->
28568 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28569 let {
28570 MenhirLib.EngineTypes.startp = _startpos__8_;
28571 MenhirLib.EngineTypes.endp = _endpos__8_;
28572 MenhirLib.EngineTypes.next = {
28573 MenhirLib.EngineTypes.semv = ee;
28574 MenhirLib.EngineTypes.startp = _startpos_ee_;
28575 MenhirLib.EngineTypes.endp = _endpos_ee_;
28576 MenhirLib.EngineTypes.next = {
28577 MenhirLib.EngineTypes.semv = e;
28578 MenhirLib.EngineTypes.startp = _startpos_e_;
28579 MenhirLib.EngineTypes.endp = _endpos_e_;
28580 MenhirLib.EngineTypes.next = {
28581 MenhirLib.EngineTypes.semv = a;
28582 MenhirLib.EngineTypes.startp = _startpos_a_;
28583 MenhirLib.EngineTypes.endp = _endpos_a_;
28584 MenhirLib.EngineTypes.next = {
28585 MenhirLib.EngineTypes.semv = i;
28586 MenhirLib.EngineTypes.startp = _startpos_i_;
28587 MenhirLib.EngineTypes.endp = _endpos_i_;
28588 MenhirLib.EngineTypes.next = {
28589 MenhirLib.EngineTypes.semv = d;
28590 MenhirLib.EngineTypes.startp = _startpos_d_;
28591 MenhirLib.EngineTypes.endp = _endpos_d_;
28592 MenhirLib.EngineTypes.next = {
28593 MenhirLib.EngineTypes.startp = _startpos__2_;
28594 MenhirLib.EngineTypes.endp = _endpos__2_;
28595 MenhirLib.EngineTypes.next = {
28596 MenhirLib.EngineTypes.state = _menhir_s;
28597 MenhirLib.EngineTypes.semv = x0;
28598 MenhirLib.EngineTypes.startp = _startpos_x0_;
28599 MenhirLib.EngineTypes.endp = _endpos_x0_;
28600 MenhirLib.EngineTypes.next = _menhir_stack;
28601 };
28602 };
28603 };
28604 };
28605 };
28606 };
28607 };
28608 } = _menhir_stack in
28609 let ee : 'tv_is_expression = Obj.magic ee in
28610 let e : 'tv_exists = Obj.magic e in
28611 let a : 'tv_loption_disable_ = Obj.magic a in
28612 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28613 let d : 'tv_depends = Obj.magic d in
28614 let x0 : 'tv_pure_ident = Obj.magic x0 in
28615 let _startpos = _startpos_x0_ in
28616 let _endpos = _endpos__8_ in
28617 let _v : (
28618# 154 "parser_cocci_menhir.mly"
28619 (Ast_cocci.rulename)
28620# 28621 "parser_cocci_menhir.ml"
28621 ) = let nm =
28622 let x = x0 in
28623
28624# 41 "standard.mly"
28625 ( Some x )
28626# 28627 "parser_cocci_menhir.ml"
28627
28628 in
28629
28630# 203 "parser_cocci_menhir.mly"
28631 ( P.make_cocci_rule_name_result nm d i a e ee )
28632# 28633 "parser_cocci_menhir.ml"
28633 in
28634 _menhir_env.MenhirLib.EngineTypes.stack <- {
28635 MenhirLib.EngineTypes.state = _menhir_s;
28636 MenhirLib.EngineTypes.semv = Obj.repr _v;
28637 MenhirLib.EngineTypes.startp = _startpos;
28638 MenhirLib.EngineTypes.endp = _endpos;
28639 MenhirLib.EngineTypes.next = _menhir_stack;
28640 });
28641 (fun _menhir_env ->
28642 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28643 let {
28644 MenhirLib.EngineTypes.startp = _startpos__8_;
28645 MenhirLib.EngineTypes.endp = _endpos__8_;
28646 MenhirLib.EngineTypes.next = {
28647 MenhirLib.EngineTypes.semv = ee;
28648 MenhirLib.EngineTypes.startp = _startpos_ee_;
28649 MenhirLib.EngineTypes.endp = _endpos_ee_;
28650 MenhirLib.EngineTypes.next = {
28651 MenhirLib.EngineTypes.semv = e;
28652 MenhirLib.EngineTypes.startp = _startpos_e_;
28653 MenhirLib.EngineTypes.endp = _endpos_e_;
28654 MenhirLib.EngineTypes.next = {
28655 MenhirLib.EngineTypes.semv = a;
28656 MenhirLib.EngineTypes.startp = _startpos_a_;
28657 MenhirLib.EngineTypes.endp = _endpos_a_;
28658 MenhirLib.EngineTypes.next = {
28659 MenhirLib.EngineTypes.semv = i;
28660 MenhirLib.EngineTypes.startp = _startpos_i_;
28661 MenhirLib.EngineTypes.endp = _endpos_i_;
28662 MenhirLib.EngineTypes.next = {
28663 MenhirLib.EngineTypes.semv = d;
28664 MenhirLib.EngineTypes.startp = _startpos_d_;
28665 MenhirLib.EngineTypes.endp = _endpos_d_;
28666 MenhirLib.EngineTypes.next = {
28667 MenhirLib.EngineTypes.startp = _startpos__2_;
28668 MenhirLib.EngineTypes.endp = _endpos__2_;
28669 MenhirLib.EngineTypes.next = {
28670 MenhirLib.EngineTypes.state = _menhir_s;
28671 MenhirLib.EngineTypes.startp = _startpos__1_;
28672 MenhirLib.EngineTypes.endp = _endpos__1_;
28673 MenhirLib.EngineTypes.next = _menhir_stack;
28674 };
28675 };
28676 };
28677 };
28678 };
28679 };
28680 };
28681 } = _menhir_stack in
28682 let ee : 'tv_is_expression = Obj.magic ee in
28683 let e : 'tv_exists = Obj.magic e in
28684 let a : 'tv_loption_disable_ = Obj.magic a in
28685 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28686 let d : 'tv_depends = Obj.magic d in
28687 let _startpos = _startpos__1_ in
28688 let _endpos = _endpos__8_ in
28689 let _v : (
28690# 154 "parser_cocci_menhir.mly"
28691 (Ast_cocci.rulename)
28692# 28693 "parser_cocci_menhir.ml"
28693 ) =
28694# 208 "parser_cocci_menhir.mly"
28695 ( P.make_generated_rule_name_result None d i a e ee )
28696# 28697 "parser_cocci_menhir.ml"
28697 in
28698 _menhir_env.MenhirLib.EngineTypes.stack <- {
28699 MenhirLib.EngineTypes.state = _menhir_s;
28700 MenhirLib.EngineTypes.semv = Obj.repr _v;
28701 MenhirLib.EngineTypes.startp = _startpos;
28702 MenhirLib.EngineTypes.endp = _endpos;
28703 MenhirLib.EngineTypes.next = _menhir_stack;
28704 });
28705 (fun _menhir_env ->
28706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28707 let {
28708 MenhirLib.EngineTypes.startp = _startpos__5_;
28709 MenhirLib.EngineTypes.endp = _endpos__5_;
28710 MenhirLib.EngineTypes.next = {
28711 MenhirLib.EngineTypes.semv = d;
28712 MenhirLib.EngineTypes.startp = _startpos_d_;
28713 MenhirLib.EngineTypes.endp = _endpos_d_;
28714 MenhirLib.EngineTypes.next = {
28715 MenhirLib.EngineTypes.semv = lang;
28716 MenhirLib.EngineTypes.startp = _startpos_lang_;
28717 MenhirLib.EngineTypes.endp = _endpos_lang_;
28718 MenhirLib.EngineTypes.next = {
28719 MenhirLib.EngineTypes.startp = _startpos__2_;
28720 MenhirLib.EngineTypes.endp = _endpos__2_;
28721 MenhirLib.EngineTypes.next = {
28722 MenhirLib.EngineTypes.state = _menhir_s;
28723 MenhirLib.EngineTypes.startp = _startpos__1_;
28724 MenhirLib.EngineTypes.endp = _endpos__1_;
28725 MenhirLib.EngineTypes.next = _menhir_stack;
28726 };
28727 };
28728 };
28729 };
28730 } = _menhir_stack in
28731 let d : 'tv_depends = Obj.magic d in
28732 let lang : 'tv_pure_ident = Obj.magic lang in
28733 let _startpos = _startpos__1_ in
28734 let _endpos = _endpos__5_ in
28735 let _v : (
28736# 154 "parser_cocci_menhir.mly"
28737 (Ast_cocci.rulename)
28738# 28739 "parser_cocci_menhir.ml"
28739 ) =
28740# 210 "parser_cocci_menhir.mly"
28741 ( P.make_script_rule_name_result lang d )
28742# 28743 "parser_cocci_menhir.ml"
28743 in
28744 _menhir_env.MenhirLib.EngineTypes.stack <- {
28745 MenhirLib.EngineTypes.state = _menhir_s;
28746 MenhirLib.EngineTypes.semv = Obj.repr _v;
28747 MenhirLib.EngineTypes.startp = _startpos;
28748 MenhirLib.EngineTypes.endp = _endpos;
28749 MenhirLib.EngineTypes.next = _menhir_stack;
28750 });
28751 (fun _menhir_env ->
28752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28753 let {
28754 MenhirLib.EngineTypes.startp = _startpos__5_;
28755 MenhirLib.EngineTypes.endp = _endpos__5_;
28756 MenhirLib.EngineTypes.next = {
28757 MenhirLib.EngineTypes.semv = d;
28758 MenhirLib.EngineTypes.startp = _startpos_d_;
28759 MenhirLib.EngineTypes.endp = _endpos_d_;
28760 MenhirLib.EngineTypes.next = {
28761 MenhirLib.EngineTypes.semv = lang;
28762 MenhirLib.EngineTypes.startp = _startpos_lang_;
28763 MenhirLib.EngineTypes.endp = _endpos_lang_;
28764 MenhirLib.EngineTypes.next = {
28765 MenhirLib.EngineTypes.startp = _startpos__2_;
28766 MenhirLib.EngineTypes.endp = _endpos__2_;
28767 MenhirLib.EngineTypes.next = {
28768 MenhirLib.EngineTypes.state = _menhir_s;
28769 MenhirLib.EngineTypes.startp = _startpos__1_;
28770 MenhirLib.EngineTypes.endp = _endpos__1_;
28771 MenhirLib.EngineTypes.next = _menhir_stack;
28772 };
28773 };
28774 };
28775 };
28776 } = _menhir_stack in
28777 let d : 'tv_depends = Obj.magic d in
28778 let lang : 'tv_pure_ident = Obj.magic lang in
28779 let _startpos = _startpos__1_ in
28780 let _endpos = _endpos__5_ in
28781 let _v : (
28782# 154 "parser_cocci_menhir.mly"
28783 (Ast_cocci.rulename)
28784# 28785 "parser_cocci_menhir.ml"
28785 ) =
28786# 212 "parser_cocci_menhir.mly"
28787 ( P.make_initial_script_rule_name_result lang d )
28788# 28789 "parser_cocci_menhir.ml"
28789 in
28790 _menhir_env.MenhirLib.EngineTypes.stack <- {
28791 MenhirLib.EngineTypes.state = _menhir_s;
28792 MenhirLib.EngineTypes.semv = Obj.repr _v;
28793 MenhirLib.EngineTypes.startp = _startpos;
28794 MenhirLib.EngineTypes.endp = _endpos;
28795 MenhirLib.EngineTypes.next = _menhir_stack;
28796 });
28797 (fun _menhir_env ->
28798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28799 let {
28800 MenhirLib.EngineTypes.startp = _startpos__5_;
28801 MenhirLib.EngineTypes.endp = _endpos__5_;
28802 MenhirLib.EngineTypes.next = {
28803 MenhirLib.EngineTypes.semv = d;
28804 MenhirLib.EngineTypes.startp = _startpos_d_;
28805 MenhirLib.EngineTypes.endp = _endpos_d_;
28806 MenhirLib.EngineTypes.next = {
28807 MenhirLib.EngineTypes.semv = lang;
28808 MenhirLib.EngineTypes.startp = _startpos_lang_;
28809 MenhirLib.EngineTypes.endp = _endpos_lang_;
28810 MenhirLib.EngineTypes.next = {
28811 MenhirLib.EngineTypes.startp = _startpos__2_;
28812 MenhirLib.EngineTypes.endp = _endpos__2_;
28813 MenhirLib.EngineTypes.next = {
28814 MenhirLib.EngineTypes.state = _menhir_s;
28815 MenhirLib.EngineTypes.startp = _startpos__1_;
28816 MenhirLib.EngineTypes.endp = _endpos__1_;
28817 MenhirLib.EngineTypes.next = _menhir_stack;
28818 };
28819 };
28820 };
28821 };
28822 } = _menhir_stack in
28823 let d : 'tv_depends = Obj.magic d in
28824 let lang : 'tv_pure_ident = Obj.magic lang in
28825 let _startpos = _startpos__1_ in
28826 let _endpos = _endpos__5_ in
28827 let _v : (
28828# 154 "parser_cocci_menhir.mly"
28829 (Ast_cocci.rulename)
28830# 28831 "parser_cocci_menhir.ml"
28831 ) =
28832# 214 "parser_cocci_menhir.mly"
28833 ( P.make_final_script_rule_name_result lang d )
28834# 28835 "parser_cocci_menhir.ml"
28835 in
28836 _menhir_env.MenhirLib.EngineTypes.stack <- {
28837 MenhirLib.EngineTypes.state = _menhir_s;
28838 MenhirLib.EngineTypes.semv = Obj.repr _v;
28839 MenhirLib.EngineTypes.startp = _startpos;
28840 MenhirLib.EngineTypes.endp = _endpos;
28841 MenhirLib.EngineTypes.next = _menhir_stack;
28842 });
28843 (fun _menhir_env ->
28844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28845 let {
28846 MenhirLib.EngineTypes.startp = _startpos__6_;
28847 MenhirLib.EngineTypes.endp = _endpos__6_;
28848 MenhirLib.EngineTypes.next = {
28849 MenhirLib.EngineTypes.semv = cocci;
28850 MenhirLib.EngineTypes.startp = _startpos_cocci_;
28851 MenhirLib.EngineTypes.endp = _endpos_cocci_;
28852 MenhirLib.EngineTypes.next = {
28853 MenhirLib.EngineTypes.startp = _startpos__4_;
28854 MenhirLib.EngineTypes.endp = _endpos__4_;
28855 MenhirLib.EngineTypes.next = {
28856 MenhirLib.EngineTypes.semv = _3;
28857 MenhirLib.EngineTypes.startp = _startpos__3_;
28858 MenhirLib.EngineTypes.endp = _endpos__3_;
28859 MenhirLib.EngineTypes.next = {
28860 MenhirLib.EngineTypes.startp = _startpos__2_;
28861 MenhirLib.EngineTypes.endp = _endpos__2_;
28862 MenhirLib.EngineTypes.next = {
28863 MenhirLib.EngineTypes.state = _menhir_s;
28864 MenhirLib.EngineTypes.semv = py;
28865 MenhirLib.EngineTypes.startp = _startpos_py_;
28866 MenhirLib.EngineTypes.endp = _endpos_py_;
28867 MenhirLib.EngineTypes.next = _menhir_stack;
28868 };
28869 };
28870 };
28871 };
28872 };
28873 } = _menhir_stack in
28874 let cocci : 'tv_pure_ident = Obj.magic cocci in
28875 let _3 : (
28876# 47 "parser_cocci_menhir.mly"
28877 (string)
28878# 28879 "parser_cocci_menhir.ml"
28879 ) = Obj.magic _3 in
28880 let py : 'tv_pure_ident = Obj.magic py in
28881 let _startpos = _startpos_py_ in
28882 let _endpos = _endpos__6_ in
28883 let _v : (
28884# 160 "parser_cocci_menhir.mly"
28885 (string * Ast_cocci.meta_name)
28886# 28887 "parser_cocci_menhir.ml"
28887 ) =
28888# 1995 "parser_cocci_menhir.mly"
28889 ( (P.id2name py, (_3, P.id2name cocci)) )
28890# 28891 "parser_cocci_menhir.ml"
28891 in
28892 _menhir_env.MenhirLib.EngineTypes.stack <- {
28893 MenhirLib.EngineTypes.state = _menhir_s;
28894 MenhirLib.EngineTypes.semv = Obj.repr _v;
28895 MenhirLib.EngineTypes.startp = _startpos;
28896 MenhirLib.EngineTypes.endp = _endpos;
28897 MenhirLib.EngineTypes.next = _menhir_stack;
28898 });
28899 (fun _menhir_env ->
28900 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28901 let {
28902 MenhirLib.EngineTypes.startp = _startpos__6_;
28903 MenhirLib.EngineTypes.endp = _endpos__6_;
28904 MenhirLib.EngineTypes.next = {
28905 MenhirLib.EngineTypes.semv = cocci;
28906 MenhirLib.EngineTypes.startp = _startpos_cocci_;
28907 MenhirLib.EngineTypes.endp = _endpos_cocci_;
28908 MenhirLib.EngineTypes.next = {
28909 MenhirLib.EngineTypes.startp = _startpos__4_;
28910 MenhirLib.EngineTypes.endp = _endpos__4_;
28911 MenhirLib.EngineTypes.next = {
28912 MenhirLib.EngineTypes.startp = _startpos__3_;
28913 MenhirLib.EngineTypes.endp = _endpos__3_;
28914 MenhirLib.EngineTypes.next = {
28915 MenhirLib.EngineTypes.startp = _startpos__2_;
28916 MenhirLib.EngineTypes.endp = _endpos__2_;
28917 MenhirLib.EngineTypes.next = {
28918 MenhirLib.EngineTypes.state = _menhir_s;
28919 MenhirLib.EngineTypes.semv = py;
28920 MenhirLib.EngineTypes.startp = _startpos_py_;
28921 MenhirLib.EngineTypes.endp = _endpos_py_;
28922 MenhirLib.EngineTypes.next = _menhir_stack;
28923 };
28924 };
28925 };
28926 };
28927 };
28928 } = _menhir_stack in
28929 let cocci : 'tv_pure_ident = Obj.magic cocci in
28930 let py : 'tv_pure_ident = Obj.magic py in
28931 let _startpos = _startpos_py_ in
28932 let _endpos = _endpos__6_ in
28933 let _v : (
28934# 160 "parser_cocci_menhir.mly"
28935 (string * Ast_cocci.meta_name)
28936# 28937 "parser_cocci_menhir.ml"
28937 ) =
28938# 1997 "parser_cocci_menhir.mly"
28939 ( (P.id2name py, ("virtual", P.id2name cocci)) )
28940# 28941 "parser_cocci_menhir.ml"
28941 in
28942 _menhir_env.MenhirLib.EngineTypes.stack <- {
28943 MenhirLib.EngineTypes.state = _menhir_s;
28944 MenhirLib.EngineTypes.semv = Obj.repr _v;
28945 MenhirLib.EngineTypes.startp = _startpos;
28946 MenhirLib.EngineTypes.endp = _endpos;
28947 MenhirLib.EngineTypes.next = _menhir_stack;
28948 });
28949 (fun _menhir_env ->
28950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28951 let {
28952 MenhirLib.EngineTypes.state = _menhir_s;
28953 MenhirLib.EngineTypes.semv = _1;
28954 MenhirLib.EngineTypes.startp = _startpos__1_;
28955 MenhirLib.EngineTypes.endp = _endpos__1_;
28956 MenhirLib.EngineTypes.next = _menhir_stack;
28957 } = _menhir_stack in
28958 let _1 : (
28959# 88 "parser_cocci_menhir.mly"
28960 (string * Data.clt)
28961# 28962 "parser_cocci_menhir.ml"
28962 ) = Obj.magic _1 in
28963 let _startpos = _startpos__1_ in
28964 let _endpos = _endpos__1_ in
28965 let _v : 'tv_seed_elem =
28966# 1460 "parser_cocci_menhir.mly"
28967 ( let (x,_) = _1 in Ast.SeedString x )
28968# 28969 "parser_cocci_menhir.ml"
28969 in
28970 _menhir_env.MenhirLib.EngineTypes.stack <- {
28971 MenhirLib.EngineTypes.state = _menhir_s;
28972 MenhirLib.EngineTypes.semv = Obj.repr _v;
28973 MenhirLib.EngineTypes.startp = _startpos;
28974 MenhirLib.EngineTypes.endp = _endpos;
28975 MenhirLib.EngineTypes.next = _menhir_stack;
28976 });
28977 (fun _menhir_env ->
28978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28979 let {
28980 MenhirLib.EngineTypes.state = _menhir_s;
28981 MenhirLib.EngineTypes.semv = _1;
28982 MenhirLib.EngineTypes.startp = _startpos__1_;
28983 MenhirLib.EngineTypes.endp = _endpos__1_;
28984 MenhirLib.EngineTypes.next = _menhir_stack;
28985 } = _menhir_stack in
28986 let _1 : (
28987# 62 "parser_cocci_menhir.mly"
28988 (Parse_aux.idinfo)
28989# 28990 "parser_cocci_menhir.ml"
28990 ) = Obj.magic _1 in
28991 let _startpos = _startpos__1_ in
28992 let _endpos = _endpos__1_ in
28993 let _v : 'tv_seed_elem =
28994# 1461 "parser_cocci_menhir.mly"
28995 ( let (x,_,_,_) = _1 in Ast.SeedId x )
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.semv = _3;
29009 MenhirLib.EngineTypes.startp = _startpos__3_;
29010 MenhirLib.EngineTypes.endp = _endpos__3_;
29011 MenhirLib.EngineTypes.next = {
29012 MenhirLib.EngineTypes.startp = _startpos__2_;
29013 MenhirLib.EngineTypes.endp = _endpos__2_;
29014 MenhirLib.EngineTypes.next = {
29015 MenhirLib.EngineTypes.state = _menhir_s;
29016 MenhirLib.EngineTypes.semv = _1;
29017 MenhirLib.EngineTypes.startp = _startpos__1_;
29018 MenhirLib.EngineTypes.endp = _endpos__1_;
29019 MenhirLib.EngineTypes.next = _menhir_stack;
29020 };
29021 };
29022 } = _menhir_stack in
29023 let _3 : 'tv_pure_ident = Obj.magic _3 in
29024 let _1 : (
29025# 47 "parser_cocci_menhir.mly"
29026 (string)
29027# 29028 "parser_cocci_menhir.ml"
29028 ) = Obj.magic _1 in
29029 let _startpos = _startpos__1_ in
29030 let _endpos = _endpos__3_ in
29031 let _v : 'tv_seed_elem =
29032# 1463 "parser_cocci_menhir.mly"
29033 ( let nm = (_1,P.id2name _3) in
29034 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
29035 Ast.SeedId nm )
29036# 29037 "parser_cocci_menhir.ml"
29037 in
29038 _menhir_env.MenhirLib.EngineTypes.stack <- {
29039 MenhirLib.EngineTypes.state = _menhir_s;
29040 MenhirLib.EngineTypes.semv = Obj.repr _v;
29041 MenhirLib.EngineTypes.startp = _startpos;
29042 MenhirLib.EngineTypes.endp = _endpos;
29043 MenhirLib.EngineTypes.next = _menhir_stack;
29044 });
29045 (fun _menhir_env ->
29046 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29047 let {
29048 MenhirLib.EngineTypes.state = _menhir_s;
29049 MenhirLib.EngineTypes.semv = x;
29050 MenhirLib.EngineTypes.startp = _startpos_x_;
29051 MenhirLib.EngineTypes.endp = _endpos_x_;
29052 MenhirLib.EngineTypes.next = _menhir_stack;
29053 } = _menhir_stack in
29054 let x : (
29055# 88 "parser_cocci_menhir.mly"
29056 (string * Data.clt)
29057# 29058 "parser_cocci_menhir.ml"
29058 ) = Obj.magic x in
29059 let _startpos = _startpos_x_ in
29060 let _endpos = _endpos_x_ in
29061 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
29062# 144 "standard.mly"
29063 ( [ x ] )
29064# 29065 "parser_cocci_menhir.ml"
29065 in
29066 _menhir_env.MenhirLib.EngineTypes.stack <- {
29067 MenhirLib.EngineTypes.state = _menhir_s;
29068 MenhirLib.EngineTypes.semv = Obj.repr _v;
29069 MenhirLib.EngineTypes.startp = _startpos;
29070 MenhirLib.EngineTypes.endp = _endpos;
29071 MenhirLib.EngineTypes.next = _menhir_stack;
29072 });
29073 (fun _menhir_env ->
29074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29075 let {
29076 MenhirLib.EngineTypes.semv = xs;
29077 MenhirLib.EngineTypes.startp = _startpos_xs_;
29078 MenhirLib.EngineTypes.endp = _endpos_xs_;
29079 MenhirLib.EngineTypes.next = {
29080 MenhirLib.EngineTypes.startp = _startpos__2_;
29081 MenhirLib.EngineTypes.endp = _endpos__2_;
29082 MenhirLib.EngineTypes.next = {
29083 MenhirLib.EngineTypes.state = _menhir_s;
29084 MenhirLib.EngineTypes.semv = x;
29085 MenhirLib.EngineTypes.startp = _startpos_x_;
29086 MenhirLib.EngineTypes.endp = _endpos_x_;
29087 MenhirLib.EngineTypes.next = _menhir_stack;
29088 };
29089 };
29090 } = _menhir_stack in
29091 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
29092 let x : (
29093# 88 "parser_cocci_menhir.mly"
29094 (string * Data.clt)
29095# 29096 "parser_cocci_menhir.ml"
29096 ) = Obj.magic x in
29097 let _startpos = _startpos_x_ in
29098 let _endpos = _endpos_xs_ in
29099 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
29100# 146 "standard.mly"
29101 ( x :: xs )
29102# 29103 "parser_cocci_menhir.ml"
29103 in
29104 _menhir_env.MenhirLib.EngineTypes.stack <- {
29105 MenhirLib.EngineTypes.state = _menhir_s;
29106 MenhirLib.EngineTypes.semv = Obj.repr _v;
29107 MenhirLib.EngineTypes.startp = _startpos;
29108 MenhirLib.EngineTypes.endp = _endpos;
29109 MenhirLib.EngineTypes.next = _menhir_stack;
29110 });
29111 (fun _menhir_env ->
29112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29113 let {
29114 MenhirLib.EngineTypes.state = _menhir_s;
29115 MenhirLib.EngineTypes.semv = x;
29116 MenhirLib.EngineTypes.startp = _startpos_x_;
29117 MenhirLib.EngineTypes.endp = _endpos_x_;
29118 MenhirLib.EngineTypes.next = _menhir_stack;
29119 } = _menhir_stack in
29120 let x : 'tv_any_strict = Obj.magic x in
29121 let _startpos = _startpos_x_ in
29122 let _endpos = _endpos_x_ in
29123 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
29124# 144 "standard.mly"
29125 ( [ x ] )
29126# 29127 "parser_cocci_menhir.ml"
29127 in
29128 _menhir_env.MenhirLib.EngineTypes.stack <- {
29129 MenhirLib.EngineTypes.state = _menhir_s;
29130 MenhirLib.EngineTypes.semv = Obj.repr _v;
29131 MenhirLib.EngineTypes.startp = _startpos;
29132 MenhirLib.EngineTypes.endp = _endpos;
29133 MenhirLib.EngineTypes.next = _menhir_stack;
29134 });
29135 (fun _menhir_env ->
29136 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29137 let {
29138 MenhirLib.EngineTypes.semv = xs;
29139 MenhirLib.EngineTypes.startp = _startpos_xs_;
29140 MenhirLib.EngineTypes.endp = _endpos_xs_;
29141 MenhirLib.EngineTypes.next = {
29142 MenhirLib.EngineTypes.startp = _startpos__2_;
29143 MenhirLib.EngineTypes.endp = _endpos__2_;
29144 MenhirLib.EngineTypes.next = {
29145 MenhirLib.EngineTypes.state = _menhir_s;
29146 MenhirLib.EngineTypes.semv = x;
29147 MenhirLib.EngineTypes.startp = _startpos_x_;
29148 MenhirLib.EngineTypes.endp = _endpos_x_;
29149 MenhirLib.EngineTypes.next = _menhir_stack;
29150 };
29151 };
29152 } = _menhir_stack in
29153 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
29154 let x : 'tv_any_strict = Obj.magic x in
29155 let _startpos = _startpos_x_ in
29156 let _endpos = _endpos_xs_ in
29157 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
29158# 146 "standard.mly"
29159 ( x :: xs )
29160# 29161 "parser_cocci_menhir.ml"
29161 in
29162 _menhir_env.MenhirLib.EngineTypes.stack <- {
29163 MenhirLib.EngineTypes.state = _menhir_s;
29164 MenhirLib.EngineTypes.semv = Obj.repr _v;
29165 MenhirLib.EngineTypes.startp = _startpos;
29166 MenhirLib.EngineTypes.endp = _endpos;
29167 MenhirLib.EngineTypes.next = _menhir_stack;
29168 });
29169 (fun _menhir_env ->
29170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29171 let {
29172 MenhirLib.EngineTypes.state = _menhir_s;
29173 MenhirLib.EngineTypes.semv = x;
29174 MenhirLib.EngineTypes.startp = _startpos_x_;
29175 MenhirLib.EngineTypes.endp = _endpos_x_;
29176 MenhirLib.EngineTypes.next = _menhir_stack;
29177 } = _menhir_stack in
29178 let x : 'tv_ctype = Obj.magic x in
29179 let _startpos = _startpos_x_ in
29180 let _endpos = _endpos_x_ in
29181 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
29182# 144 "standard.mly"
29183 ( [ x ] )
29184# 29185 "parser_cocci_menhir.ml"
29185 in
29186 _menhir_env.MenhirLib.EngineTypes.stack <- {
29187 MenhirLib.EngineTypes.state = _menhir_s;
29188 MenhirLib.EngineTypes.semv = Obj.repr _v;
29189 MenhirLib.EngineTypes.startp = _startpos;
29190 MenhirLib.EngineTypes.endp = _endpos;
29191 MenhirLib.EngineTypes.next = _menhir_stack;
29192 });
29193 (fun _menhir_env ->
29194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29195 let {
29196 MenhirLib.EngineTypes.semv = xs;
29197 MenhirLib.EngineTypes.startp = _startpos_xs_;
29198 MenhirLib.EngineTypes.endp = _endpos_xs_;
29199 MenhirLib.EngineTypes.next = {
29200 MenhirLib.EngineTypes.startp = _startpos__2_;
29201 MenhirLib.EngineTypes.endp = _endpos__2_;
29202 MenhirLib.EngineTypes.next = {
29203 MenhirLib.EngineTypes.state = _menhir_s;
29204 MenhirLib.EngineTypes.semv = x;
29205 MenhirLib.EngineTypes.startp = _startpos_x_;
29206 MenhirLib.EngineTypes.endp = _endpos_x_;
29207 MenhirLib.EngineTypes.next = _menhir_stack;
29208 };
29209 };
29210 } = _menhir_stack in
29211 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
29212 let x : 'tv_ctype = Obj.magic x in
29213 let _startpos = _startpos_x_ in
29214 let _endpos = _endpos_xs_ in
29215 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
29216# 146 "standard.mly"
29217 ( x :: xs )
29218# 29219 "parser_cocci_menhir.ml"
29219 in
29220 _menhir_env.MenhirLib.EngineTypes.stack <- {
29221 MenhirLib.EngineTypes.state = _menhir_s;
29222 MenhirLib.EngineTypes.semv = Obj.repr _v;
29223 MenhirLib.EngineTypes.startp = _startpos;
29224 MenhirLib.EngineTypes.endp = _endpos;
29225 MenhirLib.EngineTypes.next = _menhir_stack;
29226 });
29227 (fun _menhir_env ->
29228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29229 let {
29230 MenhirLib.EngineTypes.state = _menhir_s;
29231 MenhirLib.EngineTypes.semv = x;
29232 MenhirLib.EngineTypes.startp = _startpos_x_;
29233 MenhirLib.EngineTypes.endp = _endpos_x_;
29234 MenhirLib.EngineTypes.next = _menhir_stack;
29235 } = _menhir_stack in
29236 let x : 'tv_d_ident = Obj.magic x in
29237 let _startpos = _startpos_x_ in
29238 let _endpos = _endpos_x_ in
29239 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
29240# 144 "standard.mly"
29241 ( [ x ] )
29242# 29243 "parser_cocci_menhir.ml"
29243 in
29244 _menhir_env.MenhirLib.EngineTypes.stack <- {
29245 MenhirLib.EngineTypes.state = _menhir_s;
29246 MenhirLib.EngineTypes.semv = Obj.repr _v;
29247 MenhirLib.EngineTypes.startp = _startpos;
29248 MenhirLib.EngineTypes.endp = _endpos;
29249 MenhirLib.EngineTypes.next = _menhir_stack;
29250 });
29251 (fun _menhir_env ->
29252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29253 let {
29254 MenhirLib.EngineTypes.semv = xs;
29255 MenhirLib.EngineTypes.startp = _startpos_xs_;
29256 MenhirLib.EngineTypes.endp = _endpos_xs_;
29257 MenhirLib.EngineTypes.next = {
29258 MenhirLib.EngineTypes.startp = _startpos__2_;
29259 MenhirLib.EngineTypes.endp = _endpos__2_;
29260 MenhirLib.EngineTypes.next = {
29261 MenhirLib.EngineTypes.state = _menhir_s;
29262 MenhirLib.EngineTypes.semv = x;
29263 MenhirLib.EngineTypes.startp = _startpos_x_;
29264 MenhirLib.EngineTypes.endp = _endpos_x_;
29265 MenhirLib.EngineTypes.next = _menhir_stack;
29266 };
29267 };
29268 } = _menhir_stack in
29269 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
29270 let x : 'tv_d_ident = Obj.magic x in
29271 let _startpos = _startpos_x_ in
29272 let _endpos = _endpos_xs_ in
29273 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
29274# 146 "standard.mly"
29275 ( x :: xs )
29276# 29277 "parser_cocci_menhir.ml"
29277 in
29278 _menhir_env.MenhirLib.EngineTypes.stack <- {
29279 MenhirLib.EngineTypes.state = _menhir_s;
29280 MenhirLib.EngineTypes.semv = Obj.repr _v;
29281 MenhirLib.EngineTypes.startp = _startpos;
29282 MenhirLib.EngineTypes.endp = _endpos;
29283 MenhirLib.EngineTypes.next = _menhir_stack;
29284 });
29285 (fun _menhir_env ->
29286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29287 let {
29288 MenhirLib.EngineTypes.state = _menhir_s;
29289 MenhirLib.EngineTypes.semv = x;
29290 MenhirLib.EngineTypes.startp = _startpos_x_;
29291 MenhirLib.EngineTypes.endp = _endpos_x_;
29292 MenhirLib.EngineTypes.next = _menhir_stack;
29293 } = _menhir_stack in
29294 let x : 'tv_ident_or_const = Obj.magic x in
29295 let _startpos = _startpos_x_ in
29296 let _endpos = _endpos_x_ in
29297 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29298# 144 "standard.mly"
29299 ( [ x ] )
29300# 29301 "parser_cocci_menhir.ml"
29301 in
29302 _menhir_env.MenhirLib.EngineTypes.stack <- {
29303 MenhirLib.EngineTypes.state = _menhir_s;
29304 MenhirLib.EngineTypes.semv = Obj.repr _v;
29305 MenhirLib.EngineTypes.startp = _startpos;
29306 MenhirLib.EngineTypes.endp = _endpos;
29307 MenhirLib.EngineTypes.next = _menhir_stack;
29308 });
29309 (fun _menhir_env ->
29310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29311 let {
29312 MenhirLib.EngineTypes.semv = xs;
29313 MenhirLib.EngineTypes.startp = _startpos_xs_;
29314 MenhirLib.EngineTypes.endp = _endpos_xs_;
29315 MenhirLib.EngineTypes.next = {
29316 MenhirLib.EngineTypes.startp = _startpos__2_;
29317 MenhirLib.EngineTypes.endp = _endpos__2_;
29318 MenhirLib.EngineTypes.next = {
29319 MenhirLib.EngineTypes.state = _menhir_s;
29320 MenhirLib.EngineTypes.semv = x;
29321 MenhirLib.EngineTypes.startp = _startpos_x_;
29322 MenhirLib.EngineTypes.endp = _endpos_x_;
29323 MenhirLib.EngineTypes.next = _menhir_stack;
29324 };
29325 };
29326 } = _menhir_stack in
29327 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
29328 let x : 'tv_ident_or_const = Obj.magic x in
29329 let _startpos = _startpos_x_ in
29330 let _endpos = _endpos_xs_ in
29331 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29332# 146 "standard.mly"
29333 ( x :: xs )
29334# 29335 "parser_cocci_menhir.ml"
29335 in
29336 _menhir_env.MenhirLib.EngineTypes.stack <- {
29337 MenhirLib.EngineTypes.state = _menhir_s;
29338 MenhirLib.EngineTypes.semv = Obj.repr _v;
29339 MenhirLib.EngineTypes.startp = _startpos;
29340 MenhirLib.EngineTypes.endp = _endpos;
29341 MenhirLib.EngineTypes.next = _menhir_stack;
29342 });
29343 (fun _menhir_env ->
29344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29345 let {
29346 MenhirLib.EngineTypes.state = _menhir_s;
29347 MenhirLib.EngineTypes.semv = x;
29348 MenhirLib.EngineTypes.startp = _startpos_x_;
29349 MenhirLib.EngineTypes.endp = _endpos_x_;
29350 MenhirLib.EngineTypes.next = _menhir_stack;
29351 } = _menhir_stack in
29352 let x : 'tv_meta_ident = Obj.magic x in
29353 let _startpos = _startpos_x_ in
29354 let _endpos = _endpos_x_ in
29355 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29356# 144 "standard.mly"
29357 ( [ x ] )
29358# 29359 "parser_cocci_menhir.ml"
29359 in
29360 _menhir_env.MenhirLib.EngineTypes.stack <- {
29361 MenhirLib.EngineTypes.state = _menhir_s;
29362 MenhirLib.EngineTypes.semv = Obj.repr _v;
29363 MenhirLib.EngineTypes.startp = _startpos;
29364 MenhirLib.EngineTypes.endp = _endpos;
29365 MenhirLib.EngineTypes.next = _menhir_stack;
29366 });
29367 (fun _menhir_env ->
29368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29369 let {
29370 MenhirLib.EngineTypes.semv = xs;
29371 MenhirLib.EngineTypes.startp = _startpos_xs_;
29372 MenhirLib.EngineTypes.endp = _endpos_xs_;
29373 MenhirLib.EngineTypes.next = {
29374 MenhirLib.EngineTypes.startp = _startpos__2_;
29375 MenhirLib.EngineTypes.endp = _endpos__2_;
29376 MenhirLib.EngineTypes.next = {
29377 MenhirLib.EngineTypes.state = _menhir_s;
29378 MenhirLib.EngineTypes.semv = x;
29379 MenhirLib.EngineTypes.startp = _startpos_x_;
29380 MenhirLib.EngineTypes.endp = _endpos_x_;
29381 MenhirLib.EngineTypes.next = _menhir_stack;
29382 };
29383 };
29384 } = _menhir_stack in
29385 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
29386 let x : 'tv_meta_ident = Obj.magic x in
29387 let _startpos = _startpos_x_ in
29388 let _endpos = _endpos_xs_ in
29389 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29390# 146 "standard.mly"
29391 ( x :: xs )
29392# 29393 "parser_cocci_menhir.ml"
29393 in
29394 _menhir_env.MenhirLib.EngineTypes.stack <- {
29395 MenhirLib.EngineTypes.state = _menhir_s;
29396 MenhirLib.EngineTypes.semv = Obj.repr _v;
29397 MenhirLib.EngineTypes.startp = _startpos;
29398 MenhirLib.EngineTypes.endp = _endpos;
29399 MenhirLib.EngineTypes.next = _menhir_stack;
29400 });
29401 (fun _menhir_env ->
29402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29403 let {
29404 MenhirLib.EngineTypes.state = _menhir_s;
29405 MenhirLib.EngineTypes.semv = x;
29406 MenhirLib.EngineTypes.startp = _startpos_x_;
29407 MenhirLib.EngineTypes.endp = _endpos_x_;
29408 MenhirLib.EngineTypes.next = _menhir_stack;
29409 } = _menhir_stack in
29410 let x : 'tv_pure_ident = Obj.magic x in
29411 let _startpos = _startpos_x_ in
29412 let _endpos = _endpos_x_ in
29413 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29414# 144 "standard.mly"
29415 ( [ x ] )
29416# 29417 "parser_cocci_menhir.ml"
29417 in
29418 _menhir_env.MenhirLib.EngineTypes.stack <- {
29419 MenhirLib.EngineTypes.state = _menhir_s;
29420 MenhirLib.EngineTypes.semv = Obj.repr _v;
29421 MenhirLib.EngineTypes.startp = _startpos;
29422 MenhirLib.EngineTypes.endp = _endpos;
29423 MenhirLib.EngineTypes.next = _menhir_stack;
29424 });
29425 (fun _menhir_env ->
29426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29427 let {
29428 MenhirLib.EngineTypes.semv = xs;
29429 MenhirLib.EngineTypes.startp = _startpos_xs_;
29430 MenhirLib.EngineTypes.endp = _endpos_xs_;
29431 MenhirLib.EngineTypes.next = {
29432 MenhirLib.EngineTypes.startp = _startpos__2_;
29433 MenhirLib.EngineTypes.endp = _endpos__2_;
29434 MenhirLib.EngineTypes.next = {
29435 MenhirLib.EngineTypes.state = _menhir_s;
29436 MenhirLib.EngineTypes.semv = x;
29437 MenhirLib.EngineTypes.startp = _startpos_x_;
29438 MenhirLib.EngineTypes.endp = _endpos_x_;
29439 MenhirLib.EngineTypes.next = _menhir_stack;
29440 };
29441 };
29442 } = _menhir_stack in
29443 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
29444 let x : 'tv_pure_ident = Obj.magic x in
29445 let _startpos = _startpos_x_ in
29446 let _endpos = _endpos_xs_ in
29447 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29448# 146 "standard.mly"
29449 ( x :: xs )
29450# 29451 "parser_cocci_menhir.ml"
29451 in
29452 _menhir_env.MenhirLib.EngineTypes.stack <- {
29453 MenhirLib.EngineTypes.state = _menhir_s;
29454 MenhirLib.EngineTypes.semv = Obj.repr _v;
29455 MenhirLib.EngineTypes.startp = _startpos;
29456 MenhirLib.EngineTypes.endp = _endpos;
29457 MenhirLib.EngineTypes.next = _menhir_stack;
29458 });
29459 (fun _menhir_env ->
29460 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29461 let {
29462 MenhirLib.EngineTypes.state = _menhir_s;
29463 MenhirLib.EngineTypes.semv = x;
29464 MenhirLib.EngineTypes.startp = _startpos_x_;
29465 MenhirLib.EngineTypes.endp = _endpos_x_;
29466 MenhirLib.EngineTypes.next = _menhir_stack;
29467 } = _menhir_stack in
29468 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29469 let _startpos = _startpos_x_ in
29470 let _endpos = _endpos_x_ in
29471 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29472# 144 "standard.mly"
29473 ( [ x ] )
29474# 29475 "parser_cocci_menhir.ml"
29475 in
29476 _menhir_env.MenhirLib.EngineTypes.stack <- {
29477 MenhirLib.EngineTypes.state = _menhir_s;
29478 MenhirLib.EngineTypes.semv = Obj.repr _v;
29479 MenhirLib.EngineTypes.startp = _startpos;
29480 MenhirLib.EngineTypes.endp = _endpos;
29481 MenhirLib.EngineTypes.next = _menhir_stack;
29482 });
29483 (fun _menhir_env ->
29484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29485 let {
29486 MenhirLib.EngineTypes.semv = xs;
29487 MenhirLib.EngineTypes.startp = _startpos_xs_;
29488 MenhirLib.EngineTypes.endp = _endpos_xs_;
29489 MenhirLib.EngineTypes.next = {
29490 MenhirLib.EngineTypes.startp = _startpos__2_;
29491 MenhirLib.EngineTypes.endp = _endpos__2_;
29492 MenhirLib.EngineTypes.next = {
29493 MenhirLib.EngineTypes.state = _menhir_s;
29494 MenhirLib.EngineTypes.semv = x;
29495 MenhirLib.EngineTypes.startp = _startpos_x_;
29496 MenhirLib.EngineTypes.endp = _endpos_x_;
29497 MenhirLib.EngineTypes.next = _menhir_stack;
29498 };
29499 };
29500 } = _menhir_stack in
29501 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
29502 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29503 let _startpos = _startpos_x_ in
29504 let _endpos = _endpos_xs_ in
29505 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29506# 146 "standard.mly"
29507 ( x :: xs )
29508# 29509 "parser_cocci_menhir.ml"
29509 in
29510 _menhir_env.MenhirLib.EngineTypes.stack <- {
29511 MenhirLib.EngineTypes.state = _menhir_s;
29512 MenhirLib.EngineTypes.semv = Obj.repr _v;
29513 MenhirLib.EngineTypes.startp = _startpos;
29514 MenhirLib.EngineTypes.endp = _endpos;
29515 MenhirLib.EngineTypes.next = _menhir_stack;
29516 });
29517 (fun _menhir_env ->
29518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29519 let {
29520 MenhirLib.EngineTypes.state = _menhir_s;
29521 MenhirLib.EngineTypes.semv = x;
29522 MenhirLib.EngineTypes.startp = _startpos_x_;
29523 MenhirLib.EngineTypes.endp = _endpos_x_;
29524 MenhirLib.EngineTypes.next = _menhir_stack;
29525 } = _menhir_stack in
29526 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
29527 let _startpos = _startpos_x_ in
29528 let _endpos = _endpos_x_ in
29529 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
29530# 144 "standard.mly"
29531 ( [ x ] )
29532# 29533 "parser_cocci_menhir.ml"
29533 in
29534 _menhir_env.MenhirLib.EngineTypes.stack <- {
29535 MenhirLib.EngineTypes.state = _menhir_s;
29536 MenhirLib.EngineTypes.semv = Obj.repr _v;
29537 MenhirLib.EngineTypes.startp = _startpos;
29538 MenhirLib.EngineTypes.endp = _endpos;
29539 MenhirLib.EngineTypes.next = _menhir_stack;
29540 });
29541 (fun _menhir_env ->
29542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29543 let {
29544 MenhirLib.EngineTypes.semv = xs;
29545 MenhirLib.EngineTypes.startp = _startpos_xs_;
29546 MenhirLib.EngineTypes.endp = _endpos_xs_;
29547 MenhirLib.EngineTypes.next = {
29548 MenhirLib.EngineTypes.startp = _startpos__2_;
29549 MenhirLib.EngineTypes.endp = _endpos__2_;
29550 MenhirLib.EngineTypes.next = {
29551 MenhirLib.EngineTypes.state = _menhir_s;
29552 MenhirLib.EngineTypes.semv = x;
29553 MenhirLib.EngineTypes.startp = _startpos_x_;
29554 MenhirLib.EngineTypes.endp = _endpos_x_;
29555 MenhirLib.EngineTypes.next = _menhir_stack;
29556 };
29557 };
29558 } = _menhir_stack in
29559 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic xs in
29560 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
29561 let _startpos = _startpos_x_ in
29562 let _endpos = _endpos_xs_ in
29563 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ =
29564# 146 "standard.mly"
29565 ( x :: xs )
29566# 29567 "parser_cocci_menhir.ml"
29567 in
29568 _menhir_env.MenhirLib.EngineTypes.stack <- {
29569 MenhirLib.EngineTypes.state = _menhir_s;
29570 MenhirLib.EngineTypes.semv = Obj.repr _v;
29571 MenhirLib.EngineTypes.startp = _startpos;
29572 MenhirLib.EngineTypes.endp = _endpos;
29573 MenhirLib.EngineTypes.next = _menhir_stack;
29574 });
29575 (fun _menhir_env ->
29576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29577 let {
29578 MenhirLib.EngineTypes.state = _menhir_s;
29579 MenhirLib.EngineTypes.semv = x;
29580 MenhirLib.EngineTypes.startp = _startpos_x_;
29581 MenhirLib.EngineTypes.endp = _endpos_x_;
29582 MenhirLib.EngineTypes.next = _menhir_stack;
29583 } = _menhir_stack in
29584 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29585 let _startpos = _startpos_x_ in
29586 let _endpos = _endpos_x_ in
29587 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29588# 144 "standard.mly"
29589 ( [ x ] )
29590# 29591 "parser_cocci_menhir.ml"
29591 in
29592 _menhir_env.MenhirLib.EngineTypes.stack <- {
29593 MenhirLib.EngineTypes.state = _menhir_s;
29594 MenhirLib.EngineTypes.semv = Obj.repr _v;
29595 MenhirLib.EngineTypes.startp = _startpos;
29596 MenhirLib.EngineTypes.endp = _endpos;
29597 MenhirLib.EngineTypes.next = _menhir_stack;
29598 });
29599 (fun _menhir_env ->
29600 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29601 let {
29602 MenhirLib.EngineTypes.semv = xs;
29603 MenhirLib.EngineTypes.startp = _startpos_xs_;
29604 MenhirLib.EngineTypes.endp = _endpos_xs_;
29605 MenhirLib.EngineTypes.next = {
29606 MenhirLib.EngineTypes.startp = _startpos__2_;
29607 MenhirLib.EngineTypes.endp = _endpos__2_;
29608 MenhirLib.EngineTypes.next = {
29609 MenhirLib.EngineTypes.state = _menhir_s;
29610 MenhirLib.EngineTypes.semv = x;
29611 MenhirLib.EngineTypes.startp = _startpos_x_;
29612 MenhirLib.EngineTypes.endp = _endpos_x_;
29613 MenhirLib.EngineTypes.next = _menhir_stack;
29614 };
29615 };
29616 } = _menhir_stack in
29617 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
29618 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29619 let _startpos = _startpos_x_ in
29620 let _endpos = _endpos_xs_ in
29621 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29622# 146 "standard.mly"
29623 ( x :: xs )
29624# 29625 "parser_cocci_menhir.ml"
29625 in
29626 _menhir_env.MenhirLib.EngineTypes.stack <- {
29627 MenhirLib.EngineTypes.state = _menhir_s;
29628 MenhirLib.EngineTypes.semv = Obj.repr _v;
29629 MenhirLib.EngineTypes.startp = _startpos;
29630 MenhirLib.EngineTypes.endp = _endpos;
29631 MenhirLib.EngineTypes.next = _menhir_stack;
29632 });
29633 (fun _menhir_env ->
29634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29635 let {
29636 MenhirLib.EngineTypes.state = _menhir_s;
29637 MenhirLib.EngineTypes.semv = x;
29638 MenhirLib.EngineTypes.startp = _startpos_x_;
29639 MenhirLib.EngineTypes.endp = _endpos_x_;
29640 MenhirLib.EngineTypes.next = _menhir_stack;
29641 } = _menhir_stack in
29642 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
29643 let _startpos = _startpos_x_ in
29644 let _endpos = _endpos_x_ in
29645 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
29646# 144 "standard.mly"
29647 ( [ x ] )
29648# 29649 "parser_cocci_menhir.ml"
29649 in
29650 _menhir_env.MenhirLib.EngineTypes.stack <- {
29651 MenhirLib.EngineTypes.state = _menhir_s;
29652 MenhirLib.EngineTypes.semv = Obj.repr _v;
29653 MenhirLib.EngineTypes.startp = _startpos;
29654 MenhirLib.EngineTypes.endp = _endpos;
29655 MenhirLib.EngineTypes.next = _menhir_stack;
29656 });
29657 (fun _menhir_env ->
29658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29659 let {
29660 MenhirLib.EngineTypes.semv = xs;
29661 MenhirLib.EngineTypes.startp = _startpos_xs_;
29662 MenhirLib.EngineTypes.endp = _endpos_xs_;
29663 MenhirLib.EngineTypes.next = {
29664 MenhirLib.EngineTypes.startp = _startpos__2_;
29665 MenhirLib.EngineTypes.endp = _endpos__2_;
29666 MenhirLib.EngineTypes.next = {
29667 MenhirLib.EngineTypes.state = _menhir_s;
29668 MenhirLib.EngineTypes.semv = x;
29669 MenhirLib.EngineTypes.startp = _startpos_x_;
29670 MenhirLib.EngineTypes.endp = _endpos_x_;
29671 MenhirLib.EngineTypes.next = _menhir_stack;
29672 };
29673 };
29674 } = _menhir_stack in
29675 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
29676 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
29677 let _startpos = _startpos_x_ in
29678 let _endpos = _endpos_xs_ in
29679 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
29680# 146 "standard.mly"
29681 ( x :: xs )
29682# 29683 "parser_cocci_menhir.ml"
29683 in
29684 _menhir_env.MenhirLib.EngineTypes.stack <- {
29685 MenhirLib.EngineTypes.state = _menhir_s;
29686 MenhirLib.EngineTypes.semv = Obj.repr _v;
29687 MenhirLib.EngineTypes.startp = _startpos;
29688 MenhirLib.EngineTypes.endp = _endpos;
29689 MenhirLib.EngineTypes.next = _menhir_stack;
29690 });
29691 (fun _menhir_env ->
29692 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29693 let {
29694 MenhirLib.EngineTypes.state = _menhir_s;
29695 MenhirLib.EngineTypes.semv = x;
29696 MenhirLib.EngineTypes.startp = _startpos_x_;
29697 MenhirLib.EngineTypes.endp = _endpos_x_;
29698 MenhirLib.EngineTypes.next = _menhir_stack;
29699 } = _menhir_stack in
29700 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29701 let _startpos = _startpos_x_ in
29702 let _endpos = _endpos_x_ in
29703 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29704# 144 "standard.mly"
29705 ( [ x ] )
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.semv = xs;
29719 MenhirLib.EngineTypes.startp = _startpos_xs_;
29720 MenhirLib.EngineTypes.endp = _endpos_xs_;
29721 MenhirLib.EngineTypes.next = {
29722 MenhirLib.EngineTypes.startp = _startpos__2_;
29723 MenhirLib.EngineTypes.endp = _endpos__2_;
29724 MenhirLib.EngineTypes.next = {
29725 MenhirLib.EngineTypes.state = _menhir_s;
29726 MenhirLib.EngineTypes.semv = x;
29727 MenhirLib.EngineTypes.startp = _startpos_x_;
29728 MenhirLib.EngineTypes.endp = _endpos_x_;
29729 MenhirLib.EngineTypes.next = _menhir_stack;
29730 };
29731 };
29732 } = _menhir_stack in
29733 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
29734 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29735 let _startpos = _startpos_x_ in
29736 let _endpos = _endpos_xs_ in
29737 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29738# 146 "standard.mly"
29739 ( x :: xs )
29740# 29741 "parser_cocci_menhir.ml"
29741 in
29742 _menhir_env.MenhirLib.EngineTypes.stack <- {
29743 MenhirLib.EngineTypes.state = _menhir_s;
29744 MenhirLib.EngineTypes.semv = Obj.repr _v;
29745 MenhirLib.EngineTypes.startp = _startpos;
29746 MenhirLib.EngineTypes.endp = _endpos;
29747 MenhirLib.EngineTypes.next = _menhir_stack;
29748 });
29749 (fun _menhir_env ->
29750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29751 let {
29752 MenhirLib.EngineTypes.state = _menhir_s;
29753 MenhirLib.EngineTypes.semv = x;
29754 MenhirLib.EngineTypes.startp = _startpos_x_;
29755 MenhirLib.EngineTypes.endp = _endpos_x_;
29756 MenhirLib.EngineTypes.next = _menhir_stack;
29757 } = _menhir_stack in
29758 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
29759 let _startpos = _startpos_x_ in
29760 let _endpos = _endpos_x_ in
29761 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
29762# 144 "standard.mly"
29763 ( [ x ] )
29764# 29765 "parser_cocci_menhir.ml"
29765 in
29766 _menhir_env.MenhirLib.EngineTypes.stack <- {
29767 MenhirLib.EngineTypes.state = _menhir_s;
29768 MenhirLib.EngineTypes.semv = Obj.repr _v;
29769 MenhirLib.EngineTypes.startp = _startpos;
29770 MenhirLib.EngineTypes.endp = _endpos;
29771 MenhirLib.EngineTypes.next = _menhir_stack;
29772 });
29773 (fun _menhir_env ->
29774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29775 let {
29776 MenhirLib.EngineTypes.semv = xs;
29777 MenhirLib.EngineTypes.startp = _startpos_xs_;
29778 MenhirLib.EngineTypes.endp = _endpos_xs_;
29779 MenhirLib.EngineTypes.next = {
29780 MenhirLib.EngineTypes.startp = _startpos__2_;
29781 MenhirLib.EngineTypes.endp = _endpos__2_;
29782 MenhirLib.EngineTypes.next = {
29783 MenhirLib.EngineTypes.state = _menhir_s;
29784 MenhirLib.EngineTypes.semv = x;
29785 MenhirLib.EngineTypes.startp = _startpos_x_;
29786 MenhirLib.EngineTypes.endp = _endpos_x_;
29787 MenhirLib.EngineTypes.next = _menhir_stack;
29788 };
29789 };
29790 } = _menhir_stack in
29791 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic xs in
29792 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
29793 let _startpos = _startpos_x_ in
29794 let _endpos = _endpos_xs_ in
29795 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ =
29796# 146 "standard.mly"
29797 ( x :: xs )
29798# 29799 "parser_cocci_menhir.ml"
29799 in
29800 _menhir_env.MenhirLib.EngineTypes.stack <- {
29801 MenhirLib.EngineTypes.state = _menhir_s;
29802 MenhirLib.EngineTypes.semv = Obj.repr _v;
29803 MenhirLib.EngineTypes.startp = _startpos;
29804 MenhirLib.EngineTypes.endp = _endpos;
29805 MenhirLib.EngineTypes.next = _menhir_stack;
29806 });
29807 (fun _menhir_env ->
29808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29809 let {
29810 MenhirLib.EngineTypes.state = _menhir_s;
29811 MenhirLib.EngineTypes.semv = x;
29812 MenhirLib.EngineTypes.startp = _startpos_x_;
29813 MenhirLib.EngineTypes.endp = _endpos_x_;
29814 MenhirLib.EngineTypes.next = _menhir_stack;
29815 } = _menhir_stack in
29816 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29817 let _startpos = _startpos_x_ in
29818 let _endpos = _endpos_x_ in
29819 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29820# 144 "standard.mly"
29821 ( [ x ] )
29822# 29823 "parser_cocci_menhir.ml"
29823 in
29824 _menhir_env.MenhirLib.EngineTypes.stack <- {
29825 MenhirLib.EngineTypes.state = _menhir_s;
29826 MenhirLib.EngineTypes.semv = Obj.repr _v;
29827 MenhirLib.EngineTypes.startp = _startpos;
29828 MenhirLib.EngineTypes.endp = _endpos;
29829 MenhirLib.EngineTypes.next = _menhir_stack;
29830 });
29831 (fun _menhir_env ->
29832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29833 let {
29834 MenhirLib.EngineTypes.semv = xs;
29835 MenhirLib.EngineTypes.startp = _startpos_xs_;
29836 MenhirLib.EngineTypes.endp = _endpos_xs_;
29837 MenhirLib.EngineTypes.next = {
29838 MenhirLib.EngineTypes.startp = _startpos__2_;
29839 MenhirLib.EngineTypes.endp = _endpos__2_;
29840 MenhirLib.EngineTypes.next = {
29841 MenhirLib.EngineTypes.state = _menhir_s;
29842 MenhirLib.EngineTypes.semv = x;
29843 MenhirLib.EngineTypes.startp = _startpos_x_;
29844 MenhirLib.EngineTypes.endp = _endpos_x_;
29845 MenhirLib.EngineTypes.next = _menhir_stack;
29846 };
29847 };
29848 } = _menhir_stack in
29849 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
29850 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
29851 let _startpos = _startpos_x_ in
29852 let _endpos = _endpos_xs_ in
29853 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
29854# 146 "standard.mly"
29855 ( x :: xs )
29856# 29857 "parser_cocci_menhir.ml"
29857 in
29858 _menhir_env.MenhirLib.EngineTypes.stack <- {
29859 MenhirLib.EngineTypes.state = _menhir_s;
29860 MenhirLib.EngineTypes.semv = Obj.repr _v;
29861 MenhirLib.EngineTypes.startp = _startpos;
29862 MenhirLib.EngineTypes.endp = _endpos;
29863 MenhirLib.EngineTypes.next = _menhir_stack;
29864 });
29865 (fun _menhir_env ->
29866 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29867 let {
29868 MenhirLib.EngineTypes.state = _menhir_s;
29869 MenhirLib.EngineTypes.semv = x;
29870 MenhirLib.EngineTypes.startp = _startpos_x_;
29871 MenhirLib.EngineTypes.endp = _endpos_x_;
29872 MenhirLib.EngineTypes.next = _menhir_stack;
29873 } = _menhir_stack in
29874 let x : 'tv_typedef_ident = Obj.magic x in
29875 let _startpos = _startpos_x_ in
29876 let _endpos = _endpos_x_ in
29877 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
29878# 144 "standard.mly"
29879 ( [ x ] )
29880# 29881 "parser_cocci_menhir.ml"
29881 in
29882 _menhir_env.MenhirLib.EngineTypes.stack <- {
29883 MenhirLib.EngineTypes.state = _menhir_s;
29884 MenhirLib.EngineTypes.semv = Obj.repr _v;
29885 MenhirLib.EngineTypes.startp = _startpos;
29886 MenhirLib.EngineTypes.endp = _endpos;
29887 MenhirLib.EngineTypes.next = _menhir_stack;
29888 });
29889 (fun _menhir_env ->
29890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29891 let {
29892 MenhirLib.EngineTypes.semv = xs;
29893 MenhirLib.EngineTypes.startp = _startpos_xs_;
29894 MenhirLib.EngineTypes.endp = _endpos_xs_;
29895 MenhirLib.EngineTypes.next = {
29896 MenhirLib.EngineTypes.startp = _startpos__2_;
29897 MenhirLib.EngineTypes.endp = _endpos__2_;
29898 MenhirLib.EngineTypes.next = {
29899 MenhirLib.EngineTypes.state = _menhir_s;
29900 MenhirLib.EngineTypes.semv = x;
29901 MenhirLib.EngineTypes.startp = _startpos_x_;
29902 MenhirLib.EngineTypes.endp = _endpos_x_;
29903 MenhirLib.EngineTypes.next = _menhir_stack;
29904 };
29905 };
29906 } = _menhir_stack in
29907 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
29908 let x : 'tv_typedef_ident = Obj.magic x in
29909 let _startpos = _startpos_x_ in
29910 let _endpos = _endpos_xs_ in
29911 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
29912# 146 "standard.mly"
29913 ( x :: xs )
29914# 29915 "parser_cocci_menhir.ml"
29915 in
29916 _menhir_env.MenhirLib.EngineTypes.stack <- {
29917 MenhirLib.EngineTypes.state = _menhir_s;
29918 MenhirLib.EngineTypes.semv = Obj.repr _v;
29919 MenhirLib.EngineTypes.startp = _startpos;
29920 MenhirLib.EngineTypes.endp = _endpos;
29921 MenhirLib.EngineTypes.next = _menhir_stack;
29922 });
29923 (fun _menhir_env ->
29924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29925 let {
29926 MenhirLib.EngineTypes.state = _menhir_s;
29927 MenhirLib.EngineTypes.semv = x;
29928 MenhirLib.EngineTypes.startp = _startpos_x_;
29929 MenhirLib.EngineTypes.endp = _endpos_x_;
29930 MenhirLib.EngineTypes.next = _menhir_stack;
29931 } = _menhir_stack in
29932 let x : 'tv_seed_elem = Obj.magic x in
29933 let _startpos = _startpos_x_ in
29934 let _endpos = _endpos_x_ in
29935 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
29936# 144 "standard.mly"
29937 ( [ x ] )
29938# 29939 "parser_cocci_menhir.ml"
29939 in
29940 _menhir_env.MenhirLib.EngineTypes.stack <- {
29941 MenhirLib.EngineTypes.state = _menhir_s;
29942 MenhirLib.EngineTypes.semv = Obj.repr _v;
29943 MenhirLib.EngineTypes.startp = _startpos;
29944 MenhirLib.EngineTypes.endp = _endpos;
29945 MenhirLib.EngineTypes.next = _menhir_stack;
29946 });
29947 (fun _menhir_env ->
29948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29949 let {
29950 MenhirLib.EngineTypes.semv = xs;
29951 MenhirLib.EngineTypes.startp = _startpos_xs_;
29952 MenhirLib.EngineTypes.endp = _endpos_xs_;
29953 MenhirLib.EngineTypes.next = {
29954 MenhirLib.EngineTypes.startp = _startpos__2_;
29955 MenhirLib.EngineTypes.endp = _endpos__2_;
29956 MenhirLib.EngineTypes.next = {
29957 MenhirLib.EngineTypes.state = _menhir_s;
29958 MenhirLib.EngineTypes.semv = x;
29959 MenhirLib.EngineTypes.startp = _startpos_x_;
29960 MenhirLib.EngineTypes.endp = _endpos_x_;
29961 MenhirLib.EngineTypes.next = _menhir_stack;
29962 };
29963 };
29964 } = _menhir_stack in
29965 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
29966 let x : 'tv_seed_elem = Obj.magic x in
29967 let _startpos = _startpos_x_ in
29968 let _endpos = _endpos_xs_ in
29969 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
29970# 146 "standard.mly"
29971 ( x :: xs )
29972# 29973 "parser_cocci_menhir.ml"
29973 in
29974 _menhir_env.MenhirLib.EngineTypes.stack <- {
29975 MenhirLib.EngineTypes.state = _menhir_s;
29976 MenhirLib.EngineTypes.semv = Obj.repr _v;
29977 MenhirLib.EngineTypes.startp = _startpos;
29978 MenhirLib.EngineTypes.endp = _endpos;
29979 MenhirLib.EngineTypes.next = _menhir_stack;
29980 });
29981 (fun _menhir_env ->
29982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29983 let {
29984 MenhirLib.EngineTypes.state = _menhir_s;
29985 MenhirLib.EngineTypes.semv = _1;
29986 MenhirLib.EngineTypes.startp = _startpos__1_;
29987 MenhirLib.EngineTypes.endp = _endpos__1_;
29988 MenhirLib.EngineTypes.next = _menhir_stack;
29989 } = _menhir_stack in
29990 let _1 : 'tv_statement = Obj.magic _1 in
29991 let _startpos = _startpos__1_ in
29992 let _endpos = _endpos__1_ in
29993 let _v : 'tv_single_statement =
29994# 943 "parser_cocci_menhir.mly"
29995 ( _1 )
29996# 29997 "parser_cocci_menhir.ml"
29997 in
29998 _menhir_env.MenhirLib.EngineTypes.stack <- {
29999 MenhirLib.EngineTypes.state = _menhir_s;
30000 MenhirLib.EngineTypes.semv = Obj.repr _v;
30001 MenhirLib.EngineTypes.startp = _startpos;
30002 MenhirLib.EngineTypes.endp = _endpos;
30003 MenhirLib.EngineTypes.next = _menhir_stack;
30004 });
30005 (fun _menhir_env ->
30006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30007 let {
30008 MenhirLib.EngineTypes.semv = _3;
30009 MenhirLib.EngineTypes.startp = _startpos__3_;
30010 MenhirLib.EngineTypes.endp = _endpos__3_;
30011 MenhirLib.EngineTypes.next = {
30012 MenhirLib.EngineTypes.semv = _2;
30013 MenhirLib.EngineTypes.startp = _startpos__2_;
30014 MenhirLib.EngineTypes.endp = _endpos__2_;
30015 MenhirLib.EngineTypes.next = {
30016 MenhirLib.EngineTypes.state = _menhir_s;
30017 MenhirLib.EngineTypes.semv = _1;
30018 MenhirLib.EngineTypes.startp = _startpos__1_;
30019 MenhirLib.EngineTypes.endp = _endpos__1_;
30020 MenhirLib.EngineTypes.next = _menhir_stack;
30021 };
30022 };
30023 } = _menhir_stack in
30024 let _3 : (
30025# 78 "parser_cocci_menhir.mly"
30026 (Data.clt)
30027# 30028 "parser_cocci_menhir.ml"
30028 ) = Obj.magic _3 in
30029 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
30030 let _1 : (
30031# 77 "parser_cocci_menhir.mly"
30032 (Data.clt)
30033# 30034 "parser_cocci_menhir.ml"
30034 ) = Obj.magic _1 in
30035 let _startpos = _startpos__1_ in
30036 let _endpos = _endpos__3_ in
30037 let _v : 'tv_single_statement =
30038# 947 "parser_cocci_menhir.mly"
30039 ( let (mids,code) = _2 in
30040 Ast0.wrap
30041 (Ast0.Disj(P.clt2mcode "(" _1,
30042 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
30043 mids, P.clt2mcode ")" _3)) )
30044# 30045 "parser_cocci_menhir.ml"
30045 in
30046 _menhir_env.MenhirLib.EngineTypes.stack <- {
30047 MenhirLib.EngineTypes.state = _menhir_s;
30048 MenhirLib.EngineTypes.semv = Obj.repr _v;
30049 MenhirLib.EngineTypes.startp = _startpos;
30050 MenhirLib.EngineTypes.endp = _endpos;
30051 MenhirLib.EngineTypes.next = _menhir_stack;
30052 });
30053 (fun _menhir_env ->
30054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30055 let {
30056 MenhirLib.EngineTypes.state = _menhir_s;
30057 MenhirLib.EngineTypes.semv = _1;
30058 MenhirLib.EngineTypes.startp = _startpos__1_;
30059 MenhirLib.EngineTypes.endp = _endpos__1_;
30060 MenhirLib.EngineTypes.next = _menhir_stack;
30061 } = _menhir_stack in
30062 let _1 : 'tv_includes = Obj.magic _1 in
30063 let _startpos = _startpos__1_ in
30064 let _endpos = _endpos__1_ in
30065 let _v : 'tv_statement =
30066# 870 "parser_cocci_menhir.mly"
30067 ( _1 )
30068# 30069 "parser_cocci_menhir.ml"
30069 in
30070 _menhir_env.MenhirLib.EngineTypes.stack <- {
30071 MenhirLib.EngineTypes.state = _menhir_s;
30072 MenhirLib.EngineTypes.semv = Obj.repr _v;
30073 MenhirLib.EngineTypes.startp = _startpos;
30074 MenhirLib.EngineTypes.endp = _endpos;
30075 MenhirLib.EngineTypes.next = _menhir_stack;
30076 });
30077 (fun _menhir_env ->
30078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30079 let {
30080 MenhirLib.EngineTypes.state = _menhir_s;
30081 MenhirLib.EngineTypes.semv = _1;
30082 MenhirLib.EngineTypes.startp = _startpos__1_;
30083 MenhirLib.EngineTypes.endp = _endpos__1_;
30084 MenhirLib.EngineTypes.next = _menhir_stack;
30085 } = _menhir_stack in
30086 let _1 : (
30087# 65 "parser_cocci_menhir.mly"
30088 (Parse_aux.info)
30089# 30090 "parser_cocci_menhir.ml"
30090 ) = Obj.magic _1 in
30091 let _startpos = _startpos__1_ in
30092 let _endpos = _endpos__1_ in
30093 let _v : 'tv_statement =
30094# 872 "parser_cocci_menhir.mly"
30095 ( P.meta_stm _1 )
30096# 30097 "parser_cocci_menhir.ml"
30097 in
30098 _menhir_env.MenhirLib.EngineTypes.stack <- {
30099 MenhirLib.EngineTypes.state = _menhir_s;
30100 MenhirLib.EngineTypes.semv = Obj.repr _v;
30101 MenhirLib.EngineTypes.startp = _startpos;
30102 MenhirLib.EngineTypes.endp = _endpos;
30103 MenhirLib.EngineTypes.next = _menhir_stack;
30104 });
30105 (fun _menhir_env ->
30106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30107 let {
30108 MenhirLib.EngineTypes.semv = _2;
30109 MenhirLib.EngineTypes.startp = _startpos__2_;
30110 MenhirLib.EngineTypes.endp = _endpos__2_;
30111 MenhirLib.EngineTypes.next = {
30112 MenhirLib.EngineTypes.state = _menhir_s;
30113 MenhirLib.EngineTypes.semv = _1;
30114 MenhirLib.EngineTypes.startp = _startpos__1_;
30115 MenhirLib.EngineTypes.endp = _endpos__1_;
30116 MenhirLib.EngineTypes.next = _menhir_stack;
30117 };
30118 } = _menhir_stack in
30119 let _2 : (
30120# 108 "parser_cocci_menhir.mly"
30121 (Data.clt)
30122# 30123 "parser_cocci_menhir.ml"
30123 ) = Obj.magic _2 in
30124 let _1 : 'tv_expr = Obj.magic _1 in
30125 let _startpos = _startpos__1_ in
30126 let _endpos = _endpos__2_ in
30127 let _v : 'tv_statement =
30128# 874 "parser_cocci_menhir.mly"
30129 ( P.exp_stm _1 _2 )
30130# 30131 "parser_cocci_menhir.ml"
30131 in
30132 _menhir_env.MenhirLib.EngineTypes.stack <- {
30133 MenhirLib.EngineTypes.state = _menhir_s;
30134 MenhirLib.EngineTypes.semv = Obj.repr _v;
30135 MenhirLib.EngineTypes.startp = _startpos;
30136 MenhirLib.EngineTypes.endp = _endpos;
30137 MenhirLib.EngineTypes.next = _menhir_stack;
30138 });
30139 (fun _menhir_env ->
30140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30141 let {
30142 MenhirLib.EngineTypes.semv = _5;
30143 MenhirLib.EngineTypes.startp = _startpos__5_;
30144 MenhirLib.EngineTypes.endp = _endpos__5_;
30145 MenhirLib.EngineTypes.next = {
30146 MenhirLib.EngineTypes.semv = _4;
30147 MenhirLib.EngineTypes.startp = _startpos__4_;
30148 MenhirLib.EngineTypes.endp = _endpos__4_;
30149 MenhirLib.EngineTypes.next = {
30150 MenhirLib.EngineTypes.semv = _3;
30151 MenhirLib.EngineTypes.startp = _startpos__3_;
30152 MenhirLib.EngineTypes.endp = _endpos__3_;
30153 MenhirLib.EngineTypes.next = {
30154 MenhirLib.EngineTypes.semv = _2;
30155 MenhirLib.EngineTypes.startp = _startpos__2_;
30156 MenhirLib.EngineTypes.endp = _endpos__2_;
30157 MenhirLib.EngineTypes.next = {
30158 MenhirLib.EngineTypes.state = _menhir_s;
30159 MenhirLib.EngineTypes.semv = _1;
30160 MenhirLib.EngineTypes.startp = _startpos__1_;
30161 MenhirLib.EngineTypes.endp = _endpos__1_;
30162 MenhirLib.EngineTypes.next = _menhir_stack;
30163 };
30164 };
30165 };
30166 };
30167 } = _menhir_stack in
30168 let _5 : 'tv_single_statement = Obj.magic _5 in
30169 let _4 : (
30170# 78 "parser_cocci_menhir.mly"
30171 (Data.clt)
30172# 30173 "parser_cocci_menhir.ml"
30173 ) = Obj.magic _4 in
30174 let _3 : 'tv_eexpr = Obj.magic _3 in
30175 let _2 : (
30176# 77 "parser_cocci_menhir.mly"
30177 (Data.clt)
30178# 30179 "parser_cocci_menhir.ml"
30179 ) = Obj.magic _2 in
30180 let _1 : (
30181# 57 "parser_cocci_menhir.mly"
30182 (Data.clt)
30183# 30184 "parser_cocci_menhir.ml"
30184 ) = Obj.magic _1 in
30185 let _startpos = _startpos__1_ in
30186 let _endpos = _endpos__5_ in
30187 let _v : 'tv_statement =
30188# 876 "parser_cocci_menhir.mly"
30189 ( P.ifthen _1 _2 _3 _4 _5 )
30190# 30191 "parser_cocci_menhir.ml"
30191 in
30192 _menhir_env.MenhirLib.EngineTypes.stack <- {
30193 MenhirLib.EngineTypes.state = _menhir_s;
30194 MenhirLib.EngineTypes.semv = Obj.repr _v;
30195 MenhirLib.EngineTypes.startp = _startpos;
30196 MenhirLib.EngineTypes.endp = _endpos;
30197 MenhirLib.EngineTypes.next = _menhir_stack;
30198 });
30199 (fun _menhir_env ->
30200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30201 let {
30202 MenhirLib.EngineTypes.semv = _7;
30203 MenhirLib.EngineTypes.startp = _startpos__7_;
30204 MenhirLib.EngineTypes.endp = _endpos__7_;
30205 MenhirLib.EngineTypes.next = {
30206 MenhirLib.EngineTypes.semv = _6;
30207 MenhirLib.EngineTypes.startp = _startpos__6_;
30208 MenhirLib.EngineTypes.endp = _endpos__6_;
30209 MenhirLib.EngineTypes.next = {
30210 MenhirLib.EngineTypes.semv = _5;
30211 MenhirLib.EngineTypes.startp = _startpos__5_;
30212 MenhirLib.EngineTypes.endp = _endpos__5_;
30213 MenhirLib.EngineTypes.next = {
30214 MenhirLib.EngineTypes.semv = _4;
30215 MenhirLib.EngineTypes.startp = _startpos__4_;
30216 MenhirLib.EngineTypes.endp = _endpos__4_;
30217 MenhirLib.EngineTypes.next = {
30218 MenhirLib.EngineTypes.semv = _3;
30219 MenhirLib.EngineTypes.startp = _startpos__3_;
30220 MenhirLib.EngineTypes.endp = _endpos__3_;
30221 MenhirLib.EngineTypes.next = {
30222 MenhirLib.EngineTypes.semv = _2;
30223 MenhirLib.EngineTypes.startp = _startpos__2_;
30224 MenhirLib.EngineTypes.endp = _endpos__2_;
30225 MenhirLib.EngineTypes.next = {
30226 MenhirLib.EngineTypes.state = _menhir_s;
30227 MenhirLib.EngineTypes.semv = _1;
30228 MenhirLib.EngineTypes.startp = _startpos__1_;
30229 MenhirLib.EngineTypes.endp = _endpos__1_;
30230 MenhirLib.EngineTypes.next = _menhir_stack;
30231 };
30232 };
30233 };
30234 };
30235 };
30236 };
30237 } = _menhir_stack in
30238 let _7 : 'tv_single_statement = Obj.magic _7 in
30239 let _6 : (
30240# 57 "parser_cocci_menhir.mly"
30241 (Data.clt)
30242# 30243 "parser_cocci_menhir.ml"
30243 ) = Obj.magic _6 in
30244 let _5 : 'tv_single_statement = Obj.magic _5 in
30245 let _4 : (
30246# 78 "parser_cocci_menhir.mly"
30247 (Data.clt)
30248# 30249 "parser_cocci_menhir.ml"
30249 ) = Obj.magic _4 in
30250 let _3 : 'tv_eexpr = Obj.magic _3 in
30251 let _2 : (
30252# 77 "parser_cocci_menhir.mly"
30253 (Data.clt)
30254# 30255 "parser_cocci_menhir.ml"
30255 ) = Obj.magic _2 in
30256 let _1 : (
30257# 57 "parser_cocci_menhir.mly"
30258 (Data.clt)
30259# 30260 "parser_cocci_menhir.ml"
30260 ) = Obj.magic _1 in
30261 let _startpos = _startpos__1_ in
30262 let _endpos = _endpos__7_ in
30263 let _v : 'tv_statement =
30264# 878 "parser_cocci_menhir.mly"
30265 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
30266# 30267 "parser_cocci_menhir.ml"
30267 in
30268 _menhir_env.MenhirLib.EngineTypes.stack <- {
30269 MenhirLib.EngineTypes.state = _menhir_s;
30270 MenhirLib.EngineTypes.semv = Obj.repr _v;
30271 MenhirLib.EngineTypes.startp = _startpos;
30272 MenhirLib.EngineTypes.endp = _endpos;
30273 MenhirLib.EngineTypes.next = _menhir_stack;
30274 });
30275 (fun _menhir_env ->
30276 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30277 let {
30278 MenhirLib.EngineTypes.semv = _9;
30279 MenhirLib.EngineTypes.startp = _startpos__9_;
30280 MenhirLib.EngineTypes.endp = _endpos__9_;
30281 MenhirLib.EngineTypes.next = {
30282 MenhirLib.EngineTypes.semv = _8;
30283 MenhirLib.EngineTypes.startp = _startpos__8_;
30284 MenhirLib.EngineTypes.endp = _endpos__8_;
30285 MenhirLib.EngineTypes.next = {
30286 MenhirLib.EngineTypes.semv = _7;
30287 MenhirLib.EngineTypes.startp = _startpos__7_;
30288 MenhirLib.EngineTypes.endp = _endpos__7_;
30289 MenhirLib.EngineTypes.next = {
30290 MenhirLib.EngineTypes.semv = _6;
30291 MenhirLib.EngineTypes.startp = _startpos__6_;
30292 MenhirLib.EngineTypes.endp = _endpos__6_;
30293 MenhirLib.EngineTypes.next = {
30294 MenhirLib.EngineTypes.semv = _5;
30295 MenhirLib.EngineTypes.startp = _startpos__5_;
30296 MenhirLib.EngineTypes.endp = _endpos__5_;
30297 MenhirLib.EngineTypes.next = {
30298 MenhirLib.EngineTypes.semv = _4;
30299 MenhirLib.EngineTypes.startp = _startpos__4_;
30300 MenhirLib.EngineTypes.endp = _endpos__4_;
30301 MenhirLib.EngineTypes.next = {
30302 MenhirLib.EngineTypes.semv = _3;
30303 MenhirLib.EngineTypes.startp = _startpos__3_;
30304 MenhirLib.EngineTypes.endp = _endpos__3_;
30305 MenhirLib.EngineTypes.next = {
30306 MenhirLib.EngineTypes.semv = _2;
30307 MenhirLib.EngineTypes.startp = _startpos__2_;
30308 MenhirLib.EngineTypes.endp = _endpos__2_;
30309 MenhirLib.EngineTypes.next = {
30310 MenhirLib.EngineTypes.state = _menhir_s;
30311 MenhirLib.EngineTypes.semv = _1;
30312 MenhirLib.EngineTypes.startp = _startpos__1_;
30313 MenhirLib.EngineTypes.endp = _endpos__1_;
30314 MenhirLib.EngineTypes.next = _menhir_stack;
30315 };
30316 };
30317 };
30318 };
30319 };
30320 };
30321 };
30322 };
30323 } = _menhir_stack in
30324 let _9 : 'tv_single_statement = Obj.magic _9 in
30325 let _8 : (
30326# 78 "parser_cocci_menhir.mly"
30327 (Data.clt)
30328# 30329 "parser_cocci_menhir.ml"
30329 ) = Obj.magic _8 in
30330 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
30331 let _6 : (
30332# 108 "parser_cocci_menhir.mly"
30333 (Data.clt)
30334# 30335 "parser_cocci_menhir.ml"
30335 ) = Obj.magic _6 in
30336 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
30337 let _4 : (
30338# 108 "parser_cocci_menhir.mly"
30339 (Data.clt)
30340# 30341 "parser_cocci_menhir.ml"
30341 ) = Obj.magic _4 in
30342 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
30343 let _2 : (
30344# 77 "parser_cocci_menhir.mly"
30345 (Data.clt)
30346# 30347 "parser_cocci_menhir.ml"
30347 ) = Obj.magic _2 in
30348 let _1 : (
30349# 57 "parser_cocci_menhir.mly"
30350 (Data.clt)
30351# 30352 "parser_cocci_menhir.ml"
30352 ) = Obj.magic _1 in
30353 let _startpos = _startpos__1_ in
30354 let _endpos = _endpos__9_ in
30355 let _v : 'tv_statement =
30356# 881 "parser_cocci_menhir.mly"
30357 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
30358# 30359 "parser_cocci_menhir.ml"
30359 in
30360 _menhir_env.MenhirLib.EngineTypes.stack <- {
30361 MenhirLib.EngineTypes.state = _menhir_s;
30362 MenhirLib.EngineTypes.semv = Obj.repr _v;
30363 MenhirLib.EngineTypes.startp = _startpos;
30364 MenhirLib.EngineTypes.endp = _endpos;
30365 MenhirLib.EngineTypes.next = _menhir_stack;
30366 });
30367 (fun _menhir_env ->
30368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30369 let {
30370 MenhirLib.EngineTypes.semv = _5;
30371 MenhirLib.EngineTypes.startp = _startpos__5_;
30372 MenhirLib.EngineTypes.endp = _endpos__5_;
30373 MenhirLib.EngineTypes.next = {
30374 MenhirLib.EngineTypes.semv = _4;
30375 MenhirLib.EngineTypes.startp = _startpos__4_;
30376 MenhirLib.EngineTypes.endp = _endpos__4_;
30377 MenhirLib.EngineTypes.next = {
30378 MenhirLib.EngineTypes.semv = _3;
30379 MenhirLib.EngineTypes.startp = _startpos__3_;
30380 MenhirLib.EngineTypes.endp = _endpos__3_;
30381 MenhirLib.EngineTypes.next = {
30382 MenhirLib.EngineTypes.semv = _2;
30383 MenhirLib.EngineTypes.startp = _startpos__2_;
30384 MenhirLib.EngineTypes.endp = _endpos__2_;
30385 MenhirLib.EngineTypes.next = {
30386 MenhirLib.EngineTypes.state = _menhir_s;
30387 MenhirLib.EngineTypes.semv = _1;
30388 MenhirLib.EngineTypes.startp = _startpos__1_;
30389 MenhirLib.EngineTypes.endp = _endpos__1_;
30390 MenhirLib.EngineTypes.next = _menhir_stack;
30391 };
30392 };
30393 };
30394 };
30395 } = _menhir_stack in
30396 let _5 : 'tv_single_statement = Obj.magic _5 in
30397 let _4 : (
30398# 78 "parser_cocci_menhir.mly"
30399 (Data.clt)
30400# 30401 "parser_cocci_menhir.ml"
30401 ) = Obj.magic _4 in
30402 let _3 : 'tv_eexpr = Obj.magic _3 in
30403 let _2 : (
30404# 77 "parser_cocci_menhir.mly"
30405 (Data.clt)
30406# 30407 "parser_cocci_menhir.ml"
30407 ) = Obj.magic _2 in
30408 let _1 : (
30409# 57 "parser_cocci_menhir.mly"
30410 (Data.clt)
30411# 30412 "parser_cocci_menhir.ml"
30412 ) = Obj.magic _1 in
30413 let _startpos = _startpos__1_ in
30414 let _endpos = _endpos__5_ in
30415 let _v : 'tv_statement =
30416# 883 "parser_cocci_menhir.mly"
30417 ( P.whileloop _1 _2 _3 _4 _5 )
30418# 30419 "parser_cocci_menhir.ml"
30419 in
30420 _menhir_env.MenhirLib.EngineTypes.stack <- {
30421 MenhirLib.EngineTypes.state = _menhir_s;
30422 MenhirLib.EngineTypes.semv = Obj.repr _v;
30423 MenhirLib.EngineTypes.startp = _startpos;
30424 MenhirLib.EngineTypes.endp = _endpos;
30425 MenhirLib.EngineTypes.next = _menhir_stack;
30426 });
30427 (fun _menhir_env ->
30428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30429 let {
30430 MenhirLib.EngineTypes.semv = _7;
30431 MenhirLib.EngineTypes.startp = _startpos__7_;
30432 MenhirLib.EngineTypes.endp = _endpos__7_;
30433 MenhirLib.EngineTypes.next = {
30434 MenhirLib.EngineTypes.semv = _6;
30435 MenhirLib.EngineTypes.startp = _startpos__6_;
30436 MenhirLib.EngineTypes.endp = _endpos__6_;
30437 MenhirLib.EngineTypes.next = {
30438 MenhirLib.EngineTypes.semv = _5;
30439 MenhirLib.EngineTypes.startp = _startpos__5_;
30440 MenhirLib.EngineTypes.endp = _endpos__5_;
30441 MenhirLib.EngineTypes.next = {
30442 MenhirLib.EngineTypes.semv = _4;
30443 MenhirLib.EngineTypes.startp = _startpos__4_;
30444 MenhirLib.EngineTypes.endp = _endpos__4_;
30445 MenhirLib.EngineTypes.next = {
30446 MenhirLib.EngineTypes.semv = _3;
30447 MenhirLib.EngineTypes.startp = _startpos__3_;
30448 MenhirLib.EngineTypes.endp = _endpos__3_;
30449 MenhirLib.EngineTypes.next = {
30450 MenhirLib.EngineTypes.semv = _2;
30451 MenhirLib.EngineTypes.startp = _startpos__2_;
30452 MenhirLib.EngineTypes.endp = _endpos__2_;
30453 MenhirLib.EngineTypes.next = {
30454 MenhirLib.EngineTypes.state = _menhir_s;
30455 MenhirLib.EngineTypes.semv = _1;
30456 MenhirLib.EngineTypes.startp = _startpos__1_;
30457 MenhirLib.EngineTypes.endp = _endpos__1_;
30458 MenhirLib.EngineTypes.next = _menhir_stack;
30459 };
30460 };
30461 };
30462 };
30463 };
30464 };
30465 } = _menhir_stack in
30466 let _7 : (
30467# 108 "parser_cocci_menhir.mly"
30468 (Data.clt)
30469# 30470 "parser_cocci_menhir.ml"
30470 ) = Obj.magic _7 in
30471 let _6 : (
30472# 78 "parser_cocci_menhir.mly"
30473 (Data.clt)
30474# 30475 "parser_cocci_menhir.ml"
30475 ) = Obj.magic _6 in
30476 let _5 : 'tv_eexpr = Obj.magic _5 in
30477 let _4 : (
30478# 77 "parser_cocci_menhir.mly"
30479 (Data.clt)
30480# 30481 "parser_cocci_menhir.ml"
30481 ) = Obj.magic _4 in
30482 let _3 : (
30483# 57 "parser_cocci_menhir.mly"
30484 (Data.clt)
30485# 30486 "parser_cocci_menhir.ml"
30486 ) = Obj.magic _3 in
30487 let _2 : 'tv_single_statement = Obj.magic _2 in
30488 let _1 : (
30489# 57 "parser_cocci_menhir.mly"
30490 (Data.clt)
30491# 30492 "parser_cocci_menhir.ml"
30492 ) = Obj.magic _1 in
30493 let _startpos = _startpos__1_ in
30494 let _endpos = _endpos__7_ in
30495 let _v : 'tv_statement =
30496# 885 "parser_cocci_menhir.mly"
30497 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
30498# 30499 "parser_cocci_menhir.ml"
30499 in
30500 _menhir_env.MenhirLib.EngineTypes.stack <- {
30501 MenhirLib.EngineTypes.state = _menhir_s;
30502 MenhirLib.EngineTypes.semv = Obj.repr _v;
30503 MenhirLib.EngineTypes.startp = _startpos;
30504 MenhirLib.EngineTypes.endp = _endpos;
30505 MenhirLib.EngineTypes.next = _menhir_stack;
30506 });
30507 (fun _menhir_env ->
30508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30509 let {
30510 MenhirLib.EngineTypes.semv = _5;
30511 MenhirLib.EngineTypes.startp = _startpos__5_;
30512 MenhirLib.EngineTypes.endp = _endpos__5_;
30513 MenhirLib.EngineTypes.next = {
30514 MenhirLib.EngineTypes.semv = _4;
30515 MenhirLib.EngineTypes.startp = _startpos__4_;
30516 MenhirLib.EngineTypes.endp = _endpos__4_;
30517 MenhirLib.EngineTypes.next = {
30518 MenhirLib.EngineTypes.semv = _3;
30519 MenhirLib.EngineTypes.startp = _startpos__3_;
30520 MenhirLib.EngineTypes.endp = _endpos__3_;
30521 MenhirLib.EngineTypes.next = {
30522 MenhirLib.EngineTypes.semv = _2;
30523 MenhirLib.EngineTypes.startp = _startpos__2_;
30524 MenhirLib.EngineTypes.endp = _endpos__2_;
30525 MenhirLib.EngineTypes.next = {
30526 MenhirLib.EngineTypes.state = _menhir_s;
30527 MenhirLib.EngineTypes.semv = _1;
30528 MenhirLib.EngineTypes.startp = _startpos__1_;
30529 MenhirLib.EngineTypes.endp = _endpos__1_;
30530 MenhirLib.EngineTypes.next = _menhir_stack;
30531 };
30532 };
30533 };
30534 };
30535 } = _menhir_stack in
30536 let _5 : 'tv_single_statement = Obj.magic _5 in
30537 let _4 : (
30538# 78 "parser_cocci_menhir.mly"
30539 (Data.clt)
30540# 30541 "parser_cocci_menhir.ml"
30541 ) = Obj.magic _4 in
30542 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
30543 let _2 : (
30544# 77 "parser_cocci_menhir.mly"
30545 (Data.clt)
30546# 30547 "parser_cocci_menhir.ml"
30547 ) = Obj.magic _2 in
30548 let _1 : 'tv_iter_ident = Obj.magic _1 in
30549 let _startpos = _startpos__1_ in
30550 let _endpos = _endpos__5_ in
30551 let _v : 'tv_statement =
30552# 887 "parser_cocci_menhir.mly"
30553 ( P.iterator _1 _2 _3 _4 _5 )
30554# 30555 "parser_cocci_menhir.ml"
30555 in
30556 _menhir_env.MenhirLib.EngineTypes.stack <- {
30557 MenhirLib.EngineTypes.state = _menhir_s;
30558 MenhirLib.EngineTypes.semv = Obj.repr _v;
30559 MenhirLib.EngineTypes.startp = _startpos;
30560 MenhirLib.EngineTypes.endp = _endpos;
30561 MenhirLib.EngineTypes.next = _menhir_stack;
30562 });
30563 (fun _menhir_env ->
30564 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30565 let {
30566 MenhirLib.EngineTypes.semv = _8;
30567 MenhirLib.EngineTypes.startp = _startpos__8_;
30568 MenhirLib.EngineTypes.endp = _endpos__8_;
30569 MenhirLib.EngineTypes.next = {
30570 MenhirLib.EngineTypes.semv = _7;
30571 MenhirLib.EngineTypes.startp = _startpos__7_;
30572 MenhirLib.EngineTypes.endp = _endpos__7_;
30573 MenhirLib.EngineTypes.next = {
30574 MenhirLib.EngineTypes.semv = _6;
30575 MenhirLib.EngineTypes.startp = _startpos__6_;
30576 MenhirLib.EngineTypes.endp = _endpos__6_;
30577 MenhirLib.EngineTypes.next = {
30578 MenhirLib.EngineTypes.semv = _5;
30579 MenhirLib.EngineTypes.startp = _startpos__5_;
30580 MenhirLib.EngineTypes.endp = _endpos__5_;
30581 MenhirLib.EngineTypes.next = {
30582 MenhirLib.EngineTypes.semv = _4;
30583 MenhirLib.EngineTypes.startp = _startpos__4_;
30584 MenhirLib.EngineTypes.endp = _endpos__4_;
30585 MenhirLib.EngineTypes.next = {
30586 MenhirLib.EngineTypes.semv = _3;
30587 MenhirLib.EngineTypes.startp = _startpos__3_;
30588 MenhirLib.EngineTypes.endp = _endpos__3_;
30589 MenhirLib.EngineTypes.next = {
30590 MenhirLib.EngineTypes.semv = _2;
30591 MenhirLib.EngineTypes.startp = _startpos__2_;
30592 MenhirLib.EngineTypes.endp = _endpos__2_;
30593 MenhirLib.EngineTypes.next = {
30594 MenhirLib.EngineTypes.state = _menhir_s;
30595 MenhirLib.EngineTypes.semv = _1;
30596 MenhirLib.EngineTypes.startp = _startpos__1_;
30597 MenhirLib.EngineTypes.endp = _endpos__1_;
30598 MenhirLib.EngineTypes.next = _menhir_stack;
30599 };
30600 };
30601 };
30602 };
30603 };
30604 };
30605 };
30606 } = _menhir_stack in
30607 let _8 : (
30608# 102 "parser_cocci_menhir.mly"
30609 (Data.clt)
30610# 30611 "parser_cocci_menhir.ml"
30611 ) = Obj.magic _8 in
30612 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
30613 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
30614 let _5 : (
30615# 102 "parser_cocci_menhir.mly"
30616 (Data.clt)
30617# 30618 "parser_cocci_menhir.ml"
30618 ) = Obj.magic _5 in
30619 let _4 : (
30620# 78 "parser_cocci_menhir.mly"
30621 (Data.clt)
30622# 30623 "parser_cocci_menhir.ml"
30623 ) = Obj.magic _4 in
30624 let _3 : 'tv_eexpr = Obj.magic _3 in
30625 let _2 : (
30626# 77 "parser_cocci_menhir.mly"
30627 (Data.clt)
30628# 30629 "parser_cocci_menhir.ml"
30629 ) = Obj.magic _2 in
30630 let _1 : (
30631# 57 "parser_cocci_menhir.mly"
30632 (Data.clt)
30633# 30634 "parser_cocci_menhir.ml"
30634 ) = Obj.magic _1 in
30635 let _startpos = _startpos__1_ in
30636 let _endpos = _endpos__8_ in
30637 let _v : 'tv_statement =
30638# 889 "parser_cocci_menhir.mly"
30639 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
30640# 30641 "parser_cocci_menhir.ml"
30641 in
30642 _menhir_env.MenhirLib.EngineTypes.stack <- {
30643 MenhirLib.EngineTypes.state = _menhir_s;
30644 MenhirLib.EngineTypes.semv = Obj.repr _v;
30645 MenhirLib.EngineTypes.startp = _startpos;
30646 MenhirLib.EngineTypes.endp = _endpos;
30647 MenhirLib.EngineTypes.next = _menhir_stack;
30648 });
30649 (fun _menhir_env ->
30650 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30651 let {
30652 MenhirLib.EngineTypes.semv = _3;
30653 MenhirLib.EngineTypes.startp = _startpos__3_;
30654 MenhirLib.EngineTypes.endp = _endpos__3_;
30655 MenhirLib.EngineTypes.next = {
30656 MenhirLib.EngineTypes.semv = _2;
30657 MenhirLib.EngineTypes.startp = _startpos__2_;
30658 MenhirLib.EngineTypes.endp = _endpos__2_;
30659 MenhirLib.EngineTypes.next = {
30660 MenhirLib.EngineTypes.state = _menhir_s;
30661 MenhirLib.EngineTypes.semv = _1;
30662 MenhirLib.EngineTypes.startp = _startpos__1_;
30663 MenhirLib.EngineTypes.endp = _endpos__1_;
30664 MenhirLib.EngineTypes.next = _menhir_stack;
30665 };
30666 };
30667 } = _menhir_stack in
30668 let _3 : (
30669# 108 "parser_cocci_menhir.mly"
30670 (Data.clt)
30671# 30672 "parser_cocci_menhir.ml"
30672 ) = Obj.magic _3 in
30673 let _2 : 'tv_eexpr = Obj.magic _2 in
30674 let _1 : (
30675# 57 "parser_cocci_menhir.mly"
30676 (Data.clt)
30677# 30678 "parser_cocci_menhir.ml"
30678 ) = Obj.magic _1 in
30679 let _startpos = _startpos__1_ in
30680 let _endpos = _endpos__3_ in
30681 let _v : 'tv_statement =
30682# 890 "parser_cocci_menhir.mly"
30683 ( P.ret_exp _1 _2 _3 )
30684# 30685 "parser_cocci_menhir.ml"
30685 in
30686 _menhir_env.MenhirLib.EngineTypes.stack <- {
30687 MenhirLib.EngineTypes.state = _menhir_s;
30688 MenhirLib.EngineTypes.semv = Obj.repr _v;
30689 MenhirLib.EngineTypes.startp = _startpos;
30690 MenhirLib.EngineTypes.endp = _endpos;
30691 MenhirLib.EngineTypes.next = _menhir_stack;
30692 });
30693 (fun _menhir_env ->
30694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30695 let {
30696 MenhirLib.EngineTypes.semv = _2;
30697 MenhirLib.EngineTypes.startp = _startpos__2_;
30698 MenhirLib.EngineTypes.endp = _endpos__2_;
30699 MenhirLib.EngineTypes.next = {
30700 MenhirLib.EngineTypes.state = _menhir_s;
30701 MenhirLib.EngineTypes.semv = _1;
30702 MenhirLib.EngineTypes.startp = _startpos__1_;
30703 MenhirLib.EngineTypes.endp = _endpos__1_;
30704 MenhirLib.EngineTypes.next = _menhir_stack;
30705 };
30706 } = _menhir_stack in
30707 let _2 : (
30708# 108 "parser_cocci_menhir.mly"
30709 (Data.clt)
30710# 30711 "parser_cocci_menhir.ml"
30711 ) = Obj.magic _2 in
30712 let _1 : (
30713# 57 "parser_cocci_menhir.mly"
30714 (Data.clt)
30715# 30716 "parser_cocci_menhir.ml"
30716 ) = Obj.magic _1 in
30717 let _startpos = _startpos__1_ in
30718 let _endpos = _endpos__2_ in
30719 let _v : 'tv_statement =
30720# 891 "parser_cocci_menhir.mly"
30721 ( P.ret _1 _2 )
30722# 30723 "parser_cocci_menhir.ml"
30723 in
30724 _menhir_env.MenhirLib.EngineTypes.stack <- {
30725 MenhirLib.EngineTypes.state = _menhir_s;
30726 MenhirLib.EngineTypes.semv = Obj.repr _v;
30727 MenhirLib.EngineTypes.startp = _startpos;
30728 MenhirLib.EngineTypes.endp = _endpos;
30729 MenhirLib.EngineTypes.next = _menhir_stack;
30730 });
30731 (fun _menhir_env ->
30732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30733 let {
30734 MenhirLib.EngineTypes.semv = _2;
30735 MenhirLib.EngineTypes.startp = _startpos__2_;
30736 MenhirLib.EngineTypes.endp = _endpos__2_;
30737 MenhirLib.EngineTypes.next = {
30738 MenhirLib.EngineTypes.state = _menhir_s;
30739 MenhirLib.EngineTypes.semv = _1;
30740 MenhirLib.EngineTypes.startp = _startpos__1_;
30741 MenhirLib.EngineTypes.endp = _endpos__1_;
30742 MenhirLib.EngineTypes.next = _menhir_stack;
30743 };
30744 } = _menhir_stack in
30745 let _2 : (
30746# 108 "parser_cocci_menhir.mly"
30747 (Data.clt)
30748# 30749 "parser_cocci_menhir.ml"
30749 ) = Obj.magic _2 in
30750 let _1 : (
30751# 58 "parser_cocci_menhir.mly"
30752 (Data.clt)
30753# 30754 "parser_cocci_menhir.ml"
30754 ) = Obj.magic _1 in
30755 let _startpos = _startpos__1_ in
30756 let _endpos = _endpos__2_ in
30757 let _v : 'tv_statement =
30758# 892 "parser_cocci_menhir.mly"
30759 ( P.break _1 _2 )
30760# 30761 "parser_cocci_menhir.ml"
30761 in
30762 _menhir_env.MenhirLib.EngineTypes.stack <- {
30763 MenhirLib.EngineTypes.state = _menhir_s;
30764 MenhirLib.EngineTypes.semv = Obj.repr _v;
30765 MenhirLib.EngineTypes.startp = _startpos;
30766 MenhirLib.EngineTypes.endp = _endpos;
30767 MenhirLib.EngineTypes.next = _menhir_stack;
30768 });
30769 (fun _menhir_env ->
30770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30771 let {
30772 MenhirLib.EngineTypes.semv = _2;
30773 MenhirLib.EngineTypes.startp = _startpos__2_;
30774 MenhirLib.EngineTypes.endp = _endpos__2_;
30775 MenhirLib.EngineTypes.next = {
30776 MenhirLib.EngineTypes.state = _menhir_s;
30777 MenhirLib.EngineTypes.semv = _1;
30778 MenhirLib.EngineTypes.startp = _startpos__1_;
30779 MenhirLib.EngineTypes.endp = _endpos__1_;
30780 MenhirLib.EngineTypes.next = _menhir_stack;
30781 };
30782 } = _menhir_stack in
30783 let _2 : (
30784# 108 "parser_cocci_menhir.mly"
30785 (Data.clt)
30786# 30787 "parser_cocci_menhir.ml"
30787 ) = Obj.magic _2 in
30788 let _1 : (
30789# 58 "parser_cocci_menhir.mly"
30790 (Data.clt)
30791# 30792 "parser_cocci_menhir.ml"
30792 ) = Obj.magic _1 in
30793 let _startpos = _startpos__1_ in
30794 let _endpos = _endpos__2_ in
30795 let _v : 'tv_statement =
30796# 893 "parser_cocci_menhir.mly"
30797 ( P.cont _1 _2 )
30798# 30799 "parser_cocci_menhir.ml"
30799 in
30800 _menhir_env.MenhirLib.EngineTypes.stack <- {
30801 MenhirLib.EngineTypes.state = _menhir_s;
30802 MenhirLib.EngineTypes.semv = Obj.repr _v;
30803 MenhirLib.EngineTypes.startp = _startpos;
30804 MenhirLib.EngineTypes.endp = _endpos;
30805 MenhirLib.EngineTypes.next = _menhir_stack;
30806 });
30807 (fun _menhir_env ->
30808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30809 let {
30810 MenhirLib.EngineTypes.semv = _2;
30811 MenhirLib.EngineTypes.startp = _startpos__2_;
30812 MenhirLib.EngineTypes.endp = _endpos__2_;
30813 MenhirLib.EngineTypes.next = {
30814 MenhirLib.EngineTypes.state = _menhir_s;
30815 MenhirLib.EngineTypes.semv = _1;
30816 MenhirLib.EngineTypes.startp = _startpos__1_;
30817 MenhirLib.EngineTypes.endp = _endpos__1_;
30818 MenhirLib.EngineTypes.next = _menhir_stack;
30819 };
30820 } = _menhir_stack in
30821 let _2 : (
30822# 77 "parser_cocci_menhir.mly"
30823 (Data.clt)
30824# 30825 "parser_cocci_menhir.ml"
30825 ) = Obj.magic _2 in
30826 let _1 : 'tv_ident = Obj.magic _1 in
30827 let _startpos = _startpos__1_ in
30828 let _endpos = _endpos__2_ in
30829 let _v : 'tv_statement =
30830# 894 "parser_cocci_menhir.mly"
30831 ( P.label _1 _2 )
30832# 30833 "parser_cocci_menhir.ml"
30833 in
30834 _menhir_env.MenhirLib.EngineTypes.stack <- {
30835 MenhirLib.EngineTypes.state = _menhir_s;
30836 MenhirLib.EngineTypes.semv = Obj.repr _v;
30837 MenhirLib.EngineTypes.startp = _startpos;
30838 MenhirLib.EngineTypes.endp = _endpos;
30839 MenhirLib.EngineTypes.next = _menhir_stack;
30840 });
30841 (fun _menhir_env ->
30842 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30843 let {
30844 MenhirLib.EngineTypes.semv = _3;
30845 MenhirLib.EngineTypes.startp = _startpos__3_;
30846 MenhirLib.EngineTypes.endp = _endpos__3_;
30847 MenhirLib.EngineTypes.next = {
30848 MenhirLib.EngineTypes.semv = _2;
30849 MenhirLib.EngineTypes.startp = _startpos__2_;
30850 MenhirLib.EngineTypes.endp = _endpos__2_;
30851 MenhirLib.EngineTypes.next = {
30852 MenhirLib.EngineTypes.state = _menhir_s;
30853 MenhirLib.EngineTypes.semv = _1;
30854 MenhirLib.EngineTypes.startp = _startpos__1_;
30855 MenhirLib.EngineTypes.endp = _endpos__1_;
30856 MenhirLib.EngineTypes.next = _menhir_stack;
30857 };
30858 };
30859 } = _menhir_stack in
30860 let _3 : (
30861# 108 "parser_cocci_menhir.mly"
30862 (Data.clt)
30863# 30864 "parser_cocci_menhir.ml"
30864 ) = Obj.magic _3 in
30865 let _2 : 'tv_ident = Obj.magic _2 in
30866 let _1 : (
30867# 58 "parser_cocci_menhir.mly"
30868 (Data.clt)
30869# 30870 "parser_cocci_menhir.ml"
30870 ) = Obj.magic _1 in
30871 let _startpos = _startpos__1_ in
30872 let _endpos = _endpos__3_ in
30873 let _v : 'tv_statement =
30874# 895 "parser_cocci_menhir.mly"
30875 ( P.goto _1 _2 _3 )
30876# 30877 "parser_cocci_menhir.ml"
30877 in
30878 _menhir_env.MenhirLib.EngineTypes.stack <- {
30879 MenhirLib.EngineTypes.state = _menhir_s;
30880 MenhirLib.EngineTypes.semv = Obj.repr _v;
30881 MenhirLib.EngineTypes.startp = _startpos;
30882 MenhirLib.EngineTypes.endp = _endpos;
30883 MenhirLib.EngineTypes.next = _menhir_stack;
30884 });
30885 (fun _menhir_env ->
30886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30887 let {
30888 MenhirLib.EngineTypes.semv = _3;
30889 MenhirLib.EngineTypes.startp = _startpos__3_;
30890 MenhirLib.EngineTypes.endp = _endpos__3_;
30891 MenhirLib.EngineTypes.next = {
30892 MenhirLib.EngineTypes.semv = _2;
30893 MenhirLib.EngineTypes.startp = _startpos__2_;
30894 MenhirLib.EngineTypes.endp = _endpos__2_;
30895 MenhirLib.EngineTypes.next = {
30896 MenhirLib.EngineTypes.state = _menhir_s;
30897 MenhirLib.EngineTypes.semv = _1;
30898 MenhirLib.EngineTypes.startp = _startpos__1_;
30899 MenhirLib.EngineTypes.endp = _endpos__1_;
30900 MenhirLib.EngineTypes.next = _menhir_stack;
30901 };
30902 };
30903 } = _menhir_stack in
30904 let _3 : (
30905# 102 "parser_cocci_menhir.mly"
30906 (Data.clt)
30907# 30908 "parser_cocci_menhir.ml"
30908 ) = Obj.magic _3 in
30909 let _2 : 'tv_fun_start = Obj.magic _2 in
30910 let _1 : (
30911# 102 "parser_cocci_menhir.mly"
30912 (Data.clt)
30913# 30914 "parser_cocci_menhir.ml"
30914 ) = Obj.magic _1 in
30915 let _startpos = _startpos__1_ in
30916 let _endpos = _endpos__3_ in
30917 let _v : 'tv_statement =
30918# 897 "parser_cocci_menhir.mly"
30919 ( P.seq _1 _2 _3 )
30920# 30921 "parser_cocci_menhir.ml"
30921 in
30922 _menhir_env.MenhirLib.EngineTypes.stack <- {
30923 MenhirLib.EngineTypes.state = _menhir_s;
30924 MenhirLib.EngineTypes.semv = Obj.repr _v;
30925 MenhirLib.EngineTypes.startp = _startpos;
30926 MenhirLib.EngineTypes.endp = _endpos;
30927 MenhirLib.EngineTypes.next = _menhir_stack;
30928 });
30929 (fun _menhir_env ->
30930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30931 let {
30932 MenhirLib.EngineTypes.semv = w;
30933 MenhirLib.EngineTypes.startp = _startpos_w_;
30934 MenhirLib.EngineTypes.endp = _endpos_w_;
30935 MenhirLib.EngineTypes.next = {
30936 MenhirLib.EngineTypes.state = _menhir_s;
30937 MenhirLib.EngineTypes.semv = _1;
30938 MenhirLib.EngineTypes.startp = _startpos__1_;
30939 MenhirLib.EngineTypes.endp = _endpos__1_;
30940 MenhirLib.EngineTypes.next = _menhir_stack;
30941 };
30942 } = _menhir_stack in
30943 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30944 let _1 : (
30945# 74 "parser_cocci_menhir.mly"
30946 (Data.clt)
30947# 30948 "parser_cocci_menhir.ml"
30948 ) = Obj.magic _1 in
30949 let _startpos = _startpos__1_ in
30950 let _endpos = _endpos_w_ in
30951 let _v : 'tv_stm_dots =
30952# 901 "parser_cocci_menhir.mly"
30953 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
30954# 30955 "parser_cocci_menhir.ml"
30955 in
30956 _menhir_env.MenhirLib.EngineTypes.stack <- {
30957 MenhirLib.EngineTypes.state = _menhir_s;
30958 MenhirLib.EngineTypes.semv = Obj.repr _v;
30959 MenhirLib.EngineTypes.startp = _startpos;
30960 MenhirLib.EngineTypes.endp = _endpos;
30961 MenhirLib.EngineTypes.next = _menhir_stack;
30962 });
30963 (fun _menhir_env ->
30964 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30965 let {
30966 MenhirLib.EngineTypes.semv = c;
30967 MenhirLib.EngineTypes.startp = _startpos_c_;
30968 MenhirLib.EngineTypes.endp = _endpos_c_;
30969 MenhirLib.EngineTypes.next = {
30970 MenhirLib.EngineTypes.semv = b;
30971 MenhirLib.EngineTypes.startp = _startpos_b_;
30972 MenhirLib.EngineTypes.endp = _endpos_b_;
30973 MenhirLib.EngineTypes.next = {
30974 MenhirLib.EngineTypes.semv = w;
30975 MenhirLib.EngineTypes.startp = _startpos_w_;
30976 MenhirLib.EngineTypes.endp = _endpos_w_;
30977 MenhirLib.EngineTypes.next = {
30978 MenhirLib.EngineTypes.state = _menhir_s;
30979 MenhirLib.EngineTypes.semv = _1;
30980 MenhirLib.EngineTypes.startp = _startpos__1_;
30981 MenhirLib.EngineTypes.endp = _endpos__1_;
30982 MenhirLib.EngineTypes.next = _menhir_stack;
30983 };
30984 };
30985 };
30986 } = _menhir_stack in
30987 let c : (
30988# 74 "parser_cocci_menhir.mly"
30989 (Data.clt)
30990# 30991 "parser_cocci_menhir.ml"
30991 ) = Obj.magic c in
30992 let b : 'tv_nest_start = Obj.magic b in
30993 let w : 'tv_list_whenppdecs_ = Obj.magic w in
30994 let _1 : (
30995# 74 "parser_cocci_menhir.mly"
30996 (Data.clt)
30997# 30998 "parser_cocci_menhir.ml"
30998 ) = Obj.magic _1 in
30999 let _startpos = _startpos__1_ in
31000 let _endpos = _endpos_c_ in
31001 let _v : 'tv_stm_dots =
31002# 903 "parser_cocci_menhir.mly"
31003 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
31004 P.clt2mcode "...>" c, List.concat w, false)) )
31005# 31006 "parser_cocci_menhir.ml"
31006 in
31007 _menhir_env.MenhirLib.EngineTypes.stack <- {
31008 MenhirLib.EngineTypes.state = _menhir_s;
31009 MenhirLib.EngineTypes.semv = Obj.repr _v;
31010 MenhirLib.EngineTypes.startp = _startpos;
31011 MenhirLib.EngineTypes.endp = _endpos;
31012 MenhirLib.EngineTypes.next = _menhir_stack;
31013 });
31014 (fun _menhir_env ->
31015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31016 let {
31017 MenhirLib.EngineTypes.semv = c;
31018 MenhirLib.EngineTypes.startp = _startpos_c_;
31019 MenhirLib.EngineTypes.endp = _endpos_c_;
31020 MenhirLib.EngineTypes.next = {
31021 MenhirLib.EngineTypes.semv = b;
31022 MenhirLib.EngineTypes.startp = _startpos_b_;
31023 MenhirLib.EngineTypes.endp = _endpos_b_;
31024 MenhirLib.EngineTypes.next = {
31025 MenhirLib.EngineTypes.semv = w;
31026 MenhirLib.EngineTypes.startp = _startpos_w_;
31027 MenhirLib.EngineTypes.endp = _endpos_w_;
31028 MenhirLib.EngineTypes.next = {
31029 MenhirLib.EngineTypes.state = _menhir_s;
31030 MenhirLib.EngineTypes.semv = _1;
31031 MenhirLib.EngineTypes.startp = _startpos__1_;
31032 MenhirLib.EngineTypes.endp = _endpos__1_;
31033 MenhirLib.EngineTypes.next = _menhir_stack;
31034 };
31035 };
31036 };
31037 } = _menhir_stack in
31038 let c : (
31039# 74 "parser_cocci_menhir.mly"
31040 (Data.clt)
31041# 31042 "parser_cocci_menhir.ml"
31042 ) = Obj.magic c in
31043 let b : 'tv_nest_start = Obj.magic b in
31044 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31045 let _1 : (
31046# 74 "parser_cocci_menhir.mly"
31047 (Data.clt)
31048# 31049 "parser_cocci_menhir.ml"
31049 ) = Obj.magic _1 in
31050 let _startpos = _startpos__1_ in
31051 let _endpos = _endpos_c_ in
31052 let _v : 'tv_stm_dots =
31053# 906 "parser_cocci_menhir.mly"
31054 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
31055 P.clt2mcode "...+>" c, List.concat w, true)) )
31056# 31057 "parser_cocci_menhir.ml"
31057 in
31058 _menhir_env.MenhirLib.EngineTypes.stack <- {
31059 MenhirLib.EngineTypes.state = _menhir_s;
31060 MenhirLib.EngineTypes.semv = Obj.repr _v;
31061 MenhirLib.EngineTypes.startp = _startpos;
31062 MenhirLib.EngineTypes.endp = _endpos;
31063 MenhirLib.EngineTypes.next = _menhir_stack;
31064 });
31065 (fun _menhir_env ->
31066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31067 let {
31068 MenhirLib.EngineTypes.state = _menhir_s;
31069 MenhirLib.EngineTypes.semv = s;
31070 MenhirLib.EngineTypes.startp = _startpos_s_;
31071 MenhirLib.EngineTypes.endp = _endpos_s_;
31072 MenhirLib.EngineTypes.next = _menhir_stack;
31073 } = _menhir_stack in
31074 let s : (
31075# 53 "parser_cocci_menhir.mly"
31076 (Data.clt)
31077# 31078 "parser_cocci_menhir.ml"
31078 ) = Obj.magic s in
31079 let _startpos = _startpos_s_ in
31080 let _endpos = _endpos_s_ in
31081 let _v : 'tv_storage =
31082# 832 "parser_cocci_menhir.mly"
31083 ( P.clt2mcode Ast.Static s )
31084# 31085 "parser_cocci_menhir.ml"
31085 in
31086 _menhir_env.MenhirLib.EngineTypes.stack <- {
31087 MenhirLib.EngineTypes.state = _menhir_s;
31088 MenhirLib.EngineTypes.semv = Obj.repr _v;
31089 MenhirLib.EngineTypes.startp = _startpos;
31090 MenhirLib.EngineTypes.endp = _endpos;
31091 MenhirLib.EngineTypes.next = _menhir_stack;
31092 });
31093 (fun _menhir_env ->
31094 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31095 let {
31096 MenhirLib.EngineTypes.state = _menhir_s;
31097 MenhirLib.EngineTypes.semv = s;
31098 MenhirLib.EngineTypes.startp = _startpos_s_;
31099 MenhirLib.EngineTypes.endp = _endpos_s_;
31100 MenhirLib.EngineTypes.next = _menhir_stack;
31101 } = _menhir_stack in
31102 let s : (
31103# 53 "parser_cocci_menhir.mly"
31104 (Data.clt)
31105# 31106 "parser_cocci_menhir.ml"
31106 ) = Obj.magic s in
31107 let _startpos = _startpos_s_ in
31108 let _endpos = _endpos_s_ in
31109 let _v : 'tv_storage =
31110# 833 "parser_cocci_menhir.mly"
31111 ( P.clt2mcode Ast.Auto s )
31112# 31113 "parser_cocci_menhir.ml"
31113 in
31114 _menhir_env.MenhirLib.EngineTypes.stack <- {
31115 MenhirLib.EngineTypes.state = _menhir_s;
31116 MenhirLib.EngineTypes.semv = Obj.repr _v;
31117 MenhirLib.EngineTypes.startp = _startpos;
31118 MenhirLib.EngineTypes.endp = _endpos;
31119 MenhirLib.EngineTypes.next = _menhir_stack;
31120 });
31121 (fun _menhir_env ->
31122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31123 let {
31124 MenhirLib.EngineTypes.state = _menhir_s;
31125 MenhirLib.EngineTypes.semv = s;
31126 MenhirLib.EngineTypes.startp = _startpos_s_;
31127 MenhirLib.EngineTypes.endp = _endpos_s_;
31128 MenhirLib.EngineTypes.next = _menhir_stack;
31129 } = _menhir_stack in
31130 let s : (
31131# 53 "parser_cocci_menhir.mly"
31132 (Data.clt)
31133# 31134 "parser_cocci_menhir.ml"
31134 ) = Obj.magic s in
31135 let _startpos = _startpos_s_ in
31136 let _endpos = _endpos_s_ in
31137 let _v : 'tv_storage =
31138# 834 "parser_cocci_menhir.mly"
31139 ( P.clt2mcode Ast.Register s )
31140# 31141 "parser_cocci_menhir.ml"
31141 in
31142 _menhir_env.MenhirLib.EngineTypes.stack <- {
31143 MenhirLib.EngineTypes.state = _menhir_s;
31144 MenhirLib.EngineTypes.semv = Obj.repr _v;
31145 MenhirLib.EngineTypes.startp = _startpos;
31146 MenhirLib.EngineTypes.endp = _endpos;
31147 MenhirLib.EngineTypes.next = _menhir_stack;
31148 });
31149 (fun _menhir_env ->
31150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31151 let {
31152 MenhirLib.EngineTypes.state = _menhir_s;
31153 MenhirLib.EngineTypes.semv = s;
31154 MenhirLib.EngineTypes.startp = _startpos_s_;
31155 MenhirLib.EngineTypes.endp = _endpos_s_;
31156 MenhirLib.EngineTypes.next = _menhir_stack;
31157 } = _menhir_stack in
31158 let s : (
31159# 53 "parser_cocci_menhir.mly"
31160 (Data.clt)
31161# 31162 "parser_cocci_menhir.ml"
31162 ) = Obj.magic s in
31163 let _startpos = _startpos_s_ in
31164 let _endpos = _endpos_s_ in
31165 let _v : 'tv_storage =
31166# 835 "parser_cocci_menhir.mly"
31167 ( P.clt2mcode Ast.Extern s )
31168# 31169 "parser_cocci_menhir.ml"
31169 in
31170 _menhir_env.MenhirLib.EngineTypes.stack <- {
31171 MenhirLib.EngineTypes.state = _menhir_s;
31172 MenhirLib.EngineTypes.semv = Obj.repr _v;
31173 MenhirLib.EngineTypes.startp = _startpos;
31174 MenhirLib.EngineTypes.endp = _endpos;
31175 MenhirLib.EngineTypes.next = _menhir_stack;
31176 });
31177 (fun _menhir_env ->
31178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31179 let {
31180 MenhirLib.EngineTypes.state = _menhir_s;
31181 MenhirLib.EngineTypes.startp = _startpos__1_;
31182 MenhirLib.EngineTypes.endp = _endpos__1_;
31183 MenhirLib.EngineTypes.next = _menhir_stack;
31184 } = _menhir_stack in
31185 let _startpos = _startpos__1_ in
31186 let _endpos = _endpos__1_ in
31187 let _v : 'tv_struct_decl =
31188# 588 "parser_cocci_menhir.mly"
31189 ( [] )
31190# 31191 "parser_cocci_menhir.ml"
31191 in
31192 _menhir_env.MenhirLib.EngineTypes.stack <- {
31193 MenhirLib.EngineTypes.state = _menhir_s;
31194 MenhirLib.EngineTypes.semv = Obj.repr _v;
31195 MenhirLib.EngineTypes.startp = _startpos;
31196 MenhirLib.EngineTypes.endp = _endpos;
31197 MenhirLib.EngineTypes.next = _menhir_stack;
31198 });
31199 (fun _menhir_env ->
31200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31201 let {
31202 MenhirLib.EngineTypes.semv = pv;
31203 MenhirLib.EngineTypes.startp = _startpos_pv_;
31204 MenhirLib.EngineTypes.endp = _endpos_pv_;
31205 MenhirLib.EngineTypes.next = {
31206 MenhirLib.EngineTypes.semv = d;
31207 MenhirLib.EngineTypes.startp = _startpos_d_;
31208 MenhirLib.EngineTypes.endp = _endpos_d_;
31209 MenhirLib.EngineTypes.next = {
31210 MenhirLib.EngineTypes.state = _menhir_s;
31211 MenhirLib.EngineTypes.semv = t;
31212 MenhirLib.EngineTypes.startp = _startpos_t_;
31213 MenhirLib.EngineTypes.endp = _endpos_t_;
31214 MenhirLib.EngineTypes.next = _menhir_stack;
31215 };
31216 };
31217 } = _menhir_stack in
31218 let pv : (
31219# 108 "parser_cocci_menhir.mly"
31220 (Data.clt)
31221# 31222 "parser_cocci_menhir.ml"
31222 ) = Obj.magic pv in
31223 let d : 'tv_d_ident = Obj.magic d in
31224 let t : 'tv_ctype = Obj.magic t in
31225 let _startpos = _startpos_t_ in
31226 let _endpos = _endpos_pv_ in
31227 let _v : 'tv_struct_decl =
31228# 590 "parser_cocci_menhir.mly"
31229 ( let (id,fn) = d in
31230 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
31231# 31232 "parser_cocci_menhir.ml"
31232 in
31233 _menhir_env.MenhirLib.EngineTypes.stack <- {
31234 MenhirLib.EngineTypes.state = _menhir_s;
31235 MenhirLib.EngineTypes.semv = Obj.repr _v;
31236 MenhirLib.EngineTypes.startp = _startpos;
31237 MenhirLib.EngineTypes.endp = _endpos;
31238 MenhirLib.EngineTypes.next = _menhir_stack;
31239 });
31240 (fun _menhir_env ->
31241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31242 let {
31243 MenhirLib.EngineTypes.semv = pv;
31244 MenhirLib.EngineTypes.startp = _startpos_pv_;
31245 MenhirLib.EngineTypes.endp = _endpos_pv_;
31246 MenhirLib.EngineTypes.next = {
31247 MenhirLib.EngineTypes.semv = rp2;
31248 MenhirLib.EngineTypes.startp = _startpos_rp2_;
31249 MenhirLib.EngineTypes.endp = _endpos_rp2_;
31250 MenhirLib.EngineTypes.next = {
31251 MenhirLib.EngineTypes.semv = p;
31252 MenhirLib.EngineTypes.startp = _startpos_p_;
31253 MenhirLib.EngineTypes.endp = _endpos_p_;
31254 MenhirLib.EngineTypes.next = {
31255 MenhirLib.EngineTypes.semv = lp2;
31256 MenhirLib.EngineTypes.startp = _startpos_lp2_;
31257 MenhirLib.EngineTypes.endp = _endpos_lp2_;
31258 MenhirLib.EngineTypes.next = {
31259 MenhirLib.EngineTypes.semv = rp1;
31260 MenhirLib.EngineTypes.startp = _startpos_rp1_;
31261 MenhirLib.EngineTypes.endp = _endpos_rp1_;
31262 MenhirLib.EngineTypes.next = {
31263 MenhirLib.EngineTypes.semv = d;
31264 MenhirLib.EngineTypes.startp = _startpos_d_;
31265 MenhirLib.EngineTypes.endp = _endpos_d_;
31266 MenhirLib.EngineTypes.next = {
31267 MenhirLib.EngineTypes.semv = st;
31268 MenhirLib.EngineTypes.startp = _startpos_st_;
31269 MenhirLib.EngineTypes.endp = _endpos_st_;
31270 MenhirLib.EngineTypes.next = {
31271 MenhirLib.EngineTypes.semv = lp1;
31272 MenhirLib.EngineTypes.startp = _startpos_lp1_;
31273 MenhirLib.EngineTypes.endp = _endpos_lp1_;
31274 MenhirLib.EngineTypes.next = {
31275 MenhirLib.EngineTypes.state = _menhir_s;
31276 MenhirLib.EngineTypes.semv = t;
31277 MenhirLib.EngineTypes.startp = _startpos_t_;
31278 MenhirLib.EngineTypes.endp = _endpos_t_;
31279 MenhirLib.EngineTypes.next = _menhir_stack;
31280 };
31281 };
31282 };
31283 };
31284 };
31285 };
31286 };
31287 };
31288 } = _menhir_stack in
31289 let pv : (
31290# 108 "parser_cocci_menhir.mly"
31291 (Data.clt)
31292# 31293 "parser_cocci_menhir.ml"
31293 ) = Obj.magic pv in
31294 let rp2 : (
31295# 78 "parser_cocci_menhir.mly"
31296 (Data.clt)
31297# 31298 "parser_cocci_menhir.ml"
31298 ) = Obj.magic rp2 in
31299 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
31300 let lp2 : (
31301# 77 "parser_cocci_menhir.mly"
31302 (Data.clt)
31303# 31304 "parser_cocci_menhir.ml"
31304 ) = Obj.magic lp2 in
31305 let rp1 : (
31306# 78 "parser_cocci_menhir.mly"
31307 (Data.clt)
31308# 31309 "parser_cocci_menhir.ml"
31309 ) = Obj.magic rp1 in
31310 let d : 'tv_d_ident = Obj.magic d in
31311 let st : (
31312# 100 "parser_cocci_menhir.mly"
31313 (Data.clt)
31314# 31315 "parser_cocci_menhir.ml"
31315 ) = Obj.magic st in
31316 let lp1 : (
31317# 77 "parser_cocci_menhir.mly"
31318 (Data.clt)
31319# 31320 "parser_cocci_menhir.ml"
31320 ) = Obj.magic lp1 in
31321 let t : 'tv_ctype = Obj.magic t in
31322 let _startpos = _startpos_t_ in
31323 let _endpos = _endpos_pv_ in
31324 let _v : 'tv_struct_decl =
31325# 594 "parser_cocci_menhir.mly"
31326 ( let (id,fn) = d in
31327 let t =
31328 Ast0.wrap
31329 (Ast0.FunctionPointer
31330 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
31331 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
31332 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
31333# 31334 "parser_cocci_menhir.ml"
31334 in
31335 _menhir_env.MenhirLib.EngineTypes.stack <- {
31336 MenhirLib.EngineTypes.state = _menhir_s;
31337 MenhirLib.EngineTypes.semv = Obj.repr _v;
31338 MenhirLib.EngineTypes.startp = _startpos;
31339 MenhirLib.EngineTypes.endp = _endpos;
31340 MenhirLib.EngineTypes.next = _menhir_stack;
31341 });
31342 (fun _menhir_env ->
31343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31344 let {
31345 MenhirLib.EngineTypes.semv = pv;
31346 MenhirLib.EngineTypes.startp = _startpos_pv_;
31347 MenhirLib.EngineTypes.endp = _endpos_pv_;
31348 MenhirLib.EngineTypes.next = {
31349 MenhirLib.EngineTypes.semv = d;
31350 MenhirLib.EngineTypes.startp = _startpos_d_;
31351 MenhirLib.EngineTypes.endp = _endpos_d_;
31352 MenhirLib.EngineTypes.next = {
31353 MenhirLib.EngineTypes.state = _menhir_s;
31354 MenhirLib.EngineTypes.semv = i;
31355 MenhirLib.EngineTypes.startp = _startpos_i_;
31356 MenhirLib.EngineTypes.endp = _endpos_i_;
31357 MenhirLib.EngineTypes.next = _menhir_stack;
31358 };
31359 };
31360 } = _menhir_stack in
31361 let pv : (
31362# 108 "parser_cocci_menhir.mly"
31363 (Data.clt)
31364# 31365 "parser_cocci_menhir.ml"
31365 ) = Obj.magic pv in
31366 let d : 'tv_d_ident = Obj.magic d in
31367 let i : 'tv_pure_ident = Obj.magic i in
31368 let _startpos = _startpos_i_ in
31369 let _endpos = _endpos_pv_ in
31370 let _v : 'tv_struct_decl = let cv =
31371
31372# 39 "standard.mly"
31373 ( None )
31374# 31375 "parser_cocci_menhir.ml"
31375
31376 in
31377
31378# 602 "parser_cocci_menhir.mly"
31379 ( let (id,fn) = d in
31380 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31381 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31382# 31383 "parser_cocci_menhir.ml"
31383 in
31384 _menhir_env.MenhirLib.EngineTypes.stack <- {
31385 MenhirLib.EngineTypes.state = _menhir_s;
31386 MenhirLib.EngineTypes.semv = Obj.repr _v;
31387 MenhirLib.EngineTypes.startp = _startpos;
31388 MenhirLib.EngineTypes.endp = _endpos;
31389 MenhirLib.EngineTypes.next = _menhir_stack;
31390 });
31391 (fun _menhir_env ->
31392 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31393 let {
31394 MenhirLib.EngineTypes.semv = pv;
31395 MenhirLib.EngineTypes.startp = _startpos_pv_;
31396 MenhirLib.EngineTypes.endp = _endpos_pv_;
31397 MenhirLib.EngineTypes.next = {
31398 MenhirLib.EngineTypes.semv = d;
31399 MenhirLib.EngineTypes.startp = _startpos_d_;
31400 MenhirLib.EngineTypes.endp = _endpos_d_;
31401 MenhirLib.EngineTypes.next = {
31402 MenhirLib.EngineTypes.semv = i;
31403 MenhirLib.EngineTypes.startp = _startpos_i_;
31404 MenhirLib.EngineTypes.endp = _endpos_i_;
31405 MenhirLib.EngineTypes.next = {
31406 MenhirLib.EngineTypes.state = _menhir_s;
31407 MenhirLib.EngineTypes.semv = x0;
31408 MenhirLib.EngineTypes.startp = _startpos_x0_;
31409 MenhirLib.EngineTypes.endp = _endpos_x0_;
31410 MenhirLib.EngineTypes.next = _menhir_stack;
31411 };
31412 };
31413 };
31414 } = _menhir_stack in
31415 let pv : (
31416# 108 "parser_cocci_menhir.mly"
31417 (Data.clt)
31418# 31419 "parser_cocci_menhir.ml"
31419 ) = Obj.magic pv in
31420 let d : 'tv_d_ident = Obj.magic d in
31421 let i : 'tv_pure_ident = Obj.magic i in
31422 let x0 : 'tv_const_vol = Obj.magic x0 in
31423 let _startpos = _startpos_x0_ in
31424 let _endpos = _endpos_pv_ in
31425 let _v : 'tv_struct_decl = let cv =
31426 let x = x0 in
31427
31428# 41 "standard.mly"
31429 ( Some x )
31430# 31431 "parser_cocci_menhir.ml"
31431
31432 in
31433
31434# 602 "parser_cocci_menhir.mly"
31435 ( let (id,fn) = d in
31436 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31437 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31438# 31439 "parser_cocci_menhir.ml"
31439 in
31440 _menhir_env.MenhirLib.EngineTypes.stack <- {
31441 MenhirLib.EngineTypes.state = _menhir_s;
31442 MenhirLib.EngineTypes.semv = Obj.repr _v;
31443 MenhirLib.EngineTypes.startp = _startpos;
31444 MenhirLib.EngineTypes.endp = _endpos;
31445 MenhirLib.EngineTypes.next = _menhir_stack;
31446 });
31447 (fun _menhir_env ->
31448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31449 let {
31450 MenhirLib.EngineTypes.state = _menhir_s;
31451 MenhirLib.EngineTypes.semv = _1;
31452 MenhirLib.EngineTypes.startp = _startpos__1_;
31453 MenhirLib.EngineTypes.endp = _endpos__1_;
31454 MenhirLib.EngineTypes.next = _menhir_stack;
31455 } = _menhir_stack in
31456 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
31457 let _startpos = _startpos__1_ in
31458 let _endpos = _endpos__1_ in
31459 let _v : 'tv_struct_decl_list =
31460# 607 "parser_cocci_menhir.mly"
31461 ( Ast0.wrap(Ast0.DOTS(_1)) )
31462# 31463 "parser_cocci_menhir.ml"
31463 in
31464 _menhir_env.MenhirLib.EngineTypes.stack <- {
31465 MenhirLib.EngineTypes.state = _menhir_s;
31466 MenhirLib.EngineTypes.semv = Obj.repr _v;
31467 MenhirLib.EngineTypes.startp = _startpos;
31468 MenhirLib.EngineTypes.endp = _endpos;
31469 MenhirLib.EngineTypes.next = _menhir_stack;
31470 });
31471 (fun _menhir_env ->
31472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31473 let {
31474 MenhirLib.EngineTypes.state = _menhir_s;
31475 MenhirLib.EngineTypes.semv = _1;
31476 MenhirLib.EngineTypes.startp = _startpos__1_;
31477 MenhirLib.EngineTypes.endp = _endpos__1_;
31478 MenhirLib.EngineTypes.next = _menhir_stack;
31479 } = _menhir_stack in
31480 let _1 : 'tv_struct_decl = Obj.magic _1 in
31481 let _startpos = _startpos__1_ in
31482 let _endpos = _endpos__1_ in
31483 let _v : 'tv_struct_decl_list_start =
31484# 610 "parser_cocci_menhir.mly"
31485 ( _1 )
31486# 31487 "parser_cocci_menhir.ml"
31487 in
31488 _menhir_env.MenhirLib.EngineTypes.stack <- {
31489 MenhirLib.EngineTypes.state = _menhir_s;
31490 MenhirLib.EngineTypes.semv = Obj.repr _v;
31491 MenhirLib.EngineTypes.startp = _startpos;
31492 MenhirLib.EngineTypes.endp = _endpos;
31493 MenhirLib.EngineTypes.next = _menhir_stack;
31494 });
31495 (fun _menhir_env ->
31496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31497 let {
31498 MenhirLib.EngineTypes.semv = _2;
31499 MenhirLib.EngineTypes.startp = _startpos__2_;
31500 MenhirLib.EngineTypes.endp = _endpos__2_;
31501 MenhirLib.EngineTypes.next = {
31502 MenhirLib.EngineTypes.state = _menhir_s;
31503 MenhirLib.EngineTypes.semv = _1;
31504 MenhirLib.EngineTypes.startp = _startpos__1_;
31505 MenhirLib.EngineTypes.endp = _endpos__1_;
31506 MenhirLib.EngineTypes.next = _menhir_stack;
31507 };
31508 } = _menhir_stack in
31509 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
31510 let _1 : 'tv_struct_decl = Obj.magic _1 in
31511 let _startpos = _startpos__1_ in
31512 let _endpos = _endpos__2_ in
31513 let _v : 'tv_struct_decl_list_start =
31514# 611 "parser_cocci_menhir.mly"
31515 ( _1@_2 )
31516# 31517 "parser_cocci_menhir.ml"
31517 in
31518 _menhir_env.MenhirLib.EngineTypes.stack <- {
31519 MenhirLib.EngineTypes.state = _menhir_s;
31520 MenhirLib.EngineTypes.semv = Obj.repr _v;
31521 MenhirLib.EngineTypes.startp = _startpos;
31522 MenhirLib.EngineTypes.endp = _endpos;
31523 MenhirLib.EngineTypes.next = _menhir_stack;
31524 });
31525 (fun _menhir_env ->
31526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31527 let {
31528 MenhirLib.EngineTypes.semv = r;
31529 MenhirLib.EngineTypes.startp = _startpos_r_;
31530 MenhirLib.EngineTypes.endp = _endpos_r_;
31531 MenhirLib.EngineTypes.next = {
31532 MenhirLib.EngineTypes.state = _menhir_s;
31533 MenhirLib.EngineTypes.semv = d;
31534 MenhirLib.EngineTypes.startp = _startpos_d_;
31535 MenhirLib.EngineTypes.endp = _endpos_d_;
31536 MenhirLib.EngineTypes.next = _menhir_stack;
31537 };
31538 } = _menhir_stack in
31539 let r : 'tv_continue_struct_decl_list = Obj.magic r in
31540 let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
31541 let _startpos = _startpos_d_ in
31542 let _endpos = _endpos_r_ in
31543 let _v : 'tv_struct_decl_list_start =
31544# 613 "parser_cocci_menhir.mly"
31545 ( (P.mkddots "..." d)::r )
31546# 31547 "parser_cocci_menhir.ml"
31547 in
31548 _menhir_env.MenhirLib.EngineTypes.stack <- {
31549 MenhirLib.EngineTypes.state = _menhir_s;
31550 MenhirLib.EngineTypes.semv = Obj.repr _v;
31551 MenhirLib.EngineTypes.startp = _startpos;
31552 MenhirLib.EngineTypes.endp = _endpos;
31553 MenhirLib.EngineTypes.next = _menhir_stack;
31554 });
31555 (fun _menhir_env ->
31556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31557 let {
31558 MenhirLib.EngineTypes.state = _menhir_s;
31559 MenhirLib.EngineTypes.semv = s;
31560 MenhirLib.EngineTypes.startp = _startpos_s_;
31561 MenhirLib.EngineTypes.endp = _endpos_s_;
31562 MenhirLib.EngineTypes.next = _menhir_stack;
31563 } = _menhir_stack in
31564 let s : (
31565# 50 "parser_cocci_menhir.mly"
31566 (Data.clt)
31567# 31568 "parser_cocci_menhir.ml"
31568 ) = Obj.magic s in
31569 let _startpos = _startpos_s_ in
31570 let _endpos = _endpos_s_ in
31571 let _v : 'tv_struct_or_union =
31572# 584 "parser_cocci_menhir.mly"
31573 ( P.clt2mcode Ast.Struct s )
31574# 31575 "parser_cocci_menhir.ml"
31575 in
31576 _menhir_env.MenhirLib.EngineTypes.stack <- {
31577 MenhirLib.EngineTypes.state = _menhir_s;
31578 MenhirLib.EngineTypes.semv = Obj.repr _v;
31579 MenhirLib.EngineTypes.startp = _startpos;
31580 MenhirLib.EngineTypes.endp = _endpos;
31581 MenhirLib.EngineTypes.next = _menhir_stack;
31582 });
31583 (fun _menhir_env ->
31584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31585 let {
31586 MenhirLib.EngineTypes.state = _menhir_s;
31587 MenhirLib.EngineTypes.semv = u;
31588 MenhirLib.EngineTypes.startp = _startpos_u_;
31589 MenhirLib.EngineTypes.endp = _endpos_u_;
31590 MenhirLib.EngineTypes.next = _menhir_stack;
31591 } = _menhir_stack in
31592 let u : (
31593# 50 "parser_cocci_menhir.mly"
31594 (Data.clt)
31595# 31596 "parser_cocci_menhir.ml"
31596 ) = Obj.magic u in
31597 let _startpos = _startpos_u_ in
31598 let _endpos = _endpos_u_ in
31599 let _v : 'tv_struct_or_union =
31600# 585 "parser_cocci_menhir.mly"
31601 ( P.clt2mcode Ast.Union u )
31602# 31603 "parser_cocci_menhir.ml"
31603 in
31604 _menhir_env.MenhirLib.EngineTypes.stack <- {
31605 MenhirLib.EngineTypes.state = _menhir_s;
31606 MenhirLib.EngineTypes.semv = Obj.repr _v;
31607 MenhirLib.EngineTypes.startp = _startpos;
31608 MenhirLib.EngineTypes.endp = _endpos;
31609 MenhirLib.EngineTypes.next = _menhir_stack;
31610 });
31611 (fun _menhir_env ->
31612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31613 let {
31614 MenhirLib.EngineTypes.state = _menhir_s;
31615 MenhirLib.EngineTypes.semv = _1;
31616 MenhirLib.EngineTypes.startp = _startpos__1_;
31617 MenhirLib.EngineTypes.endp = _endpos__1_;
31618 MenhirLib.EngineTypes.next = _menhir_stack;
31619 } = _menhir_stack in
31620 let _1 : 'tv_eexpr = Obj.magic _1 in
31621 let _startpos = _startpos__1_ in
31622 let _endpos = _endpos__1_ in
31623 let _v : 'tv_top_eexpr =
31624# 1230 "parser_cocci_menhir.mly"
31625 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
31626# 31627 "parser_cocci_menhir.ml"
31627 in
31628 _menhir_env.MenhirLib.EngineTypes.stack <- {
31629 MenhirLib.EngineTypes.state = _menhir_s;
31630 MenhirLib.EngineTypes.semv = Obj.repr _v;
31631 MenhirLib.EngineTypes.startp = _startpos;
31632 MenhirLib.EngineTypes.endp = _endpos;
31633 MenhirLib.EngineTypes.next = _menhir_stack;
31634 });
31635 (fun _menhir_env ->
31636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31637 let {
31638 MenhirLib.EngineTypes.semv = _3;
31639 MenhirLib.EngineTypes.startp = _startpos__3_;
31640 MenhirLib.EngineTypes.endp = _endpos__3_;
31641 MenhirLib.EngineTypes.next = {
31642 MenhirLib.EngineTypes.semv = _2;
31643 MenhirLib.EngineTypes.startp = _startpos__2_;
31644 MenhirLib.EngineTypes.endp = _endpos__2_;
31645 MenhirLib.EngineTypes.next = {
31646 MenhirLib.EngineTypes.state = _menhir_s;
31647 MenhirLib.EngineTypes.semv = _1;
31648 MenhirLib.EngineTypes.startp = _startpos__1_;
31649 MenhirLib.EngineTypes.endp = _endpos__1_;
31650 MenhirLib.EngineTypes.next = _menhir_stack;
31651 };
31652 };
31653 } = _menhir_stack in
31654 let _3 : (
31655# 102 "parser_cocci_menhir.mly"
31656 (Data.clt)
31657# 31658 "parser_cocci_menhir.ml"
31658 ) = Obj.magic _3 in
31659 let _2 : 'tv_initialize_list = Obj.magic _2 in
31660 let _1 : (
31661# 102 "parser_cocci_menhir.mly"
31662 (Data.clt)
31663# 31664 "parser_cocci_menhir.ml"
31664 ) = Obj.magic _1 in
31665 let _startpos = _startpos__1_ in
31666 let _endpos = _endpos__3_ in
31667 let _v : 'tv_top_init =
31668# 1768 "parser_cocci_menhir.mly"
31669 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
31670# 31671 "parser_cocci_menhir.ml"
31671 in
31672 _menhir_env.MenhirLib.EngineTypes.stack <- {
31673 MenhirLib.EngineTypes.state = _menhir_s;
31674 MenhirLib.EngineTypes.semv = Obj.repr _v;
31675 MenhirLib.EngineTypes.startp = _startpos;
31676 MenhirLib.EngineTypes.endp = _endpos;
31677 MenhirLib.EngineTypes.next = _menhir_stack;
31678 });
31679 (fun _menhir_env ->
31680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31681 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31682 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31683 let _endpos = _startpos in
31684 let _v : 'tv_toplevel_after_dots =
31685# 1756 "parser_cocci_menhir.mly"
31686 ([])
31687# 31688 "parser_cocci_menhir.ml"
31688 in
31689 _menhir_env.MenhirLib.EngineTypes.stack <- {
31690 MenhirLib.EngineTypes.state = _menhir_s;
31691 MenhirLib.EngineTypes.semv = Obj.repr _v;
31692 MenhirLib.EngineTypes.startp = _startpos;
31693 MenhirLib.EngineTypes.endp = _endpos;
31694 MenhirLib.EngineTypes.next = _menhir_stack;
31695 });
31696 (fun _menhir_env ->
31697 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31698 let {
31699 MenhirLib.EngineTypes.semv = _2;
31700 MenhirLib.EngineTypes.startp = _startpos__2_;
31701 MenhirLib.EngineTypes.endp = _endpos__2_;
31702 MenhirLib.EngineTypes.next = {
31703 MenhirLib.EngineTypes.state = _menhir_s;
31704 MenhirLib.EngineTypes.startp = _startpos__1_;
31705 MenhirLib.EngineTypes.endp = _endpos__1_;
31706 MenhirLib.EngineTypes.next = _menhir_stack;
31707 };
31708 } = _menhir_stack in
31709 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31710 let _startpos = _startpos__1_ in
31711 let _endpos = _endpos__2_ in
31712 let _v : 'tv_toplevel_after_dots =
31713# 1757 "parser_cocci_menhir.mly"
31714 (_2)
31715# 31716 "parser_cocci_menhir.ml"
31716 in
31717 _menhir_env.MenhirLib.EngineTypes.stack <- {
31718 MenhirLib.EngineTypes.state = _menhir_s;
31719 MenhirLib.EngineTypes.semv = Obj.repr _v;
31720 MenhirLib.EngineTypes.startp = _startpos;
31721 MenhirLib.EngineTypes.endp = _endpos;
31722 MenhirLib.EngineTypes.next = _menhir_stack;
31723 });
31724 (fun _menhir_env ->
31725 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31726 let {
31727 MenhirLib.EngineTypes.semv = _2;
31728 MenhirLib.EngineTypes.startp = _startpos__2_;
31729 MenhirLib.EngineTypes.endp = _endpos__2_;
31730 MenhirLib.EngineTypes.next = {
31731 MenhirLib.EngineTypes.state = _menhir_s;
31732 MenhirLib.EngineTypes.semv = _1;
31733 MenhirLib.EngineTypes.startp = _startpos__1_;
31734 MenhirLib.EngineTypes.endp = _endpos__1_;
31735 MenhirLib.EngineTypes.next = _menhir_stack;
31736 };
31737 } = _menhir_stack in
31738 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31739 let _1 : 'tv_expr = Obj.magic _1 in
31740 let _startpos = _startpos__1_ in
31741 let _endpos = _endpos__2_ in
31742 let _v : 'tv_toplevel_after_dots =
31743# 1758 "parser_cocci_menhir.mly"
31744 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31745# 31746 "parser_cocci_menhir.ml"
31746 in
31747 _menhir_env.MenhirLib.EngineTypes.stack <- {
31748 MenhirLib.EngineTypes.state = _menhir_s;
31749 MenhirLib.EngineTypes.semv = Obj.repr _v;
31750 MenhirLib.EngineTypes.startp = _startpos;
31751 MenhirLib.EngineTypes.endp = _endpos;
31752 MenhirLib.EngineTypes.next = _menhir_stack;
31753 });
31754 (fun _menhir_env ->
31755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31756 let {
31757 MenhirLib.EngineTypes.semv = _2;
31758 MenhirLib.EngineTypes.startp = _startpos__2_;
31759 MenhirLib.EngineTypes.endp = _endpos__2_;
31760 MenhirLib.EngineTypes.next = {
31761 MenhirLib.EngineTypes.state = _menhir_s;
31762 MenhirLib.EngineTypes.semv = _1;
31763 MenhirLib.EngineTypes.startp = _startpos__1_;
31764 MenhirLib.EngineTypes.endp = _endpos__1_;
31765 MenhirLib.EngineTypes.next = _menhir_stack;
31766 };
31767 } = _menhir_stack in
31768 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31769 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31770 let _startpos = _startpos__1_ in
31771 let _endpos = _endpos__2_ in
31772 let _v : 'tv_toplevel_after_dots =
31773# 1759 "parser_cocci_menhir.mly"
31774 (_1@_2)
31775# 31776 "parser_cocci_menhir.ml"
31776 in
31777 _menhir_env.MenhirLib.EngineTypes.stack <- {
31778 MenhirLib.EngineTypes.state = _menhir_s;
31779 MenhirLib.EngineTypes.semv = Obj.repr _v;
31780 MenhirLib.EngineTypes.startp = _startpos;
31781 MenhirLib.EngineTypes.endp = _endpos;
31782 MenhirLib.EngineTypes.next = _menhir_stack;
31783 });
31784 (fun _menhir_env ->
31785 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31786 let {
31787 MenhirLib.EngineTypes.semv = _2;
31788 MenhirLib.EngineTypes.startp = _startpos__2_;
31789 MenhirLib.EngineTypes.endp = _endpos__2_;
31790 MenhirLib.EngineTypes.next = {
31791 MenhirLib.EngineTypes.state = _menhir_s;
31792 MenhirLib.EngineTypes.startp = _startpos__1_;
31793 MenhirLib.EngineTypes.endp = _endpos__1_;
31794 MenhirLib.EngineTypes.next = _menhir_stack;
31795 };
31796 } = _menhir_stack in
31797 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31798 let _startpos = _startpos__1_ in
31799 let _endpos = _endpos__2_ in
31800 let _v : 'tv_toplevel_after_dots_init =
31801# 1747 "parser_cocci_menhir.mly"
31802 (_2)
31803# 31804 "parser_cocci_menhir.ml"
31804 in
31805 _menhir_env.MenhirLib.EngineTypes.stack <- {
31806 MenhirLib.EngineTypes.state = _menhir_s;
31807 MenhirLib.EngineTypes.semv = Obj.repr _v;
31808 MenhirLib.EngineTypes.startp = _startpos;
31809 MenhirLib.EngineTypes.endp = _endpos;
31810 MenhirLib.EngineTypes.next = _menhir_stack;
31811 });
31812 (fun _menhir_env ->
31813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31814 let {
31815 MenhirLib.EngineTypes.semv = _2;
31816 MenhirLib.EngineTypes.startp = _startpos__2_;
31817 MenhirLib.EngineTypes.endp = _endpos__2_;
31818 MenhirLib.EngineTypes.next = {
31819 MenhirLib.EngineTypes.state = _menhir_s;
31820 MenhirLib.EngineTypes.semv = _1;
31821 MenhirLib.EngineTypes.startp = _startpos__1_;
31822 MenhirLib.EngineTypes.endp = _endpos__1_;
31823 MenhirLib.EngineTypes.next = _menhir_stack;
31824 };
31825 } = _menhir_stack in
31826 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31827 let _1 : 'tv_expr = Obj.magic _1 in
31828 let _startpos = _startpos__1_ in
31829 let _endpos = _endpos__2_ in
31830 let _v : 'tv_toplevel_after_dots_init =
31831# 1748 "parser_cocci_menhir.mly"
31832 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
31833# 31834 "parser_cocci_menhir.ml"
31834 in
31835 _menhir_env.MenhirLib.EngineTypes.stack <- {
31836 MenhirLib.EngineTypes.state = _menhir_s;
31837 MenhirLib.EngineTypes.semv = Obj.repr _v;
31838 MenhirLib.EngineTypes.startp = _startpos;
31839 MenhirLib.EngineTypes.endp = _endpos;
31840 MenhirLib.EngineTypes.next = _menhir_stack;
31841 });
31842 (fun _menhir_env ->
31843 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31844 let {
31845 MenhirLib.EngineTypes.semv = _2;
31846 MenhirLib.EngineTypes.startp = _startpos__2_;
31847 MenhirLib.EngineTypes.endp = _endpos__2_;
31848 MenhirLib.EngineTypes.next = {
31849 MenhirLib.EngineTypes.state = _menhir_s;
31850 MenhirLib.EngineTypes.semv = _1;
31851 MenhirLib.EngineTypes.startp = _startpos__1_;
31852 MenhirLib.EngineTypes.endp = _endpos__1_;
31853 MenhirLib.EngineTypes.next = _menhir_stack;
31854 };
31855 } = _menhir_stack in
31856 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31857 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
31858 let _startpos = _startpos__1_ in
31859 let _endpos = _endpos__2_ in
31860 let _v : 'tv_toplevel_after_dots_init =
31861# 1749 "parser_cocci_menhir.mly"
31862 (_1@_2)
31863# 31864 "parser_cocci_menhir.ml"
31864 in
31865 _menhir_env.MenhirLib.EngineTypes.stack <- {
31866 MenhirLib.EngineTypes.state = _menhir_s;
31867 MenhirLib.EngineTypes.semv = Obj.repr _v;
31868 MenhirLib.EngineTypes.startp = _startpos;
31869 MenhirLib.EngineTypes.endp = _endpos;
31870 MenhirLib.EngineTypes.next = _menhir_stack;
31871 });
31872 (fun _menhir_env ->
31873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31874 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31875 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31876 let _endpos = _startpos in
31877 let _v : 'tv_toplevel_after_exp =
31878# 1752 "parser_cocci_menhir.mly"
31879 ([])
31880# 31881 "parser_cocci_menhir.ml"
31881 in
31882 _menhir_env.MenhirLib.EngineTypes.stack <- {
31883 MenhirLib.EngineTypes.state = _menhir_s;
31884 MenhirLib.EngineTypes.semv = Obj.repr _v;
31885 MenhirLib.EngineTypes.startp = _startpos;
31886 MenhirLib.EngineTypes.endp = _endpos;
31887 MenhirLib.EngineTypes.next = _menhir_stack;
31888 });
31889 (fun _menhir_env ->
31890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31891 let {
31892 MenhirLib.EngineTypes.semv = _2;
31893 MenhirLib.EngineTypes.startp = _startpos__2_;
31894 MenhirLib.EngineTypes.endp = _endpos__2_;
31895 MenhirLib.EngineTypes.next = {
31896 MenhirLib.EngineTypes.state = _menhir_s;
31897 MenhirLib.EngineTypes.semv = _1;
31898 MenhirLib.EngineTypes.startp = _startpos__1_;
31899 MenhirLib.EngineTypes.endp = _endpos__1_;
31900 MenhirLib.EngineTypes.next = _menhir_stack;
31901 };
31902 } = _menhir_stack in
31903 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31904 let _1 : 'tv_stm_dots = Obj.magic _1 in
31905 let _startpos = _startpos__1_ in
31906 let _endpos = _endpos__2_ in
31907 let _v : 'tv_toplevel_after_exp =
31908# 1753 "parser_cocci_menhir.mly"
31909 (_1::_2)
31910# 31911 "parser_cocci_menhir.ml"
31911 in
31912 _menhir_env.MenhirLib.EngineTypes.stack <- {
31913 MenhirLib.EngineTypes.state = _menhir_s;
31914 MenhirLib.EngineTypes.semv = Obj.repr _v;
31915 MenhirLib.EngineTypes.startp = _startpos;
31916 MenhirLib.EngineTypes.endp = _endpos;
31917 MenhirLib.EngineTypes.next = _menhir_stack;
31918 });
31919 (fun _menhir_env ->
31920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31921 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31922 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31923 let _endpos = _startpos in
31924 let _v : 'tv_toplevel_after_stm =
31925# 1762 "parser_cocci_menhir.mly"
31926 ([])
31927# 31928 "parser_cocci_menhir.ml"
31928 in
31929 _menhir_env.MenhirLib.EngineTypes.stack <- {
31930 MenhirLib.EngineTypes.state = _menhir_s;
31931 MenhirLib.EngineTypes.semv = Obj.repr _v;
31932 MenhirLib.EngineTypes.startp = _startpos;
31933 MenhirLib.EngineTypes.endp = _endpos;
31934 MenhirLib.EngineTypes.next = _menhir_stack;
31935 });
31936 (fun _menhir_env ->
31937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31938 let {
31939 MenhirLib.EngineTypes.semv = _2;
31940 MenhirLib.EngineTypes.startp = _startpos__2_;
31941 MenhirLib.EngineTypes.endp = _endpos__2_;
31942 MenhirLib.EngineTypes.next = {
31943 MenhirLib.EngineTypes.state = _menhir_s;
31944 MenhirLib.EngineTypes.semv = _1;
31945 MenhirLib.EngineTypes.startp = _startpos__1_;
31946 MenhirLib.EngineTypes.endp = _endpos__1_;
31947 MenhirLib.EngineTypes.next = _menhir_stack;
31948 };
31949 } = _menhir_stack in
31950 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
31951 let _1 : 'tv_stm_dots = Obj.magic _1 in
31952 let _startpos = _startpos__1_ in
31953 let _endpos = _endpos__2_ in
31954 let _v : 'tv_toplevel_after_stm =
31955# 1763 "parser_cocci_menhir.mly"
31956 (_1::_2)
31957# 31958 "parser_cocci_menhir.ml"
31958 in
31959 _menhir_env.MenhirLib.EngineTypes.stack <- {
31960 MenhirLib.EngineTypes.state = _menhir_s;
31961 MenhirLib.EngineTypes.semv = Obj.repr _v;
31962 MenhirLib.EngineTypes.startp = _startpos;
31963 MenhirLib.EngineTypes.endp = _endpos;
31964 MenhirLib.EngineTypes.next = _menhir_stack;
31965 });
31966 (fun _menhir_env ->
31967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31968 let {
31969 MenhirLib.EngineTypes.semv = _2;
31970 MenhirLib.EngineTypes.startp = _startpos__2_;
31971 MenhirLib.EngineTypes.endp = _endpos__2_;
31972 MenhirLib.EngineTypes.next = {
31973 MenhirLib.EngineTypes.state = _menhir_s;
31974 MenhirLib.EngineTypes.semv = _1;
31975 MenhirLib.EngineTypes.startp = _startpos__1_;
31976 MenhirLib.EngineTypes.endp = _endpos__1_;
31977 MenhirLib.EngineTypes.next = _menhir_stack;
31978 };
31979 } = _menhir_stack in
31980 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
31981 let _1 : 'tv_decl_statement = Obj.magic _1 in
31982 let _startpos = _startpos__1_ in
31983 let _endpos = _endpos__2_ in
31984 let _v : 'tv_toplevel_after_stm =
31985# 1764 "parser_cocci_menhir.mly"
31986 (_1@_2)
31987# 31988 "parser_cocci_menhir.ml"
31988 in
31989 _menhir_env.MenhirLib.EngineTypes.stack <- {
31990 MenhirLib.EngineTypes.state = _menhir_s;
31991 MenhirLib.EngineTypes.semv = Obj.repr _v;
31992 MenhirLib.EngineTypes.startp = _startpos;
31993 MenhirLib.EngineTypes.endp = _endpos;
31994 MenhirLib.EngineTypes.next = _menhir_stack;
31995 });
31996 (fun _menhir_env ->
31997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31998 let {
31999 MenhirLib.EngineTypes.semv = _2;
32000 MenhirLib.EngineTypes.startp = _startpos__2_;
32001 MenhirLib.EngineTypes.endp = _endpos__2_;
32002 MenhirLib.EngineTypes.next = {
32003 MenhirLib.EngineTypes.state = _menhir_s;
32004 MenhirLib.EngineTypes.semv = _1;
32005 MenhirLib.EngineTypes.startp = _startpos__1_;
32006 MenhirLib.EngineTypes.endp = _endpos__1_;
32007 MenhirLib.EngineTypes.next = _menhir_stack;
32008 };
32009 } = _menhir_stack in
32010 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32011 let _1 : 'tv_stm_dots = Obj.magic _1 in
32012 let _startpos = _startpos__1_ in
32013 let _endpos = _endpos__2_ in
32014 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32015# 1742 "parser_cocci_menhir.mly"
32016 ( _1::_2 )
32017# 32018 "parser_cocci_menhir.ml"
32018 in
32019 _menhir_env.MenhirLib.EngineTypes.stack <- {
32020 MenhirLib.EngineTypes.state = _menhir_s;
32021 MenhirLib.EngineTypes.semv = Obj.repr _v;
32022 MenhirLib.EngineTypes.startp = _startpos;
32023 MenhirLib.EngineTypes.endp = _endpos;
32024 MenhirLib.EngineTypes.next = _menhir_stack;
32025 });
32026 (fun _menhir_env ->
32027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32028 let {
32029 MenhirLib.EngineTypes.semv = _2;
32030 MenhirLib.EngineTypes.startp = _startpos__2_;
32031 MenhirLib.EngineTypes.endp = _endpos__2_;
32032 MenhirLib.EngineTypes.next = {
32033 MenhirLib.EngineTypes.state = _menhir_s;
32034 MenhirLib.EngineTypes.semv = _1;
32035 MenhirLib.EngineTypes.startp = _startpos__1_;
32036 MenhirLib.EngineTypes.endp = _endpos__1_;
32037 MenhirLib.EngineTypes.next = _menhir_stack;
32038 };
32039 } = _menhir_stack in
32040 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32041 let _1 : 'tv_expr = Obj.magic _1 in
32042 let _startpos = _startpos__1_ in
32043 let _endpos = _endpos__2_ in
32044 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32045# 1743 "parser_cocci_menhir.mly"
32046 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32047# 32048 "parser_cocci_menhir.ml"
32048 in
32049 _menhir_env.MenhirLib.EngineTypes.stack <- {
32050 MenhirLib.EngineTypes.state = _menhir_s;
32051 MenhirLib.EngineTypes.semv = Obj.repr _v;
32052 MenhirLib.EngineTypes.startp = _startpos;
32053 MenhirLib.EngineTypes.endp = _endpos;
32054 MenhirLib.EngineTypes.next = _menhir_stack;
32055 });
32056 (fun _menhir_env ->
32057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32058 let {
32059 MenhirLib.EngineTypes.semv = _2;
32060 MenhirLib.EngineTypes.startp = _startpos__2_;
32061 MenhirLib.EngineTypes.endp = _endpos__2_;
32062 MenhirLib.EngineTypes.next = {
32063 MenhirLib.EngineTypes.state = _menhir_s;
32064 MenhirLib.EngineTypes.semv = _1;
32065 MenhirLib.EngineTypes.startp = _startpos__1_;
32066 MenhirLib.EngineTypes.endp = _endpos__1_;
32067 MenhirLib.EngineTypes.next = _menhir_stack;
32068 };
32069 } = _menhir_stack in
32070 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32071 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32072 let _startpos = _startpos__1_ in
32073 let _endpos = _endpos__2_ in
32074 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32075# 1744 "parser_cocci_menhir.mly"
32076 ( _1@_2 )
32077# 32078 "parser_cocci_menhir.ml"
32078 in
32079 _menhir_env.MenhirLib.EngineTypes.stack <- {
32080 MenhirLib.EngineTypes.state = _menhir_s;
32081 MenhirLib.EngineTypes.semv = Obj.repr _v;
32082 MenhirLib.EngineTypes.startp = _startpos;
32083 MenhirLib.EngineTypes.endp = _endpos;
32084 MenhirLib.EngineTypes.next = _menhir_stack;
32085 });
32086 (fun _menhir_env ->
32087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32088 let {
32089 MenhirLib.EngineTypes.semv = b;
32090 MenhirLib.EngineTypes.startp = _startpos_b_;
32091 MenhirLib.EngineTypes.endp = _endpos_b_;
32092 MenhirLib.EngineTypes.next = {
32093 MenhirLib.EngineTypes.semv = w0;
32094 MenhirLib.EngineTypes.startp = _startpos_w0_;
32095 MenhirLib.EngineTypes.endp = _endpos_w0_;
32096 MenhirLib.EngineTypes.next = {
32097 MenhirLib.EngineTypes.state = _menhir_s;
32098 MenhirLib.EngineTypes.semv = a0;
32099 MenhirLib.EngineTypes.startp = _startpos_a0_;
32100 MenhirLib.EngineTypes.endp = _endpos_a0_;
32101 MenhirLib.EngineTypes.next = _menhir_stack;
32102 };
32103 };
32104 } = _menhir_stack in
32105 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32106 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32107 let a0 : (
32108# 74 "parser_cocci_menhir.mly"
32109 (Data.clt)
32110# 32111 "parser_cocci_menhir.ml"
32111 ) = Obj.magic a0 in
32112 let _startpos = _startpos_a0_ in
32113 let _endpos = _endpos_b_ in
32114 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32115 let w = w0 in
32116 let a = a0 in
32117
32118# 911 "parser_cocci_menhir.mly"
32119 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
32120# 32121 "parser_cocci_menhir.ml"
32121
32122 in
32123
32124# 1735 "parser_cocci_menhir.mly"
32125 ( a::b )
32126# 32127 "parser_cocci_menhir.ml"
32127 in
32128 _menhir_env.MenhirLib.EngineTypes.stack <- {
32129 MenhirLib.EngineTypes.state = _menhir_s;
32130 MenhirLib.EngineTypes.semv = Obj.repr _v;
32131 MenhirLib.EngineTypes.startp = _startpos;
32132 MenhirLib.EngineTypes.endp = _endpos;
32133 MenhirLib.EngineTypes.next = _menhir_stack;
32134 });
32135 (fun _menhir_env ->
32136 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32137 let {
32138 MenhirLib.EngineTypes.semv = b;
32139 MenhirLib.EngineTypes.startp = _startpos_b_;
32140 MenhirLib.EngineTypes.endp = _endpos_b_;
32141 MenhirLib.EngineTypes.next = {
32142 MenhirLib.EngineTypes.semv = c0;
32143 MenhirLib.EngineTypes.startp = _startpos_c0_;
32144 MenhirLib.EngineTypes.endp = _endpos_c0_;
32145 MenhirLib.EngineTypes.next = {
32146 MenhirLib.EngineTypes.semv = b0;
32147 MenhirLib.EngineTypes.startp = _startpos_b0_;
32148 MenhirLib.EngineTypes.endp = _endpos_b0_;
32149 MenhirLib.EngineTypes.next = {
32150 MenhirLib.EngineTypes.semv = w0;
32151 MenhirLib.EngineTypes.startp = _startpos_w0_;
32152 MenhirLib.EngineTypes.endp = _endpos_w0_;
32153 MenhirLib.EngineTypes.next = {
32154 MenhirLib.EngineTypes.state = _menhir_s;
32155 MenhirLib.EngineTypes.semv = a0;
32156 MenhirLib.EngineTypes.startp = _startpos_a0_;
32157 MenhirLib.EngineTypes.endp = _endpos_a0_;
32158 MenhirLib.EngineTypes.next = _menhir_stack;
32159 };
32160 };
32161 };
32162 };
32163 } = _menhir_stack in
32164 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32165 let c0 : (
32166# 74 "parser_cocci_menhir.mly"
32167 (Data.clt)
32168# 32169 "parser_cocci_menhir.ml"
32169 ) = Obj.magic c0 in
32170 let b0 : 'tv_nest_start = Obj.magic b0 in
32171 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32172 let a0 : (
32173# 74 "parser_cocci_menhir.mly"
32174 (Data.clt)
32175# 32176 "parser_cocci_menhir.ml"
32176 ) = Obj.magic a0 in
32177 let _startpos = _startpos_a0_ in
32178 let _endpos = _endpos_b_ in
32179 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32180 let c = c0 in
32181 let b = b0 in
32182 let w = w0 in
32183 let a = a0 in
32184
32185# 915 "parser_cocci_menhir.mly"
32186 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
32187 P.clt2mcode "...>" c, List.concat w, false)) )
32188# 32189 "parser_cocci_menhir.ml"
32189
32190 in
32191
32192# 1736 "parser_cocci_menhir.mly"
32193 ( a::b )
32194# 32195 "parser_cocci_menhir.ml"
32195 in
32196 _menhir_env.MenhirLib.EngineTypes.stack <- {
32197 MenhirLib.EngineTypes.state = _menhir_s;
32198 MenhirLib.EngineTypes.semv = Obj.repr _v;
32199 MenhirLib.EngineTypes.startp = _startpos;
32200 MenhirLib.EngineTypes.endp = _endpos;
32201 MenhirLib.EngineTypes.next = _menhir_stack;
32202 });
32203 (fun _menhir_env ->
32204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32205 let {
32206 MenhirLib.EngineTypes.semv = b;
32207 MenhirLib.EngineTypes.startp = _startpos_b_;
32208 MenhirLib.EngineTypes.endp = _endpos_b_;
32209 MenhirLib.EngineTypes.next = {
32210 MenhirLib.EngineTypes.semv = c0;
32211 MenhirLib.EngineTypes.startp = _startpos_c0_;
32212 MenhirLib.EngineTypes.endp = _endpos_c0_;
32213 MenhirLib.EngineTypes.next = {
32214 MenhirLib.EngineTypes.semv = b0;
32215 MenhirLib.EngineTypes.startp = _startpos_b0_;
32216 MenhirLib.EngineTypes.endp = _endpos_b0_;
32217 MenhirLib.EngineTypes.next = {
32218 MenhirLib.EngineTypes.semv = w0;
32219 MenhirLib.EngineTypes.startp = _startpos_w0_;
32220 MenhirLib.EngineTypes.endp = _endpos_w0_;
32221 MenhirLib.EngineTypes.next = {
32222 MenhirLib.EngineTypes.state = _menhir_s;
32223 MenhirLib.EngineTypes.semv = a0;
32224 MenhirLib.EngineTypes.startp = _startpos_a0_;
32225 MenhirLib.EngineTypes.endp = _endpos_a0_;
32226 MenhirLib.EngineTypes.next = _menhir_stack;
32227 };
32228 };
32229 };
32230 };
32231 } = _menhir_stack in
32232 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32233 let c0 : (
32234# 74 "parser_cocci_menhir.mly"
32235 (Data.clt)
32236# 32237 "parser_cocci_menhir.ml"
32237 ) = Obj.magic c0 in
32238 let b0 : 'tv_nest_start = Obj.magic b0 in
32239 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32240 let a0 : (
32241# 74 "parser_cocci_menhir.mly"
32242 (Data.clt)
32243# 32244 "parser_cocci_menhir.ml"
32244 ) = Obj.magic a0 in
32245 let _startpos = _startpos_a0_ in
32246 let _endpos = _endpos_b_ in
32247 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32248 let c = c0 in
32249 let b = b0 in
32250 let w = w0 in
32251 let a = a0 in
32252
32253# 918 "parser_cocci_menhir.mly"
32254 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32255 P.clt2mcode "...+>" c, List.concat w, true)) )
32256# 32257 "parser_cocci_menhir.ml"
32257
32258 in
32259
32260# 1736 "parser_cocci_menhir.mly"
32261 ( a::b )
32262# 32263 "parser_cocci_menhir.ml"
32263 in
32264 _menhir_env.MenhirLib.EngineTypes.stack <- {
32265 MenhirLib.EngineTypes.state = _menhir_s;
32266 MenhirLib.EngineTypes.semv = Obj.repr _v;
32267 MenhirLib.EngineTypes.startp = _startpos;
32268 MenhirLib.EngineTypes.endp = _endpos;
32269 MenhirLib.EngineTypes.next = _menhir_stack;
32270 });
32271 (fun _menhir_env ->
32272 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32273 let {
32274 MenhirLib.EngineTypes.semv = c0;
32275 MenhirLib.EngineTypes.startp = _startpos_c0_;
32276 MenhirLib.EngineTypes.endp = _endpos_c0_;
32277 MenhirLib.EngineTypes.next = {
32278 MenhirLib.EngineTypes.semv = b0;
32279 MenhirLib.EngineTypes.startp = _startpos_b0_;
32280 MenhirLib.EngineTypes.endp = _endpos_b0_;
32281 MenhirLib.EngineTypes.next = {
32282 MenhirLib.EngineTypes.semv = w0;
32283 MenhirLib.EngineTypes.startp = _startpos_w0_;
32284 MenhirLib.EngineTypes.endp = _endpos_w0_;
32285 MenhirLib.EngineTypes.next = {
32286 MenhirLib.EngineTypes.state = _menhir_s;
32287 MenhirLib.EngineTypes.semv = a0;
32288 MenhirLib.EngineTypes.startp = _startpos_a0_;
32289 MenhirLib.EngineTypes.endp = _endpos_a0_;
32290 MenhirLib.EngineTypes.next = _menhir_stack;
32291 };
32292 };
32293 };
32294 } = _menhir_stack in
32295 let c0 : (
32296# 74 "parser_cocci_menhir.mly"
32297 (Data.clt)
32298# 32299 "parser_cocci_menhir.ml"
32299 ) = Obj.magic c0 in
32300 let b0 : 'tv_nest_start = Obj.magic b0 in
32301 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32302 let a0 : (
32303# 74 "parser_cocci_menhir.mly"
32304 (Data.clt)
32305# 32306 "parser_cocci_menhir.ml"
32306 ) = Obj.magic a0 in
32307 let _startpos = _startpos_a0_ in
32308 let _endpos = _endpos_c0_ in
32309 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32310 let c = c0 in
32311 let b = b0 in
32312 let w = w0 in
32313 let a = a0 in
32314
32315# 915 "parser_cocci_menhir.mly"
32316 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
32317 P.clt2mcode "...>" c, List.concat w, false)) )
32318# 32319 "parser_cocci_menhir.ml"
32319
32320 in
32321
32322# 1737 "parser_cocci_menhir.mly"
32323 ( [a] )
32324# 32325 "parser_cocci_menhir.ml"
32325 in
32326 _menhir_env.MenhirLib.EngineTypes.stack <- {
32327 MenhirLib.EngineTypes.state = _menhir_s;
32328 MenhirLib.EngineTypes.semv = Obj.repr _v;
32329 MenhirLib.EngineTypes.startp = _startpos;
32330 MenhirLib.EngineTypes.endp = _endpos;
32331 MenhirLib.EngineTypes.next = _menhir_stack;
32332 });
32333 (fun _menhir_env ->
32334 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32335 let {
32336 MenhirLib.EngineTypes.semv = c0;
32337 MenhirLib.EngineTypes.startp = _startpos_c0_;
32338 MenhirLib.EngineTypes.endp = _endpos_c0_;
32339 MenhirLib.EngineTypes.next = {
32340 MenhirLib.EngineTypes.semv = b0;
32341 MenhirLib.EngineTypes.startp = _startpos_b0_;
32342 MenhirLib.EngineTypes.endp = _endpos_b0_;
32343 MenhirLib.EngineTypes.next = {
32344 MenhirLib.EngineTypes.semv = w0;
32345 MenhirLib.EngineTypes.startp = _startpos_w0_;
32346 MenhirLib.EngineTypes.endp = _endpos_w0_;
32347 MenhirLib.EngineTypes.next = {
32348 MenhirLib.EngineTypes.state = _menhir_s;
32349 MenhirLib.EngineTypes.semv = a0;
32350 MenhirLib.EngineTypes.startp = _startpos_a0_;
32351 MenhirLib.EngineTypes.endp = _endpos_a0_;
32352 MenhirLib.EngineTypes.next = _menhir_stack;
32353 };
32354 };
32355 };
32356 } = _menhir_stack in
32357 let c0 : (
32358# 74 "parser_cocci_menhir.mly"
32359 (Data.clt)
32360# 32361 "parser_cocci_menhir.ml"
32361 ) = Obj.magic c0 in
32362 let b0 : 'tv_nest_start = Obj.magic b0 in
32363 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32364 let a0 : (
32365# 74 "parser_cocci_menhir.mly"
32366 (Data.clt)
32367# 32368 "parser_cocci_menhir.ml"
32368 ) = Obj.magic a0 in
32369 let _startpos = _startpos_a0_ in
32370 let _endpos = _endpos_c0_ in
32371 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32372 let c = c0 in
32373 let b = b0 in
32374 let w = w0 in
32375 let a = a0 in
32376
32377# 918 "parser_cocci_menhir.mly"
32378 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32379 P.clt2mcode "...+>" c, List.concat w, true)) )
32380# 32381 "parser_cocci_menhir.ml"
32381
32382 in
32383
32384# 1737 "parser_cocci_menhir.mly"
32385 ( [a] )
32386# 32387 "parser_cocci_menhir.ml"
32387 in
32388 _menhir_env.MenhirLib.EngineTypes.stack <- {
32389 MenhirLib.EngineTypes.state = _menhir_s;
32390 MenhirLib.EngineTypes.semv = Obj.repr _v;
32391 MenhirLib.EngineTypes.startp = _startpos;
32392 MenhirLib.EngineTypes.endp = _endpos;
32393 MenhirLib.EngineTypes.next = _menhir_stack;
32394 });
32395 (fun _menhir_env ->
32396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32397 let {
32398 MenhirLib.EngineTypes.semv = _2;
32399 MenhirLib.EngineTypes.startp = _startpos__2_;
32400 MenhirLib.EngineTypes.endp = _endpos__2_;
32401 MenhirLib.EngineTypes.next = {
32402 MenhirLib.EngineTypes.state = _menhir_s;
32403 MenhirLib.EngineTypes.semv = _1;
32404 MenhirLib.EngineTypes.startp = _startpos__1_;
32405 MenhirLib.EngineTypes.endp = _endpos__1_;
32406 MenhirLib.EngineTypes.next = _menhir_stack;
32407 };
32408 } = _menhir_stack in
32409 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32410 let _1 : 'tv_expr = Obj.magic _1 in
32411 let _startpos = _startpos__1_ in
32412 let _endpos = _endpos__2_ in
32413 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32414# 1738 "parser_cocci_menhir.mly"
32415 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32416# 32417 "parser_cocci_menhir.ml"
32417 in
32418 _menhir_env.MenhirLib.EngineTypes.stack <- {
32419 MenhirLib.EngineTypes.state = _menhir_s;
32420 MenhirLib.EngineTypes.semv = Obj.repr _v;
32421 MenhirLib.EngineTypes.startp = _startpos;
32422 MenhirLib.EngineTypes.endp = _endpos;
32423 MenhirLib.EngineTypes.next = _menhir_stack;
32424 });
32425 (fun _menhir_env ->
32426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32427 let {
32428 MenhirLib.EngineTypes.semv = _2;
32429 MenhirLib.EngineTypes.startp = _startpos__2_;
32430 MenhirLib.EngineTypes.endp = _endpos__2_;
32431 MenhirLib.EngineTypes.next = {
32432 MenhirLib.EngineTypes.state = _menhir_s;
32433 MenhirLib.EngineTypes.semv = _1;
32434 MenhirLib.EngineTypes.startp = _startpos__1_;
32435 MenhirLib.EngineTypes.endp = _endpos__1_;
32436 MenhirLib.EngineTypes.next = _menhir_stack;
32437 };
32438 } = _menhir_stack in
32439 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32440 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32441 let _startpos = _startpos__1_ in
32442 let _endpos = _endpos__2_ in
32443 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32444# 1739 "parser_cocci_menhir.mly"
32445 ( _1@_2 )
32446# 32447 "parser_cocci_menhir.ml"
32447 in
32448 _menhir_env.MenhirLib.EngineTypes.stack <- {
32449 MenhirLib.EngineTypes.state = _menhir_s;
32450 MenhirLib.EngineTypes.semv = Obj.repr _v;
32451 MenhirLib.EngineTypes.startp = _startpos;
32452 MenhirLib.EngineTypes.endp = _endpos;
32453 MenhirLib.EngineTypes.next = _menhir_stack;
32454 });
32455 (fun _menhir_env ->
32456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32457 let {
32458 MenhirLib.EngineTypes.semv = m;
32459 MenhirLib.EngineTypes.startp = _startpos_m_;
32460 MenhirLib.EngineTypes.endp = _endpos_m_;
32461 MenhirLib.EngineTypes.next = {
32462 MenhirLib.EngineTypes.semv = ty00;
32463 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32464 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32465 MenhirLib.EngineTypes.next = {
32466 MenhirLib.EngineTypes.state = _menhir_s;
32467 MenhirLib.EngineTypes.semv = r0;
32468 MenhirLib.EngineTypes.startp = _startpos_r0_;
32469 MenhirLib.EngineTypes.endp = _endpos_r0_;
32470 MenhirLib.EngineTypes.next = _menhir_stack;
32471 };
32472 };
32473 } = _menhir_stack in
32474 let m : 'tv_list_TMul_ = Obj.magic m in
32475 let ty00 : (
32476# 49 "parser_cocci_menhir.mly"
32477 (Data.clt)
32478# 32479 "parser_cocci_menhir.ml"
32479 ) = Obj.magic ty00 in
32480 let r0 : (
32481# 51 "parser_cocci_menhir.mly"
32482 (Data.clt)
32483# 32484 "parser_cocci_menhir.ml"
32484 ) = Obj.magic r0 in
32485 let _startpos = _startpos_r0_ in
32486 let _endpos = _endpos_m_ in
32487 let _v : 'tv_typedef_ctype = let ty =
32488 let ty0 = ty00 in
32489 let r = r0 in
32490 let ty =
32491 let ty = ty0 in
32492
32493# 502 "parser_cocci_menhir.mly"
32494 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32495# 32496 "parser_cocci_menhir.ml"
32496
32497 in
32498
32499# 554 "parser_cocci_menhir.mly"
32500 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32501# 32502 "parser_cocci_menhir.ml"
32502
32503 in
32504 let cv =
32505
32506# 39 "standard.mly"
32507 ( None )
32508# 32509 "parser_cocci_menhir.ml"
32509
32510 in
32511
32512# 575 "parser_cocci_menhir.mly"
32513 ( P.pointerify (P.make_cv cv ty) m )
32514# 32515 "parser_cocci_menhir.ml"
32515 in
32516 _menhir_env.MenhirLib.EngineTypes.stack <- {
32517 MenhirLib.EngineTypes.state = _menhir_s;
32518 MenhirLib.EngineTypes.semv = Obj.repr _v;
32519 MenhirLib.EngineTypes.startp = _startpos;
32520 MenhirLib.EngineTypes.endp = _endpos;
32521 MenhirLib.EngineTypes.next = _menhir_stack;
32522 });
32523 (fun _menhir_env ->
32524 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32525 let {
32526 MenhirLib.EngineTypes.semv = m;
32527 MenhirLib.EngineTypes.startp = _startpos_m_;
32528 MenhirLib.EngineTypes.endp = _endpos_m_;
32529 MenhirLib.EngineTypes.next = {
32530 MenhirLib.EngineTypes.semv = ty00;
32531 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32532 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32533 MenhirLib.EngineTypes.next = {
32534 MenhirLib.EngineTypes.state = _menhir_s;
32535 MenhirLib.EngineTypes.semv = r0;
32536 MenhirLib.EngineTypes.startp = _startpos_r0_;
32537 MenhirLib.EngineTypes.endp = _endpos_r0_;
32538 MenhirLib.EngineTypes.next = _menhir_stack;
32539 };
32540 };
32541 } = _menhir_stack in
32542 let m : 'tv_list_TMul_ = Obj.magic m in
32543 let ty00 : (
32544# 49 "parser_cocci_menhir.mly"
32545 (Data.clt)
32546# 32547 "parser_cocci_menhir.ml"
32547 ) = Obj.magic ty00 in
32548 let r0 : (
32549# 51 "parser_cocci_menhir.mly"
32550 (Data.clt)
32551# 32552 "parser_cocci_menhir.ml"
32552 ) = Obj.magic r0 in
32553 let _startpos = _startpos_r0_ in
32554 let _endpos = _endpos_m_ in
32555 let _v : 'tv_typedef_ctype = let ty =
32556 let ty0 = ty00 in
32557 let r = r0 in
32558 let ty =
32559 let ty = ty0 in
32560
32561# 504 "parser_cocci_menhir.mly"
32562 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32563# 32564 "parser_cocci_menhir.ml"
32564
32565 in
32566
32567# 554 "parser_cocci_menhir.mly"
32568 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32569# 32570 "parser_cocci_menhir.ml"
32570
32571 in
32572 let cv =
32573
32574# 39 "standard.mly"
32575 ( None )
32576# 32577 "parser_cocci_menhir.ml"
32577
32578 in
32579
32580# 575 "parser_cocci_menhir.mly"
32581 ( P.pointerify (P.make_cv cv ty) m )
32582# 32583 "parser_cocci_menhir.ml"
32583 in
32584 _menhir_env.MenhirLib.EngineTypes.stack <- {
32585 MenhirLib.EngineTypes.state = _menhir_s;
32586 MenhirLib.EngineTypes.semv = Obj.repr _v;
32587 MenhirLib.EngineTypes.startp = _startpos;
32588 MenhirLib.EngineTypes.endp = _endpos;
32589 MenhirLib.EngineTypes.next = _menhir_stack;
32590 });
32591 (fun _menhir_env ->
32592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32593 let {
32594 MenhirLib.EngineTypes.semv = m;
32595 MenhirLib.EngineTypes.startp = _startpos_m_;
32596 MenhirLib.EngineTypes.endp = _endpos_m_;
32597 MenhirLib.EngineTypes.next = {
32598 MenhirLib.EngineTypes.semv = ty00;
32599 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32600 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32601 MenhirLib.EngineTypes.next = {
32602 MenhirLib.EngineTypes.state = _menhir_s;
32603 MenhirLib.EngineTypes.semv = r0;
32604 MenhirLib.EngineTypes.startp = _startpos_r0_;
32605 MenhirLib.EngineTypes.endp = _endpos_r0_;
32606 MenhirLib.EngineTypes.next = _menhir_stack;
32607 };
32608 };
32609 } = _menhir_stack in
32610 let m : 'tv_list_TMul_ = Obj.magic m in
32611 let ty00 : (
32612# 49 "parser_cocci_menhir.mly"
32613 (Data.clt)
32614# 32615 "parser_cocci_menhir.ml"
32615 ) = Obj.magic ty00 in
32616 let r0 : (
32617# 51 "parser_cocci_menhir.mly"
32618 (Data.clt)
32619# 32620 "parser_cocci_menhir.ml"
32620 ) = Obj.magic r0 in
32621 let _startpos = _startpos_r0_ in
32622 let _endpos = _endpos_m_ in
32623 let _v : 'tv_typedef_ctype = let ty =
32624 let ty0 = ty00 in
32625 let r = r0 in
32626 let ty =
32627 let ty = ty0 in
32628
32629# 506 "parser_cocci_menhir.mly"
32630 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32631# 32632 "parser_cocci_menhir.ml"
32632
32633 in
32634
32635# 554 "parser_cocci_menhir.mly"
32636 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32637# 32638 "parser_cocci_menhir.ml"
32638
32639 in
32640 let cv =
32641
32642# 39 "standard.mly"
32643 ( None )
32644# 32645 "parser_cocci_menhir.ml"
32645
32646 in
32647
32648# 575 "parser_cocci_menhir.mly"
32649 ( P.pointerify (P.make_cv cv ty) m )
32650# 32651 "parser_cocci_menhir.ml"
32651 in
32652 _menhir_env.MenhirLib.EngineTypes.stack <- {
32653 MenhirLib.EngineTypes.state = _menhir_s;
32654 MenhirLib.EngineTypes.semv = Obj.repr _v;
32655 MenhirLib.EngineTypes.startp = _startpos;
32656 MenhirLib.EngineTypes.endp = _endpos;
32657 MenhirLib.EngineTypes.next = _menhir_stack;
32658 });
32659 (fun _menhir_env ->
32660 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32661 let {
32662 MenhirLib.EngineTypes.semv = m;
32663 MenhirLib.EngineTypes.startp = _startpos_m_;
32664 MenhirLib.EngineTypes.endp = _endpos_m_;
32665 MenhirLib.EngineTypes.next = {
32666 MenhirLib.EngineTypes.semv = p00;
32667 MenhirLib.EngineTypes.startp = _startpos_p00_;
32668 MenhirLib.EngineTypes.endp = _endpos_p00_;
32669 MenhirLib.EngineTypes.next = {
32670 MenhirLib.EngineTypes.state = _menhir_s;
32671 MenhirLib.EngineTypes.semv = r0;
32672 MenhirLib.EngineTypes.startp = _startpos_r0_;
32673 MenhirLib.EngineTypes.endp = _endpos_r0_;
32674 MenhirLib.EngineTypes.next = _menhir_stack;
32675 };
32676 };
32677 } = _menhir_stack in
32678 let m : 'tv_list_TMul_ = Obj.magic m in
32679 let p00 : (
32680# 65 "parser_cocci_menhir.mly"
32681 (Parse_aux.info)
32682# 32683 "parser_cocci_menhir.ml"
32683 ) = Obj.magic p00 in
32684 let r0 : (
32685# 51 "parser_cocci_menhir.mly"
32686 (Data.clt)
32687# 32688 "parser_cocci_menhir.ml"
32688 ) = Obj.magic r0 in
32689 let _startpos = _startpos_r0_ in
32690 let _endpos = _endpos_m_ in
32691 let _v : 'tv_typedef_ctype = let ty =
32692 let p0 = p00 in
32693 let r = r0 in
32694 let ty =
32695 let p = p0 in
32696
32697# 508 "parser_cocci_menhir.mly"
32698 ( let (nm,pure,clt) = p in
32699 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32700# 32701 "parser_cocci_menhir.ml"
32701
32702 in
32703
32704# 554 "parser_cocci_menhir.mly"
32705 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32706# 32707 "parser_cocci_menhir.ml"
32707
32708 in
32709 let cv =
32710
32711# 39 "standard.mly"
32712 ( None )
32713# 32714 "parser_cocci_menhir.ml"
32714
32715 in
32716
32717# 575 "parser_cocci_menhir.mly"
32718 ( P.pointerify (P.make_cv cv ty) m )
32719# 32720 "parser_cocci_menhir.ml"
32720 in
32721 _menhir_env.MenhirLib.EngineTypes.stack <- {
32722 MenhirLib.EngineTypes.state = _menhir_s;
32723 MenhirLib.EngineTypes.semv = Obj.repr _v;
32724 MenhirLib.EngineTypes.startp = _startpos;
32725 MenhirLib.EngineTypes.endp = _endpos;
32726 MenhirLib.EngineTypes.next = _menhir_stack;
32727 });
32728 (fun _menhir_env ->
32729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32730 let {
32731 MenhirLib.EngineTypes.semv = m;
32732 MenhirLib.EngineTypes.startp = _startpos_m_;
32733 MenhirLib.EngineTypes.endp = _endpos_m_;
32734 MenhirLib.EngineTypes.next = {
32735 MenhirLib.EngineTypes.semv = p00;
32736 MenhirLib.EngineTypes.startp = _startpos_p00_;
32737 MenhirLib.EngineTypes.endp = _endpos_p00_;
32738 MenhirLib.EngineTypes.next = {
32739 MenhirLib.EngineTypes.startp = _startpos__3_;
32740 MenhirLib.EngineTypes.endp = _endpos__3_;
32741 MenhirLib.EngineTypes.next = {
32742 MenhirLib.EngineTypes.semv = r00;
32743 MenhirLib.EngineTypes.startp = _startpos_r00_;
32744 MenhirLib.EngineTypes.endp = _endpos_r00_;
32745 MenhirLib.EngineTypes.next = {
32746 MenhirLib.EngineTypes.state = _menhir_s;
32747 MenhirLib.EngineTypes.semv = r1;
32748 MenhirLib.EngineTypes.startp = _startpos_r1_;
32749 MenhirLib.EngineTypes.endp = _endpos_r1_;
32750 MenhirLib.EngineTypes.next = _menhir_stack;
32751 };
32752 };
32753 };
32754 };
32755 } = _menhir_stack in
32756 let m : 'tv_list_TMul_ = Obj.magic m in
32757 let p00 : (
32758# 59 "parser_cocci_menhir.mly"
32759 (string * Data.clt)
32760# 32761 "parser_cocci_menhir.ml"
32761 ) = Obj.magic p00 in
32762 let r00 : (
32763# 47 "parser_cocci_menhir.mly"
32764 (string)
32765# 32766 "parser_cocci_menhir.ml"
32766 ) = Obj.magic r00 in
32767 let r1 : (
32768# 51 "parser_cocci_menhir.mly"
32769 (Data.clt)
32770# 32771 "parser_cocci_menhir.ml"
32771 ) = Obj.magic r1 in
32772 let _startpos = _startpos_r1_ in
32773 let _endpos = _endpos_m_ in
32774 let _v : 'tv_typedef_ctype = let ty =
32775 let p0 = p00 in
32776 let r0 = r00 in
32777 let r = r1 in
32778 let ty =
32779 let p = p0 in
32780 let r = r0 in
32781
32782# 511 "parser_cocci_menhir.mly"
32783 ( let nm = (r,P.id2name p) in
32784 (* this is only possible when we are in a metavar decl. Otherwise,
32785 it will be represented already as a MetaType *)
32786 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
32787 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
32788 Ast0.Impure (*will be ignored*))) )
32789# 32790 "parser_cocci_menhir.ml"
32790
32791 in
32792
32793# 554 "parser_cocci_menhir.mly"
32794 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32795# 32796 "parser_cocci_menhir.ml"
32796
32797 in
32798 let cv =
32799
32800# 39 "standard.mly"
32801 ( None )
32802# 32803 "parser_cocci_menhir.ml"
32803
32804 in
32805
32806# 575 "parser_cocci_menhir.mly"
32807 ( P.pointerify (P.make_cv cv ty) m )
32808# 32809 "parser_cocci_menhir.ml"
32809 in
32810 _menhir_env.MenhirLib.EngineTypes.stack <- {
32811 MenhirLib.EngineTypes.state = _menhir_s;
32812 MenhirLib.EngineTypes.semv = Obj.repr _v;
32813 MenhirLib.EngineTypes.startp = _startpos;
32814 MenhirLib.EngineTypes.endp = _endpos;
32815 MenhirLib.EngineTypes.next = _menhir_stack;
32816 });
32817 (fun _menhir_env ->
32818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32819 let {
32820 MenhirLib.EngineTypes.semv = m;
32821 MenhirLib.EngineTypes.startp = _startpos_m_;
32822 MenhirLib.EngineTypes.endp = _endpos_m_;
32823 MenhirLib.EngineTypes.next = {
32824 MenhirLib.EngineTypes.semv = ty00;
32825 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32826 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32827 MenhirLib.EngineTypes.next = {
32828 MenhirLib.EngineTypes.state = _menhir_s;
32829 MenhirLib.EngineTypes.semv = r0;
32830 MenhirLib.EngineTypes.startp = _startpos_r0_;
32831 MenhirLib.EngineTypes.endp = _endpos_r0_;
32832 MenhirLib.EngineTypes.next = _menhir_stack;
32833 };
32834 };
32835 } = _menhir_stack in
32836 let m : 'tv_list_TMul_ = Obj.magic m in
32837 let ty00 : (
32838# 49 "parser_cocci_menhir.mly"
32839 (Data.clt)
32840# 32841 "parser_cocci_menhir.ml"
32841 ) = Obj.magic ty00 in
32842 let r0 : (
32843# 51 "parser_cocci_menhir.mly"
32844 (Data.clt)
32845# 32846 "parser_cocci_menhir.ml"
32846 ) = Obj.magic r0 in
32847 let _startpos = _startpos_r0_ in
32848 let _endpos = _endpos_m_ in
32849 let _v : 'tv_typedef_ctype = let ty =
32850 let ty0 = ty00 in
32851 let r = r0 in
32852 let ty =
32853 let ty = ty0 in
32854
32855# 518 "parser_cocci_menhir.mly"
32856 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
32857# 32858 "parser_cocci_menhir.ml"
32858
32859 in
32860
32861# 554 "parser_cocci_menhir.mly"
32862 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32863# 32864 "parser_cocci_menhir.ml"
32864
32865 in
32866 let cv =
32867
32868# 39 "standard.mly"
32869 ( None )
32870# 32871 "parser_cocci_menhir.ml"
32871
32872 in
32873
32874# 575 "parser_cocci_menhir.mly"
32875 ( P.pointerify (P.make_cv cv ty) m )
32876# 32877 "parser_cocci_menhir.ml"
32877 in
32878 _menhir_env.MenhirLib.EngineTypes.stack <- {
32879 MenhirLib.EngineTypes.state = _menhir_s;
32880 MenhirLib.EngineTypes.semv = Obj.repr _v;
32881 MenhirLib.EngineTypes.startp = _startpos;
32882 MenhirLib.EngineTypes.endp = _endpos;
32883 MenhirLib.EngineTypes.next = _menhir_stack;
32884 });
32885 (fun _menhir_env ->
32886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32887 let {
32888 MenhirLib.EngineTypes.semv = m;
32889 MenhirLib.EngineTypes.startp = _startpos_m_;
32890 MenhirLib.EngineTypes.endp = _endpos_m_;
32891 MenhirLib.EngineTypes.next = {
32892 MenhirLib.EngineTypes.semv = ty200;
32893 MenhirLib.EngineTypes.startp = _startpos_ty200_;
32894 MenhirLib.EngineTypes.endp = _endpos_ty200_;
32895 MenhirLib.EngineTypes.next = {
32896 MenhirLib.EngineTypes.semv = ty100;
32897 MenhirLib.EngineTypes.startp = _startpos_ty100_;
32898 MenhirLib.EngineTypes.endp = _endpos_ty100_;
32899 MenhirLib.EngineTypes.next = {
32900 MenhirLib.EngineTypes.state = _menhir_s;
32901 MenhirLib.EngineTypes.semv = r0;
32902 MenhirLib.EngineTypes.startp = _startpos_r0_;
32903 MenhirLib.EngineTypes.endp = _endpos_r0_;
32904 MenhirLib.EngineTypes.next = _menhir_stack;
32905 };
32906 };
32907 };
32908 } = _menhir_stack in
32909 let m : 'tv_list_TMul_ = Obj.magic m in
32910 let ty200 : (
32911# 49 "parser_cocci_menhir.mly"
32912 (Data.clt)
32913# 32914 "parser_cocci_menhir.ml"
32914 ) = Obj.magic ty200 in
32915 let ty100 : (
32916# 49 "parser_cocci_menhir.mly"
32917 (Data.clt)
32918# 32919 "parser_cocci_menhir.ml"
32919 ) = Obj.magic ty100 in
32920 let r0 : (
32921# 51 "parser_cocci_menhir.mly"
32922 (Data.clt)
32923# 32924 "parser_cocci_menhir.ml"
32924 ) = Obj.magic r0 in
32925 let _startpos = _startpos_r0_ in
32926 let _endpos = _endpos_m_ in
32927 let _v : 'tv_typedef_ctype = let ty =
32928 let ty20 = ty200 in
32929 let ty10 = ty100 in
32930 let r = r0 in
32931 let ty =
32932 let ty2 = ty20 in
32933 let ty1 = ty10 in
32934
32935# 520 "parser_cocci_menhir.mly"
32936 ( Ast0.wrap
32937 (Ast0.BaseType
32938 (Ast.LongLongType,
32939 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
32940# 32941 "parser_cocci_menhir.ml"
32941
32942 in
32943
32944# 554 "parser_cocci_menhir.mly"
32945 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32946# 32947 "parser_cocci_menhir.ml"
32947
32948 in
32949 let cv =
32950
32951# 39 "standard.mly"
32952 ( None )
32953# 32954 "parser_cocci_menhir.ml"
32954
32955 in
32956
32957# 575 "parser_cocci_menhir.mly"
32958 ( P.pointerify (P.make_cv cv ty) m )
32959# 32960 "parser_cocci_menhir.ml"
32960 in
32961 _menhir_env.MenhirLib.EngineTypes.stack <- {
32962 MenhirLib.EngineTypes.state = _menhir_s;
32963 MenhirLib.EngineTypes.semv = Obj.repr _v;
32964 MenhirLib.EngineTypes.startp = _startpos;
32965 MenhirLib.EngineTypes.endp = _endpos;
32966 MenhirLib.EngineTypes.next = _menhir_stack;
32967 });
32968 (fun _menhir_env ->
32969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32970 let {
32971 MenhirLib.EngineTypes.semv = m;
32972 MenhirLib.EngineTypes.startp = _startpos_m_;
32973 MenhirLib.EngineTypes.endp = _endpos_m_;
32974 MenhirLib.EngineTypes.next = {
32975 MenhirLib.EngineTypes.semv = ty00;
32976 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32977 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32978 MenhirLib.EngineTypes.next = {
32979 MenhirLib.EngineTypes.state = _menhir_s;
32980 MenhirLib.EngineTypes.semv = r0;
32981 MenhirLib.EngineTypes.startp = _startpos_r0_;
32982 MenhirLib.EngineTypes.endp = _endpos_r0_;
32983 MenhirLib.EngineTypes.next = _menhir_stack;
32984 };
32985 };
32986 } = _menhir_stack in
32987 let m : 'tv_list_TMul_ = Obj.magic m in
32988 let ty00 : (
32989# 49 "parser_cocci_menhir.mly"
32990 (Data.clt)
32991# 32992 "parser_cocci_menhir.ml"
32992 ) = Obj.magic ty00 in
32993 let r0 : (
32994# 51 "parser_cocci_menhir.mly"
32995 (Data.clt)
32996# 32997 "parser_cocci_menhir.ml"
32997 ) = Obj.magic r0 in
32998 let _startpos = _startpos_r0_ in
32999 let _endpos = _endpos_m_ in
33000 let _v : 'tv_typedef_ctype = let ty =
33001 let ty0 = ty00 in
33002 let r = r0 in
33003 let ty =
33004 let ty = ty0 in
33005
33006# 502 "parser_cocci_menhir.mly"
33007 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33008# 33009 "parser_cocci_menhir.ml"
33009
33010 in
33011
33012# 556 "parser_cocci_menhir.mly"
33013 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33014# 33015 "parser_cocci_menhir.ml"
33015
33016 in
33017 let cv =
33018
33019# 39 "standard.mly"
33020 ( None )
33021# 33022 "parser_cocci_menhir.ml"
33022
33023 in
33024
33025# 575 "parser_cocci_menhir.mly"
33026 ( P.pointerify (P.make_cv cv ty) m )
33027# 33028 "parser_cocci_menhir.ml"
33028 in
33029 _menhir_env.MenhirLib.EngineTypes.stack <- {
33030 MenhirLib.EngineTypes.state = _menhir_s;
33031 MenhirLib.EngineTypes.semv = Obj.repr _v;
33032 MenhirLib.EngineTypes.startp = _startpos;
33033 MenhirLib.EngineTypes.endp = _endpos;
33034 MenhirLib.EngineTypes.next = _menhir_stack;
33035 });
33036 (fun _menhir_env ->
33037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33038 let {
33039 MenhirLib.EngineTypes.semv = m;
33040 MenhirLib.EngineTypes.startp = _startpos_m_;
33041 MenhirLib.EngineTypes.endp = _endpos_m_;
33042 MenhirLib.EngineTypes.next = {
33043 MenhirLib.EngineTypes.semv = ty00;
33044 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33045 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33046 MenhirLib.EngineTypes.next = {
33047 MenhirLib.EngineTypes.state = _menhir_s;
33048 MenhirLib.EngineTypes.semv = r0;
33049 MenhirLib.EngineTypes.startp = _startpos_r0_;
33050 MenhirLib.EngineTypes.endp = _endpos_r0_;
33051 MenhirLib.EngineTypes.next = _menhir_stack;
33052 };
33053 };
33054 } = _menhir_stack in
33055 let m : 'tv_list_TMul_ = Obj.magic m in
33056 let ty00 : (
33057# 49 "parser_cocci_menhir.mly"
33058 (Data.clt)
33059# 33060 "parser_cocci_menhir.ml"
33060 ) = Obj.magic ty00 in
33061 let r0 : (
33062# 51 "parser_cocci_menhir.mly"
33063 (Data.clt)
33064# 33065 "parser_cocci_menhir.ml"
33065 ) = Obj.magic r0 in
33066 let _startpos = _startpos_r0_ in
33067 let _endpos = _endpos_m_ in
33068 let _v : 'tv_typedef_ctype = let ty =
33069 let ty0 = ty00 in
33070 let r = r0 in
33071 let ty =
33072 let ty = ty0 in
33073
33074# 504 "parser_cocci_menhir.mly"
33075 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33076# 33077 "parser_cocci_menhir.ml"
33077
33078 in
33079
33080# 556 "parser_cocci_menhir.mly"
33081 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33082# 33083 "parser_cocci_menhir.ml"
33083
33084 in
33085 let cv =
33086
33087# 39 "standard.mly"
33088 ( None )
33089# 33090 "parser_cocci_menhir.ml"
33090
33091 in
33092
33093# 575 "parser_cocci_menhir.mly"
33094 ( P.pointerify (P.make_cv cv ty) m )
33095# 33096 "parser_cocci_menhir.ml"
33096 in
33097 _menhir_env.MenhirLib.EngineTypes.stack <- {
33098 MenhirLib.EngineTypes.state = _menhir_s;
33099 MenhirLib.EngineTypes.semv = Obj.repr _v;
33100 MenhirLib.EngineTypes.startp = _startpos;
33101 MenhirLib.EngineTypes.endp = _endpos;
33102 MenhirLib.EngineTypes.next = _menhir_stack;
33103 });
33104 (fun _menhir_env ->
33105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33106 let {
33107 MenhirLib.EngineTypes.semv = m;
33108 MenhirLib.EngineTypes.startp = _startpos_m_;
33109 MenhirLib.EngineTypes.endp = _endpos_m_;
33110 MenhirLib.EngineTypes.next = {
33111 MenhirLib.EngineTypes.semv = ty00;
33112 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33113 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33114 MenhirLib.EngineTypes.next = {
33115 MenhirLib.EngineTypes.state = _menhir_s;
33116 MenhirLib.EngineTypes.semv = r0;
33117 MenhirLib.EngineTypes.startp = _startpos_r0_;
33118 MenhirLib.EngineTypes.endp = _endpos_r0_;
33119 MenhirLib.EngineTypes.next = _menhir_stack;
33120 };
33121 };
33122 } = _menhir_stack in
33123 let m : 'tv_list_TMul_ = Obj.magic m in
33124 let ty00 : (
33125# 49 "parser_cocci_menhir.mly"
33126 (Data.clt)
33127# 33128 "parser_cocci_menhir.ml"
33128 ) = Obj.magic ty00 in
33129 let r0 : (
33130# 51 "parser_cocci_menhir.mly"
33131 (Data.clt)
33132# 33133 "parser_cocci_menhir.ml"
33133 ) = Obj.magic r0 in
33134 let _startpos = _startpos_r0_ in
33135 let _endpos = _endpos_m_ in
33136 let _v : 'tv_typedef_ctype = let ty =
33137 let ty0 = ty00 in
33138 let r = r0 in
33139 let ty =
33140 let ty = ty0 in
33141
33142# 506 "parser_cocci_menhir.mly"
33143 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33144# 33145 "parser_cocci_menhir.ml"
33145
33146 in
33147
33148# 556 "parser_cocci_menhir.mly"
33149 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33150# 33151 "parser_cocci_menhir.ml"
33151
33152 in
33153 let cv =
33154
33155# 39 "standard.mly"
33156 ( None )
33157# 33158 "parser_cocci_menhir.ml"
33158
33159 in
33160
33161# 575 "parser_cocci_menhir.mly"
33162 ( P.pointerify (P.make_cv cv ty) m )
33163# 33164 "parser_cocci_menhir.ml"
33164 in
33165 _menhir_env.MenhirLib.EngineTypes.stack <- {
33166 MenhirLib.EngineTypes.state = _menhir_s;
33167 MenhirLib.EngineTypes.semv = Obj.repr _v;
33168 MenhirLib.EngineTypes.startp = _startpos;
33169 MenhirLib.EngineTypes.endp = _endpos;
33170 MenhirLib.EngineTypes.next = _menhir_stack;
33171 });
33172 (fun _menhir_env ->
33173 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33174 let {
33175 MenhirLib.EngineTypes.semv = m;
33176 MenhirLib.EngineTypes.startp = _startpos_m_;
33177 MenhirLib.EngineTypes.endp = _endpos_m_;
33178 MenhirLib.EngineTypes.next = {
33179 MenhirLib.EngineTypes.semv = p00;
33180 MenhirLib.EngineTypes.startp = _startpos_p00_;
33181 MenhirLib.EngineTypes.endp = _endpos_p00_;
33182 MenhirLib.EngineTypes.next = {
33183 MenhirLib.EngineTypes.state = _menhir_s;
33184 MenhirLib.EngineTypes.semv = r0;
33185 MenhirLib.EngineTypes.startp = _startpos_r0_;
33186 MenhirLib.EngineTypes.endp = _endpos_r0_;
33187 MenhirLib.EngineTypes.next = _menhir_stack;
33188 };
33189 };
33190 } = _menhir_stack in
33191 let m : 'tv_list_TMul_ = Obj.magic m in
33192 let p00 : (
33193# 65 "parser_cocci_menhir.mly"
33194 (Parse_aux.info)
33195# 33196 "parser_cocci_menhir.ml"
33196 ) = Obj.magic p00 in
33197 let r0 : (
33198# 51 "parser_cocci_menhir.mly"
33199 (Data.clt)
33200# 33201 "parser_cocci_menhir.ml"
33201 ) = Obj.magic r0 in
33202 let _startpos = _startpos_r0_ in
33203 let _endpos = _endpos_m_ in
33204 let _v : 'tv_typedef_ctype = let ty =
33205 let p0 = p00 in
33206 let r = r0 in
33207 let ty =
33208 let p = p0 in
33209
33210# 508 "parser_cocci_menhir.mly"
33211 ( let (nm,pure,clt) = p in
33212 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33213# 33214 "parser_cocci_menhir.ml"
33214
33215 in
33216
33217# 556 "parser_cocci_menhir.mly"
33218 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33219# 33220 "parser_cocci_menhir.ml"
33220
33221 in
33222 let cv =
33223
33224# 39 "standard.mly"
33225 ( None )
33226# 33227 "parser_cocci_menhir.ml"
33227
33228 in
33229
33230# 575 "parser_cocci_menhir.mly"
33231 ( P.pointerify (P.make_cv cv ty) m )
33232# 33233 "parser_cocci_menhir.ml"
33233 in
33234 _menhir_env.MenhirLib.EngineTypes.stack <- {
33235 MenhirLib.EngineTypes.state = _menhir_s;
33236 MenhirLib.EngineTypes.semv = Obj.repr _v;
33237 MenhirLib.EngineTypes.startp = _startpos;
33238 MenhirLib.EngineTypes.endp = _endpos;
33239 MenhirLib.EngineTypes.next = _menhir_stack;
33240 });
33241 (fun _menhir_env ->
33242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33243 let {
33244 MenhirLib.EngineTypes.semv = m;
33245 MenhirLib.EngineTypes.startp = _startpos_m_;
33246 MenhirLib.EngineTypes.endp = _endpos_m_;
33247 MenhirLib.EngineTypes.next = {
33248 MenhirLib.EngineTypes.semv = p00;
33249 MenhirLib.EngineTypes.startp = _startpos_p00_;
33250 MenhirLib.EngineTypes.endp = _endpos_p00_;
33251 MenhirLib.EngineTypes.next = {
33252 MenhirLib.EngineTypes.startp = _startpos__3_;
33253 MenhirLib.EngineTypes.endp = _endpos__3_;
33254 MenhirLib.EngineTypes.next = {
33255 MenhirLib.EngineTypes.semv = r00;
33256 MenhirLib.EngineTypes.startp = _startpos_r00_;
33257 MenhirLib.EngineTypes.endp = _endpos_r00_;
33258 MenhirLib.EngineTypes.next = {
33259 MenhirLib.EngineTypes.state = _menhir_s;
33260 MenhirLib.EngineTypes.semv = r1;
33261 MenhirLib.EngineTypes.startp = _startpos_r1_;
33262 MenhirLib.EngineTypes.endp = _endpos_r1_;
33263 MenhirLib.EngineTypes.next = _menhir_stack;
33264 };
33265 };
33266 };
33267 };
33268 } = _menhir_stack in
33269 let m : 'tv_list_TMul_ = Obj.magic m in
33270 let p00 : (
33271# 59 "parser_cocci_menhir.mly"
33272 (string * Data.clt)
33273# 33274 "parser_cocci_menhir.ml"
33274 ) = Obj.magic p00 in
33275 let r00 : (
33276# 47 "parser_cocci_menhir.mly"
33277 (string)
33278# 33279 "parser_cocci_menhir.ml"
33279 ) = Obj.magic r00 in
33280 let r1 : (
33281# 51 "parser_cocci_menhir.mly"
33282 (Data.clt)
33283# 33284 "parser_cocci_menhir.ml"
33284 ) = Obj.magic r1 in
33285 let _startpos = _startpos_r1_ in
33286 let _endpos = _endpos_m_ in
33287 let _v : 'tv_typedef_ctype = let ty =
33288 let p0 = p00 in
33289 let r0 = r00 in
33290 let r = r1 in
33291 let ty =
33292 let p = p0 in
33293 let r = r0 in
33294
33295# 511 "parser_cocci_menhir.mly"
33296 ( let nm = (r,P.id2name p) in
33297 (* this is only possible when we are in a metavar decl. Otherwise,
33298 it will be represented already as a MetaType *)
33299 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33300 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33301 Ast0.Impure (*will be ignored*))) )
33302# 33303 "parser_cocci_menhir.ml"
33303
33304 in
33305
33306# 556 "parser_cocci_menhir.mly"
33307 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33308# 33309 "parser_cocci_menhir.ml"
33309
33310 in
33311 let cv =
33312
33313# 39 "standard.mly"
33314 ( None )
33315# 33316 "parser_cocci_menhir.ml"
33316
33317 in
33318
33319# 575 "parser_cocci_menhir.mly"
33320 ( P.pointerify (P.make_cv cv ty) m )
33321# 33322 "parser_cocci_menhir.ml"
33322 in
33323 _menhir_env.MenhirLib.EngineTypes.stack <- {
33324 MenhirLib.EngineTypes.state = _menhir_s;
33325 MenhirLib.EngineTypes.semv = Obj.repr _v;
33326 MenhirLib.EngineTypes.startp = _startpos;
33327 MenhirLib.EngineTypes.endp = _endpos;
33328 MenhirLib.EngineTypes.next = _menhir_stack;
33329 });
33330 (fun _menhir_env ->
33331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33332 let {
33333 MenhirLib.EngineTypes.semv = m;
33334 MenhirLib.EngineTypes.startp = _startpos_m_;
33335 MenhirLib.EngineTypes.endp = _endpos_m_;
33336 MenhirLib.EngineTypes.next = {
33337 MenhirLib.EngineTypes.semv = ty00;
33338 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33339 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33340 MenhirLib.EngineTypes.next = {
33341 MenhirLib.EngineTypes.state = _menhir_s;
33342 MenhirLib.EngineTypes.semv = r0;
33343 MenhirLib.EngineTypes.startp = _startpos_r0_;
33344 MenhirLib.EngineTypes.endp = _endpos_r0_;
33345 MenhirLib.EngineTypes.next = _menhir_stack;
33346 };
33347 };
33348 } = _menhir_stack in
33349 let m : 'tv_list_TMul_ = Obj.magic m in
33350 let ty00 : (
33351# 49 "parser_cocci_menhir.mly"
33352 (Data.clt)
33353# 33354 "parser_cocci_menhir.ml"
33354 ) = Obj.magic ty00 in
33355 let r0 : (
33356# 51 "parser_cocci_menhir.mly"
33357 (Data.clt)
33358# 33359 "parser_cocci_menhir.ml"
33359 ) = Obj.magic r0 in
33360 let _startpos = _startpos_r0_ in
33361 let _endpos = _endpos_m_ in
33362 let _v : 'tv_typedef_ctype = let ty =
33363 let ty0 = ty00 in
33364 let r = r0 in
33365 let ty =
33366 let ty = ty0 in
33367
33368# 518 "parser_cocci_menhir.mly"
33369 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33370# 33371 "parser_cocci_menhir.ml"
33371
33372 in
33373
33374# 556 "parser_cocci_menhir.mly"
33375 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33376# 33377 "parser_cocci_menhir.ml"
33377
33378 in
33379 let cv =
33380
33381# 39 "standard.mly"
33382 ( None )
33383# 33384 "parser_cocci_menhir.ml"
33384
33385 in
33386
33387# 575 "parser_cocci_menhir.mly"
33388 ( P.pointerify (P.make_cv cv ty) m )
33389# 33390 "parser_cocci_menhir.ml"
33390 in
33391 _menhir_env.MenhirLib.EngineTypes.stack <- {
33392 MenhirLib.EngineTypes.state = _menhir_s;
33393 MenhirLib.EngineTypes.semv = Obj.repr _v;
33394 MenhirLib.EngineTypes.startp = _startpos;
33395 MenhirLib.EngineTypes.endp = _endpos;
33396 MenhirLib.EngineTypes.next = _menhir_stack;
33397 });
33398 (fun _menhir_env ->
33399 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33400 let {
33401 MenhirLib.EngineTypes.semv = m;
33402 MenhirLib.EngineTypes.startp = _startpos_m_;
33403 MenhirLib.EngineTypes.endp = _endpos_m_;
33404 MenhirLib.EngineTypes.next = {
33405 MenhirLib.EngineTypes.semv = ty200;
33406 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33407 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33408 MenhirLib.EngineTypes.next = {
33409 MenhirLib.EngineTypes.semv = ty100;
33410 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33411 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33412 MenhirLib.EngineTypes.next = {
33413 MenhirLib.EngineTypes.state = _menhir_s;
33414 MenhirLib.EngineTypes.semv = r0;
33415 MenhirLib.EngineTypes.startp = _startpos_r0_;
33416 MenhirLib.EngineTypes.endp = _endpos_r0_;
33417 MenhirLib.EngineTypes.next = _menhir_stack;
33418 };
33419 };
33420 };
33421 } = _menhir_stack in
33422 let m : 'tv_list_TMul_ = Obj.magic m in
33423 let ty200 : (
33424# 49 "parser_cocci_menhir.mly"
33425 (Data.clt)
33426# 33427 "parser_cocci_menhir.ml"
33427 ) = Obj.magic ty200 in
33428 let ty100 : (
33429# 49 "parser_cocci_menhir.mly"
33430 (Data.clt)
33431# 33432 "parser_cocci_menhir.ml"
33432 ) = Obj.magic ty100 in
33433 let r0 : (
33434# 51 "parser_cocci_menhir.mly"
33435 (Data.clt)
33436# 33437 "parser_cocci_menhir.ml"
33437 ) = Obj.magic r0 in
33438 let _startpos = _startpos_r0_ in
33439 let _endpos = _endpos_m_ in
33440 let _v : 'tv_typedef_ctype = let ty =
33441 let ty20 = ty200 in
33442 let ty10 = ty100 in
33443 let r = r0 in
33444 let ty =
33445 let ty2 = ty20 in
33446 let ty1 = ty10 in
33447
33448# 520 "parser_cocci_menhir.mly"
33449 ( Ast0.wrap
33450 (Ast0.BaseType
33451 (Ast.LongLongType,
33452 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33453# 33454 "parser_cocci_menhir.ml"
33454
33455 in
33456
33457# 556 "parser_cocci_menhir.mly"
33458 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33459# 33460 "parser_cocci_menhir.ml"
33460
33461 in
33462 let cv =
33463
33464# 39 "standard.mly"
33465 ( None )
33466# 33467 "parser_cocci_menhir.ml"
33467
33468 in
33469
33470# 575 "parser_cocci_menhir.mly"
33471 ( P.pointerify (P.make_cv cv ty) m )
33472# 33473 "parser_cocci_menhir.ml"
33473 in
33474 _menhir_env.MenhirLib.EngineTypes.stack <- {
33475 MenhirLib.EngineTypes.state = _menhir_s;
33476 MenhirLib.EngineTypes.semv = Obj.repr _v;
33477 MenhirLib.EngineTypes.startp = _startpos;
33478 MenhirLib.EngineTypes.endp = _endpos;
33479 MenhirLib.EngineTypes.next = _menhir_stack;
33480 });
33481 (fun _menhir_env ->
33482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33483 let {
33484 MenhirLib.EngineTypes.semv = m;
33485 MenhirLib.EngineTypes.startp = _startpos_m_;
33486 MenhirLib.EngineTypes.endp = _endpos_m_;
33487 MenhirLib.EngineTypes.next = {
33488 MenhirLib.EngineTypes.state = _menhir_s;
33489 MenhirLib.EngineTypes.semv = ty00;
33490 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33491 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33492 MenhirLib.EngineTypes.next = _menhir_stack;
33493 };
33494 } = _menhir_stack in
33495 let m : 'tv_list_TMul_ = Obj.magic m in
33496 let ty00 : (
33497# 49 "parser_cocci_menhir.mly"
33498 (Data.clt)
33499# 33500 "parser_cocci_menhir.ml"
33500 ) = Obj.magic ty00 in
33501 let _startpos = _startpos_ty00_ in
33502 let _endpos = _endpos_m_ in
33503 let _v : 'tv_typedef_ctype = let ty =
33504 let ty0 = ty00 in
33505 let ty =
33506 let ty = ty0 in
33507
33508# 502 "parser_cocci_menhir.mly"
33509 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33510# 33511 "parser_cocci_menhir.ml"
33511
33512 in
33513
33514# 557 "parser_cocci_menhir.mly"
33515 ( ty )
33516# 33517 "parser_cocci_menhir.ml"
33517
33518 in
33519 let cv =
33520
33521# 39 "standard.mly"
33522 ( None )
33523# 33524 "parser_cocci_menhir.ml"
33524
33525 in
33526
33527# 575 "parser_cocci_menhir.mly"
33528 ( P.pointerify (P.make_cv cv ty) m )
33529# 33530 "parser_cocci_menhir.ml"
33530 in
33531 _menhir_env.MenhirLib.EngineTypes.stack <- {
33532 MenhirLib.EngineTypes.state = _menhir_s;
33533 MenhirLib.EngineTypes.semv = Obj.repr _v;
33534 MenhirLib.EngineTypes.startp = _startpos;
33535 MenhirLib.EngineTypes.endp = _endpos;
33536 MenhirLib.EngineTypes.next = _menhir_stack;
33537 });
33538 (fun _menhir_env ->
33539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33540 let {
33541 MenhirLib.EngineTypes.semv = m;
33542 MenhirLib.EngineTypes.startp = _startpos_m_;
33543 MenhirLib.EngineTypes.endp = _endpos_m_;
33544 MenhirLib.EngineTypes.next = {
33545 MenhirLib.EngineTypes.state = _menhir_s;
33546 MenhirLib.EngineTypes.semv = ty00;
33547 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33548 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33549 MenhirLib.EngineTypes.next = _menhir_stack;
33550 };
33551 } = _menhir_stack in
33552 let m : 'tv_list_TMul_ = Obj.magic m in
33553 let ty00 : (
33554# 49 "parser_cocci_menhir.mly"
33555 (Data.clt)
33556# 33557 "parser_cocci_menhir.ml"
33557 ) = Obj.magic ty00 in
33558 let _startpos = _startpos_ty00_ in
33559 let _endpos = _endpos_m_ in
33560 let _v : 'tv_typedef_ctype = let ty =
33561 let ty0 = ty00 in
33562 let ty =
33563 let ty = ty0 in
33564
33565# 504 "parser_cocci_menhir.mly"
33566 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33567# 33568 "parser_cocci_menhir.ml"
33568
33569 in
33570
33571# 557 "parser_cocci_menhir.mly"
33572 ( ty )
33573# 33574 "parser_cocci_menhir.ml"
33574
33575 in
33576 let cv =
33577
33578# 39 "standard.mly"
33579 ( None )
33580# 33581 "parser_cocci_menhir.ml"
33581
33582 in
33583
33584# 575 "parser_cocci_menhir.mly"
33585 ( P.pointerify (P.make_cv cv ty) m )
33586# 33587 "parser_cocci_menhir.ml"
33587 in
33588 _menhir_env.MenhirLib.EngineTypes.stack <- {
33589 MenhirLib.EngineTypes.state = _menhir_s;
33590 MenhirLib.EngineTypes.semv = Obj.repr _v;
33591 MenhirLib.EngineTypes.startp = _startpos;
33592 MenhirLib.EngineTypes.endp = _endpos;
33593 MenhirLib.EngineTypes.next = _menhir_stack;
33594 });
33595 (fun _menhir_env ->
33596 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33597 let {
33598 MenhirLib.EngineTypes.semv = m;
33599 MenhirLib.EngineTypes.startp = _startpos_m_;
33600 MenhirLib.EngineTypes.endp = _endpos_m_;
33601 MenhirLib.EngineTypes.next = {
33602 MenhirLib.EngineTypes.state = _menhir_s;
33603 MenhirLib.EngineTypes.semv = ty00;
33604 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33605 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33606 MenhirLib.EngineTypes.next = _menhir_stack;
33607 };
33608 } = _menhir_stack in
33609 let m : 'tv_list_TMul_ = Obj.magic m in
33610 let ty00 : (
33611# 49 "parser_cocci_menhir.mly"
33612 (Data.clt)
33613# 33614 "parser_cocci_menhir.ml"
33614 ) = Obj.magic ty00 in
33615 let _startpos = _startpos_ty00_ in
33616 let _endpos = _endpos_m_ in
33617 let _v : 'tv_typedef_ctype = let ty =
33618 let ty0 = ty00 in
33619 let ty =
33620 let ty = ty0 in
33621
33622# 506 "parser_cocci_menhir.mly"
33623 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33624# 33625 "parser_cocci_menhir.ml"
33625
33626 in
33627
33628# 557 "parser_cocci_menhir.mly"
33629 ( ty )
33630# 33631 "parser_cocci_menhir.ml"
33631
33632 in
33633 let cv =
33634
33635# 39 "standard.mly"
33636 ( None )
33637# 33638 "parser_cocci_menhir.ml"
33638
33639 in
33640
33641# 575 "parser_cocci_menhir.mly"
33642 ( P.pointerify (P.make_cv cv ty) m )
33643# 33644 "parser_cocci_menhir.ml"
33644 in
33645 _menhir_env.MenhirLib.EngineTypes.stack <- {
33646 MenhirLib.EngineTypes.state = _menhir_s;
33647 MenhirLib.EngineTypes.semv = Obj.repr _v;
33648 MenhirLib.EngineTypes.startp = _startpos;
33649 MenhirLib.EngineTypes.endp = _endpos;
33650 MenhirLib.EngineTypes.next = _menhir_stack;
33651 });
33652 (fun _menhir_env ->
33653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33654 let {
33655 MenhirLib.EngineTypes.semv = m;
33656 MenhirLib.EngineTypes.startp = _startpos_m_;
33657 MenhirLib.EngineTypes.endp = _endpos_m_;
33658 MenhirLib.EngineTypes.next = {
33659 MenhirLib.EngineTypes.state = _menhir_s;
33660 MenhirLib.EngineTypes.semv = p00;
33661 MenhirLib.EngineTypes.startp = _startpos_p00_;
33662 MenhirLib.EngineTypes.endp = _endpos_p00_;
33663 MenhirLib.EngineTypes.next = _menhir_stack;
33664 };
33665 } = _menhir_stack in
33666 let m : 'tv_list_TMul_ = Obj.magic m in
33667 let p00 : (
33668# 65 "parser_cocci_menhir.mly"
33669 (Parse_aux.info)
33670# 33671 "parser_cocci_menhir.ml"
33671 ) = Obj.magic p00 in
33672 let _startpos = _startpos_p00_ in
33673 let _endpos = _endpos_m_ in
33674 let _v : 'tv_typedef_ctype = let ty =
33675 let p0 = p00 in
33676 let ty =
33677 let p = p0 in
33678
33679# 508 "parser_cocci_menhir.mly"
33680 ( let (nm,pure,clt) = p in
33681 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33682# 33683 "parser_cocci_menhir.ml"
33683
33684 in
33685
33686# 557 "parser_cocci_menhir.mly"
33687 ( ty )
33688# 33689 "parser_cocci_menhir.ml"
33689
33690 in
33691 let cv =
33692
33693# 39 "standard.mly"
33694 ( None )
33695# 33696 "parser_cocci_menhir.ml"
33696
33697 in
33698
33699# 575 "parser_cocci_menhir.mly"
33700 ( P.pointerify (P.make_cv cv ty) m )
33701# 33702 "parser_cocci_menhir.ml"
33702 in
33703 _menhir_env.MenhirLib.EngineTypes.stack <- {
33704 MenhirLib.EngineTypes.state = _menhir_s;
33705 MenhirLib.EngineTypes.semv = Obj.repr _v;
33706 MenhirLib.EngineTypes.startp = _startpos;
33707 MenhirLib.EngineTypes.endp = _endpos;
33708 MenhirLib.EngineTypes.next = _menhir_stack;
33709 });
33710 (fun _menhir_env ->
33711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33712 let {
33713 MenhirLib.EngineTypes.semv = m;
33714 MenhirLib.EngineTypes.startp = _startpos_m_;
33715 MenhirLib.EngineTypes.endp = _endpos_m_;
33716 MenhirLib.EngineTypes.next = {
33717 MenhirLib.EngineTypes.semv = p00;
33718 MenhirLib.EngineTypes.startp = _startpos_p00_;
33719 MenhirLib.EngineTypes.endp = _endpos_p00_;
33720 MenhirLib.EngineTypes.next = {
33721 MenhirLib.EngineTypes.startp = _startpos__2_;
33722 MenhirLib.EngineTypes.endp = _endpos__2_;
33723 MenhirLib.EngineTypes.next = {
33724 MenhirLib.EngineTypes.state = _menhir_s;
33725 MenhirLib.EngineTypes.semv = r00;
33726 MenhirLib.EngineTypes.startp = _startpos_r00_;
33727 MenhirLib.EngineTypes.endp = _endpos_r00_;
33728 MenhirLib.EngineTypes.next = _menhir_stack;
33729 };
33730 };
33731 };
33732 } = _menhir_stack in
33733 let m : 'tv_list_TMul_ = Obj.magic m in
33734 let p00 : (
33735# 59 "parser_cocci_menhir.mly"
33736 (string * Data.clt)
33737# 33738 "parser_cocci_menhir.ml"
33738 ) = Obj.magic p00 in
33739 let r00 : (
33740# 47 "parser_cocci_menhir.mly"
33741 (string)
33742# 33743 "parser_cocci_menhir.ml"
33743 ) = Obj.magic r00 in
33744 let _startpos = _startpos_r00_ in
33745 let _endpos = _endpos_m_ in
33746 let _v : 'tv_typedef_ctype = let ty =
33747 let p0 = p00 in
33748 let r0 = r00 in
33749 let ty =
33750 let p = p0 in
33751 let r = r0 in
33752
33753# 511 "parser_cocci_menhir.mly"
33754 ( let nm = (r,P.id2name p) in
33755 (* this is only possible when we are in a metavar decl. Otherwise,
33756 it will be represented already as a MetaType *)
33757 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33758 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33759 Ast0.Impure (*will be ignored*))) )
33760# 33761 "parser_cocci_menhir.ml"
33761
33762 in
33763
33764# 557 "parser_cocci_menhir.mly"
33765 ( ty )
33766# 33767 "parser_cocci_menhir.ml"
33767
33768 in
33769 let cv =
33770
33771# 39 "standard.mly"
33772 ( None )
33773# 33774 "parser_cocci_menhir.ml"
33774
33775 in
33776
33777# 575 "parser_cocci_menhir.mly"
33778 ( P.pointerify (P.make_cv cv ty) m )
33779# 33780 "parser_cocci_menhir.ml"
33780 in
33781 _menhir_env.MenhirLib.EngineTypes.stack <- {
33782 MenhirLib.EngineTypes.state = _menhir_s;
33783 MenhirLib.EngineTypes.semv = Obj.repr _v;
33784 MenhirLib.EngineTypes.startp = _startpos;
33785 MenhirLib.EngineTypes.endp = _endpos;
33786 MenhirLib.EngineTypes.next = _menhir_stack;
33787 });
33788 (fun _menhir_env ->
33789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33790 let {
33791 MenhirLib.EngineTypes.semv = m;
33792 MenhirLib.EngineTypes.startp = _startpos_m_;
33793 MenhirLib.EngineTypes.endp = _endpos_m_;
33794 MenhirLib.EngineTypes.next = {
33795 MenhirLib.EngineTypes.state = _menhir_s;
33796 MenhirLib.EngineTypes.semv = ty00;
33797 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33798 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33799 MenhirLib.EngineTypes.next = _menhir_stack;
33800 };
33801 } = _menhir_stack in
33802 let m : 'tv_list_TMul_ = Obj.magic m in
33803 let ty00 : (
33804# 49 "parser_cocci_menhir.mly"
33805 (Data.clt)
33806# 33807 "parser_cocci_menhir.ml"
33807 ) = Obj.magic ty00 in
33808 let _startpos = _startpos_ty00_ in
33809 let _endpos = _endpos_m_ in
33810 let _v : 'tv_typedef_ctype = let ty =
33811 let ty0 = ty00 in
33812 let ty =
33813 let ty = ty0 in
33814
33815# 518 "parser_cocci_menhir.mly"
33816 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33817# 33818 "parser_cocci_menhir.ml"
33818
33819 in
33820
33821# 557 "parser_cocci_menhir.mly"
33822 ( ty )
33823# 33824 "parser_cocci_menhir.ml"
33824
33825 in
33826 let cv =
33827
33828# 39 "standard.mly"
33829 ( None )
33830# 33831 "parser_cocci_menhir.ml"
33831
33832 in
33833
33834# 575 "parser_cocci_menhir.mly"
33835 ( P.pointerify (P.make_cv cv ty) m )
33836# 33837 "parser_cocci_menhir.ml"
33837 in
33838 _menhir_env.MenhirLib.EngineTypes.stack <- {
33839 MenhirLib.EngineTypes.state = _menhir_s;
33840 MenhirLib.EngineTypes.semv = Obj.repr _v;
33841 MenhirLib.EngineTypes.startp = _startpos;
33842 MenhirLib.EngineTypes.endp = _endpos;
33843 MenhirLib.EngineTypes.next = _menhir_stack;
33844 });
33845 (fun _menhir_env ->
33846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33847 let {
33848 MenhirLib.EngineTypes.semv = m;
33849 MenhirLib.EngineTypes.startp = _startpos_m_;
33850 MenhirLib.EngineTypes.endp = _endpos_m_;
33851 MenhirLib.EngineTypes.next = {
33852 MenhirLib.EngineTypes.semv = ty200;
33853 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33854 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33855 MenhirLib.EngineTypes.next = {
33856 MenhirLib.EngineTypes.state = _menhir_s;
33857 MenhirLib.EngineTypes.semv = ty100;
33858 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33859 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33860 MenhirLib.EngineTypes.next = _menhir_stack;
33861 };
33862 };
33863 } = _menhir_stack in
33864 let m : 'tv_list_TMul_ = Obj.magic m in
33865 let ty200 : (
33866# 49 "parser_cocci_menhir.mly"
33867 (Data.clt)
33868# 33869 "parser_cocci_menhir.ml"
33869 ) = Obj.magic ty200 in
33870 let ty100 : (
33871# 49 "parser_cocci_menhir.mly"
33872 (Data.clt)
33873# 33874 "parser_cocci_menhir.ml"
33874 ) = Obj.magic ty100 in
33875 let _startpos = _startpos_ty100_ in
33876 let _endpos = _endpos_m_ in
33877 let _v : 'tv_typedef_ctype = let ty =
33878 let ty20 = ty200 in
33879 let ty10 = ty100 in
33880 let ty =
33881 let ty2 = ty20 in
33882 let ty1 = ty10 in
33883
33884# 520 "parser_cocci_menhir.mly"
33885 ( Ast0.wrap
33886 (Ast0.BaseType
33887 (Ast.LongLongType,
33888 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33889# 33890 "parser_cocci_menhir.ml"
33890
33891 in
33892
33893# 557 "parser_cocci_menhir.mly"
33894 ( ty )
33895# 33896 "parser_cocci_menhir.ml"
33896
33897 in
33898 let cv =
33899
33900# 39 "standard.mly"
33901 ( None )
33902# 33903 "parser_cocci_menhir.ml"
33903
33904 in
33905
33906# 575 "parser_cocci_menhir.mly"
33907 ( P.pointerify (P.make_cv cv ty) m )
33908# 33909 "parser_cocci_menhir.ml"
33909 in
33910 _menhir_env.MenhirLib.EngineTypes.stack <- {
33911 MenhirLib.EngineTypes.state = _menhir_s;
33912 MenhirLib.EngineTypes.semv = Obj.repr _v;
33913 MenhirLib.EngineTypes.startp = _startpos;
33914 MenhirLib.EngineTypes.endp = _endpos;
33915 MenhirLib.EngineTypes.next = _menhir_stack;
33916 });
33917 (fun _menhir_env ->
33918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33919 let {
33920 MenhirLib.EngineTypes.semv = m;
33921 MenhirLib.EngineTypes.startp = _startpos_m_;
33922 MenhirLib.EngineTypes.endp = _endpos_m_;
33923 MenhirLib.EngineTypes.next = {
33924 MenhirLib.EngineTypes.state = _menhir_s;
33925 MenhirLib.EngineTypes.semv = ty00;
33926 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33927 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33928 MenhirLib.EngineTypes.next = _menhir_stack;
33929 };
33930 } = _menhir_stack in
33931 let m : 'tv_list_TMul_ = Obj.magic m in
33932 let ty00 : (
33933# 50 "parser_cocci_menhir.mly"
33934 (Data.clt)
33935# 33936 "parser_cocci_menhir.ml"
33936 ) = Obj.magic ty00 in
33937 let _startpos = _startpos_ty00_ in
33938 let _endpos = _endpos_m_ in
33939 let _v : 'tv_typedef_ctype = let ty =
33940 let ty0 = ty00 in
33941 let ty =
33942 let ty = ty0 in
33943
33944# 528 "parser_cocci_menhir.mly"
33945 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
33946# 33947 "parser_cocci_menhir.ml"
33947
33948 in
33949
33950# 558 "parser_cocci_menhir.mly"
33951 ( ty )
33952# 33953 "parser_cocci_menhir.ml"
33953
33954 in
33955 let cv =
33956
33957# 39 "standard.mly"
33958 ( None )
33959# 33960 "parser_cocci_menhir.ml"
33960
33961 in
33962
33963# 575 "parser_cocci_menhir.mly"
33964 ( P.pointerify (P.make_cv cv ty) m )
33965# 33966 "parser_cocci_menhir.ml"
33966 in
33967 _menhir_env.MenhirLib.EngineTypes.stack <- {
33968 MenhirLib.EngineTypes.state = _menhir_s;
33969 MenhirLib.EngineTypes.semv = Obj.repr _v;
33970 MenhirLib.EngineTypes.startp = _startpos;
33971 MenhirLib.EngineTypes.endp = _endpos;
33972 MenhirLib.EngineTypes.next = _menhir_stack;
33973 });
33974 (fun _menhir_env ->
33975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33976 let {
33977 MenhirLib.EngineTypes.semv = m;
33978 MenhirLib.EngineTypes.startp = _startpos_m_;
33979 MenhirLib.EngineTypes.endp = _endpos_m_;
33980 MenhirLib.EngineTypes.next = {
33981 MenhirLib.EngineTypes.state = _menhir_s;
33982 MenhirLib.EngineTypes.semv = ty00;
33983 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33984 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33985 MenhirLib.EngineTypes.next = _menhir_stack;
33986 };
33987 } = _menhir_stack in
33988 let m : 'tv_list_TMul_ = Obj.magic m in
33989 let ty00 : (
33990# 49 "parser_cocci_menhir.mly"
33991 (Data.clt)
33992# 33993 "parser_cocci_menhir.ml"
33993 ) = Obj.magic ty00 in
33994 let _startpos = _startpos_ty00_ in
33995 let _endpos = _endpos_m_ in
33996 let _v : 'tv_typedef_ctype = let ty =
33997 let ty0 = ty00 in
33998 let ty =
33999 let ty = ty0 in
34000
34001# 530 "parser_cocci_menhir.mly"
34002 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
34003# 34004 "parser_cocci_menhir.ml"
34004
34005 in
34006
34007# 558 "parser_cocci_menhir.mly"
34008 ( ty )
34009# 34010 "parser_cocci_menhir.ml"
34010
34011 in
34012 let cv =
34013
34014# 39 "standard.mly"
34015 ( None )
34016# 34017 "parser_cocci_menhir.ml"
34017
34018 in
34019
34020# 575 "parser_cocci_menhir.mly"
34021 ( P.pointerify (P.make_cv cv ty) m )
34022# 34023 "parser_cocci_menhir.ml"
34023 in
34024 _menhir_env.MenhirLib.EngineTypes.stack <- {
34025 MenhirLib.EngineTypes.state = _menhir_s;
34026 MenhirLib.EngineTypes.semv = Obj.repr _v;
34027 MenhirLib.EngineTypes.startp = _startpos;
34028 MenhirLib.EngineTypes.endp = _endpos;
34029 MenhirLib.EngineTypes.next = _menhir_stack;
34030 });
34031 (fun _menhir_env ->
34032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34033 let {
34034 MenhirLib.EngineTypes.semv = m;
34035 MenhirLib.EngineTypes.startp = _startpos_m_;
34036 MenhirLib.EngineTypes.endp = _endpos_m_;
34037 MenhirLib.EngineTypes.next = {
34038 MenhirLib.EngineTypes.state = _menhir_s;
34039 MenhirLib.EngineTypes.semv = ty00;
34040 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34041 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34042 MenhirLib.EngineTypes.next = _menhir_stack;
34043 };
34044 } = _menhir_stack in
34045 let m : 'tv_list_TMul_ = Obj.magic m in
34046 let ty00 : (
34047# 49 "parser_cocci_menhir.mly"
34048 (Data.clt)
34049# 34050 "parser_cocci_menhir.ml"
34050 ) = Obj.magic ty00 in
34051 let _startpos = _startpos_ty00_ in
34052 let _endpos = _endpos_m_ in
34053 let _v : 'tv_typedef_ctype = let ty =
34054 let ty0 = ty00 in
34055 let ty =
34056 let ty = ty0 in
34057
34058# 532 "parser_cocci_menhir.mly"
34059 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
34060# 34061 "parser_cocci_menhir.ml"
34061
34062 in
34063
34064# 558 "parser_cocci_menhir.mly"
34065 ( ty )
34066# 34067 "parser_cocci_menhir.ml"
34067
34068 in
34069 let cv =
34070
34071# 39 "standard.mly"
34072 ( None )
34073# 34074 "parser_cocci_menhir.ml"
34074
34075 in
34076
34077# 575 "parser_cocci_menhir.mly"
34078 ( P.pointerify (P.make_cv cv ty) m )
34079# 34080 "parser_cocci_menhir.ml"
34080 in
34081 _menhir_env.MenhirLib.EngineTypes.stack <- {
34082 MenhirLib.EngineTypes.state = _menhir_s;
34083 MenhirLib.EngineTypes.semv = Obj.repr _v;
34084 MenhirLib.EngineTypes.startp = _startpos;
34085 MenhirLib.EngineTypes.endp = _endpos;
34086 MenhirLib.EngineTypes.next = _menhir_stack;
34087 });
34088 (fun _menhir_env ->
34089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34090 let {
34091 MenhirLib.EngineTypes.semv = m;
34092 MenhirLib.EngineTypes.startp = _startpos_m_;
34093 MenhirLib.EngineTypes.endp = _endpos_m_;
34094 MenhirLib.EngineTypes.next = {
34095 MenhirLib.EngineTypes.semv = i00;
34096 MenhirLib.EngineTypes.startp = _startpos_i00_;
34097 MenhirLib.EngineTypes.endp = _endpos_i00_;
34098 MenhirLib.EngineTypes.next = {
34099 MenhirLib.EngineTypes.state = _menhir_s;
34100 MenhirLib.EngineTypes.semv = s00;
34101 MenhirLib.EngineTypes.startp = _startpos_s00_;
34102 MenhirLib.EngineTypes.endp = _endpos_s00_;
34103 MenhirLib.EngineTypes.next = _menhir_stack;
34104 };
34105 };
34106 } = _menhir_stack in
34107 let m : 'tv_list_TMul_ = Obj.magic m in
34108 let i00 : 'tv_ident = Obj.magic i00 in
34109 let s00 : (
34110# 50 "parser_cocci_menhir.mly"
34111 (Data.clt)
34112# 34113 "parser_cocci_menhir.ml"
34113 ) = Obj.magic s00 in
34114 let _startpos = _startpos_s00_ in
34115 let _endpos = _endpos_m_ in
34116 let _v : 'tv_typedef_ctype = let ty =
34117 let i0 = i00 in
34118 let s0 = s00 in
34119 let ty =
34120 let i = i0 in
34121 let s = s0 in
34122
34123# 534 "parser_cocci_menhir.mly"
34124 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
34125# 34126 "parser_cocci_menhir.ml"
34126
34127 in
34128
34129# 558 "parser_cocci_menhir.mly"
34130 ( ty )
34131# 34132 "parser_cocci_menhir.ml"
34132
34133 in
34134 let cv =
34135
34136# 39 "standard.mly"
34137 ( None )
34138# 34139 "parser_cocci_menhir.ml"
34139
34140 in
34141
34142# 575 "parser_cocci_menhir.mly"
34143 ( P.pointerify (P.make_cv cv ty) m )
34144# 34145 "parser_cocci_menhir.ml"
34145 in
34146 _menhir_env.MenhirLib.EngineTypes.stack <- {
34147 MenhirLib.EngineTypes.state = _menhir_s;
34148 MenhirLib.EngineTypes.semv = Obj.repr _v;
34149 MenhirLib.EngineTypes.startp = _startpos;
34150 MenhirLib.EngineTypes.endp = _endpos;
34151 MenhirLib.EngineTypes.next = _menhir_stack;
34152 });
34153 (fun _menhir_env ->
34154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34155 let {
34156 MenhirLib.EngineTypes.semv = m;
34157 MenhirLib.EngineTypes.startp = _startpos_m_;
34158 MenhirLib.EngineTypes.endp = _endpos_m_;
34159 MenhirLib.EngineTypes.next = {
34160 MenhirLib.EngineTypes.semv = i00;
34161 MenhirLib.EngineTypes.startp = _startpos_i00_;
34162 MenhirLib.EngineTypes.endp = _endpos_i00_;
34163 MenhirLib.EngineTypes.next = {
34164 MenhirLib.EngineTypes.state = _menhir_s;
34165 MenhirLib.EngineTypes.semv = s00;
34166 MenhirLib.EngineTypes.startp = _startpos_s00_;
34167 MenhirLib.EngineTypes.endp = _endpos_s00_;
34168 MenhirLib.EngineTypes.next = _menhir_stack;
34169 };
34170 };
34171 } = _menhir_stack in
34172 let m : 'tv_list_TMul_ = Obj.magic m in
34173 let i00 : 'tv_ident = Obj.magic i00 in
34174 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34175 let _startpos = _startpos_s00_ in
34176 let _endpos = _endpos_m_ in
34177 let _v : 'tv_typedef_ctype = let ty =
34178 let i0 = i00 in
34179 let s0 = s00 in
34180 let ty =
34181 let i = i0 in
34182 let s = s0 in
34183
34184# 536 "parser_cocci_menhir.mly"
34185 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
34186# 34187 "parser_cocci_menhir.ml"
34187
34188 in
34189
34190# 558 "parser_cocci_menhir.mly"
34191 ( ty )
34192# 34193 "parser_cocci_menhir.ml"
34193
34194 in
34195 let cv =
34196
34197# 39 "standard.mly"
34198 ( None )
34199# 34200 "parser_cocci_menhir.ml"
34200
34201 in
34202
34203# 575 "parser_cocci_menhir.mly"
34204 ( P.pointerify (P.make_cv cv ty) m )
34205# 34206 "parser_cocci_menhir.ml"
34206 in
34207 _menhir_env.MenhirLib.EngineTypes.stack <- {
34208 MenhirLib.EngineTypes.state = _menhir_s;
34209 MenhirLib.EngineTypes.semv = Obj.repr _v;
34210 MenhirLib.EngineTypes.startp = _startpos;
34211 MenhirLib.EngineTypes.endp = _endpos;
34212 MenhirLib.EngineTypes.next = _menhir_stack;
34213 });
34214 (fun _menhir_env ->
34215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34216 let {
34217 MenhirLib.EngineTypes.semv = m;
34218 MenhirLib.EngineTypes.startp = _startpos_m_;
34219 MenhirLib.EngineTypes.endp = _endpos_m_;
34220 MenhirLib.EngineTypes.next = {
34221 MenhirLib.EngineTypes.semv = r00;
34222 MenhirLib.EngineTypes.startp = _startpos_r00_;
34223 MenhirLib.EngineTypes.endp = _endpos_r00_;
34224 MenhirLib.EngineTypes.next = {
34225 MenhirLib.EngineTypes.semv = d00;
34226 MenhirLib.EngineTypes.startp = _startpos_d00_;
34227 MenhirLib.EngineTypes.endp = _endpos_d00_;
34228 MenhirLib.EngineTypes.next = {
34229 MenhirLib.EngineTypes.semv = l00;
34230 MenhirLib.EngineTypes.startp = _startpos_l00_;
34231 MenhirLib.EngineTypes.endp = _endpos_l00_;
34232 MenhirLib.EngineTypes.next = {
34233 MenhirLib.EngineTypes.state = _menhir_s;
34234 MenhirLib.EngineTypes.semv = s00;
34235 MenhirLib.EngineTypes.startp = _startpos_s00_;
34236 MenhirLib.EngineTypes.endp = _endpos_s00_;
34237 MenhirLib.EngineTypes.next = _menhir_stack;
34238 };
34239 };
34240 };
34241 };
34242 } = _menhir_stack in
34243 let m : 'tv_list_TMul_ = Obj.magic m in
34244 let r00 : (
34245# 102 "parser_cocci_menhir.mly"
34246 (Data.clt)
34247# 34248 "parser_cocci_menhir.ml"
34248 ) = Obj.magic r00 in
34249 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34250 let l00 : (
34251# 102 "parser_cocci_menhir.mly"
34252 (Data.clt)
34253# 34254 "parser_cocci_menhir.ml"
34254 ) = Obj.magic l00 in
34255 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34256 let _startpos = _startpos_s00_ in
34257 let _endpos = _endpos_m_ in
34258 let _v : 'tv_typedef_ctype = let ty =
34259 let r0 = r00 in
34260 let d0 = d00 in
34261 let l0 = l00 in
34262 let s0 = s00 in
34263 let ty =
34264 let r = r0 in
34265 let d = d0 in
34266 let l = l0 in
34267 let s = s0 in
34268 let i =
34269
34270# 39 "standard.mly"
34271 ( None )
34272# 34273 "parser_cocci_menhir.ml"
34273
34274 in
34275
34276# 539 "parser_cocci_menhir.mly"
34277 ( (if i = None && !Data.in_iso
34278 then failwith "structures must be named in the iso file");
34279 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34280 P.clt2mcode "{" l,
34281 d, P.clt2mcode "}" r)) )
34282# 34283 "parser_cocci_menhir.ml"
34283
34284 in
34285
34286# 558 "parser_cocci_menhir.mly"
34287 ( ty )
34288# 34289 "parser_cocci_menhir.ml"
34289
34290 in
34291 let cv =
34292
34293# 39 "standard.mly"
34294 ( None )
34295# 34296 "parser_cocci_menhir.ml"
34296
34297 in
34298
34299# 575 "parser_cocci_menhir.mly"
34300 ( P.pointerify (P.make_cv cv ty) m )
34301# 34302 "parser_cocci_menhir.ml"
34302 in
34303 _menhir_env.MenhirLib.EngineTypes.stack <- {
34304 MenhirLib.EngineTypes.state = _menhir_s;
34305 MenhirLib.EngineTypes.semv = Obj.repr _v;
34306 MenhirLib.EngineTypes.startp = _startpos;
34307 MenhirLib.EngineTypes.endp = _endpos;
34308 MenhirLib.EngineTypes.next = _menhir_stack;
34309 });
34310 (fun _menhir_env ->
34311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34312 let {
34313 MenhirLib.EngineTypes.semv = m;
34314 MenhirLib.EngineTypes.startp = _startpos_m_;
34315 MenhirLib.EngineTypes.endp = _endpos_m_;
34316 MenhirLib.EngineTypes.next = {
34317 MenhirLib.EngineTypes.semv = r00;
34318 MenhirLib.EngineTypes.startp = _startpos_r00_;
34319 MenhirLib.EngineTypes.endp = _endpos_r00_;
34320 MenhirLib.EngineTypes.next = {
34321 MenhirLib.EngineTypes.semv = d00;
34322 MenhirLib.EngineTypes.startp = _startpos_d00_;
34323 MenhirLib.EngineTypes.endp = _endpos_d00_;
34324 MenhirLib.EngineTypes.next = {
34325 MenhirLib.EngineTypes.semv = l00;
34326 MenhirLib.EngineTypes.startp = _startpos_l00_;
34327 MenhirLib.EngineTypes.endp = _endpos_l00_;
34328 MenhirLib.EngineTypes.next = {
34329 MenhirLib.EngineTypes.semv = x000;
34330 MenhirLib.EngineTypes.startp = _startpos_x000_;
34331 MenhirLib.EngineTypes.endp = _endpos_x000_;
34332 MenhirLib.EngineTypes.next = {
34333 MenhirLib.EngineTypes.state = _menhir_s;
34334 MenhirLib.EngineTypes.semv = s00;
34335 MenhirLib.EngineTypes.startp = _startpos_s00_;
34336 MenhirLib.EngineTypes.endp = _endpos_s00_;
34337 MenhirLib.EngineTypes.next = _menhir_stack;
34338 };
34339 };
34340 };
34341 };
34342 };
34343 } = _menhir_stack in
34344 let m : 'tv_list_TMul_ = Obj.magic m in
34345 let r00 : (
34346# 102 "parser_cocci_menhir.mly"
34347 (Data.clt)
34348# 34349 "parser_cocci_menhir.ml"
34349 ) = Obj.magic r00 in
34350 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34351 let l00 : (
34352# 102 "parser_cocci_menhir.mly"
34353 (Data.clt)
34354# 34355 "parser_cocci_menhir.ml"
34355 ) = Obj.magic l00 in
34356 let x000 : 'tv_ident = Obj.magic x000 in
34357 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34358 let _startpos = _startpos_s00_ in
34359 let _endpos = _endpos_m_ in
34360 let _v : 'tv_typedef_ctype = let ty =
34361 let r0 = r00 in
34362 let d0 = d00 in
34363 let l0 = l00 in
34364 let x00 = x000 in
34365 let s0 = s00 in
34366 let ty =
34367 let r = r0 in
34368 let d = d0 in
34369 let l = l0 in
34370 let x0 = x00 in
34371 let s = s0 in
34372 let i =
34373 let x = x0 in
34374
34375# 41 "standard.mly"
34376 ( Some x )
34377# 34378 "parser_cocci_menhir.ml"
34378
34379 in
34380
34381# 539 "parser_cocci_menhir.mly"
34382 ( (if i = None && !Data.in_iso
34383 then failwith "structures must be named in the iso file");
34384 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34385 P.clt2mcode "{" l,
34386 d, P.clt2mcode "}" r)) )
34387# 34388 "parser_cocci_menhir.ml"
34388
34389 in
34390
34391# 558 "parser_cocci_menhir.mly"
34392 ( ty )
34393# 34394 "parser_cocci_menhir.ml"
34394
34395 in
34396 let cv =
34397
34398# 39 "standard.mly"
34399 ( None )
34400# 34401 "parser_cocci_menhir.ml"
34401
34402 in
34403
34404# 575 "parser_cocci_menhir.mly"
34405 ( P.pointerify (P.make_cv cv ty) m )
34406# 34407 "parser_cocci_menhir.ml"
34407 in
34408 _menhir_env.MenhirLib.EngineTypes.stack <- {
34409 MenhirLib.EngineTypes.state = _menhir_s;
34410 MenhirLib.EngineTypes.semv = Obj.repr _v;
34411 MenhirLib.EngineTypes.startp = _startpos;
34412 MenhirLib.EngineTypes.endp = _endpos;
34413 MenhirLib.EngineTypes.next = _menhir_stack;
34414 });
34415 (fun _menhir_env ->
34416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34417 let {
34418 MenhirLib.EngineTypes.semv = m;
34419 MenhirLib.EngineTypes.startp = _startpos_m_;
34420 MenhirLib.EngineTypes.endp = _endpos_m_;
34421 MenhirLib.EngineTypes.next = {
34422 MenhirLib.EngineTypes.semv = r00;
34423 MenhirLib.EngineTypes.startp = _startpos_r00_;
34424 MenhirLib.EngineTypes.endp = _endpos_r00_;
34425 MenhirLib.EngineTypes.next = {
34426 MenhirLib.EngineTypes.semv = d00;
34427 MenhirLib.EngineTypes.startp = _startpos_d00_;
34428 MenhirLib.EngineTypes.endp = _endpos_d00_;
34429 MenhirLib.EngineTypes.next = {
34430 MenhirLib.EngineTypes.semv = l00;
34431 MenhirLib.EngineTypes.startp = _startpos_l00_;
34432 MenhirLib.EngineTypes.endp = _endpos_l00_;
34433 MenhirLib.EngineTypes.next = {
34434 MenhirLib.EngineTypes.state = _menhir_s;
34435 MenhirLib.EngineTypes.semv = s00;
34436 MenhirLib.EngineTypes.startp = _startpos_s00_;
34437 MenhirLib.EngineTypes.endp = _endpos_s00_;
34438 MenhirLib.EngineTypes.next = _menhir_stack;
34439 };
34440 };
34441 };
34442 };
34443 } = _menhir_stack in
34444 let m : 'tv_list_TMul_ = Obj.magic m in
34445 let r00 : (
34446# 102 "parser_cocci_menhir.mly"
34447 (Data.clt)
34448# 34449 "parser_cocci_menhir.ml"
34449 ) = Obj.magic r00 in
34450 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34451 let l00 : (
34452# 102 "parser_cocci_menhir.mly"
34453 (Data.clt)
34454# 34455 "parser_cocci_menhir.ml"
34455 ) = Obj.magic l00 in
34456 let s00 : (
34457# 65 "parser_cocci_menhir.mly"
34458 (Parse_aux.info)
34459# 34460 "parser_cocci_menhir.ml"
34460 ) = Obj.magic s00 in
34461 let _startpos = _startpos_s00_ in
34462 let _endpos = _endpos_m_ in
34463 let _v : 'tv_typedef_ctype = let ty =
34464 let r0 = r00 in
34465 let d0 = d00 in
34466 let l0 = l00 in
34467 let s0 = s00 in
34468 let ty =
34469 let r = r0 in
34470 let d = d0 in
34471 let l = l0 in
34472 let s = s0 in
34473
34474# 545 "parser_cocci_menhir.mly"
34475 ( let (nm,pure,clt) = s in
34476 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
34477 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
34478# 34479 "parser_cocci_menhir.ml"
34479
34480 in
34481
34482# 558 "parser_cocci_menhir.mly"
34483 ( ty )
34484# 34485 "parser_cocci_menhir.ml"
34485
34486 in
34487 let cv =
34488
34489# 39 "standard.mly"
34490 ( None )
34491# 34492 "parser_cocci_menhir.ml"
34492
34493 in
34494
34495# 575 "parser_cocci_menhir.mly"
34496 ( P.pointerify (P.make_cv cv ty) m )
34497# 34498 "parser_cocci_menhir.ml"
34498 in
34499 _menhir_env.MenhirLib.EngineTypes.stack <- {
34500 MenhirLib.EngineTypes.state = _menhir_s;
34501 MenhirLib.EngineTypes.semv = Obj.repr _v;
34502 MenhirLib.EngineTypes.startp = _startpos;
34503 MenhirLib.EngineTypes.endp = _endpos;
34504 MenhirLib.EngineTypes.next = _menhir_stack;
34505 });
34506 (fun _menhir_env ->
34507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34508 let {
34509 MenhirLib.EngineTypes.semv = m;
34510 MenhirLib.EngineTypes.startp = _startpos_m_;
34511 MenhirLib.EngineTypes.endp = _endpos_m_;
34512 MenhirLib.EngineTypes.next = {
34513 MenhirLib.EngineTypes.state = _menhir_s;
34514 MenhirLib.EngineTypes.semv = p00;
34515 MenhirLib.EngineTypes.startp = _startpos_p00_;
34516 MenhirLib.EngineTypes.endp = _endpos_p00_;
34517 MenhirLib.EngineTypes.next = _menhir_stack;
34518 };
34519 } = _menhir_stack in
34520 let m : 'tv_list_TMul_ = Obj.magic m in
34521 let p00 : (
34522# 59 "parser_cocci_menhir.mly"
34523 (string * Data.clt)
34524# 34525 "parser_cocci_menhir.ml"
34525 ) = Obj.magic p00 in
34526 let _startpos = _startpos_p00_ in
34527 let _endpos = _endpos_m_ in
34528 let _v : 'tv_typedef_ctype = let ty =
34529 let p0 = p00 in
34530 let ty =
34531 let p = p0 in
34532
34533# 549 "parser_cocci_menhir.mly"
34534 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
34535# 34536 "parser_cocci_menhir.ml"
34536
34537 in
34538
34539# 558 "parser_cocci_menhir.mly"
34540 ( ty )
34541# 34542 "parser_cocci_menhir.ml"
34542
34543 in
34544 let cv =
34545
34546# 39 "standard.mly"
34547 ( None )
34548# 34549 "parser_cocci_menhir.ml"
34549
34550 in
34551
34552# 575 "parser_cocci_menhir.mly"
34553 ( P.pointerify (P.make_cv cv ty) m )
34554# 34555 "parser_cocci_menhir.ml"
34555 in
34556 _menhir_env.MenhirLib.EngineTypes.stack <- {
34557 MenhirLib.EngineTypes.state = _menhir_s;
34558 MenhirLib.EngineTypes.semv = Obj.repr _v;
34559 MenhirLib.EngineTypes.startp = _startpos;
34560 MenhirLib.EngineTypes.endp = _endpos;
34561 MenhirLib.EngineTypes.next = _menhir_stack;
34562 });
34563 (fun _menhir_env ->
34564 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34565 let {
34566 MenhirLib.EngineTypes.semv = m;
34567 MenhirLib.EngineTypes.startp = _startpos_m_;
34568 MenhirLib.EngineTypes.endp = _endpos_m_;
34569 MenhirLib.EngineTypes.next = {
34570 MenhirLib.EngineTypes.semv = ty00;
34571 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34572 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34573 MenhirLib.EngineTypes.next = {
34574 MenhirLib.EngineTypes.semv = r0;
34575 MenhirLib.EngineTypes.startp = _startpos_r0_;
34576 MenhirLib.EngineTypes.endp = _endpos_r0_;
34577 MenhirLib.EngineTypes.next = {
34578 MenhirLib.EngineTypes.state = _menhir_s;
34579 MenhirLib.EngineTypes.semv = x0;
34580 MenhirLib.EngineTypes.startp = _startpos_x0_;
34581 MenhirLib.EngineTypes.endp = _endpos_x0_;
34582 MenhirLib.EngineTypes.next = _menhir_stack;
34583 };
34584 };
34585 };
34586 } = _menhir_stack in
34587 let m : 'tv_list_TMul_ = Obj.magic m in
34588 let ty00 : (
34589# 49 "parser_cocci_menhir.mly"
34590 (Data.clt)
34591# 34592 "parser_cocci_menhir.ml"
34592 ) = Obj.magic ty00 in
34593 let r0 : (
34594# 51 "parser_cocci_menhir.mly"
34595 (Data.clt)
34596# 34597 "parser_cocci_menhir.ml"
34597 ) = Obj.magic r0 in
34598 let x0 : 'tv_const_vol = Obj.magic x0 in
34599 let _startpos = _startpos_x0_ in
34600 let _endpos = _endpos_m_ in
34601 let _v : 'tv_typedef_ctype = let ty =
34602 let ty0 = ty00 in
34603 let r = r0 in
34604 let ty =
34605 let ty = ty0 in
34606
34607# 502 "parser_cocci_menhir.mly"
34608 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34609# 34610 "parser_cocci_menhir.ml"
34610
34611 in
34612
34613# 554 "parser_cocci_menhir.mly"
34614 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34615# 34616 "parser_cocci_menhir.ml"
34616
34617 in
34618 let cv =
34619 let x = x0 in
34620
34621# 41 "standard.mly"
34622 ( Some x )
34623# 34624 "parser_cocci_menhir.ml"
34624
34625 in
34626
34627# 575 "parser_cocci_menhir.mly"
34628 ( P.pointerify (P.make_cv cv ty) m )
34629# 34630 "parser_cocci_menhir.ml"
34630 in
34631 _menhir_env.MenhirLib.EngineTypes.stack <- {
34632 MenhirLib.EngineTypes.state = _menhir_s;
34633 MenhirLib.EngineTypes.semv = Obj.repr _v;
34634 MenhirLib.EngineTypes.startp = _startpos;
34635 MenhirLib.EngineTypes.endp = _endpos;
34636 MenhirLib.EngineTypes.next = _menhir_stack;
34637 });
34638 (fun _menhir_env ->
34639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34640 let {
34641 MenhirLib.EngineTypes.semv = m;
34642 MenhirLib.EngineTypes.startp = _startpos_m_;
34643 MenhirLib.EngineTypes.endp = _endpos_m_;
34644 MenhirLib.EngineTypes.next = {
34645 MenhirLib.EngineTypes.semv = ty00;
34646 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34647 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34648 MenhirLib.EngineTypes.next = {
34649 MenhirLib.EngineTypes.semv = r0;
34650 MenhirLib.EngineTypes.startp = _startpos_r0_;
34651 MenhirLib.EngineTypes.endp = _endpos_r0_;
34652 MenhirLib.EngineTypes.next = {
34653 MenhirLib.EngineTypes.state = _menhir_s;
34654 MenhirLib.EngineTypes.semv = x0;
34655 MenhirLib.EngineTypes.startp = _startpos_x0_;
34656 MenhirLib.EngineTypes.endp = _endpos_x0_;
34657 MenhirLib.EngineTypes.next = _menhir_stack;
34658 };
34659 };
34660 };
34661 } = _menhir_stack in
34662 let m : 'tv_list_TMul_ = Obj.magic m in
34663 let ty00 : (
34664# 49 "parser_cocci_menhir.mly"
34665 (Data.clt)
34666# 34667 "parser_cocci_menhir.ml"
34667 ) = Obj.magic ty00 in
34668 let r0 : (
34669# 51 "parser_cocci_menhir.mly"
34670 (Data.clt)
34671# 34672 "parser_cocci_menhir.ml"
34672 ) = Obj.magic r0 in
34673 let x0 : 'tv_const_vol = Obj.magic x0 in
34674 let _startpos = _startpos_x0_ in
34675 let _endpos = _endpos_m_ in
34676 let _v : 'tv_typedef_ctype = let ty =
34677 let ty0 = ty00 in
34678 let r = r0 in
34679 let ty =
34680 let ty = ty0 in
34681
34682# 504 "parser_cocci_menhir.mly"
34683 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34684# 34685 "parser_cocci_menhir.ml"
34685
34686 in
34687
34688# 554 "parser_cocci_menhir.mly"
34689 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34690# 34691 "parser_cocci_menhir.ml"
34691
34692 in
34693 let cv =
34694 let x = x0 in
34695
34696# 41 "standard.mly"
34697 ( Some x )
34698# 34699 "parser_cocci_menhir.ml"
34699
34700 in
34701
34702# 575 "parser_cocci_menhir.mly"
34703 ( P.pointerify (P.make_cv cv ty) m )
34704# 34705 "parser_cocci_menhir.ml"
34705 in
34706 _menhir_env.MenhirLib.EngineTypes.stack <- {
34707 MenhirLib.EngineTypes.state = _menhir_s;
34708 MenhirLib.EngineTypes.semv = Obj.repr _v;
34709 MenhirLib.EngineTypes.startp = _startpos;
34710 MenhirLib.EngineTypes.endp = _endpos;
34711 MenhirLib.EngineTypes.next = _menhir_stack;
34712 });
34713 (fun _menhir_env ->
34714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34715 let {
34716 MenhirLib.EngineTypes.semv = m;
34717 MenhirLib.EngineTypes.startp = _startpos_m_;
34718 MenhirLib.EngineTypes.endp = _endpos_m_;
34719 MenhirLib.EngineTypes.next = {
34720 MenhirLib.EngineTypes.semv = ty00;
34721 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34722 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34723 MenhirLib.EngineTypes.next = {
34724 MenhirLib.EngineTypes.semv = r0;
34725 MenhirLib.EngineTypes.startp = _startpos_r0_;
34726 MenhirLib.EngineTypes.endp = _endpos_r0_;
34727 MenhirLib.EngineTypes.next = {
34728 MenhirLib.EngineTypes.state = _menhir_s;
34729 MenhirLib.EngineTypes.semv = x0;
34730 MenhirLib.EngineTypes.startp = _startpos_x0_;
34731 MenhirLib.EngineTypes.endp = _endpos_x0_;
34732 MenhirLib.EngineTypes.next = _menhir_stack;
34733 };
34734 };
34735 };
34736 } = _menhir_stack in
34737 let m : 'tv_list_TMul_ = Obj.magic m in
34738 let ty00 : (
34739# 49 "parser_cocci_menhir.mly"
34740 (Data.clt)
34741# 34742 "parser_cocci_menhir.ml"
34742 ) = Obj.magic ty00 in
34743 let r0 : (
34744# 51 "parser_cocci_menhir.mly"
34745 (Data.clt)
34746# 34747 "parser_cocci_menhir.ml"
34747 ) = Obj.magic r0 in
34748 let x0 : 'tv_const_vol = Obj.magic x0 in
34749 let _startpos = _startpos_x0_ in
34750 let _endpos = _endpos_m_ in
34751 let _v : 'tv_typedef_ctype = let ty =
34752 let ty0 = ty00 in
34753 let r = r0 in
34754 let ty =
34755 let ty = ty0 in
34756
34757# 506 "parser_cocci_menhir.mly"
34758 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
34759# 34760 "parser_cocci_menhir.ml"
34760
34761 in
34762
34763# 554 "parser_cocci_menhir.mly"
34764 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34765# 34766 "parser_cocci_menhir.ml"
34766
34767 in
34768 let cv =
34769 let x = x0 in
34770
34771# 41 "standard.mly"
34772 ( Some x )
34773# 34774 "parser_cocci_menhir.ml"
34774
34775 in
34776
34777# 575 "parser_cocci_menhir.mly"
34778 ( P.pointerify (P.make_cv cv ty) m )
34779# 34780 "parser_cocci_menhir.ml"
34780 in
34781 _menhir_env.MenhirLib.EngineTypes.stack <- {
34782 MenhirLib.EngineTypes.state = _menhir_s;
34783 MenhirLib.EngineTypes.semv = Obj.repr _v;
34784 MenhirLib.EngineTypes.startp = _startpos;
34785 MenhirLib.EngineTypes.endp = _endpos;
34786 MenhirLib.EngineTypes.next = _menhir_stack;
34787 });
34788 (fun _menhir_env ->
34789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34790 let {
34791 MenhirLib.EngineTypes.semv = m;
34792 MenhirLib.EngineTypes.startp = _startpos_m_;
34793 MenhirLib.EngineTypes.endp = _endpos_m_;
34794 MenhirLib.EngineTypes.next = {
34795 MenhirLib.EngineTypes.semv = p00;
34796 MenhirLib.EngineTypes.startp = _startpos_p00_;
34797 MenhirLib.EngineTypes.endp = _endpos_p00_;
34798 MenhirLib.EngineTypes.next = {
34799 MenhirLib.EngineTypes.semv = r0;
34800 MenhirLib.EngineTypes.startp = _startpos_r0_;
34801 MenhirLib.EngineTypes.endp = _endpos_r0_;
34802 MenhirLib.EngineTypes.next = {
34803 MenhirLib.EngineTypes.state = _menhir_s;
34804 MenhirLib.EngineTypes.semv = x0;
34805 MenhirLib.EngineTypes.startp = _startpos_x0_;
34806 MenhirLib.EngineTypes.endp = _endpos_x0_;
34807 MenhirLib.EngineTypes.next = _menhir_stack;
34808 };
34809 };
34810 };
34811 } = _menhir_stack in
34812 let m : 'tv_list_TMul_ = Obj.magic m in
34813 let p00 : (
34814# 65 "parser_cocci_menhir.mly"
34815 (Parse_aux.info)
34816# 34817 "parser_cocci_menhir.ml"
34817 ) = Obj.magic p00 in
34818 let r0 : (
34819# 51 "parser_cocci_menhir.mly"
34820 (Data.clt)
34821# 34822 "parser_cocci_menhir.ml"
34822 ) = Obj.magic r0 in
34823 let x0 : 'tv_const_vol = Obj.magic x0 in
34824 let _startpos = _startpos_x0_ in
34825 let _endpos = _endpos_m_ in
34826 let _v : 'tv_typedef_ctype = let ty =
34827 let p0 = p00 in
34828 let r = r0 in
34829 let ty =
34830 let p = p0 in
34831
34832# 508 "parser_cocci_menhir.mly"
34833 ( let (nm,pure,clt) = p in
34834 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
34835# 34836 "parser_cocci_menhir.ml"
34836
34837 in
34838
34839# 554 "parser_cocci_menhir.mly"
34840 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34841# 34842 "parser_cocci_menhir.ml"
34842
34843 in
34844 let cv =
34845 let x = x0 in
34846
34847# 41 "standard.mly"
34848 ( Some x )
34849# 34850 "parser_cocci_menhir.ml"
34850
34851 in
34852
34853# 575 "parser_cocci_menhir.mly"
34854 ( P.pointerify (P.make_cv cv ty) m )
34855# 34856 "parser_cocci_menhir.ml"
34856 in
34857 _menhir_env.MenhirLib.EngineTypes.stack <- {
34858 MenhirLib.EngineTypes.state = _menhir_s;
34859 MenhirLib.EngineTypes.semv = Obj.repr _v;
34860 MenhirLib.EngineTypes.startp = _startpos;
34861 MenhirLib.EngineTypes.endp = _endpos;
34862 MenhirLib.EngineTypes.next = _menhir_stack;
34863 });
34864 (fun _menhir_env ->
34865 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34866 let {
34867 MenhirLib.EngineTypes.semv = m;
34868 MenhirLib.EngineTypes.startp = _startpos_m_;
34869 MenhirLib.EngineTypes.endp = _endpos_m_;
34870 MenhirLib.EngineTypes.next = {
34871 MenhirLib.EngineTypes.semv = p00;
34872 MenhirLib.EngineTypes.startp = _startpos_p00_;
34873 MenhirLib.EngineTypes.endp = _endpos_p00_;
34874 MenhirLib.EngineTypes.next = {
34875 MenhirLib.EngineTypes.startp = _startpos__4_;
34876 MenhirLib.EngineTypes.endp = _endpos__4_;
34877 MenhirLib.EngineTypes.next = {
34878 MenhirLib.EngineTypes.semv = r00;
34879 MenhirLib.EngineTypes.startp = _startpos_r00_;
34880 MenhirLib.EngineTypes.endp = _endpos_r00_;
34881 MenhirLib.EngineTypes.next = {
34882 MenhirLib.EngineTypes.semv = r1;
34883 MenhirLib.EngineTypes.startp = _startpos_r1_;
34884 MenhirLib.EngineTypes.endp = _endpos_r1_;
34885 MenhirLib.EngineTypes.next = {
34886 MenhirLib.EngineTypes.state = _menhir_s;
34887 MenhirLib.EngineTypes.semv = x0;
34888 MenhirLib.EngineTypes.startp = _startpos_x0_;
34889 MenhirLib.EngineTypes.endp = _endpos_x0_;
34890 MenhirLib.EngineTypes.next = _menhir_stack;
34891 };
34892 };
34893 };
34894 };
34895 };
34896 } = _menhir_stack in
34897 let m : 'tv_list_TMul_ = Obj.magic m in
34898 let p00 : (
34899# 59 "parser_cocci_menhir.mly"
34900 (string * Data.clt)
34901# 34902 "parser_cocci_menhir.ml"
34902 ) = Obj.magic p00 in
34903 let r00 : (
34904# 47 "parser_cocci_menhir.mly"
34905 (string)
34906# 34907 "parser_cocci_menhir.ml"
34907 ) = Obj.magic r00 in
34908 let r1 : (
34909# 51 "parser_cocci_menhir.mly"
34910 (Data.clt)
34911# 34912 "parser_cocci_menhir.ml"
34912 ) = Obj.magic r1 in
34913 let x0 : 'tv_const_vol = Obj.magic x0 in
34914 let _startpos = _startpos_x0_ in
34915 let _endpos = _endpos_m_ in
34916 let _v : 'tv_typedef_ctype = let ty =
34917 let p0 = p00 in
34918 let r0 = r00 in
34919 let r = r1 in
34920 let ty =
34921 let p = p0 in
34922 let r = r0 in
34923
34924# 511 "parser_cocci_menhir.mly"
34925 ( let nm = (r,P.id2name p) in
34926 (* this is only possible when we are in a metavar decl. Otherwise,
34927 it will be represented already as a MetaType *)
34928 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
34929 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
34930 Ast0.Impure (*will be ignored*))) )
34931# 34932 "parser_cocci_menhir.ml"
34932
34933 in
34934
34935# 554 "parser_cocci_menhir.mly"
34936 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34937# 34938 "parser_cocci_menhir.ml"
34938
34939 in
34940 let cv =
34941 let x = x0 in
34942
34943# 41 "standard.mly"
34944 ( Some x )
34945# 34946 "parser_cocci_menhir.ml"
34946
34947 in
34948
34949# 575 "parser_cocci_menhir.mly"
34950 ( P.pointerify (P.make_cv cv ty) m )
34951# 34952 "parser_cocci_menhir.ml"
34952 in
34953 _menhir_env.MenhirLib.EngineTypes.stack <- {
34954 MenhirLib.EngineTypes.state = _menhir_s;
34955 MenhirLib.EngineTypes.semv = Obj.repr _v;
34956 MenhirLib.EngineTypes.startp = _startpos;
34957 MenhirLib.EngineTypes.endp = _endpos;
34958 MenhirLib.EngineTypes.next = _menhir_stack;
34959 });
34960 (fun _menhir_env ->
34961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34962 let {
34963 MenhirLib.EngineTypes.semv = m;
34964 MenhirLib.EngineTypes.startp = _startpos_m_;
34965 MenhirLib.EngineTypes.endp = _endpos_m_;
34966 MenhirLib.EngineTypes.next = {
34967 MenhirLib.EngineTypes.semv = ty00;
34968 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34969 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34970 MenhirLib.EngineTypes.next = {
34971 MenhirLib.EngineTypes.semv = r0;
34972 MenhirLib.EngineTypes.startp = _startpos_r0_;
34973 MenhirLib.EngineTypes.endp = _endpos_r0_;
34974 MenhirLib.EngineTypes.next = {
34975 MenhirLib.EngineTypes.state = _menhir_s;
34976 MenhirLib.EngineTypes.semv = x0;
34977 MenhirLib.EngineTypes.startp = _startpos_x0_;
34978 MenhirLib.EngineTypes.endp = _endpos_x0_;
34979 MenhirLib.EngineTypes.next = _menhir_stack;
34980 };
34981 };
34982 };
34983 } = _menhir_stack in
34984 let m : 'tv_list_TMul_ = Obj.magic m in
34985 let ty00 : (
34986# 49 "parser_cocci_menhir.mly"
34987 (Data.clt)
34988# 34989 "parser_cocci_menhir.ml"
34989 ) = Obj.magic ty00 in
34990 let r0 : (
34991# 51 "parser_cocci_menhir.mly"
34992 (Data.clt)
34993# 34994 "parser_cocci_menhir.ml"
34994 ) = Obj.magic r0 in
34995 let x0 : 'tv_const_vol = Obj.magic x0 in
34996 let _startpos = _startpos_x0_ in
34997 let _endpos = _endpos_m_ in
34998 let _v : 'tv_typedef_ctype = let ty =
34999 let ty0 = ty00 in
35000 let r = r0 in
35001 let ty =
35002 let ty = ty0 in
35003
35004# 518 "parser_cocci_menhir.mly"
35005 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35006# 35007 "parser_cocci_menhir.ml"
35007
35008 in
35009
35010# 554 "parser_cocci_menhir.mly"
35011 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35012# 35013 "parser_cocci_menhir.ml"
35013
35014 in
35015 let cv =
35016 let x = x0 in
35017
35018# 41 "standard.mly"
35019 ( Some x )
35020# 35021 "parser_cocci_menhir.ml"
35021
35022 in
35023
35024# 575 "parser_cocci_menhir.mly"
35025 ( P.pointerify (P.make_cv cv ty) m )
35026# 35027 "parser_cocci_menhir.ml"
35027 in
35028 _menhir_env.MenhirLib.EngineTypes.stack <- {
35029 MenhirLib.EngineTypes.state = _menhir_s;
35030 MenhirLib.EngineTypes.semv = Obj.repr _v;
35031 MenhirLib.EngineTypes.startp = _startpos;
35032 MenhirLib.EngineTypes.endp = _endpos;
35033 MenhirLib.EngineTypes.next = _menhir_stack;
35034 });
35035 (fun _menhir_env ->
35036 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35037 let {
35038 MenhirLib.EngineTypes.semv = m;
35039 MenhirLib.EngineTypes.startp = _startpos_m_;
35040 MenhirLib.EngineTypes.endp = _endpos_m_;
35041 MenhirLib.EngineTypes.next = {
35042 MenhirLib.EngineTypes.semv = ty200;
35043 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35044 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35045 MenhirLib.EngineTypes.next = {
35046 MenhirLib.EngineTypes.semv = ty100;
35047 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35048 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35049 MenhirLib.EngineTypes.next = {
35050 MenhirLib.EngineTypes.semv = r0;
35051 MenhirLib.EngineTypes.startp = _startpos_r0_;
35052 MenhirLib.EngineTypes.endp = _endpos_r0_;
35053 MenhirLib.EngineTypes.next = {
35054 MenhirLib.EngineTypes.state = _menhir_s;
35055 MenhirLib.EngineTypes.semv = x0;
35056 MenhirLib.EngineTypes.startp = _startpos_x0_;
35057 MenhirLib.EngineTypes.endp = _endpos_x0_;
35058 MenhirLib.EngineTypes.next = _menhir_stack;
35059 };
35060 };
35061 };
35062 };
35063 } = _menhir_stack in
35064 let m : 'tv_list_TMul_ = Obj.magic m in
35065 let ty200 : (
35066# 49 "parser_cocci_menhir.mly"
35067 (Data.clt)
35068# 35069 "parser_cocci_menhir.ml"
35069 ) = Obj.magic ty200 in
35070 let ty100 : (
35071# 49 "parser_cocci_menhir.mly"
35072 (Data.clt)
35073# 35074 "parser_cocci_menhir.ml"
35074 ) = Obj.magic ty100 in
35075 let r0 : (
35076# 51 "parser_cocci_menhir.mly"
35077 (Data.clt)
35078# 35079 "parser_cocci_menhir.ml"
35079 ) = Obj.magic r0 in
35080 let x0 : 'tv_const_vol = Obj.magic x0 in
35081 let _startpos = _startpos_x0_ in
35082 let _endpos = _endpos_m_ in
35083 let _v : 'tv_typedef_ctype = let ty =
35084 let ty20 = ty200 in
35085 let ty10 = ty100 in
35086 let r = r0 in
35087 let ty =
35088 let ty2 = ty20 in
35089 let ty1 = ty10 in
35090
35091# 520 "parser_cocci_menhir.mly"
35092 ( Ast0.wrap
35093 (Ast0.BaseType
35094 (Ast.LongLongType,
35095 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35096# 35097 "parser_cocci_menhir.ml"
35097
35098 in
35099
35100# 554 "parser_cocci_menhir.mly"
35101 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35102# 35103 "parser_cocci_menhir.ml"
35103
35104 in
35105 let cv =
35106 let x = x0 in
35107
35108# 41 "standard.mly"
35109 ( Some x )
35110# 35111 "parser_cocci_menhir.ml"
35111
35112 in
35113
35114# 575 "parser_cocci_menhir.mly"
35115 ( P.pointerify (P.make_cv cv ty) m )
35116# 35117 "parser_cocci_menhir.ml"
35117 in
35118 _menhir_env.MenhirLib.EngineTypes.stack <- {
35119 MenhirLib.EngineTypes.state = _menhir_s;
35120 MenhirLib.EngineTypes.semv = Obj.repr _v;
35121 MenhirLib.EngineTypes.startp = _startpos;
35122 MenhirLib.EngineTypes.endp = _endpos;
35123 MenhirLib.EngineTypes.next = _menhir_stack;
35124 });
35125 (fun _menhir_env ->
35126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35127 let {
35128 MenhirLib.EngineTypes.semv = m;
35129 MenhirLib.EngineTypes.startp = _startpos_m_;
35130 MenhirLib.EngineTypes.endp = _endpos_m_;
35131 MenhirLib.EngineTypes.next = {
35132 MenhirLib.EngineTypes.semv = ty00;
35133 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35134 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35135 MenhirLib.EngineTypes.next = {
35136 MenhirLib.EngineTypes.semv = r0;
35137 MenhirLib.EngineTypes.startp = _startpos_r0_;
35138 MenhirLib.EngineTypes.endp = _endpos_r0_;
35139 MenhirLib.EngineTypes.next = {
35140 MenhirLib.EngineTypes.state = _menhir_s;
35141 MenhirLib.EngineTypes.semv = x0;
35142 MenhirLib.EngineTypes.startp = _startpos_x0_;
35143 MenhirLib.EngineTypes.endp = _endpos_x0_;
35144 MenhirLib.EngineTypes.next = _menhir_stack;
35145 };
35146 };
35147 };
35148 } = _menhir_stack in
35149 let m : 'tv_list_TMul_ = Obj.magic m in
35150 let ty00 : (
35151# 49 "parser_cocci_menhir.mly"
35152 (Data.clt)
35153# 35154 "parser_cocci_menhir.ml"
35154 ) = Obj.magic ty00 in
35155 let r0 : (
35156# 51 "parser_cocci_menhir.mly"
35157 (Data.clt)
35158# 35159 "parser_cocci_menhir.ml"
35159 ) = Obj.magic r0 in
35160 let x0 : 'tv_const_vol = Obj.magic x0 in
35161 let _startpos = _startpos_x0_ in
35162 let _endpos = _endpos_m_ in
35163 let _v : 'tv_typedef_ctype = let ty =
35164 let ty0 = ty00 in
35165 let r = r0 in
35166 let ty =
35167 let ty = ty0 in
35168
35169# 502 "parser_cocci_menhir.mly"
35170 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35171# 35172 "parser_cocci_menhir.ml"
35172
35173 in
35174
35175# 556 "parser_cocci_menhir.mly"
35176 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35177# 35178 "parser_cocci_menhir.ml"
35178
35179 in
35180 let cv =
35181 let x = x0 in
35182
35183# 41 "standard.mly"
35184 ( Some x )
35185# 35186 "parser_cocci_menhir.ml"
35186
35187 in
35188
35189# 575 "parser_cocci_menhir.mly"
35190 ( P.pointerify (P.make_cv cv ty) m )
35191# 35192 "parser_cocci_menhir.ml"
35192 in
35193 _menhir_env.MenhirLib.EngineTypes.stack <- {
35194 MenhirLib.EngineTypes.state = _menhir_s;
35195 MenhirLib.EngineTypes.semv = Obj.repr _v;
35196 MenhirLib.EngineTypes.startp = _startpos;
35197 MenhirLib.EngineTypes.endp = _endpos;
35198 MenhirLib.EngineTypes.next = _menhir_stack;
35199 });
35200 (fun _menhir_env ->
35201 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35202 let {
35203 MenhirLib.EngineTypes.semv = m;
35204 MenhirLib.EngineTypes.startp = _startpos_m_;
35205 MenhirLib.EngineTypes.endp = _endpos_m_;
35206 MenhirLib.EngineTypes.next = {
35207 MenhirLib.EngineTypes.semv = ty00;
35208 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35209 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35210 MenhirLib.EngineTypes.next = {
35211 MenhirLib.EngineTypes.semv = r0;
35212 MenhirLib.EngineTypes.startp = _startpos_r0_;
35213 MenhirLib.EngineTypes.endp = _endpos_r0_;
35214 MenhirLib.EngineTypes.next = {
35215 MenhirLib.EngineTypes.state = _menhir_s;
35216 MenhirLib.EngineTypes.semv = x0;
35217 MenhirLib.EngineTypes.startp = _startpos_x0_;
35218 MenhirLib.EngineTypes.endp = _endpos_x0_;
35219 MenhirLib.EngineTypes.next = _menhir_stack;
35220 };
35221 };
35222 };
35223 } = _menhir_stack in
35224 let m : 'tv_list_TMul_ = Obj.magic m in
35225 let ty00 : (
35226# 49 "parser_cocci_menhir.mly"
35227 (Data.clt)
35228# 35229 "parser_cocci_menhir.ml"
35229 ) = Obj.magic ty00 in
35230 let r0 : (
35231# 51 "parser_cocci_menhir.mly"
35232 (Data.clt)
35233# 35234 "parser_cocci_menhir.ml"
35234 ) = Obj.magic r0 in
35235 let x0 : 'tv_const_vol = Obj.magic x0 in
35236 let _startpos = _startpos_x0_ in
35237 let _endpos = _endpos_m_ in
35238 let _v : 'tv_typedef_ctype = let ty =
35239 let ty0 = ty00 in
35240 let r = r0 in
35241 let ty =
35242 let ty = ty0 in
35243
35244# 504 "parser_cocci_menhir.mly"
35245 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35246# 35247 "parser_cocci_menhir.ml"
35247
35248 in
35249
35250# 556 "parser_cocci_menhir.mly"
35251 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35252# 35253 "parser_cocci_menhir.ml"
35253
35254 in
35255 let cv =
35256 let x = x0 in
35257
35258# 41 "standard.mly"
35259 ( Some x )
35260# 35261 "parser_cocci_menhir.ml"
35261
35262 in
35263
35264# 575 "parser_cocci_menhir.mly"
35265 ( P.pointerify (P.make_cv cv ty) m )
35266# 35267 "parser_cocci_menhir.ml"
35267 in
35268 _menhir_env.MenhirLib.EngineTypes.stack <- {
35269 MenhirLib.EngineTypes.state = _menhir_s;
35270 MenhirLib.EngineTypes.semv = Obj.repr _v;
35271 MenhirLib.EngineTypes.startp = _startpos;
35272 MenhirLib.EngineTypes.endp = _endpos;
35273 MenhirLib.EngineTypes.next = _menhir_stack;
35274 });
35275 (fun _menhir_env ->
35276 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35277 let {
35278 MenhirLib.EngineTypes.semv = m;
35279 MenhirLib.EngineTypes.startp = _startpos_m_;
35280 MenhirLib.EngineTypes.endp = _endpos_m_;
35281 MenhirLib.EngineTypes.next = {
35282 MenhirLib.EngineTypes.semv = ty00;
35283 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35284 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35285 MenhirLib.EngineTypes.next = {
35286 MenhirLib.EngineTypes.semv = r0;
35287 MenhirLib.EngineTypes.startp = _startpos_r0_;
35288 MenhirLib.EngineTypes.endp = _endpos_r0_;
35289 MenhirLib.EngineTypes.next = {
35290 MenhirLib.EngineTypes.state = _menhir_s;
35291 MenhirLib.EngineTypes.semv = x0;
35292 MenhirLib.EngineTypes.startp = _startpos_x0_;
35293 MenhirLib.EngineTypes.endp = _endpos_x0_;
35294 MenhirLib.EngineTypes.next = _menhir_stack;
35295 };
35296 };
35297 };
35298 } = _menhir_stack in
35299 let m : 'tv_list_TMul_ = Obj.magic m in
35300 let ty00 : (
35301# 49 "parser_cocci_menhir.mly"
35302 (Data.clt)
35303# 35304 "parser_cocci_menhir.ml"
35304 ) = Obj.magic ty00 in
35305 let r0 : (
35306# 51 "parser_cocci_menhir.mly"
35307 (Data.clt)
35308# 35309 "parser_cocci_menhir.ml"
35309 ) = Obj.magic r0 in
35310 let x0 : 'tv_const_vol = Obj.magic x0 in
35311 let _startpos = _startpos_x0_ in
35312 let _endpos = _endpos_m_ in
35313 let _v : 'tv_typedef_ctype = let ty =
35314 let ty0 = ty00 in
35315 let r = r0 in
35316 let ty =
35317 let ty = ty0 in
35318
35319# 506 "parser_cocci_menhir.mly"
35320 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35321# 35322 "parser_cocci_menhir.ml"
35322
35323 in
35324
35325# 556 "parser_cocci_menhir.mly"
35326 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35327# 35328 "parser_cocci_menhir.ml"
35328
35329 in
35330 let cv =
35331 let x = x0 in
35332
35333# 41 "standard.mly"
35334 ( Some x )
35335# 35336 "parser_cocci_menhir.ml"
35336
35337 in
35338
35339# 575 "parser_cocci_menhir.mly"
35340 ( P.pointerify (P.make_cv cv ty) m )
35341# 35342 "parser_cocci_menhir.ml"
35342 in
35343 _menhir_env.MenhirLib.EngineTypes.stack <- {
35344 MenhirLib.EngineTypes.state = _menhir_s;
35345 MenhirLib.EngineTypes.semv = Obj.repr _v;
35346 MenhirLib.EngineTypes.startp = _startpos;
35347 MenhirLib.EngineTypes.endp = _endpos;
35348 MenhirLib.EngineTypes.next = _menhir_stack;
35349 });
35350 (fun _menhir_env ->
35351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35352 let {
35353 MenhirLib.EngineTypes.semv = m;
35354 MenhirLib.EngineTypes.startp = _startpos_m_;
35355 MenhirLib.EngineTypes.endp = _endpos_m_;
35356 MenhirLib.EngineTypes.next = {
35357 MenhirLib.EngineTypes.semv = p00;
35358 MenhirLib.EngineTypes.startp = _startpos_p00_;
35359 MenhirLib.EngineTypes.endp = _endpos_p00_;
35360 MenhirLib.EngineTypes.next = {
35361 MenhirLib.EngineTypes.semv = r0;
35362 MenhirLib.EngineTypes.startp = _startpos_r0_;
35363 MenhirLib.EngineTypes.endp = _endpos_r0_;
35364 MenhirLib.EngineTypes.next = {
35365 MenhirLib.EngineTypes.state = _menhir_s;
35366 MenhirLib.EngineTypes.semv = x0;
35367 MenhirLib.EngineTypes.startp = _startpos_x0_;
35368 MenhirLib.EngineTypes.endp = _endpos_x0_;
35369 MenhirLib.EngineTypes.next = _menhir_stack;
35370 };
35371 };
35372 };
35373 } = _menhir_stack in
35374 let m : 'tv_list_TMul_ = Obj.magic m in
35375 let p00 : (
35376# 65 "parser_cocci_menhir.mly"
35377 (Parse_aux.info)
35378# 35379 "parser_cocci_menhir.ml"
35379 ) = Obj.magic p00 in
35380 let r0 : (
35381# 51 "parser_cocci_menhir.mly"
35382 (Data.clt)
35383# 35384 "parser_cocci_menhir.ml"
35384 ) = Obj.magic r0 in
35385 let x0 : 'tv_const_vol = Obj.magic x0 in
35386 let _startpos = _startpos_x0_ in
35387 let _endpos = _endpos_m_ in
35388 let _v : 'tv_typedef_ctype = let ty =
35389 let p0 = p00 in
35390 let r = r0 in
35391 let ty =
35392 let p = p0 in
35393
35394# 508 "parser_cocci_menhir.mly"
35395 ( let (nm,pure,clt) = p in
35396 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35397# 35398 "parser_cocci_menhir.ml"
35398
35399 in
35400
35401# 556 "parser_cocci_menhir.mly"
35402 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35403# 35404 "parser_cocci_menhir.ml"
35404
35405 in
35406 let cv =
35407 let x = x0 in
35408
35409# 41 "standard.mly"
35410 ( Some x )
35411# 35412 "parser_cocci_menhir.ml"
35412
35413 in
35414
35415# 575 "parser_cocci_menhir.mly"
35416 ( P.pointerify (P.make_cv cv ty) m )
35417# 35418 "parser_cocci_menhir.ml"
35418 in
35419 _menhir_env.MenhirLib.EngineTypes.stack <- {
35420 MenhirLib.EngineTypes.state = _menhir_s;
35421 MenhirLib.EngineTypes.semv = Obj.repr _v;
35422 MenhirLib.EngineTypes.startp = _startpos;
35423 MenhirLib.EngineTypes.endp = _endpos;
35424 MenhirLib.EngineTypes.next = _menhir_stack;
35425 });
35426 (fun _menhir_env ->
35427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35428 let {
35429 MenhirLib.EngineTypes.semv = m;
35430 MenhirLib.EngineTypes.startp = _startpos_m_;
35431 MenhirLib.EngineTypes.endp = _endpos_m_;
35432 MenhirLib.EngineTypes.next = {
35433 MenhirLib.EngineTypes.semv = p00;
35434 MenhirLib.EngineTypes.startp = _startpos_p00_;
35435 MenhirLib.EngineTypes.endp = _endpos_p00_;
35436 MenhirLib.EngineTypes.next = {
35437 MenhirLib.EngineTypes.startp = _startpos__4_;
35438 MenhirLib.EngineTypes.endp = _endpos__4_;
35439 MenhirLib.EngineTypes.next = {
35440 MenhirLib.EngineTypes.semv = r00;
35441 MenhirLib.EngineTypes.startp = _startpos_r00_;
35442 MenhirLib.EngineTypes.endp = _endpos_r00_;
35443 MenhirLib.EngineTypes.next = {
35444 MenhirLib.EngineTypes.semv = r1;
35445 MenhirLib.EngineTypes.startp = _startpos_r1_;
35446 MenhirLib.EngineTypes.endp = _endpos_r1_;
35447 MenhirLib.EngineTypes.next = {
35448 MenhirLib.EngineTypes.state = _menhir_s;
35449 MenhirLib.EngineTypes.semv = x0;
35450 MenhirLib.EngineTypes.startp = _startpos_x0_;
35451 MenhirLib.EngineTypes.endp = _endpos_x0_;
35452 MenhirLib.EngineTypes.next = _menhir_stack;
35453 };
35454 };
35455 };
35456 };
35457 };
35458 } = _menhir_stack in
35459 let m : 'tv_list_TMul_ = Obj.magic m in
35460 let p00 : (
35461# 59 "parser_cocci_menhir.mly"
35462 (string * Data.clt)
35463# 35464 "parser_cocci_menhir.ml"
35464 ) = Obj.magic p00 in
35465 let r00 : (
35466# 47 "parser_cocci_menhir.mly"
35467 (string)
35468# 35469 "parser_cocci_menhir.ml"
35469 ) = Obj.magic r00 in
35470 let r1 : (
35471# 51 "parser_cocci_menhir.mly"
35472 (Data.clt)
35473# 35474 "parser_cocci_menhir.ml"
35474 ) = Obj.magic r1 in
35475 let x0 : 'tv_const_vol = Obj.magic x0 in
35476 let _startpos = _startpos_x0_ in
35477 let _endpos = _endpos_m_ in
35478 let _v : 'tv_typedef_ctype = let ty =
35479 let p0 = p00 in
35480 let r0 = r00 in
35481 let r = r1 in
35482 let ty =
35483 let p = p0 in
35484 let r = r0 in
35485
35486# 511 "parser_cocci_menhir.mly"
35487 ( let nm = (r,P.id2name p) in
35488 (* this is only possible when we are in a metavar decl. Otherwise,
35489 it will be represented already as a MetaType *)
35490 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35491 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35492 Ast0.Impure (*will be ignored*))) )
35493# 35494 "parser_cocci_menhir.ml"
35494
35495 in
35496
35497# 556 "parser_cocci_menhir.mly"
35498 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35499# 35500 "parser_cocci_menhir.ml"
35500
35501 in
35502 let cv =
35503 let x = x0 in
35504
35505# 41 "standard.mly"
35506 ( Some x )
35507# 35508 "parser_cocci_menhir.ml"
35508
35509 in
35510
35511# 575 "parser_cocci_menhir.mly"
35512 ( P.pointerify (P.make_cv cv ty) m )
35513# 35514 "parser_cocci_menhir.ml"
35514 in
35515 _menhir_env.MenhirLib.EngineTypes.stack <- {
35516 MenhirLib.EngineTypes.state = _menhir_s;
35517 MenhirLib.EngineTypes.semv = Obj.repr _v;
35518 MenhirLib.EngineTypes.startp = _startpos;
35519 MenhirLib.EngineTypes.endp = _endpos;
35520 MenhirLib.EngineTypes.next = _menhir_stack;
35521 });
35522 (fun _menhir_env ->
35523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35524 let {
35525 MenhirLib.EngineTypes.semv = m;
35526 MenhirLib.EngineTypes.startp = _startpos_m_;
35527 MenhirLib.EngineTypes.endp = _endpos_m_;
35528 MenhirLib.EngineTypes.next = {
35529 MenhirLib.EngineTypes.semv = ty00;
35530 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35531 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35532 MenhirLib.EngineTypes.next = {
35533 MenhirLib.EngineTypes.semv = r0;
35534 MenhirLib.EngineTypes.startp = _startpos_r0_;
35535 MenhirLib.EngineTypes.endp = _endpos_r0_;
35536 MenhirLib.EngineTypes.next = {
35537 MenhirLib.EngineTypes.state = _menhir_s;
35538 MenhirLib.EngineTypes.semv = x0;
35539 MenhirLib.EngineTypes.startp = _startpos_x0_;
35540 MenhirLib.EngineTypes.endp = _endpos_x0_;
35541 MenhirLib.EngineTypes.next = _menhir_stack;
35542 };
35543 };
35544 };
35545 } = _menhir_stack in
35546 let m : 'tv_list_TMul_ = Obj.magic m in
35547 let ty00 : (
35548# 49 "parser_cocci_menhir.mly"
35549 (Data.clt)
35550# 35551 "parser_cocci_menhir.ml"
35551 ) = Obj.magic ty00 in
35552 let r0 : (
35553# 51 "parser_cocci_menhir.mly"
35554 (Data.clt)
35555# 35556 "parser_cocci_menhir.ml"
35556 ) = Obj.magic r0 in
35557 let x0 : 'tv_const_vol = Obj.magic x0 in
35558 let _startpos = _startpos_x0_ in
35559 let _endpos = _endpos_m_ in
35560 let _v : 'tv_typedef_ctype = let ty =
35561 let ty0 = ty00 in
35562 let r = r0 in
35563 let ty =
35564 let ty = ty0 in
35565
35566# 518 "parser_cocci_menhir.mly"
35567 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35568# 35569 "parser_cocci_menhir.ml"
35569
35570 in
35571
35572# 556 "parser_cocci_menhir.mly"
35573 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35574# 35575 "parser_cocci_menhir.ml"
35575
35576 in
35577 let cv =
35578 let x = x0 in
35579
35580# 41 "standard.mly"
35581 ( Some x )
35582# 35583 "parser_cocci_menhir.ml"
35583
35584 in
35585
35586# 575 "parser_cocci_menhir.mly"
35587 ( P.pointerify (P.make_cv cv ty) m )
35588# 35589 "parser_cocci_menhir.ml"
35589 in
35590 _menhir_env.MenhirLib.EngineTypes.stack <- {
35591 MenhirLib.EngineTypes.state = _menhir_s;
35592 MenhirLib.EngineTypes.semv = Obj.repr _v;
35593 MenhirLib.EngineTypes.startp = _startpos;
35594 MenhirLib.EngineTypes.endp = _endpos;
35595 MenhirLib.EngineTypes.next = _menhir_stack;
35596 });
35597 (fun _menhir_env ->
35598 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35599 let {
35600 MenhirLib.EngineTypes.semv = m;
35601 MenhirLib.EngineTypes.startp = _startpos_m_;
35602 MenhirLib.EngineTypes.endp = _endpos_m_;
35603 MenhirLib.EngineTypes.next = {
35604 MenhirLib.EngineTypes.semv = ty200;
35605 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35606 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35607 MenhirLib.EngineTypes.next = {
35608 MenhirLib.EngineTypes.semv = ty100;
35609 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35610 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35611 MenhirLib.EngineTypes.next = {
35612 MenhirLib.EngineTypes.semv = r0;
35613 MenhirLib.EngineTypes.startp = _startpos_r0_;
35614 MenhirLib.EngineTypes.endp = _endpos_r0_;
35615 MenhirLib.EngineTypes.next = {
35616 MenhirLib.EngineTypes.state = _menhir_s;
35617 MenhirLib.EngineTypes.semv = x0;
35618 MenhirLib.EngineTypes.startp = _startpos_x0_;
35619 MenhirLib.EngineTypes.endp = _endpos_x0_;
35620 MenhirLib.EngineTypes.next = _menhir_stack;
35621 };
35622 };
35623 };
35624 };
35625 } = _menhir_stack in
35626 let m : 'tv_list_TMul_ = Obj.magic m in
35627 let ty200 : (
35628# 49 "parser_cocci_menhir.mly"
35629 (Data.clt)
35630# 35631 "parser_cocci_menhir.ml"
35631 ) = Obj.magic ty200 in
35632 let ty100 : (
35633# 49 "parser_cocci_menhir.mly"
35634 (Data.clt)
35635# 35636 "parser_cocci_menhir.ml"
35636 ) = Obj.magic ty100 in
35637 let r0 : (
35638# 51 "parser_cocci_menhir.mly"
35639 (Data.clt)
35640# 35641 "parser_cocci_menhir.ml"
35641 ) = Obj.magic r0 in
35642 let x0 : 'tv_const_vol = Obj.magic x0 in
35643 let _startpos = _startpos_x0_ in
35644 let _endpos = _endpos_m_ in
35645 let _v : 'tv_typedef_ctype = let ty =
35646 let ty20 = ty200 in
35647 let ty10 = ty100 in
35648 let r = r0 in
35649 let ty =
35650 let ty2 = ty20 in
35651 let ty1 = ty10 in
35652
35653# 520 "parser_cocci_menhir.mly"
35654 ( Ast0.wrap
35655 (Ast0.BaseType
35656 (Ast.LongLongType,
35657 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35658# 35659 "parser_cocci_menhir.ml"
35659
35660 in
35661
35662# 556 "parser_cocci_menhir.mly"
35663 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35664# 35665 "parser_cocci_menhir.ml"
35665
35666 in
35667 let cv =
35668 let x = x0 in
35669
35670# 41 "standard.mly"
35671 ( Some x )
35672# 35673 "parser_cocci_menhir.ml"
35673
35674 in
35675
35676# 575 "parser_cocci_menhir.mly"
35677 ( P.pointerify (P.make_cv cv ty) m )
35678# 35679 "parser_cocci_menhir.ml"
35679 in
35680 _menhir_env.MenhirLib.EngineTypes.stack <- {
35681 MenhirLib.EngineTypes.state = _menhir_s;
35682 MenhirLib.EngineTypes.semv = Obj.repr _v;
35683 MenhirLib.EngineTypes.startp = _startpos;
35684 MenhirLib.EngineTypes.endp = _endpos;
35685 MenhirLib.EngineTypes.next = _menhir_stack;
35686 });
35687 (fun _menhir_env ->
35688 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35689 let {
35690 MenhirLib.EngineTypes.semv = m;
35691 MenhirLib.EngineTypes.startp = _startpos_m_;
35692 MenhirLib.EngineTypes.endp = _endpos_m_;
35693 MenhirLib.EngineTypes.next = {
35694 MenhirLib.EngineTypes.semv = ty00;
35695 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35696 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35697 MenhirLib.EngineTypes.next = {
35698 MenhirLib.EngineTypes.state = _menhir_s;
35699 MenhirLib.EngineTypes.semv = x0;
35700 MenhirLib.EngineTypes.startp = _startpos_x0_;
35701 MenhirLib.EngineTypes.endp = _endpos_x0_;
35702 MenhirLib.EngineTypes.next = _menhir_stack;
35703 };
35704 };
35705 } = _menhir_stack in
35706 let m : 'tv_list_TMul_ = Obj.magic m in
35707 let ty00 : (
35708# 49 "parser_cocci_menhir.mly"
35709 (Data.clt)
35710# 35711 "parser_cocci_menhir.ml"
35711 ) = Obj.magic ty00 in
35712 let x0 : 'tv_const_vol = Obj.magic x0 in
35713 let _startpos = _startpos_x0_ in
35714 let _endpos = _endpos_m_ in
35715 let _v : 'tv_typedef_ctype = let ty =
35716 let ty0 = ty00 in
35717 let ty =
35718 let ty = ty0 in
35719
35720# 502 "parser_cocci_menhir.mly"
35721 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35722# 35723 "parser_cocci_menhir.ml"
35723
35724 in
35725
35726# 557 "parser_cocci_menhir.mly"
35727 ( ty )
35728# 35729 "parser_cocci_menhir.ml"
35729
35730 in
35731 let cv =
35732 let x = x0 in
35733
35734# 41 "standard.mly"
35735 ( Some x )
35736# 35737 "parser_cocci_menhir.ml"
35737
35738 in
35739
35740# 575 "parser_cocci_menhir.mly"
35741 ( P.pointerify (P.make_cv cv ty) m )
35742# 35743 "parser_cocci_menhir.ml"
35743 in
35744 _menhir_env.MenhirLib.EngineTypes.stack <- {
35745 MenhirLib.EngineTypes.state = _menhir_s;
35746 MenhirLib.EngineTypes.semv = Obj.repr _v;
35747 MenhirLib.EngineTypes.startp = _startpos;
35748 MenhirLib.EngineTypes.endp = _endpos;
35749 MenhirLib.EngineTypes.next = _menhir_stack;
35750 });
35751 (fun _menhir_env ->
35752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35753 let {
35754 MenhirLib.EngineTypes.semv = m;
35755 MenhirLib.EngineTypes.startp = _startpos_m_;
35756 MenhirLib.EngineTypes.endp = _endpos_m_;
35757 MenhirLib.EngineTypes.next = {
35758 MenhirLib.EngineTypes.semv = ty00;
35759 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35760 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35761 MenhirLib.EngineTypes.next = {
35762 MenhirLib.EngineTypes.state = _menhir_s;
35763 MenhirLib.EngineTypes.semv = x0;
35764 MenhirLib.EngineTypes.startp = _startpos_x0_;
35765 MenhirLib.EngineTypes.endp = _endpos_x0_;
35766 MenhirLib.EngineTypes.next = _menhir_stack;
35767 };
35768 };
35769 } = _menhir_stack in
35770 let m : 'tv_list_TMul_ = Obj.magic m in
35771 let ty00 : (
35772# 49 "parser_cocci_menhir.mly"
35773 (Data.clt)
35774# 35775 "parser_cocci_menhir.ml"
35775 ) = Obj.magic ty00 in
35776 let x0 : 'tv_const_vol = Obj.magic x0 in
35777 let _startpos = _startpos_x0_ in
35778 let _endpos = _endpos_m_ in
35779 let _v : 'tv_typedef_ctype = let ty =
35780 let ty0 = ty00 in
35781 let ty =
35782 let ty = ty0 in
35783
35784# 504 "parser_cocci_menhir.mly"
35785 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35786# 35787 "parser_cocci_menhir.ml"
35787
35788 in
35789
35790# 557 "parser_cocci_menhir.mly"
35791 ( ty )
35792# 35793 "parser_cocci_menhir.ml"
35793
35794 in
35795 let cv =
35796 let x = x0 in
35797
35798# 41 "standard.mly"
35799 ( Some x )
35800# 35801 "parser_cocci_menhir.ml"
35801
35802 in
35803
35804# 575 "parser_cocci_menhir.mly"
35805 ( P.pointerify (P.make_cv cv ty) m )
35806# 35807 "parser_cocci_menhir.ml"
35807 in
35808 _menhir_env.MenhirLib.EngineTypes.stack <- {
35809 MenhirLib.EngineTypes.state = _menhir_s;
35810 MenhirLib.EngineTypes.semv = Obj.repr _v;
35811 MenhirLib.EngineTypes.startp = _startpos;
35812 MenhirLib.EngineTypes.endp = _endpos;
35813 MenhirLib.EngineTypes.next = _menhir_stack;
35814 });
35815 (fun _menhir_env ->
35816 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35817 let {
35818 MenhirLib.EngineTypes.semv = m;
35819 MenhirLib.EngineTypes.startp = _startpos_m_;
35820 MenhirLib.EngineTypes.endp = _endpos_m_;
35821 MenhirLib.EngineTypes.next = {
35822 MenhirLib.EngineTypes.semv = ty00;
35823 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35824 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35825 MenhirLib.EngineTypes.next = {
35826 MenhirLib.EngineTypes.state = _menhir_s;
35827 MenhirLib.EngineTypes.semv = x0;
35828 MenhirLib.EngineTypes.startp = _startpos_x0_;
35829 MenhirLib.EngineTypes.endp = _endpos_x0_;
35830 MenhirLib.EngineTypes.next = _menhir_stack;
35831 };
35832 };
35833 } = _menhir_stack in
35834 let m : 'tv_list_TMul_ = Obj.magic m in
35835 let ty00 : (
35836# 49 "parser_cocci_menhir.mly"
35837 (Data.clt)
35838# 35839 "parser_cocci_menhir.ml"
35839 ) = Obj.magic ty00 in
35840 let x0 : 'tv_const_vol = Obj.magic x0 in
35841 let _startpos = _startpos_x0_ in
35842 let _endpos = _endpos_m_ in
35843 let _v : 'tv_typedef_ctype = let ty =
35844 let ty0 = ty00 in
35845 let ty =
35846 let ty = ty0 in
35847
35848# 506 "parser_cocci_menhir.mly"
35849 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35850# 35851 "parser_cocci_menhir.ml"
35851
35852 in
35853
35854# 557 "parser_cocci_menhir.mly"
35855 ( ty )
35856# 35857 "parser_cocci_menhir.ml"
35857
35858 in
35859 let cv =
35860 let x = x0 in
35861
35862# 41 "standard.mly"
35863 ( Some x )
35864# 35865 "parser_cocci_menhir.ml"
35865
35866 in
35867
35868# 575 "parser_cocci_menhir.mly"
35869 ( P.pointerify (P.make_cv cv ty) m )
35870# 35871 "parser_cocci_menhir.ml"
35871 in
35872 _menhir_env.MenhirLib.EngineTypes.stack <- {
35873 MenhirLib.EngineTypes.state = _menhir_s;
35874 MenhirLib.EngineTypes.semv = Obj.repr _v;
35875 MenhirLib.EngineTypes.startp = _startpos;
35876 MenhirLib.EngineTypes.endp = _endpos;
35877 MenhirLib.EngineTypes.next = _menhir_stack;
35878 });
35879 (fun _menhir_env ->
35880 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35881 let {
35882 MenhirLib.EngineTypes.semv = m;
35883 MenhirLib.EngineTypes.startp = _startpos_m_;
35884 MenhirLib.EngineTypes.endp = _endpos_m_;
35885 MenhirLib.EngineTypes.next = {
35886 MenhirLib.EngineTypes.semv = p00;
35887 MenhirLib.EngineTypes.startp = _startpos_p00_;
35888 MenhirLib.EngineTypes.endp = _endpos_p00_;
35889 MenhirLib.EngineTypes.next = {
35890 MenhirLib.EngineTypes.state = _menhir_s;
35891 MenhirLib.EngineTypes.semv = x0;
35892 MenhirLib.EngineTypes.startp = _startpos_x0_;
35893 MenhirLib.EngineTypes.endp = _endpos_x0_;
35894 MenhirLib.EngineTypes.next = _menhir_stack;
35895 };
35896 };
35897 } = _menhir_stack in
35898 let m : 'tv_list_TMul_ = Obj.magic m in
35899 let p00 : (
35900# 65 "parser_cocci_menhir.mly"
35901 (Parse_aux.info)
35902# 35903 "parser_cocci_menhir.ml"
35903 ) = Obj.magic p00 in
35904 let x0 : 'tv_const_vol = Obj.magic x0 in
35905 let _startpos = _startpos_x0_ in
35906 let _endpos = _endpos_m_ in
35907 let _v : 'tv_typedef_ctype = let ty =
35908 let p0 = p00 in
35909 let ty =
35910 let p = p0 in
35911
35912# 508 "parser_cocci_menhir.mly"
35913 ( let (nm,pure,clt) = p in
35914 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35915# 35916 "parser_cocci_menhir.ml"
35916
35917 in
35918
35919# 557 "parser_cocci_menhir.mly"
35920 ( ty )
35921# 35922 "parser_cocci_menhir.ml"
35922
35923 in
35924 let cv =
35925 let x = x0 in
35926
35927# 41 "standard.mly"
35928 ( Some x )
35929# 35930 "parser_cocci_menhir.ml"
35930
35931 in
35932
35933# 575 "parser_cocci_menhir.mly"
35934 ( P.pointerify (P.make_cv cv ty) m )
35935# 35936 "parser_cocci_menhir.ml"
35936 in
35937 _menhir_env.MenhirLib.EngineTypes.stack <- {
35938 MenhirLib.EngineTypes.state = _menhir_s;
35939 MenhirLib.EngineTypes.semv = Obj.repr _v;
35940 MenhirLib.EngineTypes.startp = _startpos;
35941 MenhirLib.EngineTypes.endp = _endpos;
35942 MenhirLib.EngineTypes.next = _menhir_stack;
35943 });
35944 (fun _menhir_env ->
35945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35946 let {
35947 MenhirLib.EngineTypes.semv = m;
35948 MenhirLib.EngineTypes.startp = _startpos_m_;
35949 MenhirLib.EngineTypes.endp = _endpos_m_;
35950 MenhirLib.EngineTypes.next = {
35951 MenhirLib.EngineTypes.semv = p00;
35952 MenhirLib.EngineTypes.startp = _startpos_p00_;
35953 MenhirLib.EngineTypes.endp = _endpos_p00_;
35954 MenhirLib.EngineTypes.next = {
35955 MenhirLib.EngineTypes.startp = _startpos__3_;
35956 MenhirLib.EngineTypes.endp = _endpos__3_;
35957 MenhirLib.EngineTypes.next = {
35958 MenhirLib.EngineTypes.semv = r00;
35959 MenhirLib.EngineTypes.startp = _startpos_r00_;
35960 MenhirLib.EngineTypes.endp = _endpos_r00_;
35961 MenhirLib.EngineTypes.next = {
35962 MenhirLib.EngineTypes.state = _menhir_s;
35963 MenhirLib.EngineTypes.semv = x0;
35964 MenhirLib.EngineTypes.startp = _startpos_x0_;
35965 MenhirLib.EngineTypes.endp = _endpos_x0_;
35966 MenhirLib.EngineTypes.next = _menhir_stack;
35967 };
35968 };
35969 };
35970 };
35971 } = _menhir_stack in
35972 let m : 'tv_list_TMul_ = Obj.magic m in
35973 let p00 : (
35974# 59 "parser_cocci_menhir.mly"
35975 (string * Data.clt)
35976# 35977 "parser_cocci_menhir.ml"
35977 ) = Obj.magic p00 in
35978 let r00 : (
35979# 47 "parser_cocci_menhir.mly"
35980 (string)
35981# 35982 "parser_cocci_menhir.ml"
35982 ) = Obj.magic r00 in
35983 let x0 : 'tv_const_vol = Obj.magic x0 in
35984 let _startpos = _startpos_x0_ in
35985 let _endpos = _endpos_m_ in
35986 let _v : 'tv_typedef_ctype = let ty =
35987 let p0 = p00 in
35988 let r0 = r00 in
35989 let ty =
35990 let p = p0 in
35991 let r = r0 in
35992
35993# 511 "parser_cocci_menhir.mly"
35994 ( let nm = (r,P.id2name p) in
35995 (* this is only possible when we are in a metavar decl. Otherwise,
35996 it will be represented already as a MetaType *)
35997 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35998 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35999 Ast0.Impure (*will be ignored*))) )
36000# 36001 "parser_cocci_menhir.ml"
36001
36002 in
36003
36004# 557 "parser_cocci_menhir.mly"
36005 ( ty )
36006# 36007 "parser_cocci_menhir.ml"
36007
36008 in
36009 let cv =
36010 let x = x0 in
36011
36012# 41 "standard.mly"
36013 ( Some x )
36014# 36015 "parser_cocci_menhir.ml"
36015
36016 in
36017
36018# 575 "parser_cocci_menhir.mly"
36019 ( P.pointerify (P.make_cv cv ty) m )
36020# 36021 "parser_cocci_menhir.ml"
36021 in
36022 _menhir_env.MenhirLib.EngineTypes.stack <- {
36023 MenhirLib.EngineTypes.state = _menhir_s;
36024 MenhirLib.EngineTypes.semv = Obj.repr _v;
36025 MenhirLib.EngineTypes.startp = _startpos;
36026 MenhirLib.EngineTypes.endp = _endpos;
36027 MenhirLib.EngineTypes.next = _menhir_stack;
36028 });
36029 (fun _menhir_env ->
36030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36031 let {
36032 MenhirLib.EngineTypes.semv = m;
36033 MenhirLib.EngineTypes.startp = _startpos_m_;
36034 MenhirLib.EngineTypes.endp = _endpos_m_;
36035 MenhirLib.EngineTypes.next = {
36036 MenhirLib.EngineTypes.semv = ty00;
36037 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36038 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36039 MenhirLib.EngineTypes.next = {
36040 MenhirLib.EngineTypes.state = _menhir_s;
36041 MenhirLib.EngineTypes.semv = x0;
36042 MenhirLib.EngineTypes.startp = _startpos_x0_;
36043 MenhirLib.EngineTypes.endp = _endpos_x0_;
36044 MenhirLib.EngineTypes.next = _menhir_stack;
36045 };
36046 };
36047 } = _menhir_stack in
36048 let m : 'tv_list_TMul_ = Obj.magic m in
36049 let ty00 : (
36050# 49 "parser_cocci_menhir.mly"
36051 (Data.clt)
36052# 36053 "parser_cocci_menhir.ml"
36053 ) = Obj.magic ty00 in
36054 let x0 : 'tv_const_vol = Obj.magic x0 in
36055 let _startpos = _startpos_x0_ in
36056 let _endpos = _endpos_m_ in
36057 let _v : 'tv_typedef_ctype = let ty =
36058 let ty0 = ty00 in
36059 let ty =
36060 let ty = ty0 in
36061
36062# 518 "parser_cocci_menhir.mly"
36063 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
36064# 36065 "parser_cocci_menhir.ml"
36065
36066 in
36067
36068# 557 "parser_cocci_menhir.mly"
36069 ( ty )
36070# 36071 "parser_cocci_menhir.ml"
36071
36072 in
36073 let cv =
36074 let x = x0 in
36075
36076# 41 "standard.mly"
36077 ( Some x )
36078# 36079 "parser_cocci_menhir.ml"
36079
36080 in
36081
36082# 575 "parser_cocci_menhir.mly"
36083 ( P.pointerify (P.make_cv cv ty) m )
36084# 36085 "parser_cocci_menhir.ml"
36085 in
36086 _menhir_env.MenhirLib.EngineTypes.stack <- {
36087 MenhirLib.EngineTypes.state = _menhir_s;
36088 MenhirLib.EngineTypes.semv = Obj.repr _v;
36089 MenhirLib.EngineTypes.startp = _startpos;
36090 MenhirLib.EngineTypes.endp = _endpos;
36091 MenhirLib.EngineTypes.next = _menhir_stack;
36092 });
36093 (fun _menhir_env ->
36094 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36095 let {
36096 MenhirLib.EngineTypes.semv = m;
36097 MenhirLib.EngineTypes.startp = _startpos_m_;
36098 MenhirLib.EngineTypes.endp = _endpos_m_;
36099 MenhirLib.EngineTypes.next = {
36100 MenhirLib.EngineTypes.semv = ty200;
36101 MenhirLib.EngineTypes.startp = _startpos_ty200_;
36102 MenhirLib.EngineTypes.endp = _endpos_ty200_;
36103 MenhirLib.EngineTypes.next = {
36104 MenhirLib.EngineTypes.semv = ty100;
36105 MenhirLib.EngineTypes.startp = _startpos_ty100_;
36106 MenhirLib.EngineTypes.endp = _endpos_ty100_;
36107 MenhirLib.EngineTypes.next = {
36108 MenhirLib.EngineTypes.state = _menhir_s;
36109 MenhirLib.EngineTypes.semv = x0;
36110 MenhirLib.EngineTypes.startp = _startpos_x0_;
36111 MenhirLib.EngineTypes.endp = _endpos_x0_;
36112 MenhirLib.EngineTypes.next = _menhir_stack;
36113 };
36114 };
36115 };
36116 } = _menhir_stack in
36117 let m : 'tv_list_TMul_ = Obj.magic m in
36118 let ty200 : (
36119# 49 "parser_cocci_menhir.mly"
36120 (Data.clt)
36121# 36122 "parser_cocci_menhir.ml"
36122 ) = Obj.magic ty200 in
36123 let ty100 : (
36124# 49 "parser_cocci_menhir.mly"
36125 (Data.clt)
36126# 36127 "parser_cocci_menhir.ml"
36127 ) = Obj.magic ty100 in
36128 let x0 : 'tv_const_vol = Obj.magic x0 in
36129 let _startpos = _startpos_x0_ in
36130 let _endpos = _endpos_m_ in
36131 let _v : 'tv_typedef_ctype = let ty =
36132 let ty20 = ty200 in
36133 let ty10 = ty100 in
36134 let ty =
36135 let ty2 = ty20 in
36136 let ty1 = ty10 in
36137
36138# 520 "parser_cocci_menhir.mly"
36139 ( Ast0.wrap
36140 (Ast0.BaseType
36141 (Ast.LongLongType,
36142 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36143# 36144 "parser_cocci_menhir.ml"
36144
36145 in
36146
36147# 557 "parser_cocci_menhir.mly"
36148 ( ty )
36149# 36150 "parser_cocci_menhir.ml"
36150
36151 in
36152 let cv =
36153 let x = x0 in
36154
36155# 41 "standard.mly"
36156 ( Some x )
36157# 36158 "parser_cocci_menhir.ml"
36158
36159 in
36160
36161# 575 "parser_cocci_menhir.mly"
36162 ( P.pointerify (P.make_cv cv ty) m )
36163# 36164 "parser_cocci_menhir.ml"
36164 in
36165 _menhir_env.MenhirLib.EngineTypes.stack <- {
36166 MenhirLib.EngineTypes.state = _menhir_s;
36167 MenhirLib.EngineTypes.semv = Obj.repr _v;
36168 MenhirLib.EngineTypes.startp = _startpos;
36169 MenhirLib.EngineTypes.endp = _endpos;
36170 MenhirLib.EngineTypes.next = _menhir_stack;
36171 });
36172 (fun _menhir_env ->
36173 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36174 let {
36175 MenhirLib.EngineTypes.semv = m;
36176 MenhirLib.EngineTypes.startp = _startpos_m_;
36177 MenhirLib.EngineTypes.endp = _endpos_m_;
36178 MenhirLib.EngineTypes.next = {
36179 MenhirLib.EngineTypes.semv = ty00;
36180 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36181 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36182 MenhirLib.EngineTypes.next = {
36183 MenhirLib.EngineTypes.state = _menhir_s;
36184 MenhirLib.EngineTypes.semv = x0;
36185 MenhirLib.EngineTypes.startp = _startpos_x0_;
36186 MenhirLib.EngineTypes.endp = _endpos_x0_;
36187 MenhirLib.EngineTypes.next = _menhir_stack;
36188 };
36189 };
36190 } = _menhir_stack in
36191 let m : 'tv_list_TMul_ = Obj.magic m in
36192 let ty00 : (
36193# 50 "parser_cocci_menhir.mly"
36194 (Data.clt)
36195# 36196 "parser_cocci_menhir.ml"
36196 ) = Obj.magic ty00 in
36197 let x0 : 'tv_const_vol = Obj.magic x0 in
36198 let _startpos = _startpos_x0_ in
36199 let _endpos = _endpos_m_ in
36200 let _v : 'tv_typedef_ctype = let ty =
36201 let ty0 = ty00 in
36202 let ty =
36203 let ty = ty0 in
36204
36205# 528 "parser_cocci_menhir.mly"
36206 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
36207# 36208 "parser_cocci_menhir.ml"
36208
36209 in
36210
36211# 558 "parser_cocci_menhir.mly"
36212 ( ty )
36213# 36214 "parser_cocci_menhir.ml"
36214
36215 in
36216 let cv =
36217 let x = x0 in
36218
36219# 41 "standard.mly"
36220 ( Some x )
36221# 36222 "parser_cocci_menhir.ml"
36222
36223 in
36224
36225# 575 "parser_cocci_menhir.mly"
36226 ( P.pointerify (P.make_cv cv ty) m )
36227# 36228 "parser_cocci_menhir.ml"
36228 in
36229 _menhir_env.MenhirLib.EngineTypes.stack <- {
36230 MenhirLib.EngineTypes.state = _menhir_s;
36231 MenhirLib.EngineTypes.semv = Obj.repr _v;
36232 MenhirLib.EngineTypes.startp = _startpos;
36233 MenhirLib.EngineTypes.endp = _endpos;
36234 MenhirLib.EngineTypes.next = _menhir_stack;
36235 });
36236 (fun _menhir_env ->
36237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36238 let {
36239 MenhirLib.EngineTypes.semv = m;
36240 MenhirLib.EngineTypes.startp = _startpos_m_;
36241 MenhirLib.EngineTypes.endp = _endpos_m_;
36242 MenhirLib.EngineTypes.next = {
36243 MenhirLib.EngineTypes.semv = ty00;
36244 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36245 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36246 MenhirLib.EngineTypes.next = {
36247 MenhirLib.EngineTypes.state = _menhir_s;
36248 MenhirLib.EngineTypes.semv = x0;
36249 MenhirLib.EngineTypes.startp = _startpos_x0_;
36250 MenhirLib.EngineTypes.endp = _endpos_x0_;
36251 MenhirLib.EngineTypes.next = _menhir_stack;
36252 };
36253 };
36254 } = _menhir_stack in
36255 let m : 'tv_list_TMul_ = Obj.magic m in
36256 let ty00 : (
36257# 49 "parser_cocci_menhir.mly"
36258 (Data.clt)
36259# 36260 "parser_cocci_menhir.ml"
36260 ) = Obj.magic ty00 in
36261 let x0 : 'tv_const_vol = Obj.magic x0 in
36262 let _startpos = _startpos_x0_ in
36263 let _endpos = _endpos_m_ in
36264 let _v : 'tv_typedef_ctype = let ty =
36265 let ty0 = ty00 in
36266 let ty =
36267 let ty = ty0 in
36268
36269# 530 "parser_cocci_menhir.mly"
36270 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
36271# 36272 "parser_cocci_menhir.ml"
36272
36273 in
36274
36275# 558 "parser_cocci_menhir.mly"
36276 ( ty )
36277# 36278 "parser_cocci_menhir.ml"
36278
36279 in
36280 let cv =
36281 let x = x0 in
36282
36283# 41 "standard.mly"
36284 ( Some x )
36285# 36286 "parser_cocci_menhir.ml"
36286
36287 in
36288
36289# 575 "parser_cocci_menhir.mly"
36290 ( P.pointerify (P.make_cv cv ty) m )
36291# 36292 "parser_cocci_menhir.ml"
36292 in
36293 _menhir_env.MenhirLib.EngineTypes.stack <- {
36294 MenhirLib.EngineTypes.state = _menhir_s;
36295 MenhirLib.EngineTypes.semv = Obj.repr _v;
36296 MenhirLib.EngineTypes.startp = _startpos;
36297 MenhirLib.EngineTypes.endp = _endpos;
36298 MenhirLib.EngineTypes.next = _menhir_stack;
36299 });
36300 (fun _menhir_env ->
36301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36302 let {
36303 MenhirLib.EngineTypes.semv = m;
36304 MenhirLib.EngineTypes.startp = _startpos_m_;
36305 MenhirLib.EngineTypes.endp = _endpos_m_;
36306 MenhirLib.EngineTypes.next = {
36307 MenhirLib.EngineTypes.semv = ty00;
36308 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36309 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36310 MenhirLib.EngineTypes.next = {
36311 MenhirLib.EngineTypes.state = _menhir_s;
36312 MenhirLib.EngineTypes.semv = x0;
36313 MenhirLib.EngineTypes.startp = _startpos_x0_;
36314 MenhirLib.EngineTypes.endp = _endpos_x0_;
36315 MenhirLib.EngineTypes.next = _menhir_stack;
36316 };
36317 };
36318 } = _menhir_stack in
36319 let m : 'tv_list_TMul_ = Obj.magic m in
36320 let ty00 : (
36321# 49 "parser_cocci_menhir.mly"
36322 (Data.clt)
36323# 36324 "parser_cocci_menhir.ml"
36324 ) = Obj.magic ty00 in
36325 let x0 : 'tv_const_vol = Obj.magic x0 in
36326 let _startpos = _startpos_x0_ in
36327 let _endpos = _endpos_m_ in
36328 let _v : 'tv_typedef_ctype = let ty =
36329 let ty0 = ty00 in
36330 let ty =
36331 let ty = ty0 in
36332
36333# 532 "parser_cocci_menhir.mly"
36334 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
36335# 36336 "parser_cocci_menhir.ml"
36336
36337 in
36338
36339# 558 "parser_cocci_menhir.mly"
36340 ( ty )
36341# 36342 "parser_cocci_menhir.ml"
36342
36343 in
36344 let cv =
36345 let x = x0 in
36346
36347# 41 "standard.mly"
36348 ( Some x )
36349# 36350 "parser_cocci_menhir.ml"
36350
36351 in
36352
36353# 575 "parser_cocci_menhir.mly"
36354 ( P.pointerify (P.make_cv cv ty) m )
36355# 36356 "parser_cocci_menhir.ml"
36356 in
36357 _menhir_env.MenhirLib.EngineTypes.stack <- {
36358 MenhirLib.EngineTypes.state = _menhir_s;
36359 MenhirLib.EngineTypes.semv = Obj.repr _v;
36360 MenhirLib.EngineTypes.startp = _startpos;
36361 MenhirLib.EngineTypes.endp = _endpos;
36362 MenhirLib.EngineTypes.next = _menhir_stack;
36363 });
36364 (fun _menhir_env ->
36365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36366 let {
36367 MenhirLib.EngineTypes.semv = m;
36368 MenhirLib.EngineTypes.startp = _startpos_m_;
36369 MenhirLib.EngineTypes.endp = _endpos_m_;
36370 MenhirLib.EngineTypes.next = {
36371 MenhirLib.EngineTypes.semv = i00;
36372 MenhirLib.EngineTypes.startp = _startpos_i00_;
36373 MenhirLib.EngineTypes.endp = _endpos_i00_;
36374 MenhirLib.EngineTypes.next = {
36375 MenhirLib.EngineTypes.semv = s00;
36376 MenhirLib.EngineTypes.startp = _startpos_s00_;
36377 MenhirLib.EngineTypes.endp = _endpos_s00_;
36378 MenhirLib.EngineTypes.next = {
36379 MenhirLib.EngineTypes.state = _menhir_s;
36380 MenhirLib.EngineTypes.semv = x0;
36381 MenhirLib.EngineTypes.startp = _startpos_x0_;
36382 MenhirLib.EngineTypes.endp = _endpos_x0_;
36383 MenhirLib.EngineTypes.next = _menhir_stack;
36384 };
36385 };
36386 };
36387 } = _menhir_stack in
36388 let m : 'tv_list_TMul_ = Obj.magic m in
36389 let i00 : 'tv_ident = Obj.magic i00 in
36390 let s00 : (
36391# 50 "parser_cocci_menhir.mly"
36392 (Data.clt)
36393# 36394 "parser_cocci_menhir.ml"
36394 ) = Obj.magic s00 in
36395 let x0 : 'tv_const_vol = Obj.magic x0 in
36396 let _startpos = _startpos_x0_ in
36397 let _endpos = _endpos_m_ in
36398 let _v : 'tv_typedef_ctype = let ty =
36399 let i0 = i00 in
36400 let s0 = s00 in
36401 let ty =
36402 let i = i0 in
36403 let s = s0 in
36404
36405# 534 "parser_cocci_menhir.mly"
36406 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
36407# 36408 "parser_cocci_menhir.ml"
36408
36409 in
36410
36411# 558 "parser_cocci_menhir.mly"
36412 ( ty )
36413# 36414 "parser_cocci_menhir.ml"
36414
36415 in
36416 let cv =
36417 let x = x0 in
36418
36419# 41 "standard.mly"
36420 ( Some x )
36421# 36422 "parser_cocci_menhir.ml"
36422
36423 in
36424
36425# 575 "parser_cocci_menhir.mly"
36426 ( P.pointerify (P.make_cv cv ty) m )
36427# 36428 "parser_cocci_menhir.ml"
36428 in
36429 _menhir_env.MenhirLib.EngineTypes.stack <- {
36430 MenhirLib.EngineTypes.state = _menhir_s;
36431 MenhirLib.EngineTypes.semv = Obj.repr _v;
36432 MenhirLib.EngineTypes.startp = _startpos;
36433 MenhirLib.EngineTypes.endp = _endpos;
36434 MenhirLib.EngineTypes.next = _menhir_stack;
36435 });
36436 (fun _menhir_env ->
36437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36438 let {
36439 MenhirLib.EngineTypes.semv = m;
36440 MenhirLib.EngineTypes.startp = _startpos_m_;
36441 MenhirLib.EngineTypes.endp = _endpos_m_;
36442 MenhirLib.EngineTypes.next = {
36443 MenhirLib.EngineTypes.semv = i00;
36444 MenhirLib.EngineTypes.startp = _startpos_i00_;
36445 MenhirLib.EngineTypes.endp = _endpos_i00_;
36446 MenhirLib.EngineTypes.next = {
36447 MenhirLib.EngineTypes.semv = s00;
36448 MenhirLib.EngineTypes.startp = _startpos_s00_;
36449 MenhirLib.EngineTypes.endp = _endpos_s00_;
36450 MenhirLib.EngineTypes.next = {
36451 MenhirLib.EngineTypes.state = _menhir_s;
36452 MenhirLib.EngineTypes.semv = x0;
36453 MenhirLib.EngineTypes.startp = _startpos_x0_;
36454 MenhirLib.EngineTypes.endp = _endpos_x0_;
36455 MenhirLib.EngineTypes.next = _menhir_stack;
36456 };
36457 };
36458 };
36459 } = _menhir_stack in
36460 let m : 'tv_list_TMul_ = Obj.magic m in
36461 let i00 : 'tv_ident = Obj.magic i00 in
36462 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36463 let x0 : 'tv_const_vol = Obj.magic x0 in
36464 let _startpos = _startpos_x0_ in
36465 let _endpos = _endpos_m_ in
36466 let _v : 'tv_typedef_ctype = let ty =
36467 let i0 = i00 in
36468 let s0 = s00 in
36469 let ty =
36470 let i = i0 in
36471 let s = s0 in
36472
36473# 536 "parser_cocci_menhir.mly"
36474 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
36475# 36476 "parser_cocci_menhir.ml"
36476
36477 in
36478
36479# 558 "parser_cocci_menhir.mly"
36480 ( ty )
36481# 36482 "parser_cocci_menhir.ml"
36482
36483 in
36484 let cv =
36485 let x = x0 in
36486
36487# 41 "standard.mly"
36488 ( Some x )
36489# 36490 "parser_cocci_menhir.ml"
36490
36491 in
36492
36493# 575 "parser_cocci_menhir.mly"
36494 ( P.pointerify (P.make_cv cv ty) m )
36495# 36496 "parser_cocci_menhir.ml"
36496 in
36497 _menhir_env.MenhirLib.EngineTypes.stack <- {
36498 MenhirLib.EngineTypes.state = _menhir_s;
36499 MenhirLib.EngineTypes.semv = Obj.repr _v;
36500 MenhirLib.EngineTypes.startp = _startpos;
36501 MenhirLib.EngineTypes.endp = _endpos;
36502 MenhirLib.EngineTypes.next = _menhir_stack;
36503 });
36504 (fun _menhir_env ->
36505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36506 let {
36507 MenhirLib.EngineTypes.semv = m;
36508 MenhirLib.EngineTypes.startp = _startpos_m_;
36509 MenhirLib.EngineTypes.endp = _endpos_m_;
36510 MenhirLib.EngineTypes.next = {
36511 MenhirLib.EngineTypes.semv = r00;
36512 MenhirLib.EngineTypes.startp = _startpos_r00_;
36513 MenhirLib.EngineTypes.endp = _endpos_r00_;
36514 MenhirLib.EngineTypes.next = {
36515 MenhirLib.EngineTypes.semv = d00;
36516 MenhirLib.EngineTypes.startp = _startpos_d00_;
36517 MenhirLib.EngineTypes.endp = _endpos_d00_;
36518 MenhirLib.EngineTypes.next = {
36519 MenhirLib.EngineTypes.semv = l00;
36520 MenhirLib.EngineTypes.startp = _startpos_l00_;
36521 MenhirLib.EngineTypes.endp = _endpos_l00_;
36522 MenhirLib.EngineTypes.next = {
36523 MenhirLib.EngineTypes.semv = s00;
36524 MenhirLib.EngineTypes.startp = _startpos_s00_;
36525 MenhirLib.EngineTypes.endp = _endpos_s00_;
36526 MenhirLib.EngineTypes.next = {
36527 MenhirLib.EngineTypes.state = _menhir_s;
36528 MenhirLib.EngineTypes.semv = x0;
36529 MenhirLib.EngineTypes.startp = _startpos_x0_;
36530 MenhirLib.EngineTypes.endp = _endpos_x0_;
36531 MenhirLib.EngineTypes.next = _menhir_stack;
36532 };
36533 };
36534 };
36535 };
36536 };
36537 } = _menhir_stack in
36538 let m : 'tv_list_TMul_ = Obj.magic m in
36539 let r00 : (
36540# 102 "parser_cocci_menhir.mly"
36541 (Data.clt)
36542# 36543 "parser_cocci_menhir.ml"
36543 ) = Obj.magic r00 in
36544 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36545 let l00 : (
36546# 102 "parser_cocci_menhir.mly"
36547 (Data.clt)
36548# 36549 "parser_cocci_menhir.ml"
36549 ) = Obj.magic l00 in
36550 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36551 let x0 : 'tv_const_vol = Obj.magic x0 in
36552 let _startpos = _startpos_x0_ in
36553 let _endpos = _endpos_m_ in
36554 let _v : 'tv_typedef_ctype = let ty =
36555 let r0 = r00 in
36556 let d0 = d00 in
36557 let l0 = l00 in
36558 let s0 = s00 in
36559 let ty =
36560 let r = r0 in
36561 let d = d0 in
36562 let l = l0 in
36563 let s = s0 in
36564 let i =
36565
36566# 39 "standard.mly"
36567 ( None )
36568# 36569 "parser_cocci_menhir.ml"
36569
36570 in
36571
36572# 539 "parser_cocci_menhir.mly"
36573 ( (if i = None && !Data.in_iso
36574 then failwith "structures must be named in the iso file");
36575 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36576 P.clt2mcode "{" l,
36577 d, P.clt2mcode "}" r)) )
36578# 36579 "parser_cocci_menhir.ml"
36579
36580 in
36581
36582# 558 "parser_cocci_menhir.mly"
36583 ( ty )
36584# 36585 "parser_cocci_menhir.ml"
36585
36586 in
36587 let cv =
36588 let x = x0 in
36589
36590# 41 "standard.mly"
36591 ( Some x )
36592# 36593 "parser_cocci_menhir.ml"
36593
36594 in
36595
36596# 575 "parser_cocci_menhir.mly"
36597 ( P.pointerify (P.make_cv cv ty) m )
36598# 36599 "parser_cocci_menhir.ml"
36599 in
36600 _menhir_env.MenhirLib.EngineTypes.stack <- {
36601 MenhirLib.EngineTypes.state = _menhir_s;
36602 MenhirLib.EngineTypes.semv = Obj.repr _v;
36603 MenhirLib.EngineTypes.startp = _startpos;
36604 MenhirLib.EngineTypes.endp = _endpos;
36605 MenhirLib.EngineTypes.next = _menhir_stack;
36606 });
36607 (fun _menhir_env ->
36608 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36609 let {
36610 MenhirLib.EngineTypes.semv = m;
36611 MenhirLib.EngineTypes.startp = _startpos_m_;
36612 MenhirLib.EngineTypes.endp = _endpos_m_;
36613 MenhirLib.EngineTypes.next = {
36614 MenhirLib.EngineTypes.semv = r00;
36615 MenhirLib.EngineTypes.startp = _startpos_r00_;
36616 MenhirLib.EngineTypes.endp = _endpos_r00_;
36617 MenhirLib.EngineTypes.next = {
36618 MenhirLib.EngineTypes.semv = d00;
36619 MenhirLib.EngineTypes.startp = _startpos_d00_;
36620 MenhirLib.EngineTypes.endp = _endpos_d00_;
36621 MenhirLib.EngineTypes.next = {
36622 MenhirLib.EngineTypes.semv = l00;
36623 MenhirLib.EngineTypes.startp = _startpos_l00_;
36624 MenhirLib.EngineTypes.endp = _endpos_l00_;
36625 MenhirLib.EngineTypes.next = {
36626 MenhirLib.EngineTypes.semv = x000;
36627 MenhirLib.EngineTypes.startp = _startpos_x000_;
36628 MenhirLib.EngineTypes.endp = _endpos_x000_;
36629 MenhirLib.EngineTypes.next = {
36630 MenhirLib.EngineTypes.semv = s00;
36631 MenhirLib.EngineTypes.startp = _startpos_s00_;
36632 MenhirLib.EngineTypes.endp = _endpos_s00_;
36633 MenhirLib.EngineTypes.next = {
36634 MenhirLib.EngineTypes.state = _menhir_s;
36635 MenhirLib.EngineTypes.semv = x0;
36636 MenhirLib.EngineTypes.startp = _startpos_x0_;
36637 MenhirLib.EngineTypes.endp = _endpos_x0_;
36638 MenhirLib.EngineTypes.next = _menhir_stack;
36639 };
36640 };
36641 };
36642 };
36643 };
36644 };
36645 } = _menhir_stack in
36646 let m : 'tv_list_TMul_ = Obj.magic m in
36647 let r00 : (
36648# 102 "parser_cocci_menhir.mly"
36649 (Data.clt)
36650# 36651 "parser_cocci_menhir.ml"
36651 ) = Obj.magic r00 in
36652 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36653 let l00 : (
36654# 102 "parser_cocci_menhir.mly"
36655 (Data.clt)
36656# 36657 "parser_cocci_menhir.ml"
36657 ) = Obj.magic l00 in
36658 let x000 : 'tv_ident = Obj.magic x000 in
36659 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36660 let x0 : 'tv_const_vol = Obj.magic x0 in
36661 let _startpos = _startpos_x0_ in
36662 let _endpos = _endpos_m_ in
36663 let _v : 'tv_typedef_ctype = let ty =
36664 let r0 = r00 in
36665 let d0 = d00 in
36666 let l0 = l00 in
36667 let x00 = x000 in
36668 let s0 = s00 in
36669 let ty =
36670 let r = r0 in
36671 let d = d0 in
36672 let l = l0 in
36673 let x0 = x00 in
36674 let s = s0 in
36675 let i =
36676 let x = x0 in
36677
36678# 41 "standard.mly"
36679 ( Some x )
36680# 36681 "parser_cocci_menhir.ml"
36681
36682 in
36683
36684# 539 "parser_cocci_menhir.mly"
36685 ( (if i = None && !Data.in_iso
36686 then failwith "structures must be named in the iso file");
36687 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36688 P.clt2mcode "{" l,
36689 d, P.clt2mcode "}" r)) )
36690# 36691 "parser_cocci_menhir.ml"
36691
36692 in
36693
36694# 558 "parser_cocci_menhir.mly"
36695 ( ty )
36696# 36697 "parser_cocci_menhir.ml"
36697
36698 in
36699 let cv =
36700 let x = x0 in
36701
36702# 41 "standard.mly"
36703 ( Some x )
36704# 36705 "parser_cocci_menhir.ml"
36705
36706 in
36707
36708# 575 "parser_cocci_menhir.mly"
36709 ( P.pointerify (P.make_cv cv ty) m )
36710# 36711 "parser_cocci_menhir.ml"
36711 in
36712 _menhir_env.MenhirLib.EngineTypes.stack <- {
36713 MenhirLib.EngineTypes.state = _menhir_s;
36714 MenhirLib.EngineTypes.semv = Obj.repr _v;
36715 MenhirLib.EngineTypes.startp = _startpos;
36716 MenhirLib.EngineTypes.endp = _endpos;
36717 MenhirLib.EngineTypes.next = _menhir_stack;
36718 });
36719 (fun _menhir_env ->
36720 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36721 let {
36722 MenhirLib.EngineTypes.semv = m;
36723 MenhirLib.EngineTypes.startp = _startpos_m_;
36724 MenhirLib.EngineTypes.endp = _endpos_m_;
36725 MenhirLib.EngineTypes.next = {
36726 MenhirLib.EngineTypes.semv = r00;
36727 MenhirLib.EngineTypes.startp = _startpos_r00_;
36728 MenhirLib.EngineTypes.endp = _endpos_r00_;
36729 MenhirLib.EngineTypes.next = {
36730 MenhirLib.EngineTypes.semv = d00;
36731 MenhirLib.EngineTypes.startp = _startpos_d00_;
36732 MenhirLib.EngineTypes.endp = _endpos_d00_;
36733 MenhirLib.EngineTypes.next = {
36734 MenhirLib.EngineTypes.semv = l00;
36735 MenhirLib.EngineTypes.startp = _startpos_l00_;
36736 MenhirLib.EngineTypes.endp = _endpos_l00_;
36737 MenhirLib.EngineTypes.next = {
36738 MenhirLib.EngineTypes.semv = s00;
36739 MenhirLib.EngineTypes.startp = _startpos_s00_;
36740 MenhirLib.EngineTypes.endp = _endpos_s00_;
36741 MenhirLib.EngineTypes.next = {
36742 MenhirLib.EngineTypes.state = _menhir_s;
36743 MenhirLib.EngineTypes.semv = x0;
36744 MenhirLib.EngineTypes.startp = _startpos_x0_;
36745 MenhirLib.EngineTypes.endp = _endpos_x0_;
36746 MenhirLib.EngineTypes.next = _menhir_stack;
36747 };
36748 };
36749 };
36750 };
36751 };
36752 } = _menhir_stack in
36753 let m : 'tv_list_TMul_ = Obj.magic m in
36754 let r00 : (
36755# 102 "parser_cocci_menhir.mly"
36756 (Data.clt)
36757# 36758 "parser_cocci_menhir.ml"
36758 ) = Obj.magic r00 in
36759 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36760 let l00 : (
36761# 102 "parser_cocci_menhir.mly"
36762 (Data.clt)
36763# 36764 "parser_cocci_menhir.ml"
36764 ) = Obj.magic l00 in
36765 let s00 : (
36766# 65 "parser_cocci_menhir.mly"
36767 (Parse_aux.info)
36768# 36769 "parser_cocci_menhir.ml"
36769 ) = Obj.magic s00 in
36770 let x0 : 'tv_const_vol = Obj.magic x0 in
36771 let _startpos = _startpos_x0_ in
36772 let _endpos = _endpos_m_ in
36773 let _v : 'tv_typedef_ctype = let ty =
36774 let r0 = r00 in
36775 let d0 = d00 in
36776 let l0 = l00 in
36777 let s0 = s00 in
36778 let ty =
36779 let r = r0 in
36780 let d = d0 in
36781 let l = l0 in
36782 let s = s0 in
36783
36784# 545 "parser_cocci_menhir.mly"
36785 ( let (nm,pure,clt) = s in
36786 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
36787 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
36788# 36789 "parser_cocci_menhir.ml"
36789
36790 in
36791
36792# 558 "parser_cocci_menhir.mly"
36793 ( ty )
36794# 36795 "parser_cocci_menhir.ml"
36795
36796 in
36797 let cv =
36798 let x = x0 in
36799
36800# 41 "standard.mly"
36801 ( Some x )
36802# 36803 "parser_cocci_menhir.ml"
36803
36804 in
36805
36806# 575 "parser_cocci_menhir.mly"
36807 ( P.pointerify (P.make_cv cv ty) m )
36808# 36809 "parser_cocci_menhir.ml"
36809 in
36810 _menhir_env.MenhirLib.EngineTypes.stack <- {
36811 MenhirLib.EngineTypes.state = _menhir_s;
36812 MenhirLib.EngineTypes.semv = Obj.repr _v;
36813 MenhirLib.EngineTypes.startp = _startpos;
36814 MenhirLib.EngineTypes.endp = _endpos;
36815 MenhirLib.EngineTypes.next = _menhir_stack;
36816 });
36817 (fun _menhir_env ->
36818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36819 let {
36820 MenhirLib.EngineTypes.semv = m;
36821 MenhirLib.EngineTypes.startp = _startpos_m_;
36822 MenhirLib.EngineTypes.endp = _endpos_m_;
36823 MenhirLib.EngineTypes.next = {
36824 MenhirLib.EngineTypes.semv = p00;
36825 MenhirLib.EngineTypes.startp = _startpos_p00_;
36826 MenhirLib.EngineTypes.endp = _endpos_p00_;
36827 MenhirLib.EngineTypes.next = {
36828 MenhirLib.EngineTypes.state = _menhir_s;
36829 MenhirLib.EngineTypes.semv = x0;
36830 MenhirLib.EngineTypes.startp = _startpos_x0_;
36831 MenhirLib.EngineTypes.endp = _endpos_x0_;
36832 MenhirLib.EngineTypes.next = _menhir_stack;
36833 };
36834 };
36835 } = _menhir_stack in
36836 let m : 'tv_list_TMul_ = Obj.magic m in
36837 let p00 : (
36838# 59 "parser_cocci_menhir.mly"
36839 (string * Data.clt)
36840# 36841 "parser_cocci_menhir.ml"
36841 ) = Obj.magic p00 in
36842 let x0 : 'tv_const_vol = Obj.magic x0 in
36843 let _startpos = _startpos_x0_ in
36844 let _endpos = _endpos_m_ in
36845 let _v : 'tv_typedef_ctype = let ty =
36846 let p0 = p00 in
36847 let ty =
36848 let p = p0 in
36849
36850# 549 "parser_cocci_menhir.mly"
36851 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
36852# 36853 "parser_cocci_menhir.ml"
36853
36854 in
36855
36856# 558 "parser_cocci_menhir.mly"
36857 ( ty )
36858# 36859 "parser_cocci_menhir.ml"
36859
36860 in
36861 let cv =
36862 let x = x0 in
36863
36864# 41 "standard.mly"
36865 ( Some x )
36866# 36867 "parser_cocci_menhir.ml"
36867
36868 in
36869
36870# 575 "parser_cocci_menhir.mly"
36871 ( P.pointerify (P.make_cv cv ty) m )
36872# 36873 "parser_cocci_menhir.ml"
36873 in
36874 _menhir_env.MenhirLib.EngineTypes.stack <- {
36875 MenhirLib.EngineTypes.state = _menhir_s;
36876 MenhirLib.EngineTypes.semv = Obj.repr _v;
36877 MenhirLib.EngineTypes.startp = _startpos;
36878 MenhirLib.EngineTypes.endp = _endpos;
36879 MenhirLib.EngineTypes.next = _menhir_stack;
36880 });
36881 (fun _menhir_env ->
36882 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36883 let {
36884 MenhirLib.EngineTypes.semv = rp;
36885 MenhirLib.EngineTypes.startp = _startpos_rp_;
36886 MenhirLib.EngineTypes.endp = _endpos_rp_;
36887 MenhirLib.EngineTypes.next = {
36888 MenhirLib.EngineTypes.semv = t;
36889 MenhirLib.EngineTypes.startp = _startpos_t_;
36890 MenhirLib.EngineTypes.endp = _endpos_t_;
36891 MenhirLib.EngineTypes.next = {
36892 MenhirLib.EngineTypes.state = _menhir_s;
36893 MenhirLib.EngineTypes.semv = lp;
36894 MenhirLib.EngineTypes.startp = _startpos_lp_;
36895 MenhirLib.EngineTypes.endp = _endpos_lp_;
36896 MenhirLib.EngineTypes.next = _menhir_stack;
36897 };
36898 };
36899 } = _menhir_stack in
36900 let rp : (
36901# 78 "parser_cocci_menhir.mly"
36902 (Data.clt)
36903# 36904 "parser_cocci_menhir.ml"
36904 ) = Obj.magic rp in
36905 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
36906 let lp : (
36907# 77 "parser_cocci_menhir.mly"
36908 (Data.clt)
36909# 36910 "parser_cocci_menhir.ml"
36910 ) = Obj.magic lp in
36911 let _startpos = _startpos_lp_ in
36912 let _endpos = _endpos_rp_ in
36913 let _v : 'tv_typedef_ctype =
36914# 577 "parser_cocci_menhir.mly"
36915 ( let (mids,code) = t in
36916 Ast0.wrap
36917 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
36918# 36919 "parser_cocci_menhir.ml"
36919 in
36920 _menhir_env.MenhirLib.EngineTypes.stack <- {
36921 MenhirLib.EngineTypes.state = _menhir_s;
36922 MenhirLib.EngineTypes.semv = Obj.repr _v;
36923 MenhirLib.EngineTypes.startp = _startpos;
36924 MenhirLib.EngineTypes.endp = _endpos;
36925 MenhirLib.EngineTypes.next = _menhir_stack;
36926 });
36927 (fun _menhir_env ->
36928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36929 let {
36930 MenhirLib.EngineTypes.state = _menhir_s;
36931 MenhirLib.EngineTypes.semv = _1;
36932 MenhirLib.EngineTypes.startp = _startpos__1_;
36933 MenhirLib.EngineTypes.endp = _endpos__1_;
36934 MenhirLib.EngineTypes.next = _menhir_stack;
36935 } = _menhir_stack in
36936 let _1 : 'tv_pure_ident = Obj.magic _1 in
36937 let _startpos = _startpos__1_ in
36938 let _endpos = _endpos__1_ in
36939 let _v : 'tv_typedef_ident =
36940# 1641 "parser_cocci_menhir.mly"
36941 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
36942# 36943 "parser_cocci_menhir.ml"
36943 in
36944 _menhir_env.MenhirLib.EngineTypes.stack <- {
36945 MenhirLib.EngineTypes.state = _menhir_s;
36946 MenhirLib.EngineTypes.semv = Obj.repr _v;
36947 MenhirLib.EngineTypes.startp = _startpos;
36948 MenhirLib.EngineTypes.endp = _endpos;
36949 MenhirLib.EngineTypes.next = _menhir_stack;
36950 });
36951 (fun _menhir_env ->
36952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36953 let {
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 } = _menhir_stack in
36960 let _1 : (
36961# 65 "parser_cocci_menhir.mly"
36962 (Parse_aux.info)
36963# 36964 "parser_cocci_menhir.ml"
36964 ) = Obj.magic _1 in
36965 let _startpos = _startpos__1_ in
36966 let _endpos = _endpos__1_ in
36967 let _v : 'tv_typedef_ident =
36968# 1643 "parser_cocci_menhir.mly"
36969 ( let (nm,pure,clt) = _1 in
36970 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36971# 36972 "parser_cocci_menhir.ml"
36972 in
36973 _menhir_env.MenhirLib.EngineTypes.stack <- {
36974 MenhirLib.EngineTypes.state = _menhir_s;
36975 MenhirLib.EngineTypes.semv = Obj.repr _v;
36976 MenhirLib.EngineTypes.startp = _startpos;
36977 MenhirLib.EngineTypes.endp = _endpos;
36978 MenhirLib.EngineTypes.next = _menhir_stack;
36979 });
36980 (fun _menhir_env ->
36981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36982 let {
36983 MenhirLib.EngineTypes.state = _menhir_s;
36984 MenhirLib.EngineTypes.semv = _1;
36985 MenhirLib.EngineTypes.startp = _startpos__1_;
36986 MenhirLib.EngineTypes.endp = _endpos__1_;
36987 MenhirLib.EngineTypes.next = _menhir_stack;
36988 } = _menhir_stack in
36989 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
36990 let _startpos = _startpos__1_ in
36991 let _endpos = _endpos__1_ in
36992 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
36993# 1319 "parser_cocci_menhir.mly"
36994 ( _1 )
36995# 36996 "parser_cocci_menhir.ml"
36996 in
36997 _menhir_env.MenhirLib.EngineTypes.stack <- {
36998 MenhirLib.EngineTypes.state = _menhir_s;
36999 MenhirLib.EngineTypes.semv = Obj.repr _v;
37000 MenhirLib.EngineTypes.startp = _startpos;
37001 MenhirLib.EngineTypes.endp = _endpos;
37002 MenhirLib.EngineTypes.next = _menhir_stack;
37003 });
37004 (fun _menhir_env ->
37005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37006 let {
37007 MenhirLib.EngineTypes.semv = _2;
37008 MenhirLib.EngineTypes.startp = _startpos__2_;
37009 MenhirLib.EngineTypes.endp = _endpos__2_;
37010 MenhirLib.EngineTypes.next = {
37011 MenhirLib.EngineTypes.state = _menhir_s;
37012 MenhirLib.EngineTypes.semv = _1;
37013 MenhirLib.EngineTypes.startp = _startpos__1_;
37014 MenhirLib.EngineTypes.endp = _endpos__1_;
37015 MenhirLib.EngineTypes.next = _menhir_stack;
37016 };
37017 } = _menhir_stack in
37018 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37019 let _1 : (
37020# 86 "parser_cocci_menhir.mly"
37021 (Data.clt)
37022# 37023 "parser_cocci_menhir.ml"
37023 ) = Obj.magic _1 in
37024 let _startpos = _startpos__1_ in
37025 let _endpos = _endpos__2_ in
37026 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37027# 1321 "parser_cocci_menhir.mly"
37028 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37029# 37030 "parser_cocci_menhir.ml"
37030 in
37031 _menhir_env.MenhirLib.EngineTypes.stack <- {
37032 MenhirLib.EngineTypes.state = _menhir_s;
37033 MenhirLib.EngineTypes.semv = Obj.repr _v;
37034 MenhirLib.EngineTypes.startp = _startpos;
37035 MenhirLib.EngineTypes.endp = _endpos;
37036 MenhirLib.EngineTypes.next = _menhir_stack;
37037 });
37038 (fun _menhir_env ->
37039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37040 let {
37041 MenhirLib.EngineTypes.semv = _2;
37042 MenhirLib.EngineTypes.startp = _startpos__2_;
37043 MenhirLib.EngineTypes.endp = _endpos__2_;
37044 MenhirLib.EngineTypes.next = {
37045 MenhirLib.EngineTypes.state = _menhir_s;
37046 MenhirLib.EngineTypes.semv = _1;
37047 MenhirLib.EngineTypes.startp = _startpos__1_;
37048 MenhirLib.EngineTypes.endp = _endpos__1_;
37049 MenhirLib.EngineTypes.next = _menhir_stack;
37050 };
37051 } = _menhir_stack in
37052 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37053 let _1 : (
37054# 86 "parser_cocci_menhir.mly"
37055 (Data.clt)
37056# 37057 "parser_cocci_menhir.ml"
37057 ) = Obj.magic _1 in
37058 let _startpos = _startpos__1_ in
37059 let _endpos = _endpos__2_ in
37060 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37061# 1323 "parser_cocci_menhir.mly"
37062 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37063# 37064 "parser_cocci_menhir.ml"
37064 in
37065 _menhir_env.MenhirLib.EngineTypes.stack <- {
37066 MenhirLib.EngineTypes.state = _menhir_s;
37067 MenhirLib.EngineTypes.semv = Obj.repr _v;
37068 MenhirLib.EngineTypes.startp = _startpos;
37069 MenhirLib.EngineTypes.endp = _endpos;
37070 MenhirLib.EngineTypes.next = _menhir_stack;
37071 });
37072 (fun _menhir_env ->
37073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37074 let {
37075 MenhirLib.EngineTypes.semv = _2;
37076 MenhirLib.EngineTypes.startp = _startpos__2_;
37077 MenhirLib.EngineTypes.endp = _endpos__2_;
37078 MenhirLib.EngineTypes.next = {
37079 MenhirLib.EngineTypes.state = _menhir_s;
37080 MenhirLib.EngineTypes.semv = _1;
37081 MenhirLib.EngineTypes.startp = _startpos__1_;
37082 MenhirLib.EngineTypes.endp = _endpos__1_;
37083 MenhirLib.EngineTypes.next = _menhir_stack;
37084 };
37085 } = _menhir_stack in
37086 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37087 let _1 : 'tv_unary_op = Obj.magic _1 in
37088 let _startpos = _startpos__1_ in
37089 let _endpos = _endpos__2_ in
37090 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37091# 1325 "parser_cocci_menhir.mly"
37092 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37093# 37094 "parser_cocci_menhir.ml"
37094 in
37095 _menhir_env.MenhirLib.EngineTypes.stack <- {
37096 MenhirLib.EngineTypes.state = _menhir_s;
37097 MenhirLib.EngineTypes.semv = Obj.repr _v;
37098 MenhirLib.EngineTypes.startp = _startpos;
37099 MenhirLib.EngineTypes.endp = _endpos;
37100 MenhirLib.EngineTypes.next = _menhir_stack;
37101 });
37102 (fun _menhir_env ->
37103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37104 let {
37105 MenhirLib.EngineTypes.semv = _2;
37106 MenhirLib.EngineTypes.startp = _startpos__2_;
37107 MenhirLib.EngineTypes.endp = _endpos__2_;
37108 MenhirLib.EngineTypes.next = {
37109 MenhirLib.EngineTypes.state = _menhir_s;
37110 MenhirLib.EngineTypes.semv = _1;
37111 MenhirLib.EngineTypes.startp = _startpos__1_;
37112 MenhirLib.EngineTypes.endp = _endpos__1_;
37113 MenhirLib.EngineTypes.next = _menhir_stack;
37114 };
37115 } = _menhir_stack in
37116 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37117 let _1 : (
37118# 77 "parser_cocci_menhir.mly"
37119 (Data.clt)
37120# 37121 "parser_cocci_menhir.ml"
37121 ) = Obj.magic _1 in
37122 let _startpos = _startpos__1_ in
37123 let _endpos = _endpos__2_ in
37124 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37125# 1327 "parser_cocci_menhir.mly"
37126 ( let mcode = P.clt2mcode Ast.Not _1 in
37127 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37128# 37129 "parser_cocci_menhir.ml"
37129 in
37130 _menhir_env.MenhirLib.EngineTypes.stack <- {
37131 MenhirLib.EngineTypes.state = _menhir_s;
37132 MenhirLib.EngineTypes.semv = Obj.repr _v;
37133 MenhirLib.EngineTypes.startp = _startpos;
37134 MenhirLib.EngineTypes.endp = _endpos;
37135 MenhirLib.EngineTypes.next = _menhir_stack;
37136 });
37137 (fun _menhir_env ->
37138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37139 let {
37140 MenhirLib.EngineTypes.semv = _2;
37141 MenhirLib.EngineTypes.startp = _startpos__2_;
37142 MenhirLib.EngineTypes.endp = _endpos__2_;
37143 MenhirLib.EngineTypes.next = {
37144 MenhirLib.EngineTypes.state = _menhir_s;
37145 MenhirLib.EngineTypes.semv = _1;
37146 MenhirLib.EngineTypes.startp = _startpos__1_;
37147 MenhirLib.EngineTypes.endp = _endpos__1_;
37148 MenhirLib.EngineTypes.next = _menhir_stack;
37149 };
37150 } = _menhir_stack in
37151 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37152 let _1 : (
37153# 58 "parser_cocci_menhir.mly"
37154 (Data.clt)
37155# 37156 "parser_cocci_menhir.ml"
37156 ) = Obj.magic _1 in
37157 let _startpos = _startpos__1_ in
37158 let _endpos = _endpos__2_ in
37159 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37160# 1330 "parser_cocci_menhir.mly"
37161 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37162# 37163 "parser_cocci_menhir.ml"
37163 in
37164 _menhir_env.MenhirLib.EngineTypes.stack <- {
37165 MenhirLib.EngineTypes.state = _menhir_s;
37166 MenhirLib.EngineTypes.semv = Obj.repr _v;
37167 MenhirLib.EngineTypes.startp = _startpos;
37168 MenhirLib.EngineTypes.endp = _endpos;
37169 MenhirLib.EngineTypes.next = _menhir_stack;
37170 });
37171 (fun _menhir_env ->
37172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37173 let {
37174 MenhirLib.EngineTypes.semv = rp;
37175 MenhirLib.EngineTypes.startp = _startpos_rp_;
37176 MenhirLib.EngineTypes.endp = _endpos_rp_;
37177 MenhirLib.EngineTypes.next = {
37178 MenhirLib.EngineTypes.semv = t;
37179 MenhirLib.EngineTypes.startp = _startpos_t_;
37180 MenhirLib.EngineTypes.endp = _endpos_t_;
37181 MenhirLib.EngineTypes.next = {
37182 MenhirLib.EngineTypes.semv = lp;
37183 MenhirLib.EngineTypes.startp = _startpos_lp_;
37184 MenhirLib.EngineTypes.endp = _endpos_lp_;
37185 MenhirLib.EngineTypes.next = {
37186 MenhirLib.EngineTypes.state = _menhir_s;
37187 MenhirLib.EngineTypes.semv = s;
37188 MenhirLib.EngineTypes.startp = _startpos_s_;
37189 MenhirLib.EngineTypes.endp = _endpos_s_;
37190 MenhirLib.EngineTypes.next = _menhir_stack;
37191 };
37192 };
37193 };
37194 } = _menhir_stack in
37195 let rp : (
37196# 78 "parser_cocci_menhir.mly"
37197 (Data.clt)
37198# 37199 "parser_cocci_menhir.ml"
37199 ) = Obj.magic rp in
37200 let t : 'tv_ctype = Obj.magic t in
37201 let lp : (
37202# 77 "parser_cocci_menhir.mly"
37203 (Data.clt)
37204# 37205 "parser_cocci_menhir.ml"
37205 ) = Obj.magic lp in
37206 let s : (
37207# 58 "parser_cocci_menhir.mly"
37208 (Data.clt)
37209# 37210 "parser_cocci_menhir.ml"
37210 ) = Obj.magic s in
37211 let _startpos = _startpos_s_ in
37212 let _endpos = _endpos_rp_ in
37213 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37214# 1332 "parser_cocci_menhir.mly"
37215 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37216 P.clt2mcode "(" lp,t,
37217 P.clt2mcode ")" rp)) )
37218# 37219 "parser_cocci_menhir.ml"
37219 in
37220 _menhir_env.MenhirLib.EngineTypes.stack <- {
37221 MenhirLib.EngineTypes.state = _menhir_s;
37222 MenhirLib.EngineTypes.semv = Obj.repr _v;
37223 MenhirLib.EngineTypes.startp = _startpos;
37224 MenhirLib.EngineTypes.endp = _endpos;
37225 MenhirLib.EngineTypes.next = _menhir_stack;
37226 });
37227 (fun _menhir_env ->
37228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37229 let {
37230 MenhirLib.EngineTypes.state = _menhir_s;
37231 MenhirLib.EngineTypes.semv = _1;
37232 MenhirLib.EngineTypes.startp = _startpos__1_;
37233 MenhirLib.EngineTypes.endp = _endpos__1_;
37234 MenhirLib.EngineTypes.next = _menhir_stack;
37235 } = _menhir_stack in
37236 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
37237 let _startpos = _startpos__1_ in
37238 let _endpos = _endpos__1_ in
37239 let _v : 'tv_unary_expr_eexpr_invalid_ =
37240# 1319 "parser_cocci_menhir.mly"
37241 ( _1 )
37242# 37243 "parser_cocci_menhir.ml"
37243 in
37244 _menhir_env.MenhirLib.EngineTypes.stack <- {
37245 MenhirLib.EngineTypes.state = _menhir_s;
37246 MenhirLib.EngineTypes.semv = Obj.repr _v;
37247 MenhirLib.EngineTypes.startp = _startpos;
37248 MenhirLib.EngineTypes.endp = _endpos;
37249 MenhirLib.EngineTypes.next = _menhir_stack;
37250 });
37251 (fun _menhir_env ->
37252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37253 let {
37254 MenhirLib.EngineTypes.semv = _2;
37255 MenhirLib.EngineTypes.startp = _startpos__2_;
37256 MenhirLib.EngineTypes.endp = _endpos__2_;
37257 MenhirLib.EngineTypes.next = {
37258 MenhirLib.EngineTypes.state = _menhir_s;
37259 MenhirLib.EngineTypes.semv = _1;
37260 MenhirLib.EngineTypes.startp = _startpos__1_;
37261 MenhirLib.EngineTypes.endp = _endpos__1_;
37262 MenhirLib.EngineTypes.next = _menhir_stack;
37263 };
37264 } = _menhir_stack in
37265 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37266 let _1 : (
37267# 86 "parser_cocci_menhir.mly"
37268 (Data.clt)
37269# 37270 "parser_cocci_menhir.ml"
37270 ) = Obj.magic _1 in
37271 let _startpos = _startpos__1_ in
37272 let _endpos = _endpos__2_ in
37273 let _v : 'tv_unary_expr_eexpr_invalid_ =
37274# 1321 "parser_cocci_menhir.mly"
37275 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37276# 37277 "parser_cocci_menhir.ml"
37277 in
37278 _menhir_env.MenhirLib.EngineTypes.stack <- {
37279 MenhirLib.EngineTypes.state = _menhir_s;
37280 MenhirLib.EngineTypes.semv = Obj.repr _v;
37281 MenhirLib.EngineTypes.startp = _startpos;
37282 MenhirLib.EngineTypes.endp = _endpos;
37283 MenhirLib.EngineTypes.next = _menhir_stack;
37284 });
37285 (fun _menhir_env ->
37286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37287 let {
37288 MenhirLib.EngineTypes.semv = _2;
37289 MenhirLib.EngineTypes.startp = _startpos__2_;
37290 MenhirLib.EngineTypes.endp = _endpos__2_;
37291 MenhirLib.EngineTypes.next = {
37292 MenhirLib.EngineTypes.state = _menhir_s;
37293 MenhirLib.EngineTypes.semv = _1;
37294 MenhirLib.EngineTypes.startp = _startpos__1_;
37295 MenhirLib.EngineTypes.endp = _endpos__1_;
37296 MenhirLib.EngineTypes.next = _menhir_stack;
37297 };
37298 } = _menhir_stack in
37299 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37300 let _1 : (
37301# 86 "parser_cocci_menhir.mly"
37302 (Data.clt)
37303# 37304 "parser_cocci_menhir.ml"
37304 ) = Obj.magic _1 in
37305 let _startpos = _startpos__1_ in
37306 let _endpos = _endpos__2_ in
37307 let _v : 'tv_unary_expr_eexpr_invalid_ =
37308# 1323 "parser_cocci_menhir.mly"
37309 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37310# 37311 "parser_cocci_menhir.ml"
37311 in
37312 _menhir_env.MenhirLib.EngineTypes.stack <- {
37313 MenhirLib.EngineTypes.state = _menhir_s;
37314 MenhirLib.EngineTypes.semv = Obj.repr _v;
37315 MenhirLib.EngineTypes.startp = _startpos;
37316 MenhirLib.EngineTypes.endp = _endpos;
37317 MenhirLib.EngineTypes.next = _menhir_stack;
37318 });
37319 (fun _menhir_env ->
37320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37321 let {
37322 MenhirLib.EngineTypes.semv = _2;
37323 MenhirLib.EngineTypes.startp = _startpos__2_;
37324 MenhirLib.EngineTypes.endp = _endpos__2_;
37325 MenhirLib.EngineTypes.next = {
37326 MenhirLib.EngineTypes.state = _menhir_s;
37327 MenhirLib.EngineTypes.semv = _1;
37328 MenhirLib.EngineTypes.startp = _startpos__1_;
37329 MenhirLib.EngineTypes.endp = _endpos__1_;
37330 MenhirLib.EngineTypes.next = _menhir_stack;
37331 };
37332 } = _menhir_stack in
37333 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
37334 let _1 : 'tv_unary_op = Obj.magic _1 in
37335 let _startpos = _startpos__1_ in
37336 let _endpos = _endpos__2_ in
37337 let _v : 'tv_unary_expr_eexpr_invalid_ =
37338# 1325 "parser_cocci_menhir.mly"
37339 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37340# 37341 "parser_cocci_menhir.ml"
37341 in
37342 _menhir_env.MenhirLib.EngineTypes.stack <- {
37343 MenhirLib.EngineTypes.state = _menhir_s;
37344 MenhirLib.EngineTypes.semv = Obj.repr _v;
37345 MenhirLib.EngineTypes.startp = _startpos;
37346 MenhirLib.EngineTypes.endp = _endpos;
37347 MenhirLib.EngineTypes.next = _menhir_stack;
37348 });
37349 (fun _menhir_env ->
37350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37351 let {
37352 MenhirLib.EngineTypes.semv = _2;
37353 MenhirLib.EngineTypes.startp = _startpos__2_;
37354 MenhirLib.EngineTypes.endp = _endpos__2_;
37355 MenhirLib.EngineTypes.next = {
37356 MenhirLib.EngineTypes.state = _menhir_s;
37357 MenhirLib.EngineTypes.semv = _1;
37358 MenhirLib.EngineTypes.startp = _startpos__1_;
37359 MenhirLib.EngineTypes.endp = _endpos__1_;
37360 MenhirLib.EngineTypes.next = _menhir_stack;
37361 };
37362 } = _menhir_stack in
37363 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37364 let _1 : (
37365# 77 "parser_cocci_menhir.mly"
37366 (Data.clt)
37367# 37368 "parser_cocci_menhir.ml"
37368 ) = Obj.magic _1 in
37369 let _startpos = _startpos__1_ in
37370 let _endpos = _endpos__2_ in
37371 let _v : 'tv_unary_expr_eexpr_invalid_ =
37372# 1327 "parser_cocci_menhir.mly"
37373 ( let mcode = P.clt2mcode Ast.Not _1 in
37374 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37375# 37376 "parser_cocci_menhir.ml"
37376 in
37377 _menhir_env.MenhirLib.EngineTypes.stack <- {
37378 MenhirLib.EngineTypes.state = _menhir_s;
37379 MenhirLib.EngineTypes.semv = Obj.repr _v;
37380 MenhirLib.EngineTypes.startp = _startpos;
37381 MenhirLib.EngineTypes.endp = _endpos;
37382 MenhirLib.EngineTypes.next = _menhir_stack;
37383 });
37384 (fun _menhir_env ->
37385 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37386 let {
37387 MenhirLib.EngineTypes.semv = _2;
37388 MenhirLib.EngineTypes.startp = _startpos__2_;
37389 MenhirLib.EngineTypes.endp = _endpos__2_;
37390 MenhirLib.EngineTypes.next = {
37391 MenhirLib.EngineTypes.state = _menhir_s;
37392 MenhirLib.EngineTypes.semv = _1;
37393 MenhirLib.EngineTypes.startp = _startpos__1_;
37394 MenhirLib.EngineTypes.endp = _endpos__1_;
37395 MenhirLib.EngineTypes.next = _menhir_stack;
37396 };
37397 } = _menhir_stack in
37398 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37399 let _1 : (
37400# 58 "parser_cocci_menhir.mly"
37401 (Data.clt)
37402# 37403 "parser_cocci_menhir.ml"
37403 ) = Obj.magic _1 in
37404 let _startpos = _startpos__1_ in
37405 let _endpos = _endpos__2_ in
37406 let _v : 'tv_unary_expr_eexpr_invalid_ =
37407# 1330 "parser_cocci_menhir.mly"
37408 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37409# 37410 "parser_cocci_menhir.ml"
37410 in
37411 _menhir_env.MenhirLib.EngineTypes.stack <- {
37412 MenhirLib.EngineTypes.state = _menhir_s;
37413 MenhirLib.EngineTypes.semv = Obj.repr _v;
37414 MenhirLib.EngineTypes.startp = _startpos;
37415 MenhirLib.EngineTypes.endp = _endpos;
37416 MenhirLib.EngineTypes.next = _menhir_stack;
37417 });
37418 (fun _menhir_env ->
37419 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37420 let {
37421 MenhirLib.EngineTypes.semv = rp;
37422 MenhirLib.EngineTypes.startp = _startpos_rp_;
37423 MenhirLib.EngineTypes.endp = _endpos_rp_;
37424 MenhirLib.EngineTypes.next = {
37425 MenhirLib.EngineTypes.semv = t;
37426 MenhirLib.EngineTypes.startp = _startpos_t_;
37427 MenhirLib.EngineTypes.endp = _endpos_t_;
37428 MenhirLib.EngineTypes.next = {
37429 MenhirLib.EngineTypes.semv = lp;
37430 MenhirLib.EngineTypes.startp = _startpos_lp_;
37431 MenhirLib.EngineTypes.endp = _endpos_lp_;
37432 MenhirLib.EngineTypes.next = {
37433 MenhirLib.EngineTypes.state = _menhir_s;
37434 MenhirLib.EngineTypes.semv = s;
37435 MenhirLib.EngineTypes.startp = _startpos_s_;
37436 MenhirLib.EngineTypes.endp = _endpos_s_;
37437 MenhirLib.EngineTypes.next = _menhir_stack;
37438 };
37439 };
37440 };
37441 } = _menhir_stack in
37442 let rp : (
37443# 78 "parser_cocci_menhir.mly"
37444 (Data.clt)
37445# 37446 "parser_cocci_menhir.ml"
37446 ) = Obj.magic rp in
37447 let t : 'tv_ctype = Obj.magic t in
37448 let lp : (
37449# 77 "parser_cocci_menhir.mly"
37450 (Data.clt)
37451# 37452 "parser_cocci_menhir.ml"
37452 ) = Obj.magic lp in
37453 let s : (
37454# 58 "parser_cocci_menhir.mly"
37455 (Data.clt)
37456# 37457 "parser_cocci_menhir.ml"
37457 ) = Obj.magic s in
37458 let _startpos = _startpos_s_ in
37459 let _endpos = _endpos_rp_ in
37460 let _v : 'tv_unary_expr_eexpr_invalid_ =
37461# 1332 "parser_cocci_menhir.mly"
37462 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37463 P.clt2mcode "(" lp,t,
37464 P.clt2mcode ")" rp)) )
37465# 37466 "parser_cocci_menhir.ml"
37466 in
37467 _menhir_env.MenhirLib.EngineTypes.stack <- {
37468 MenhirLib.EngineTypes.state = _menhir_s;
37469 MenhirLib.EngineTypes.semv = Obj.repr _v;
37470 MenhirLib.EngineTypes.startp = _startpos;
37471 MenhirLib.EngineTypes.endp = _endpos;
37472 MenhirLib.EngineTypes.next = _menhir_stack;
37473 });
37474 (fun _menhir_env ->
37475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37476 let {
37477 MenhirLib.EngineTypes.state = _menhir_s;
37478 MenhirLib.EngineTypes.semv = _1;
37479 MenhirLib.EngineTypes.startp = _startpos__1_;
37480 MenhirLib.EngineTypes.endp = _endpos__1_;
37481 MenhirLib.EngineTypes.next = _menhir_stack;
37482 } = _menhir_stack in
37483 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
37484 let _startpos = _startpos__1_ in
37485 let _endpos = _endpos__1_ in
37486 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37487# 1319 "parser_cocci_menhir.mly"
37488 ( _1 )
37489# 37490 "parser_cocci_menhir.ml"
37490 in
37491 _menhir_env.MenhirLib.EngineTypes.stack <- {
37492 MenhirLib.EngineTypes.state = _menhir_s;
37493 MenhirLib.EngineTypes.semv = Obj.repr _v;
37494 MenhirLib.EngineTypes.startp = _startpos;
37495 MenhirLib.EngineTypes.endp = _endpos;
37496 MenhirLib.EngineTypes.next = _menhir_stack;
37497 });
37498 (fun _menhir_env ->
37499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37500 let {
37501 MenhirLib.EngineTypes.semv = _2;
37502 MenhirLib.EngineTypes.startp = _startpos__2_;
37503 MenhirLib.EngineTypes.endp = _endpos__2_;
37504 MenhirLib.EngineTypes.next = {
37505 MenhirLib.EngineTypes.state = _menhir_s;
37506 MenhirLib.EngineTypes.semv = _1;
37507 MenhirLib.EngineTypes.startp = _startpos__1_;
37508 MenhirLib.EngineTypes.endp = _endpos__1_;
37509 MenhirLib.EngineTypes.next = _menhir_stack;
37510 };
37511 } = _menhir_stack in
37512 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37513 let _1 : (
37514# 86 "parser_cocci_menhir.mly"
37515 (Data.clt)
37516# 37517 "parser_cocci_menhir.ml"
37517 ) = Obj.magic _1 in
37518 let _startpos = _startpos__1_ in
37519 let _endpos = _endpos__2_ in
37520 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37521# 1321 "parser_cocci_menhir.mly"
37522 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37523# 37524 "parser_cocci_menhir.ml"
37524 in
37525 _menhir_env.MenhirLib.EngineTypes.stack <- {
37526 MenhirLib.EngineTypes.state = _menhir_s;
37527 MenhirLib.EngineTypes.semv = Obj.repr _v;
37528 MenhirLib.EngineTypes.startp = _startpos;
37529 MenhirLib.EngineTypes.endp = _endpos;
37530 MenhirLib.EngineTypes.next = _menhir_stack;
37531 });
37532 (fun _menhir_env ->
37533 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37534 let {
37535 MenhirLib.EngineTypes.semv = _2;
37536 MenhirLib.EngineTypes.startp = _startpos__2_;
37537 MenhirLib.EngineTypes.endp = _endpos__2_;
37538 MenhirLib.EngineTypes.next = {
37539 MenhirLib.EngineTypes.state = _menhir_s;
37540 MenhirLib.EngineTypes.semv = _1;
37541 MenhirLib.EngineTypes.startp = _startpos__1_;
37542 MenhirLib.EngineTypes.endp = _endpos__1_;
37543 MenhirLib.EngineTypes.next = _menhir_stack;
37544 };
37545 } = _menhir_stack in
37546 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37547 let _1 : (
37548# 86 "parser_cocci_menhir.mly"
37549 (Data.clt)
37550# 37551 "parser_cocci_menhir.ml"
37551 ) = Obj.magic _1 in
37552 let _startpos = _startpos__1_ in
37553 let _endpos = _endpos__2_ in
37554 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37555# 1323 "parser_cocci_menhir.mly"
37556 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37557# 37558 "parser_cocci_menhir.ml"
37558 in
37559 _menhir_env.MenhirLib.EngineTypes.stack <- {
37560 MenhirLib.EngineTypes.state = _menhir_s;
37561 MenhirLib.EngineTypes.semv = Obj.repr _v;
37562 MenhirLib.EngineTypes.startp = _startpos;
37563 MenhirLib.EngineTypes.endp = _endpos;
37564 MenhirLib.EngineTypes.next = _menhir_stack;
37565 });
37566 (fun _menhir_env ->
37567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37568 let {
37569 MenhirLib.EngineTypes.semv = _2;
37570 MenhirLib.EngineTypes.startp = _startpos__2_;
37571 MenhirLib.EngineTypes.endp = _endpos__2_;
37572 MenhirLib.EngineTypes.next = {
37573 MenhirLib.EngineTypes.state = _menhir_s;
37574 MenhirLib.EngineTypes.semv = _1;
37575 MenhirLib.EngineTypes.startp = _startpos__1_;
37576 MenhirLib.EngineTypes.endp = _endpos__1_;
37577 MenhirLib.EngineTypes.next = _menhir_stack;
37578 };
37579 } = _menhir_stack in
37580 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37581 let _1 : 'tv_unary_op = Obj.magic _1 in
37582 let _startpos = _startpos__1_ in
37583 let _endpos = _endpos__2_ in
37584 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37585# 1325 "parser_cocci_menhir.mly"
37586 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37587# 37588 "parser_cocci_menhir.ml"
37588 in
37589 _menhir_env.MenhirLib.EngineTypes.stack <- {
37590 MenhirLib.EngineTypes.state = _menhir_s;
37591 MenhirLib.EngineTypes.semv = Obj.repr _v;
37592 MenhirLib.EngineTypes.startp = _startpos;
37593 MenhirLib.EngineTypes.endp = _endpos;
37594 MenhirLib.EngineTypes.next = _menhir_stack;
37595 });
37596 (fun _menhir_env ->
37597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37598 let {
37599 MenhirLib.EngineTypes.semv = _2;
37600 MenhirLib.EngineTypes.startp = _startpos__2_;
37601 MenhirLib.EngineTypes.endp = _endpos__2_;
37602 MenhirLib.EngineTypes.next = {
37603 MenhirLib.EngineTypes.state = _menhir_s;
37604 MenhirLib.EngineTypes.semv = _1;
37605 MenhirLib.EngineTypes.startp = _startpos__1_;
37606 MenhirLib.EngineTypes.endp = _endpos__1_;
37607 MenhirLib.EngineTypes.next = _menhir_stack;
37608 };
37609 } = _menhir_stack in
37610 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37611 let _1 : (
37612# 77 "parser_cocci_menhir.mly"
37613 (Data.clt)
37614# 37615 "parser_cocci_menhir.ml"
37615 ) = Obj.magic _1 in
37616 let _startpos = _startpos__1_ in
37617 let _endpos = _endpos__2_ in
37618 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37619# 1327 "parser_cocci_menhir.mly"
37620 ( let mcode = P.clt2mcode Ast.Not _1 in
37621 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37622# 37623 "parser_cocci_menhir.ml"
37623 in
37624 _menhir_env.MenhirLib.EngineTypes.stack <- {
37625 MenhirLib.EngineTypes.state = _menhir_s;
37626 MenhirLib.EngineTypes.semv = Obj.repr _v;
37627 MenhirLib.EngineTypes.startp = _startpos;
37628 MenhirLib.EngineTypes.endp = _endpos;
37629 MenhirLib.EngineTypes.next = _menhir_stack;
37630 });
37631 (fun _menhir_env ->
37632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37633 let {
37634 MenhirLib.EngineTypes.semv = _2;
37635 MenhirLib.EngineTypes.startp = _startpos__2_;
37636 MenhirLib.EngineTypes.endp = _endpos__2_;
37637 MenhirLib.EngineTypes.next = {
37638 MenhirLib.EngineTypes.state = _menhir_s;
37639 MenhirLib.EngineTypes.semv = _1;
37640 MenhirLib.EngineTypes.startp = _startpos__1_;
37641 MenhirLib.EngineTypes.endp = _endpos__1_;
37642 MenhirLib.EngineTypes.next = _menhir_stack;
37643 };
37644 } = _menhir_stack in
37645 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37646 let _1 : (
37647# 58 "parser_cocci_menhir.mly"
37648 (Data.clt)
37649# 37650 "parser_cocci_menhir.ml"
37650 ) = Obj.magic _1 in
37651 let _startpos = _startpos__1_ in
37652 let _endpos = _endpos__2_ in
37653 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37654# 1330 "parser_cocci_menhir.mly"
37655 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37656# 37657 "parser_cocci_menhir.ml"
37657 in
37658 _menhir_env.MenhirLib.EngineTypes.stack <- {
37659 MenhirLib.EngineTypes.state = _menhir_s;
37660 MenhirLib.EngineTypes.semv = Obj.repr _v;
37661 MenhirLib.EngineTypes.startp = _startpos;
37662 MenhirLib.EngineTypes.endp = _endpos;
37663 MenhirLib.EngineTypes.next = _menhir_stack;
37664 });
37665 (fun _menhir_env ->
37666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37667 let {
37668 MenhirLib.EngineTypes.semv = rp;
37669 MenhirLib.EngineTypes.startp = _startpos_rp_;
37670 MenhirLib.EngineTypes.endp = _endpos_rp_;
37671 MenhirLib.EngineTypes.next = {
37672 MenhirLib.EngineTypes.semv = t;
37673 MenhirLib.EngineTypes.startp = _startpos_t_;
37674 MenhirLib.EngineTypes.endp = _endpos_t_;
37675 MenhirLib.EngineTypes.next = {
37676 MenhirLib.EngineTypes.semv = lp;
37677 MenhirLib.EngineTypes.startp = _startpos_lp_;
37678 MenhirLib.EngineTypes.endp = _endpos_lp_;
37679 MenhirLib.EngineTypes.next = {
37680 MenhirLib.EngineTypes.state = _menhir_s;
37681 MenhirLib.EngineTypes.semv = s;
37682 MenhirLib.EngineTypes.startp = _startpos_s_;
37683 MenhirLib.EngineTypes.endp = _endpos_s_;
37684 MenhirLib.EngineTypes.next = _menhir_stack;
37685 };
37686 };
37687 };
37688 } = _menhir_stack in
37689 let rp : (
37690# 78 "parser_cocci_menhir.mly"
37691 (Data.clt)
37692# 37693 "parser_cocci_menhir.ml"
37693 ) = Obj.magic rp in
37694 let t : 'tv_ctype = Obj.magic t in
37695 let lp : (
37696# 77 "parser_cocci_menhir.mly"
37697 (Data.clt)
37698# 37699 "parser_cocci_menhir.ml"
37699 ) = Obj.magic lp in
37700 let s : (
37701# 58 "parser_cocci_menhir.mly"
37702 (Data.clt)
37703# 37704 "parser_cocci_menhir.ml"
37704 ) = Obj.magic s in
37705 let _startpos = _startpos_s_ in
37706 let _endpos = _endpos_rp_ in
37707 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37708# 1332 "parser_cocci_menhir.mly"
37709 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37710 P.clt2mcode "(" lp,t,
37711 P.clt2mcode ")" rp)) )
37712# 37713 "parser_cocci_menhir.ml"
37713 in
37714 _menhir_env.MenhirLib.EngineTypes.stack <- {
37715 MenhirLib.EngineTypes.state = _menhir_s;
37716 MenhirLib.EngineTypes.semv = Obj.repr _v;
37717 MenhirLib.EngineTypes.startp = _startpos;
37718 MenhirLib.EngineTypes.endp = _endpos;
37719 MenhirLib.EngineTypes.next = _menhir_stack;
37720 });
37721 (fun _menhir_env ->
37722 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37723 let {
37724 MenhirLib.EngineTypes.state = _menhir_s;
37725 MenhirLib.EngineTypes.semv = _1;
37726 MenhirLib.EngineTypes.startp = _startpos__1_;
37727 MenhirLib.EngineTypes.endp = _endpos__1_;
37728 MenhirLib.EngineTypes.next = _menhir_stack;
37729 } = _menhir_stack in
37730 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
37731 let _startpos = _startpos__1_ in
37732 let _endpos = _endpos__1_ in
37733 let _v : 'tv_unary_expr_expr_invalid_ =
37734# 1319 "parser_cocci_menhir.mly"
37735 ( _1 )
37736# 37737 "parser_cocci_menhir.ml"
37737 in
37738 _menhir_env.MenhirLib.EngineTypes.stack <- {
37739 MenhirLib.EngineTypes.state = _menhir_s;
37740 MenhirLib.EngineTypes.semv = Obj.repr _v;
37741 MenhirLib.EngineTypes.startp = _startpos;
37742 MenhirLib.EngineTypes.endp = _endpos;
37743 MenhirLib.EngineTypes.next = _menhir_stack;
37744 });
37745 (fun _menhir_env ->
37746 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37747 let {
37748 MenhirLib.EngineTypes.semv = _2;
37749 MenhirLib.EngineTypes.startp = _startpos__2_;
37750 MenhirLib.EngineTypes.endp = _endpos__2_;
37751 MenhirLib.EngineTypes.next = {
37752 MenhirLib.EngineTypes.state = _menhir_s;
37753 MenhirLib.EngineTypes.semv = _1;
37754 MenhirLib.EngineTypes.startp = _startpos__1_;
37755 MenhirLib.EngineTypes.endp = _endpos__1_;
37756 MenhirLib.EngineTypes.next = _menhir_stack;
37757 };
37758 } = _menhir_stack in
37759 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37760 let _1 : (
37761# 86 "parser_cocci_menhir.mly"
37762 (Data.clt)
37763# 37764 "parser_cocci_menhir.ml"
37764 ) = Obj.magic _1 in
37765 let _startpos = _startpos__1_ in
37766 let _endpos = _endpos__2_ in
37767 let _v : 'tv_unary_expr_expr_invalid_ =
37768# 1321 "parser_cocci_menhir.mly"
37769 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37770# 37771 "parser_cocci_menhir.ml"
37771 in
37772 _menhir_env.MenhirLib.EngineTypes.stack <- {
37773 MenhirLib.EngineTypes.state = _menhir_s;
37774 MenhirLib.EngineTypes.semv = Obj.repr _v;
37775 MenhirLib.EngineTypes.startp = _startpos;
37776 MenhirLib.EngineTypes.endp = _endpos;
37777 MenhirLib.EngineTypes.next = _menhir_stack;
37778 });
37779 (fun _menhir_env ->
37780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37781 let {
37782 MenhirLib.EngineTypes.semv = _2;
37783 MenhirLib.EngineTypes.startp = _startpos__2_;
37784 MenhirLib.EngineTypes.endp = _endpos__2_;
37785 MenhirLib.EngineTypes.next = {
37786 MenhirLib.EngineTypes.state = _menhir_s;
37787 MenhirLib.EngineTypes.semv = _1;
37788 MenhirLib.EngineTypes.startp = _startpos__1_;
37789 MenhirLib.EngineTypes.endp = _endpos__1_;
37790 MenhirLib.EngineTypes.next = _menhir_stack;
37791 };
37792 } = _menhir_stack in
37793 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37794 let _1 : (
37795# 86 "parser_cocci_menhir.mly"
37796 (Data.clt)
37797# 37798 "parser_cocci_menhir.ml"
37798 ) = Obj.magic _1 in
37799 let _startpos = _startpos__1_ in
37800 let _endpos = _endpos__2_ in
37801 let _v : 'tv_unary_expr_expr_invalid_ =
37802# 1323 "parser_cocci_menhir.mly"
37803 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37804# 37805 "parser_cocci_menhir.ml"
37805 in
37806 _menhir_env.MenhirLib.EngineTypes.stack <- {
37807 MenhirLib.EngineTypes.state = _menhir_s;
37808 MenhirLib.EngineTypes.semv = Obj.repr _v;
37809 MenhirLib.EngineTypes.startp = _startpos;
37810 MenhirLib.EngineTypes.endp = _endpos;
37811 MenhirLib.EngineTypes.next = _menhir_stack;
37812 });
37813 (fun _menhir_env ->
37814 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37815 let {
37816 MenhirLib.EngineTypes.semv = _2;
37817 MenhirLib.EngineTypes.startp = _startpos__2_;
37818 MenhirLib.EngineTypes.endp = _endpos__2_;
37819 MenhirLib.EngineTypes.next = {
37820 MenhirLib.EngineTypes.state = _menhir_s;
37821 MenhirLib.EngineTypes.semv = _1;
37822 MenhirLib.EngineTypes.startp = _startpos__1_;
37823 MenhirLib.EngineTypes.endp = _endpos__1_;
37824 MenhirLib.EngineTypes.next = _menhir_stack;
37825 };
37826 } = _menhir_stack in
37827 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
37828 let _1 : 'tv_unary_op = Obj.magic _1 in
37829 let _startpos = _startpos__1_ in
37830 let _endpos = _endpos__2_ in
37831 let _v : 'tv_unary_expr_expr_invalid_ =
37832# 1325 "parser_cocci_menhir.mly"
37833 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37834# 37835 "parser_cocci_menhir.ml"
37835 in
37836 _menhir_env.MenhirLib.EngineTypes.stack <- {
37837 MenhirLib.EngineTypes.state = _menhir_s;
37838 MenhirLib.EngineTypes.semv = Obj.repr _v;
37839 MenhirLib.EngineTypes.startp = _startpos;
37840 MenhirLib.EngineTypes.endp = _endpos;
37841 MenhirLib.EngineTypes.next = _menhir_stack;
37842 });
37843 (fun _menhir_env ->
37844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37845 let {
37846 MenhirLib.EngineTypes.semv = _2;
37847 MenhirLib.EngineTypes.startp = _startpos__2_;
37848 MenhirLib.EngineTypes.endp = _endpos__2_;
37849 MenhirLib.EngineTypes.next = {
37850 MenhirLib.EngineTypes.state = _menhir_s;
37851 MenhirLib.EngineTypes.semv = _1;
37852 MenhirLib.EngineTypes.startp = _startpos__1_;
37853 MenhirLib.EngineTypes.endp = _endpos__1_;
37854 MenhirLib.EngineTypes.next = _menhir_stack;
37855 };
37856 } = _menhir_stack in
37857 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37858 let _1 : (
37859# 77 "parser_cocci_menhir.mly"
37860 (Data.clt)
37861# 37862 "parser_cocci_menhir.ml"
37862 ) = Obj.magic _1 in
37863 let _startpos = _startpos__1_ in
37864 let _endpos = _endpos__2_ in
37865 let _v : 'tv_unary_expr_expr_invalid_ =
37866# 1327 "parser_cocci_menhir.mly"
37867 ( let mcode = P.clt2mcode Ast.Not _1 in
37868 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37869# 37870 "parser_cocci_menhir.ml"
37870 in
37871 _menhir_env.MenhirLib.EngineTypes.stack <- {
37872 MenhirLib.EngineTypes.state = _menhir_s;
37873 MenhirLib.EngineTypes.semv = Obj.repr _v;
37874 MenhirLib.EngineTypes.startp = _startpos;
37875 MenhirLib.EngineTypes.endp = _endpos;
37876 MenhirLib.EngineTypes.next = _menhir_stack;
37877 });
37878 (fun _menhir_env ->
37879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37880 let {
37881 MenhirLib.EngineTypes.semv = _2;
37882 MenhirLib.EngineTypes.startp = _startpos__2_;
37883 MenhirLib.EngineTypes.endp = _endpos__2_;
37884 MenhirLib.EngineTypes.next = {
37885 MenhirLib.EngineTypes.state = _menhir_s;
37886 MenhirLib.EngineTypes.semv = _1;
37887 MenhirLib.EngineTypes.startp = _startpos__1_;
37888 MenhirLib.EngineTypes.endp = _endpos__1_;
37889 MenhirLib.EngineTypes.next = _menhir_stack;
37890 };
37891 } = _menhir_stack in
37892 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
37893 let _1 : (
37894# 58 "parser_cocci_menhir.mly"
37895 (Data.clt)
37896# 37897 "parser_cocci_menhir.ml"
37897 ) = Obj.magic _1 in
37898 let _startpos = _startpos__1_ in
37899 let _endpos = _endpos__2_ in
37900 let _v : 'tv_unary_expr_expr_invalid_ =
37901# 1330 "parser_cocci_menhir.mly"
37902 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37903# 37904 "parser_cocci_menhir.ml"
37904 in
37905 _menhir_env.MenhirLib.EngineTypes.stack <- {
37906 MenhirLib.EngineTypes.state = _menhir_s;
37907 MenhirLib.EngineTypes.semv = Obj.repr _v;
37908 MenhirLib.EngineTypes.startp = _startpos;
37909 MenhirLib.EngineTypes.endp = _endpos;
37910 MenhirLib.EngineTypes.next = _menhir_stack;
37911 });
37912 (fun _menhir_env ->
37913 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37914 let {
37915 MenhirLib.EngineTypes.semv = rp;
37916 MenhirLib.EngineTypes.startp = _startpos_rp_;
37917 MenhirLib.EngineTypes.endp = _endpos_rp_;
37918 MenhirLib.EngineTypes.next = {
37919 MenhirLib.EngineTypes.semv = t;
37920 MenhirLib.EngineTypes.startp = _startpos_t_;
37921 MenhirLib.EngineTypes.endp = _endpos_t_;
37922 MenhirLib.EngineTypes.next = {
37923 MenhirLib.EngineTypes.semv = lp;
37924 MenhirLib.EngineTypes.startp = _startpos_lp_;
37925 MenhirLib.EngineTypes.endp = _endpos_lp_;
37926 MenhirLib.EngineTypes.next = {
37927 MenhirLib.EngineTypes.state = _menhir_s;
37928 MenhirLib.EngineTypes.semv = s;
37929 MenhirLib.EngineTypes.startp = _startpos_s_;
37930 MenhirLib.EngineTypes.endp = _endpos_s_;
37931 MenhirLib.EngineTypes.next = _menhir_stack;
37932 };
37933 };
37934 };
37935 } = _menhir_stack in
37936 let rp : (
37937# 78 "parser_cocci_menhir.mly"
37938 (Data.clt)
37939# 37940 "parser_cocci_menhir.ml"
37940 ) = Obj.magic rp in
37941 let t : 'tv_ctype = Obj.magic t in
37942 let lp : (
37943# 77 "parser_cocci_menhir.mly"
37944 (Data.clt)
37945# 37946 "parser_cocci_menhir.ml"
37946 ) = Obj.magic lp in
37947 let s : (
37948# 58 "parser_cocci_menhir.mly"
37949 (Data.clt)
37950# 37951 "parser_cocci_menhir.ml"
37951 ) = Obj.magic s in
37952 let _startpos = _startpos_s_ in
37953 let _endpos = _endpos_rp_ in
37954 let _v : 'tv_unary_expr_expr_invalid_ =
37955# 1332 "parser_cocci_menhir.mly"
37956 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37957 P.clt2mcode "(" lp,t,
37958 P.clt2mcode ")" rp)) )
37959# 37960 "parser_cocci_menhir.ml"
37960 in
37961 _menhir_env.MenhirLib.EngineTypes.stack <- {
37962 MenhirLib.EngineTypes.state = _menhir_s;
37963 MenhirLib.EngineTypes.semv = Obj.repr _v;
37964 MenhirLib.EngineTypes.startp = _startpos;
37965 MenhirLib.EngineTypes.endp = _endpos;
37966 MenhirLib.EngineTypes.next = _menhir_stack;
37967 });
37968 (fun _menhir_env ->
37969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37970 let {
37971 MenhirLib.EngineTypes.state = _menhir_s;
37972 MenhirLib.EngineTypes.semv = _1;
37973 MenhirLib.EngineTypes.startp = _startpos__1_;
37974 MenhirLib.EngineTypes.endp = _endpos__1_;
37975 MenhirLib.EngineTypes.next = _menhir_stack;
37976 } = _menhir_stack in
37977 let _1 : (
37978# 94 "parser_cocci_menhir.mly"
37979 (Data.clt)
37980# 37981 "parser_cocci_menhir.ml"
37981 ) = Obj.magic _1 in
37982 let _startpos = _startpos__1_ in
37983 let _endpos = _endpos__1_ in
37984 let _v : 'tv_unary_op =
37985# 1336 "parser_cocci_menhir.mly"
37986 ( P.clt2mcode Ast.GetRef _1 )
37987# 37988 "parser_cocci_menhir.ml"
37988 in
37989 _menhir_env.MenhirLib.EngineTypes.stack <- {
37990 MenhirLib.EngineTypes.state = _menhir_s;
37991 MenhirLib.EngineTypes.semv = Obj.repr _v;
37992 MenhirLib.EngineTypes.startp = _startpos;
37993 MenhirLib.EngineTypes.endp = _endpos;
37994 MenhirLib.EngineTypes.next = _menhir_stack;
37995 });
37996 (fun _menhir_env ->
37997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37998 let {
37999 MenhirLib.EngineTypes.state = _menhir_s;
38000 MenhirLib.EngineTypes.semv = _1;
38001 MenhirLib.EngineTypes.startp = _startpos__1_;
38002 MenhirLib.EngineTypes.endp = _endpos__1_;
38003 MenhirLib.EngineTypes.next = _menhir_stack;
38004 } = _menhir_stack in
38005 let _1 : (
38006# 100 "parser_cocci_menhir.mly"
38007 (Data.clt)
38008# 38009 "parser_cocci_menhir.ml"
38009 ) = Obj.magic _1 in
38010 let _startpos = _startpos__1_ in
38011 let _endpos = _endpos__1_ in
38012 let _v : 'tv_unary_op =
38013# 1337 "parser_cocci_menhir.mly"
38014 ( P.clt2mcode Ast.DeRef _1 )
38015# 38016 "parser_cocci_menhir.ml"
38016 in
38017 _menhir_env.MenhirLib.EngineTypes.stack <- {
38018 MenhirLib.EngineTypes.state = _menhir_s;
38019 MenhirLib.EngineTypes.semv = Obj.repr _v;
38020 MenhirLib.EngineTypes.startp = _startpos;
38021 MenhirLib.EngineTypes.endp = _endpos;
38022 MenhirLib.EngineTypes.next = _menhir_stack;
38023 });
38024 (fun _menhir_env ->
38025 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38026 let {
38027 MenhirLib.EngineTypes.state = _menhir_s;
38028 MenhirLib.EngineTypes.semv = _1;
38029 MenhirLib.EngineTypes.startp = _startpos__1_;
38030 MenhirLib.EngineTypes.endp = _endpos__1_;
38031 MenhirLib.EngineTypes.next = _menhir_stack;
38032 } = _menhir_stack in
38033 let _1 : (
38034# 99 "parser_cocci_menhir.mly"
38035 (Data.clt)
38036# 38037 "parser_cocci_menhir.ml"
38037 ) = Obj.magic _1 in
38038 let _startpos = _startpos__1_ in
38039 let _endpos = _endpos__1_ in
38040 let _v : 'tv_unary_op =
38041# 1338 "parser_cocci_menhir.mly"
38042 ( P.clt2mcode Ast.UnPlus _1 )
38043# 38044 "parser_cocci_menhir.ml"
38044 in
38045 _menhir_env.MenhirLib.EngineTypes.stack <- {
38046 MenhirLib.EngineTypes.state = _menhir_s;
38047 MenhirLib.EngineTypes.semv = Obj.repr _v;
38048 MenhirLib.EngineTypes.startp = _startpos;
38049 MenhirLib.EngineTypes.endp = _endpos;
38050 MenhirLib.EngineTypes.next = _menhir_stack;
38051 });
38052 (fun _menhir_env ->
38053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38054 let {
38055 MenhirLib.EngineTypes.state = _menhir_s;
38056 MenhirLib.EngineTypes.semv = _1;
38057 MenhirLib.EngineTypes.startp = _startpos__1_;
38058 MenhirLib.EngineTypes.endp = _endpos__1_;
38059 MenhirLib.EngineTypes.next = _menhir_stack;
38060 } = _menhir_stack in
38061 let _1 : (
38062# 99 "parser_cocci_menhir.mly"
38063 (Data.clt)
38064# 38065 "parser_cocci_menhir.ml"
38065 ) = Obj.magic _1 in
38066 let _startpos = _startpos__1_ in
38067 let _endpos = _endpos__1_ in
38068 let _v : 'tv_unary_op =
38069# 1339 "parser_cocci_menhir.mly"
38070 ( P.clt2mcode Ast.UnMinus _1 )
38071# 38072 "parser_cocci_menhir.ml"
38072 in
38073 _menhir_env.MenhirLib.EngineTypes.stack <- {
38074 MenhirLib.EngineTypes.state = _menhir_s;
38075 MenhirLib.EngineTypes.semv = Obj.repr _v;
38076 MenhirLib.EngineTypes.startp = _startpos;
38077 MenhirLib.EngineTypes.endp = _endpos;
38078 MenhirLib.EngineTypes.next = _menhir_stack;
38079 });
38080 (fun _menhir_env ->
38081 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38082 let {
38083 MenhirLib.EngineTypes.state = _menhir_s;
38084 MenhirLib.EngineTypes.semv = _1;
38085 MenhirLib.EngineTypes.startp = _startpos__1_;
38086 MenhirLib.EngineTypes.endp = _endpos__1_;
38087 MenhirLib.EngineTypes.next = _menhir_stack;
38088 } = _menhir_stack in
38089 let _1 : (
38090# 100 "parser_cocci_menhir.mly"
38091 (Data.clt)
38092# 38093 "parser_cocci_menhir.ml"
38093 ) = Obj.magic _1 in
38094 let _startpos = _startpos__1_ in
38095 let _endpos = _endpos__1_ in
38096 let _v : 'tv_unary_op =
38097# 1340 "parser_cocci_menhir.mly"
38098 ( P.clt2mcode Ast.Tilde _1 )
38099# 38100 "parser_cocci_menhir.ml"
38100 in
38101 _menhir_env.MenhirLib.EngineTypes.stack <- {
38102 MenhirLib.EngineTypes.state = _menhir_s;
38103 MenhirLib.EngineTypes.semv = Obj.repr _v;
38104 MenhirLib.EngineTypes.startp = _startpos;
38105 MenhirLib.EngineTypes.endp = _endpos;
38106 MenhirLib.EngineTypes.next = _menhir_stack;
38107 });
38108 (fun _menhir_env ->
38109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38110 let {
38111 MenhirLib.EngineTypes.semv = _2;
38112 MenhirLib.EngineTypes.startp = _startpos__2_;
38113 MenhirLib.EngineTypes.endp = _endpos__2_;
38114 MenhirLib.EngineTypes.next = {
38115 MenhirLib.EngineTypes.state = _menhir_s;
38116 MenhirLib.EngineTypes.semv = _1;
38117 MenhirLib.EngineTypes.startp = _startpos__1_;
38118 MenhirLib.EngineTypes.endp = _endpos__1_;
38119 MenhirLib.EngineTypes.next = _menhir_stack;
38120 };
38121 } = _menhir_stack in
38122 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
38123 let _1 : 'tv_expr = Obj.magic _1 in
38124 let _startpos = _startpos__1_ in
38125 let _endpos = _endpos__2_ in
38126 let _v : 'tv_when_start =
38127# 1861 "parser_cocci_menhir.mly"
38128 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
38129# 38130 "parser_cocci_menhir.ml"
38130 in
38131 _menhir_env.MenhirLib.EngineTypes.stack <- {
38132 MenhirLib.EngineTypes.state = _menhir_s;
38133 MenhirLib.EngineTypes.semv = Obj.repr _v;
38134 MenhirLib.EngineTypes.startp = _startpos;
38135 MenhirLib.EngineTypes.endp = _endpos;
38136 MenhirLib.EngineTypes.next = _menhir_stack;
38137 });
38138 (fun _menhir_env ->
38139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38140 let {
38141 MenhirLib.EngineTypes.semv = _2;
38142 MenhirLib.EngineTypes.startp = _startpos__2_;
38143 MenhirLib.EngineTypes.endp = _endpos__2_;
38144 MenhirLib.EngineTypes.next = {
38145 MenhirLib.EngineTypes.state = _menhir_s;
38146 MenhirLib.EngineTypes.semv = _1;
38147 MenhirLib.EngineTypes.startp = _startpos__1_;
38148 MenhirLib.EngineTypes.endp = _endpos__1_;
38149 MenhirLib.EngineTypes.next = _menhir_stack;
38150 };
38151 } = _menhir_stack in
38152 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
38153 let _1 : 'tv_decl_statement = Obj.magic _1 in
38154 let _startpos = _startpos__1_ in
38155 let _endpos = _endpos__2_ in
38156 let _v : 'tv_when_start =
38157# 1863 "parser_cocci_menhir.mly"
38158 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
38159# 38160 "parser_cocci_menhir.ml"
38160 in
38161 _menhir_env.MenhirLib.EngineTypes.stack <- {
38162 MenhirLib.EngineTypes.state = _menhir_s;
38163 MenhirLib.EngineTypes.semv = Obj.repr _v;
38164 MenhirLib.EngineTypes.startp = _startpos;
38165 MenhirLib.EngineTypes.endp = _endpos;
38166 MenhirLib.EngineTypes.next = _menhir_stack;
38167 });
38168 (fun _menhir_env ->
38169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38170 let {
38171 MenhirLib.EngineTypes.state = _menhir_s;
38172 MenhirLib.EngineTypes.semv = w;
38173 MenhirLib.EngineTypes.startp = _startpos_w_;
38174 MenhirLib.EngineTypes.endp = _endpos_w_;
38175 MenhirLib.EngineTypes.next = _menhir_stack;
38176 } = _menhir_stack in
38177 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
38178 let _startpos = _startpos_w_ in
38179 let _endpos = _endpos_w_ in
38180 let _v : 'tv_whenppdecs =
38181# 922 "parser_cocci_menhir.mly"
38182 ( w )
38183# 38184 "parser_cocci_menhir.ml"
38184 in
38185 _menhir_env.MenhirLib.EngineTypes.stack <- {
38186 MenhirLib.EngineTypes.state = _menhir_s;
38187 MenhirLib.EngineTypes.semv = Obj.repr _v;
38188 MenhirLib.EngineTypes.startp = _startpos;
38189 MenhirLib.EngineTypes.endp = _endpos;
38190 MenhirLib.EngineTypes.next = _menhir_stack;
38191 });
38192 (fun _menhir_env ->
38193 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38194 let {
38195 MenhirLib.EngineTypes.startp = _startpos__4_;
38196 MenhirLib.EngineTypes.endp = _endpos__4_;
38197 MenhirLib.EngineTypes.next = {
38198 MenhirLib.EngineTypes.semv = w;
38199 MenhirLib.EngineTypes.startp = _startpos_w_;
38200 MenhirLib.EngineTypes.endp = _endpos_w_;
38201 MenhirLib.EngineTypes.next = {
38202 MenhirLib.EngineTypes.startp = _startpos__2_;
38203 MenhirLib.EngineTypes.endp = _endpos__2_;
38204 MenhirLib.EngineTypes.next = {
38205 MenhirLib.EngineTypes.state = _menhir_s;
38206 MenhirLib.EngineTypes.startp = _startpos__1_;
38207 MenhirLib.EngineTypes.endp = _endpos__1_;
38208 MenhirLib.EngineTypes.next = _menhir_stack;
38209 };
38210 };
38211 };
38212 } = _menhir_stack in
38213 let w : 'tv_when_start = Obj.magic w in
38214 let _startpos = _startpos__1_ in
38215 let _endpos = _endpos__4_ in
38216 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38217# 1929 "parser_cocci_menhir.mly"
38218 ( [Ast0.WhenNot w] )
38219# 38220 "parser_cocci_menhir.ml"
38220 in
38221 _menhir_env.MenhirLib.EngineTypes.stack <- {
38222 MenhirLib.EngineTypes.state = _menhir_s;
38223 MenhirLib.EngineTypes.semv = Obj.repr _v;
38224 MenhirLib.EngineTypes.startp = _startpos;
38225 MenhirLib.EngineTypes.endp = _endpos;
38226 MenhirLib.EngineTypes.next = _menhir_stack;
38227 });
38228 (fun _menhir_env ->
38229 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38230 let {
38231 MenhirLib.EngineTypes.startp = _startpos__4_;
38232 MenhirLib.EngineTypes.endp = _endpos__4_;
38233 MenhirLib.EngineTypes.next = {
38234 MenhirLib.EngineTypes.semv = w;
38235 MenhirLib.EngineTypes.startp = _startpos_w_;
38236 MenhirLib.EngineTypes.endp = _endpos_w_;
38237 MenhirLib.EngineTypes.next = {
38238 MenhirLib.EngineTypes.startp = _startpos__2_;
38239 MenhirLib.EngineTypes.endp = _endpos__2_;
38240 MenhirLib.EngineTypes.next = {
38241 MenhirLib.EngineTypes.state = _menhir_s;
38242 MenhirLib.EngineTypes.startp = _startpos__1_;
38243 MenhirLib.EngineTypes.endp = _endpos__1_;
38244 MenhirLib.EngineTypes.next = _menhir_stack;
38245 };
38246 };
38247 };
38248 } = _menhir_stack in
38249 let w : 'tv_rule_elem_statement = Obj.magic w in
38250 let _startpos = _startpos__1_ in
38251 let _endpos = _endpos__4_ in
38252 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38253# 1930 "parser_cocci_menhir.mly"
38254 ( [Ast0.WhenAlways w] )
38255# 38256 "parser_cocci_menhir.ml"
38256 in
38257 _menhir_env.MenhirLib.EngineTypes.stack <- {
38258 MenhirLib.EngineTypes.state = _menhir_s;
38259 MenhirLib.EngineTypes.semv = Obj.repr _v;
38260 MenhirLib.EngineTypes.startp = _startpos;
38261 MenhirLib.EngineTypes.endp = _endpos;
38262 MenhirLib.EngineTypes.next = _menhir_stack;
38263 });
38264 (fun _menhir_env ->
38265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38266 let {
38267 MenhirLib.EngineTypes.startp = _startpos__3_;
38268 MenhirLib.EngineTypes.endp = _endpos__3_;
38269 MenhirLib.EngineTypes.next = {
38270 MenhirLib.EngineTypes.semv = _2;
38271 MenhirLib.EngineTypes.startp = _startpos__2_;
38272 MenhirLib.EngineTypes.endp = _endpos__2_;
38273 MenhirLib.EngineTypes.next = {
38274 MenhirLib.EngineTypes.state = _menhir_s;
38275 MenhirLib.EngineTypes.startp = _startpos__1_;
38276 MenhirLib.EngineTypes.endp = _endpos__1_;
38277 MenhirLib.EngineTypes.next = _menhir_stack;
38278 };
38279 };
38280 } = _menhir_stack in
38281 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
38282 let _startpos = _startpos__1_ in
38283 let _endpos = _endpos__3_ in
38284 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38285# 1932 "parser_cocci_menhir.mly"
38286 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
38287# 38288 "parser_cocci_menhir.ml"
38288 in
38289 _menhir_env.MenhirLib.EngineTypes.stack <- {
38290 MenhirLib.EngineTypes.state = _menhir_s;
38291 MenhirLib.EngineTypes.semv = Obj.repr _v;
38292 MenhirLib.EngineTypes.startp = _startpos;
38293 MenhirLib.EngineTypes.endp = _endpos;
38294 MenhirLib.EngineTypes.next = _menhir_stack;
38295 });
38296 (fun _menhir_env ->
38297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38298 let {
38299 MenhirLib.EngineTypes.startp = _startpos__4_;
38300 MenhirLib.EngineTypes.endp = _endpos__4_;
38301 MenhirLib.EngineTypes.next = {
38302 MenhirLib.EngineTypes.semv = e;
38303 MenhirLib.EngineTypes.startp = _startpos_e_;
38304 MenhirLib.EngineTypes.endp = _endpos_e_;
38305 MenhirLib.EngineTypes.next = {
38306 MenhirLib.EngineTypes.startp = _startpos__2_;
38307 MenhirLib.EngineTypes.endp = _endpos__2_;
38308 MenhirLib.EngineTypes.next = {
38309 MenhirLib.EngineTypes.state = _menhir_s;
38310 MenhirLib.EngineTypes.startp = _startpos__1_;
38311 MenhirLib.EngineTypes.endp = _endpos__1_;
38312 MenhirLib.EngineTypes.next = _menhir_stack;
38313 };
38314 };
38315 };
38316 } = _menhir_stack in
38317 let e : 'tv_eexpr = Obj.magic e in
38318 let _startpos = _startpos__1_ in
38319 let _endpos = _endpos__4_ in
38320 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38321# 1933 "parser_cocci_menhir.mly"
38322 ( [Ast0.WhenNotTrue e] )
38323# 38324 "parser_cocci_menhir.ml"
38324 in
38325 _menhir_env.MenhirLib.EngineTypes.stack <- {
38326 MenhirLib.EngineTypes.state = _menhir_s;
38327 MenhirLib.EngineTypes.semv = Obj.repr _v;
38328 MenhirLib.EngineTypes.startp = _startpos;
38329 MenhirLib.EngineTypes.endp = _endpos;
38330 MenhirLib.EngineTypes.next = _menhir_stack;
38331 });
38332 (fun _menhir_env ->
38333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38334 let {
38335 MenhirLib.EngineTypes.startp = _startpos__4_;
38336 MenhirLib.EngineTypes.endp = _endpos__4_;
38337 MenhirLib.EngineTypes.next = {
38338 MenhirLib.EngineTypes.semv = e;
38339 MenhirLib.EngineTypes.startp = _startpos_e_;
38340 MenhirLib.EngineTypes.endp = _endpos_e_;
38341 MenhirLib.EngineTypes.next = {
38342 MenhirLib.EngineTypes.startp = _startpos__2_;
38343 MenhirLib.EngineTypes.endp = _endpos__2_;
38344 MenhirLib.EngineTypes.next = {
38345 MenhirLib.EngineTypes.state = _menhir_s;
38346 MenhirLib.EngineTypes.startp = _startpos__1_;
38347 MenhirLib.EngineTypes.endp = _endpos__1_;
38348 MenhirLib.EngineTypes.next = _menhir_stack;
38349 };
38350 };
38351 };
38352 } = _menhir_stack in
38353 let e : 'tv_eexpr = Obj.magic e in
38354 let _startpos = _startpos__1_ in
38355 let _endpos = _endpos__4_ in
38356 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38357# 1934 "parser_cocci_menhir.mly"
38358 ( [Ast0.WhenNotFalse e] )
38359# 38360 "parser_cocci_menhir.ml"
38360 in
38361 _menhir_env.MenhirLib.EngineTypes.stack <- {
38362 MenhirLib.EngineTypes.state = _menhir_s;
38363 MenhirLib.EngineTypes.semv = Obj.repr _v;
38364 MenhirLib.EngineTypes.startp = _startpos;
38365 MenhirLib.EngineTypes.endp = _endpos;
38366 MenhirLib.EngineTypes.next = _menhir_stack;
38367 });
38368 |]
38369
38370 let recovery =
38371 false
38372
38373 let trace =
38374 None
38375
38376 end)
38377
38378let rec script_meta_main =
38379 fun lexer lexbuf ->
38380 (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : (
38381# 160 "parser_cocci_menhir.mly"
38382 (string * Ast_cocci.meta_name)
38383# 38384 "parser_cocci_menhir.ml"
38384 ))
38385
38386and rule_name =
38387 fun lexer lexbuf ->
38388 (Obj.magic (MenhirInterpreter.entry 1739 lexer lexbuf) : (
38389# 154 "parser_cocci_menhir.mly"
38390 (Ast_cocci.rulename)
38391# 38392 "parser_cocci_menhir.ml"
38392 ))
38393
38394and reinit =
38395 fun lexer lexbuf ->
38396 (Obj.magic (MenhirInterpreter.entry 1737 lexer lexbuf) : (
38397# 132 "parser_cocci_menhir.mly"
38398 (unit)
38399# 38400 "parser_cocci_menhir.ml"
38400 ))
38401
38402and plus_main =
38403 fun lexer lexbuf ->
38404 (Obj.magic (MenhirInterpreter.entry 1701 lexer lexbuf) : (
38405# 141 "parser_cocci_menhir.mly"
38406 (Ast0_cocci.rule)
38407# 38408 "parser_cocci_menhir.ml"
38408 ))
38409
38410and plus_exp_main =
38411 fun lexer lexbuf ->
38412 (Obj.magic (MenhirInterpreter.entry 1693 lexer lexbuf) : (
38413# 144 "parser_cocci_menhir.mly"
38414 (Ast0_cocci.rule)
38415# 38416 "parser_cocci_menhir.ml"
38416 ))
38417
38418and never_used =
38419 fun lexer lexbuf ->
38420 (Obj.magic (MenhirInterpreter.entry 1687 lexer lexbuf) : (
38421# 169 "parser_cocci_menhir.mly"
38422 (unit)
38423# 38424 "parser_cocci_menhir.ml"
38424 ))
38425
38426and minus_main =
38427 fun lexer lexbuf ->
38428 (Obj.magic (MenhirInterpreter.entry 1607 lexer lexbuf) : (
38429# 135 "parser_cocci_menhir.mly"
38430 (Ast0_cocci.rule)
38431# 38432 "parser_cocci_menhir.ml"
38432 ))
38433
38434and minus_exp_main =
38435 fun lexer lexbuf ->
38436 (Obj.magic (MenhirInterpreter.entry 1595 lexer lexbuf) : (
38437# 138 "parser_cocci_menhir.mly"
38438 (Ast0_cocci.rule)
38439# 38440 "parser_cocci_menhir.ml"
38440 ))
38441
38442and meta_main =
38443 fun lexer lexbuf ->
38444 (Obj.magic (MenhirInterpreter.entry 1592 lexer lexbuf) : (
38445# 158 "parser_cocci_menhir.mly"
38446 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38447# 38448 "parser_cocci_menhir.ml"
38448 ))
38449
38450and iso_rule_name =
38451 fun lexer lexbuf ->
38452 (Obj.magic (MenhirInterpreter.entry 1588 lexer lexbuf) : (
38453# 150 "parser_cocci_menhir.mly"
38454 (Ast_cocci.rulename)
38455# 38456 "parser_cocci_menhir.ml"
38456 ))
38457
38458and iso_meta_main =
38459 fun lexer lexbuf ->
38460 (Obj.magic (MenhirInterpreter.entry 1342 lexer lexbuf) : (
38461# 166 "parser_cocci_menhir.mly"
38462 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38463# 38464 "parser_cocci_menhir.ml"
38464 ))
38465
38466and iso_main =
38467 fun lexer lexbuf ->
38468 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
38469# 163 "parser_cocci_menhir.mly"
38470 (Ast0_cocci.anything list list)
38471# 38472 "parser_cocci_menhir.ml"
38472 ))
38473
38474and include_main =
38475 fun lexer lexbuf ->
38476 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
38477# 147 "parser_cocci_menhir.mly"
38478 (Data.incl_iso list)
38479# 38480 "parser_cocci_menhir.ml"
38480 ))
38481
38482
38483