blob: 30393d7e747717955f2f945ca587446fbb37beb1 [file] [log] [blame]
Reid Spencere7c3c602006-11-30 06:36:44 +00001/* A Bison parser, made by GNU Bison 2.1. */
2
3/* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */
20
21/* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
25
26/* Written by Richard Stallman by simplifying the original so called
27 ``semantic'' parser. */
28
29/* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local
31 variables, as they might otherwise be expanded by user macros.
32 There are some unavoidable exceptions within include files to
33 define necessary library symbols; they are noted "INFRINGES ON
34 USER NAME SPACE" below. */
35
36/* Identify Bison output. */
37#define YYBISON 1
38
39/* Bison version. */
40#define YYBISON_VERSION "2.1"
41
42/* Skeleton name. */
43#define YYSKELETON_NAME "yacc.c"
44
45/* Pure parsers. */
46#define YYPURE 0
47
48/* Using locations. */
49#define YYLSP_NEEDED 0
50
51/* Substitute the variable and function names. */
52#define yyparse Upgradeparse
53#define yylex Upgradelex
54#define yyerror Upgradeerror
55#define yylval Upgradelval
56#define yychar Upgradechar
57#define yydebug Upgradedebug
58#define yynerrs Upgradenerrs
59
60
61/* Tokens. */
62#ifndef YYTOKENTYPE
63# define YYTOKENTYPE
64 /* Put the tokens into the symbol table, so that GDB and other debuggers
65 know about them. */
66 enum yytokentype {
67 ESINT64VAL = 258,
68 EUINT64VAL = 259,
69 SINTVAL = 260,
70 UINTVAL = 261,
71 FPVAL = 262,
72 VOID = 263,
73 BOOL = 264,
74 SBYTE = 265,
75 UBYTE = 266,
76 SHORT = 267,
77 USHORT = 268,
78 INT = 269,
79 UINT = 270,
80 LONG = 271,
81 ULONG = 272,
82 FLOAT = 273,
83 DOUBLE = 274,
84 TYPE = 275,
85 LABEL = 276,
86 VAR_ID = 277,
87 LABELSTR = 278,
88 STRINGCONSTANT = 279,
89 IMPLEMENTATION = 280,
90 ZEROINITIALIZER = 281,
91 TRUETOK = 282,
92 FALSETOK = 283,
93 BEGINTOK = 284,
94 ENDTOK = 285,
95 DECLARE = 286,
96 GLOBAL = 287,
97 CONSTANT = 288,
98 SECTION = 289,
99 VOLATILE = 290,
100 TO = 291,
101 DOTDOTDOT = 292,
102 NULL_TOK = 293,
103 UNDEF = 294,
104 CONST = 295,
105 INTERNAL = 296,
106 LINKONCE = 297,
107 WEAK = 298,
108 APPENDING = 299,
109 DLLIMPORT = 300,
110 DLLEXPORT = 301,
111 EXTERN_WEAK = 302,
112 OPAQUE = 303,
113 NOT = 304,
114 EXTERNAL = 305,
115 TARGET = 306,
116 TRIPLE = 307,
117 ENDIAN = 308,
118 POINTERSIZE = 309,
119 LITTLE = 310,
120 BIG = 311,
121 ALIGN = 312,
122 DEPLIBS = 313,
123 CALL = 314,
124 TAIL = 315,
125 ASM_TOK = 316,
126 MODULE = 317,
127 SIDEEFFECT = 318,
128 CC_TOK = 319,
129 CCC_TOK = 320,
130 CSRETCC_TOK = 321,
131 FASTCC_TOK = 322,
132 COLDCC_TOK = 323,
133 X86_STDCALLCC_TOK = 324,
134 X86_FASTCALLCC_TOK = 325,
135 DATALAYOUT = 326,
136 RET = 327,
137 BR = 328,
138 SWITCH = 329,
139 INVOKE = 330,
140 UNWIND = 331,
141 UNREACHABLE = 332,
142 ADD = 333,
143 SUB = 334,
144 MUL = 335,
145 UDIV = 336,
146 SDIV = 337,
147 FDIV = 338,
148 UREM = 339,
149 SREM = 340,
150 FREM = 341,
151 AND = 342,
152 OR = 343,
153 XOR = 344,
154 SETLE = 345,
155 SETGE = 346,
156 SETLT = 347,
157 SETGT = 348,
158 SETEQ = 349,
159 SETNE = 350,
160 MALLOC = 351,
161 ALLOCA = 352,
162 FREE = 353,
163 LOAD = 354,
164 STORE = 355,
165 GETELEMENTPTR = 356,
166 TRUNC = 357,
167 ZEXT = 358,
168 SEXT = 359,
169 FPTRUNC = 360,
170 FPEXT = 361,
171 BITCAST = 362,
172 UITOFP = 363,
173 SITOFP = 364,
174 FPTOUI = 365,
175 FPTOSI = 366,
176 INTTOPTR = 367,
177 PTRTOINT = 368,
178 PHI_TOK = 369,
179 SELECT = 370,
180 SHL = 371,
181 LSHR = 372,
182 ASHR = 373,
183 VAARG = 374,
184 EXTRACTELEMENT = 375,
185 INSERTELEMENT = 376,
186 SHUFFLEVECTOR = 377,
187 CAST = 378
188 };
189#endif
190/* Tokens. */
191#define ESINT64VAL 258
192#define EUINT64VAL 259
193#define SINTVAL 260
194#define UINTVAL 261
195#define FPVAL 262
196#define VOID 263
197#define BOOL 264
198#define SBYTE 265
199#define UBYTE 266
200#define SHORT 267
201#define USHORT 268
202#define INT 269
203#define UINT 270
204#define LONG 271
205#define ULONG 272
206#define FLOAT 273
207#define DOUBLE 274
208#define TYPE 275
209#define LABEL 276
210#define VAR_ID 277
211#define LABELSTR 278
212#define STRINGCONSTANT 279
213#define IMPLEMENTATION 280
214#define ZEROINITIALIZER 281
215#define TRUETOK 282
216#define FALSETOK 283
217#define BEGINTOK 284
218#define ENDTOK 285
219#define DECLARE 286
220#define GLOBAL 287
221#define CONSTANT 288
222#define SECTION 289
223#define VOLATILE 290
224#define TO 291
225#define DOTDOTDOT 292
226#define NULL_TOK 293
227#define UNDEF 294
228#define CONST 295
229#define INTERNAL 296
230#define LINKONCE 297
231#define WEAK 298
232#define APPENDING 299
233#define DLLIMPORT 300
234#define DLLEXPORT 301
235#define EXTERN_WEAK 302
236#define OPAQUE 303
237#define NOT 304
238#define EXTERNAL 305
239#define TARGET 306
240#define TRIPLE 307
241#define ENDIAN 308
242#define POINTERSIZE 309
243#define LITTLE 310
244#define BIG 311
245#define ALIGN 312
246#define DEPLIBS 313
247#define CALL 314
248#define TAIL 315
249#define ASM_TOK 316
250#define MODULE 317
251#define SIDEEFFECT 318
252#define CC_TOK 319
253#define CCC_TOK 320
254#define CSRETCC_TOK 321
255#define FASTCC_TOK 322
256#define COLDCC_TOK 323
257#define X86_STDCALLCC_TOK 324
258#define X86_FASTCALLCC_TOK 325
259#define DATALAYOUT 326
260#define RET 327
261#define BR 328
262#define SWITCH 329
263#define INVOKE 330
264#define UNWIND 331
265#define UNREACHABLE 332
266#define ADD 333
267#define SUB 334
268#define MUL 335
269#define UDIV 336
270#define SDIV 337
271#define FDIV 338
272#define UREM 339
273#define SREM 340
274#define FREM 341
275#define AND 342
276#define OR 343
277#define XOR 344
278#define SETLE 345
279#define SETGE 346
280#define SETLT 347
281#define SETGT 348
282#define SETEQ 349
283#define SETNE 350
284#define MALLOC 351
285#define ALLOCA 352
286#define FREE 353
287#define LOAD 354
288#define STORE 355
289#define GETELEMENTPTR 356
290#define TRUNC 357
291#define ZEXT 358
292#define SEXT 359
293#define FPTRUNC 360
294#define FPEXT 361
295#define BITCAST 362
296#define UITOFP 363
297#define SITOFP 364
298#define FPTOUI 365
299#define FPTOSI 366
300#define INTTOPTR 367
301#define PTRTOINT 368
302#define PHI_TOK 369
303#define SELECT 370
304#define SHL 371
305#define LSHR 372
306#define ASHR 373
307#define VAARG 374
308#define EXTRACTELEMENT 375
309#define INSERTELEMENT 376
310#define SHUFFLEVECTOR 377
311#define CAST 378
312
313
314
315
316/* Copy the first part of user declarations. */
317#line 14 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
318
319#define YYERROR_VERBOSE 1
320#define YYSTYPE std::string*
321
322#include "ParserInternals.h"
323#include <llvm/ADT/StringExtras.h>
324#include <llvm/System/MappedFile.h>
325#include <algorithm>
326#include <list>
327#include <utility>
328#include <iostream>
329
330
331int yylex(); // declaration" of xxx warnings.
332int yyparse();
333
334static std::string CurFilename;
335
336static std::ostream *O = 0;
337
338void UpgradeAssembly(const std::string &infile, std::ostream &out)
339{
340 Upgradelineno = 1;
341 CurFilename = infile;
342 llvm::sys::Path p(infile);
343 llvm::sys::MappedFile mf;
344 mf.open(p);
345 mf.map();
346 const char* base = mf.charBase();
347 size_t sz = mf.size();
348
349 set_scan_bytes(base, sz);
350
351 O = &out;
352
353 if (yyparse()) {
354 std::cerr << "Parse failed.\n";
355 exit(1);
356 }
357}
358
359
360
361/* Enabling traces. */
362#ifndef YYDEBUG
363# define YYDEBUG 0
364#endif
365
366/* Enabling verbose error messages. */
367#ifdef YYERROR_VERBOSE
368# undef YYERROR_VERBOSE
369# define YYERROR_VERBOSE 1
370#else
371# define YYERROR_VERBOSE 0
372#endif
373
374/* Enabling the token table. */
375#ifndef YYTOKEN_TABLE
376# define YYTOKEN_TABLE 0
377#endif
378
379#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
380typedef int YYSTYPE;
381# define yystype YYSTYPE /* obsolescent; will be withdrawn */
382# define YYSTYPE_IS_DECLARED 1
383# define YYSTYPE_IS_TRIVIAL 1
384#endif
385
386
387
388/* Copy the second part of user declarations. */
389
390
391/* Line 219 of yacc.c. */
392#line 393 "UpgradeParser.tab.c"
393
394#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
395# define YYSIZE_T __SIZE_TYPE__
396#endif
397#if ! defined (YYSIZE_T) && defined (size_t)
398# define YYSIZE_T size_t
399#endif
400#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
401# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
402# define YYSIZE_T size_t
403#endif
404#if ! defined (YYSIZE_T)
405# define YYSIZE_T unsigned int
406#endif
407
408#ifndef YY_
409# if YYENABLE_NLS
410# if ENABLE_NLS
411# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
412# define YY_(msgid) dgettext ("bison-runtime", msgid)
413# endif
414# endif
415# ifndef YY_
416# define YY_(msgid) msgid
417# endif
418#endif
419
420#if ! defined (yyoverflow) || YYERROR_VERBOSE
421
422/* The parser invokes alloca or malloc; define the necessary symbols. */
423
424# ifdef YYSTACK_USE_ALLOCA
425# if YYSTACK_USE_ALLOCA
426# ifdef __GNUC__
427# define YYSTACK_ALLOC __builtin_alloca
428# else
429# define YYSTACK_ALLOC alloca
430# if defined (__STDC__) || defined (__cplusplus)
431# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
432# define YYINCLUDED_STDLIB_H
433# endif
434# endif
435# endif
436# endif
437
438# ifdef YYSTACK_ALLOC
439 /* Pacify GCC's `empty if-body' warning. */
440# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
441# ifndef YYSTACK_ALLOC_MAXIMUM
442 /* The OS might guarantee only one guard page at the bottom of the stack,
443 and a page size can be as small as 4096 bytes. So we cannot safely
444 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
445 to allow for a few compiler-allocated temporary stack slots. */
446# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
447# endif
448# else
449# define YYSTACK_ALLOC YYMALLOC
450# define YYSTACK_FREE YYFREE
451# ifndef YYSTACK_ALLOC_MAXIMUM
452# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
453# endif
454# ifdef __cplusplus
455extern "C" {
456# endif
457# ifndef YYMALLOC
458# define YYMALLOC malloc
459# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
460 && (defined (__STDC__) || defined (__cplusplus)))
461void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
462# endif
463# endif
464# ifndef YYFREE
465# define YYFREE free
466# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
467 && (defined (__STDC__) || defined (__cplusplus)))
468void free (void *); /* INFRINGES ON USER NAME SPACE */
469# endif
470# endif
471# ifdef __cplusplus
472}
473# endif
474# endif
475#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
476
477
478#if (! defined (yyoverflow) \
479 && (! defined (__cplusplus) \
480 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
481
482/* A type that is properly aligned for any stack member. */
483union yyalloc
484{
485 short int yyss;
486 YYSTYPE yyvs;
487 };
488
489/* The size of the maximum gap between one aligned stack and the next. */
490# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
491
492/* The size of an array large to enough to hold all stacks, each with
493 N elements. */
494# define YYSTACK_BYTES(N) \
495 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
496 + YYSTACK_GAP_MAXIMUM)
497
498/* Copy COUNT objects from FROM to TO. The source and destination do
499 not overlap. */
500# ifndef YYCOPY
501# if defined (__GNUC__) && 1 < __GNUC__
502# define YYCOPY(To, From, Count) \
503 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
504# else
505# define YYCOPY(To, From, Count) \
506 do \
507 { \
508 YYSIZE_T yyi; \
509 for (yyi = 0; yyi < (Count); yyi++) \
510 (To)[yyi] = (From)[yyi]; \
511 } \
512 while (0)
513# endif
514# endif
515
516/* Relocate STACK from its old location to the new one. The
517 local variables YYSIZE and YYSTACKSIZE give the old and new number of
518 elements in the stack, and YYPTR gives the new location of the
519 stack. Advance YYPTR to a properly aligned location for the next
520 stack. */
521# define YYSTACK_RELOCATE(Stack) \
522 do \
523 { \
524 YYSIZE_T yynewbytes; \
525 YYCOPY (&yyptr->Stack, Stack, yysize); \
526 Stack = &yyptr->Stack; \
527 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
528 yyptr += yynewbytes / sizeof (*yyptr); \
529 } \
530 while (0)
531
532#endif
533
534#if defined (__STDC__) || defined (__cplusplus)
535 typedef signed char yysigned_char;
536#else
537 typedef short int yysigned_char;
538#endif
539
540/* YYFINAL -- State number of the termination state. */
541#define YYFINAL 4
542/* YYLAST -- Last index in YYTABLE. */
543#define YYLAST 1246
544
545/* YYNTOKENS -- Number of terminals. */
546#define YYNTOKENS 138
547/* YYNNTS -- Number of nonterminals. */
548#define YYNNTS 71
549/* YYNRULES -- Number of rules. */
550#define YYNRULES 251
551/* YYNRULES -- Number of states. */
552#define YYNSTATES 510
553
554/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
555#define YYUNDEFTOK 2
556#define YYMAXUTOK 378
557
558#define YYTRANSLATE(YYX) \
559 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
560
561/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
562static const unsigned char yytranslate[] =
563{
564 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 127, 128, 136, 2, 125, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 132, 124, 133, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
573 2, 129, 126, 131, 2, 2, 2, 2, 2, 137,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 130, 2, 2, 134, 2, 135, 2, 2, 2, 2,
577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
589 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
590 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
591 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
592 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
593 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
594 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
595 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
596 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
597 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
598 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
599 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
600 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
601 115, 116, 117, 118, 119, 120, 121, 122, 123
602};
603
604#if YYDEBUG
605/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
606 YYRHS. */
607static const unsigned short int yyprhs[] =
608{
609 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
610 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
611 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
612 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
613 79, 82, 83, 85, 87, 89, 91, 93, 95, 97,
614 98, 100, 102, 104, 106, 108, 110, 113, 114, 115,
615 118, 119, 123, 126, 127, 129, 130, 134, 136, 139,
616 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
617 161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
618 181, 184, 189, 195, 201, 205, 208, 211, 213, 217,
619 219, 223, 225, 226, 231, 235, 239, 244, 249, 253,
620 256, 259, 262, 265, 268, 271, 274, 277, 280, 283,
621 290, 296, 305, 312, 319, 326, 333, 340, 349, 358,
622 362, 364, 366, 368, 370, 373, 376, 381, 384, 386,
623 391, 394, 399, 406, 413, 420, 427, 431, 436, 437,
624 439, 441, 443, 447, 451, 455, 459, 463, 467, 469,
625 470, 472, 474, 476, 477, 480, 484, 486, 488, 492,
626 494, 495, 504, 506, 508, 512, 514, 516, 520, 521,
627 523, 525, 529, 530, 532, 534, 536, 538, 540, 542,
628 544, 546, 548, 552, 554, 560, 562, 564, 566, 568,
629 571, 574, 576, 580, 583, 584, 586, 589, 592, 596,
630 606, 616, 625, 639, 641, 643, 650, 656, 659, 666,
631 674, 676, 680, 682, 683, 686, 688, 694, 700, 706,
632 709, 714, 719, 726, 731, 736, 743, 750, 753, 761,
633 763, 766, 767, 769, 770, 774, 781, 785, 792, 795,
634 800, 807
635};
636
637/* YYRHS -- A `-1'-separated list of the rules' RHS. */
638static const short int yyrhs[] =
639{
640 170, 0, -1, 5, -1, 6, -1, 3, -1, 4,
641 -1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
642 -1, 83, -1, 84, -1, 85, -1, 86, -1, 87,
643 -1, 88, -1, 89, -1, 90, -1, 91, -1, 92,
644 -1, 93, -1, 94, -1, 95, -1, 123, -1, 116,
645 -1, 117, -1, 118, -1, 16, -1, 14, -1, 12,
646 -1, 10, -1, 17, -1, 15, -1, 13, -1, 11,
647 -1, 146, -1, 147, -1, 18, -1, 19, -1, 178,
648 124, -1, -1, 41, -1, 42, -1, 43, -1, 44,
649 -1, 45, -1, 46, -1, 47, -1, -1, 65, -1,
650 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
651 64, 4, -1, -1, -1, 57, 4, -1, -1, 125,
652 57, 4, -1, 34, 24, -1, -1, 155, -1, -1,
653 125, 158, 157, -1, 155, -1, 57, 4, -1, 161,
654 -1, 8, -1, 163, -1, 8, -1, 163, -1, 9,
655 -1, 10, -1, 11, -1, 12, -1, 13, -1, 14,
656 -1, 15, -1, 16, -1, 17, -1, 18, -1, 19,
657 -1, 20, -1, 21, -1, 48, -1, 162, -1, 192,
658 -1, 126, 4, -1, 160, 127, 165, 128, -1, 129,
659 4, 130, 163, 131, -1, 132, 4, 130, 163, 133,
660 -1, 134, 164, 135, -1, 134, 135, -1, 163, 136,
661 -1, 163, -1, 164, 125, 163, -1, 164, -1, 164,
662 125, 37, -1, 37, -1, -1, 161, 129, 168, 131,
663 -1, 161, 129, 131, -1, 161, 137, 24, -1, 161,
664 132, 168, 133, -1, 161, 134, 168, 135, -1, 161,
665 134, 135, -1, 161, 38, -1, 161, 39, -1, 161,
666 192, -1, 161, 167, -1, 161, 26, -1, 146, 140,
667 -1, 147, 4, -1, 9, 27, -1, 9, 28, -1,
668 149, 7, -1, 144, 127, 166, 36, 161, 128, -1,
669 101, 127, 166, 206, 128, -1, 115, 127, 166, 125,
670 166, 125, 166, 128, -1, 141, 127, 166, 125, 166,
671 128, -1, 142, 127, 166, 125, 166, 128, -1, 143,
672 127, 166, 125, 166, 128, -1, 145, 127, 166, 125,
673 166, 128, -1, 120, 127, 166, 125, 166, 128, -1,
674 121, 127, 166, 125, 166, 125, 166, 128, -1, 122,
675 127, 166, 125, 166, 125, 166, 128, -1, 168, 125,
676 166, -1, 166, -1, 32, -1, 33, -1, 171, -1,
677 171, 187, -1, 171, 189, -1, 171, 62, 61, 173,
678 -1, 171, 25, -1, 172, -1, 172, 150, 20, 159,
679 -1, 172, 189, -1, 172, 62, 61, 173, -1, 172,
680 150, 151, 169, 166, 157, -1, 172, 150, 50, 169,
681 161, 157, -1, 172, 150, 45, 169, 161, 157, -1,
682 172, 150, 47, 169, 161, 157, -1, 172, 51, 175,
683 -1, 172, 58, 124, 176, -1, -1, 24, -1, 56,
684 -1, 55, -1, 53, 124, 174, -1, 54, 124, 4,
685 -1, 52, 124, 24, -1, 71, 124, 24, -1, 129,
686 177, 131, -1, 177, 125, 24, -1, 24, -1, -1,
687 22, -1, 24, -1, 178, -1, -1, 161, 179, -1,
688 181, 125, 180, -1, 180, -1, 181, -1, 181, 125,
689 37, -1, 37, -1, -1, 152, 159, 178, 127, 182,
690 128, 156, 153, -1, 29, -1, 134, -1, 151, 183,
691 184, -1, 30, -1, 135, -1, 185, 195, 186, -1,
692 -1, 45, -1, 47, -1, 31, 188, 183, -1, -1,
693 63, -1, 3, -1, 4, -1, 7, -1, 27, -1,
694 28, -1, 38, -1, 39, -1, 26, -1, 132, 168,
695 133, -1, 167, -1, 61, 190, 24, 125, 24, -1,
696 139, -1, 178, -1, 192, -1, 191, -1, 161, 193,
697 -1, 195, 196, -1, 196, -1, 197, 150, 198, -1,
698 197, 200, -1, -1, 23, -1, 72, 194, -1, 72,
699 8, -1, 73, 21, 193, -1, 73, 9, 193, 125,
700 21, 193, 125, 21, 193, -1, 74, 148, 193, 125,
701 21, 193, 129, 199, 131, -1, 74, 148, 193, 125,
702 21, 193, 129, 131, -1, 75, 152, 159, 193, 127,
703 203, 128, 36, 21, 193, 76, 21, 193, -1, 76,
704 -1, 77, -1, 199, 148, 191, 125, 21, 193, -1,
705 148, 191, 125, 21, 193, -1, 150, 205, -1, 161,
706 129, 193, 125, 193, 131, -1, 201, 125, 129, 193,
707 125, 193, 131, -1, 194, -1, 202, 125, 194, -1,
708 202, -1, -1, 60, 59, -1, 59, -1, 141, 161,
709 193, 125, 193, -1, 142, 161, 193, 125, 193, -1,
710 143, 161, 193, 125, 193, -1, 49, 194, -1, 145,
711 194, 125, 194, -1, 144, 194, 36, 161, -1, 115,
712 194, 125, 194, 125, 194, -1, 119, 194, 125, 161,
713 -1, 120, 194, 125, 194, -1, 121, 194, 125, 194,
714 125, 194, -1, 122, 194, 125, 194, 125, 194, -1,
715 114, 201, -1, 204, 152, 159, 193, 127, 203, 128,
716 -1, 208, -1, 125, 202, -1, -1, 35, -1, -1,
717 96, 161, 154, -1, 96, 161, 125, 15, 193, 154,
718 -1, 97, 161, 154, -1, 97, 161, 125, 15, 193,
719 154, -1, 98, 194, -1, 207, 99, 161, 193, -1,
720 207, 100, 194, 125, 161, 193, -1, 101, 161, 193,
721 206, -1
722};
723
724/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
725static const unsigned short int yyrline[] =
726{
727 0, 89, 89, 89, 90, 90, 94, 94, 94, 94,
728 94, 94, 94, 94, 94, 95, 95, 95, 96, 96,
729 96, 96, 96, 96, 97, 98, 98, 98, 102, 102,
730 102, 102, 103, 103, 103, 103, 104, 104, 105, 105,
731 108, 112, 117, 117, 117, 117, 117, 117, 118, 119,
732 122, 122, 122, 122, 122, 123, 123, 124, 129, 130,
733 133, 134, 142, 148, 149, 152, 153, 162, 163, 176,
734 176, 177, 177, 178, 182, 182, 182, 182, 182, 182,
735 182, 183, 183, 183, 183, 183, 183, 184, 184, 184,
736 188, 192, 197, 203, 209, 214, 217, 225, 225, 232,
737 233, 238, 241, 251, 256, 259, 264, 269, 274, 277,
738 282, 287, 292, 297, 303, 308, 313, 318, 323, 330,
739 335, 337, 339, 341, 343, 345, 347, 349, 351, 356,
740 358, 363, 363, 373, 378, 381, 386, 389, 392, 396,
741 401, 406, 411, 416, 421, 426, 431, 436, 441, 446,
742 448, 448, 451, 456, 461, 466, 473, 480, 485, 486,
743 494, 494, 495, 495, 497, 503, 506, 510, 513, 517,
744 520, 524, 539, 542, 546, 555, 556, 558, 564, 565,
745 566, 570, 580, 582, 585, 585, 585, 585, 585, 586,
746 586, 586, 587, 592, 593, 602, 602, 605, 605, 611,
747 617, 619, 626, 630, 635, 638, 644, 649, 654, 659,
748 665, 671, 677, 686, 691, 697, 702, 709, 716, 721,
749 729, 730, 738, 739, 743, 748, 751, 756, 761, 766,
750 771, 776, 781, 786, 791, 796, 801, 806, 811, 820,
751 825, 829, 833, 834, 837, 844, 851, 858, 865, 870,
752 877, 884
753};
754#endif
755
756#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
757/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
758 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
759static const char *const yytname[] =
760{
761 "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL",
762 "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT",
763 "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "TYPE", "LABEL",
764 "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
765 "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK",
766 "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO",
767 "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE",
768 "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
769 "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE",
770 "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE",
771 "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
772 "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
773 "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
774 "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
775 "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC",
776 "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT",
777 "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI",
778 "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "SHL", "LSHR",
779 "ASHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
780 "CAST", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'",
781 "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL", "EINT64VAL",
782 "ArithmeticOps", "LogicalOps", "SetCondOps", "CastOps", "ShiftOps",
783 "SIntType", "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
784 "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
785 "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
786 "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
787 "ConstExpr", "ConstVector", "GlobalType", "Module", "DefinitionList",
788 "ConstPool", "AsmBlock", "BigOrLittle", "TargetDefinition",
789 "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal",
790 "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
791 "END", "Function", "FnDeclareLinkage", "FunctionProto", "OptSideEffect",
792 "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
793 "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
794 "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
795 "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
796};
797#endif
798
799# ifdef YYPRINT
800/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
801 token YYLEX-NUM. */
802static const unsigned short int yytoknum[] =
803{
804 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
805 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
806 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
807 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
808 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
809 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
810 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
811 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
812 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
813 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
814 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
815 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
816 375, 376, 377, 378, 61, 44, 92, 40, 41, 91,
817 120, 93, 60, 62, 123, 125, 42, 99
818};
819# endif
820
821/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
822static const unsigned char yyr1[] =
823{
824 0, 138, 139, 139, 140, 140, 141, 141, 141, 141,
825 141, 141, 141, 141, 141, 142, 142, 142, 143, 143,
826 143, 143, 143, 143, 144, 145, 145, 145, 146, 146,
827 146, 146, 147, 147, 147, 147, 148, 148, 149, 149,
828 150, 150, 151, 151, 151, 151, 151, 151, 151, 151,
829 152, 152, 152, 152, 152, 152, 152, 152, 153, 153,
830 154, 154, 155, 156, 156, 157, 157, 158, 158, 159,
831 159, 160, 160, 161, 162, 162, 162, 162, 162, 162,
832 162, 162, 162, 162, 162, 162, 162, 163, 163, 163,
833 163, 163, 163, 163, 163, 163, 163, 164, 164, 165,
834 165, 165, 165, 166, 166, 166, 166, 166, 166, 166,
835 166, 166, 166, 166, 166, 166, 166, 166, 166, 167,
836 167, 167, 167, 167, 167, 167, 167, 167, 167, 168,
837 168, 169, 169, 170, 171, 171, 171, 171, 171, 172,
838 172, 172, 172, 172, 172, 172, 172, 172, 172, 173,
839 174, 174, 175, 175, 175, 175, 176, 177, 177, 177,
840 178, 178, 179, 179, 180, 181, 181, 182, 182, 182,
841 182, 183, 184, 184, 185, 186, 186, 187, 188, 188,
842 188, 189, 190, 190, 191, 191, 191, 191, 191, 191,
843 191, 191, 191, 191, 191, 192, 192, 193, 193, 194,
844 195, 195, 196, 197, 197, 197, 198, 198, 198, 198,
845 198, 198, 198, 198, 198, 199, 199, 200, 201, 201,
846 202, 202, 203, 203, 204, 204, 205, 205, 205, 205,
847 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
848 206, 206, 207, 207, 208, 208, 208, 208, 208, 208,
849 208, 208
850};
851
852/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
853static const unsigned char yyr2[] =
854{
855 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
856 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
857 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
858 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
859 2, 0, 1, 1, 1, 1, 1, 1, 1, 0,
860 1, 1, 1, 1, 1, 1, 2, 0, 0, 2,
861 0, 3, 2, 0, 1, 0, 3, 1, 2, 1,
862 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
863 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
864 2, 4, 5, 5, 3, 2, 2, 1, 3, 1,
865 3, 1, 0, 4, 3, 3, 4, 4, 3, 2,
866 2, 2, 2, 2, 2, 2, 2, 2, 2, 6,
867 5, 8, 6, 6, 6, 6, 6, 8, 8, 3,
868 1, 1, 1, 1, 2, 2, 4, 2, 1, 4,
869 2, 4, 6, 6, 6, 6, 3, 4, 0, 1,
870 1, 1, 3, 3, 3, 3, 3, 3, 1, 0,
871 1, 1, 1, 0, 2, 3, 1, 1, 3, 1,
872 0, 8, 1, 1, 3, 1, 1, 3, 0, 1,
873 1, 3, 0, 1, 1, 1, 1, 1, 1, 1,
874 1, 1, 3, 1, 5, 1, 1, 1, 1, 2,
875 2, 1, 3, 2, 0, 1, 2, 2, 3, 9,
876 9, 8, 13, 1, 1, 6, 5, 2, 6, 7,
877 1, 3, 1, 0, 2, 1, 5, 5, 5, 2,
878 4, 4, 6, 4, 4, 6, 6, 2, 7, 1,
879 2, 0, 1, 0, 3, 6, 3, 6, 2, 4,
880 6, 4
881};
882
883/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
884 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
885 means the default is an error. */
886static const unsigned char yydefact[] =
887{
888 148, 0, 49, 138, 1, 137, 178, 42, 43, 44,
889 45, 46, 47, 48, 0, 57, 204, 134, 135, 160,
890 161, 0, 0, 0, 49, 0, 140, 179, 180, 57,
891 0, 0, 50, 51, 52, 53, 54, 55, 0, 0,
892 205, 204, 201, 41, 0, 0, 0, 0, 146, 0,
893 0, 0, 0, 0, 0, 0, 40, 181, 149, 136,
894 56, 2, 3, 70, 74, 75, 76, 77, 78, 79,
895 80, 81, 82, 83, 84, 85, 86, 87, 0, 0,
896 0, 0, 195, 0, 0, 69, 88, 73, 196, 89,
897 172, 173, 174, 175, 176, 177, 200, 243, 203, 0,
898 0, 0, 0, 159, 147, 141, 139, 131, 132, 0,
899 0, 0, 0, 90, 0, 0, 72, 95, 97, 0,
900 0, 102, 96, 242, 0, 225, 0, 0, 0, 0,
901 57, 213, 214, 6, 7, 8, 9, 10, 11, 12,
902 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
903 23, 0, 0, 0, 0, 0, 0, 25, 26, 27,
904 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
905 202, 57, 217, 0, 239, 154, 151, 150, 152, 153,
906 155, 158, 0, 65, 65, 65, 74, 75, 76, 77,
907 78, 79, 80, 81, 82, 83, 84, 0, 0, 0,
908 0, 65, 0, 0, 0, 94, 170, 101, 99, 0,
909 0, 229, 224, 207, 206, 0, 0, 31, 35, 30,
910 34, 29, 33, 28, 32, 36, 37, 0, 0, 60,
911 60, 248, 0, 0, 237, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
913 0, 144, 145, 143, 116, 117, 4, 5, 114, 115,
914 118, 113, 109, 110, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 112, 111,
916 142, 71, 71, 98, 169, 163, 166, 167, 0, 0,
917 91, 184, 185, 186, 191, 187, 188, 189, 190, 182,
918 0, 193, 198, 197, 199, 0, 208, 0, 0, 0,
919 244, 0, 246, 241, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
921 0, 0, 67, 65, 0, 0, 0, 0, 0, 104,
922 130, 0, 0, 108, 0, 105, 0, 0, 0, 0,
923 0, 92, 93, 162, 164, 0, 63, 100, 183, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 251, 0,
925 0, 0, 233, 234, 0, 0, 0, 0, 0, 231,
926 230, 0, 249, 0, 62, 68, 66, 241, 0, 0,
927 0, 0, 0, 103, 106, 107, 0, 0, 0, 0,
928 0, 168, 165, 64, 58, 0, 192, 0, 0, 223,
929 60, 61, 60, 220, 240, 0, 0, 0, 0, 0,
930 226, 227, 228, 223, 0, 0, 0, 0, 0, 0,
931 129, 0, 0, 0, 0, 0, 0, 171, 0, 0,
932 0, 222, 0, 0, 245, 247, 0, 0, 0, 232,
933 235, 236, 0, 250, 120, 0, 0, 0, 0, 0,
934 0, 0, 0, 0, 59, 194, 0, 0, 0, 221,
935 218, 0, 238, 0, 126, 0, 0, 122, 123, 124,
936 119, 125, 0, 211, 0, 0, 0, 219, 0, 0,
937 0, 209, 0, 210, 0, 0, 121, 127, 128, 0,
938 0, 0, 0, 0, 0, 216, 0, 0, 215, 212
939};
940
941/* YYDEFGOTO[NTERM-NUM]. */
942static const short int yydefgoto[] =
943{
944 -1, 82, 258, 273, 274, 275, 276, 277, 197, 198,
945 227, 199, 24, 15, 38, 437, 310, 332, 404, 251,
946 333, 83, 84, 200, 86, 87, 119, 209, 340, 301,
947 341, 109, 1, 2, 3, 59, 178, 48, 104, 182,
948 88, 354, 286, 287, 288, 39, 92, 16, 95, 17,
949 29, 18, 359, 302, 89, 304, 413, 41, 42, 43,
950 170, 485, 98, 234, 441, 442, 171, 172, 368, 173,
951 174
952};
953
954/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
955 STATE-NUM. */
956#define YYPACT_NINF -451
957static const short int yypact[] =
958{
959 -451, 18, 670, 213, -451, -451, 63, -451, -451, -451,
960 -451, -451, -451, -451, -39, 308, 33, -451, -451, -451,
961 -451, 14, -36, 31, 150, -12, -451, -451, -451, 308,
962 96, 136, -451, -451, -451, -451, -451, -451, 971, -13,
963 -451, -9, -451, 119, 10, 20, 37, 56, -451, 40,
964 96, 971, 45, 45, 45, 45, -451, -451, -451, -451,
965 -451, -451, -451, 52, -451, -451, -451, -451, -451, -451,
966 -451, -451, -451, -451, -451, -451, -451, -451, 177, 179,
967 180, 85, -451, 119, 58, -451, -451, -52, -451, -451,
968 -451, -451, -451, -451, -451, -451, -451, 1123, -451, 163,
969 97, 185, 174, 178, -451, -451, -451, -451, -451, 1019,
970 1019, 1019, 1060, -451, 76, 82, -451, -451, -52, -85,
971 86, 786, -451, -451, 1019, -451, 157, 1101, 30, 278,
972 308, -451, -451, -451, -451, -451, -451, -451, -451, -451,
973 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
974 -451, 1019, 1019, 1019, 1019, 1019, 1019, -451, -451, -451,
975 1019, 1019, 1019, 1019, -451, 1019, 1019, 1019, 1019, 1019,
976 -451, 308, -451, 55, -451, -451, -451, -451, -451, -451,
977 -451, -451, -49, 90, 90, 90, 130, 156, 214, 160,
978 217, 162, 218, 168, 220, 224, 225, 170, 221, 227,
979 387, 90, 1019, 1019, 1019, -451, 827, -451, 111, 122,
980 560, -451, -451, 52, -451, 560, 560, -451, -451, -451,
981 -451, -451, -451, -451, -451, -451, -451, 560, 971, 123,
982 126, -451, 560, 118, 127, 128, 140, 141, 142, 143,
983 560, 560, 560, 233, 145, 971, 1019, 1019, 248, -451,
984 -23, -451, -451, -451, -451, -451, -451, -451, -451, -451,
985 -451, -451, -451, -451, 146, 147, 149, 169, 171, 868,
986 1060, 537, 253, 173, 181, 182, 183, 187, -451, -451,
987 -451, -94, 6, -52, -451, 119, -451, 158, 188, 889,
988 -451, -451, -451, -451, -451, -451, -451, -451, -451, 234,
989 1060, -451, -451, -451, -451, 190, -451, 197, 560, -5,
990 -451, 8, -451, 201, 560, 199, 1019, 1019, 1019, 1019,
991 1019, 205, 207, 208, 1019, 1019, 560, 560, 209, -451,
992 282, 303, -451, 90, 1060, 1060, 1060, 1060, 1060, -451,
993 -451, -44, -89, -451, -56, -451, 1060, 1060, 1060, 1060,
994 1060, -451, -451, -451, -451, 930, 304, -451, -451, 313,
995 -14, 320, 323, 219, 560, 344, 560, 1019, -451, 226,
996 560, 228, -451, -451, 229, 230, 560, 560, 560, -451,
997 -451, 222, -451, 1019, -451, -451, -451, 201, 231, 238,
998 239, 241, 1060, -451, -451, -451, 244, 245, 257, 348,
999 261, -451, -451, -451, 330, 263, -451, 560, 560, 1019,
1000 264, -451, 264, -451, 265, 560, 266, 1019, 1019, 1019,
1001 -451, -451, -451, 1019, 560, 267, 1060, 1060, 1060, 1060,
1002 -451, 1060, 1060, 1060, 1019, 1060, 390, -451, 373, 273,
1003 270, 265, 272, 345, -451, -451, 1019, 274, 560, -451,
1004 -451, -451, 275, -451, -451, 276, 279, 281, 285, 284,
1005 286, 287, 288, 290, -451, -451, 383, 15, 384, -451,
1006 -451, 291, -451, 1060, -451, 1060, 1060, -451, -451, -451,
1007 -451, -451, 560, -451, 661, 47, 398, -451, 293, 295,
1008 296, -451, 302, -451, 661, 560, -451, -451, -451, 408,
1009 306, 356, 560, 412, 414, -451, 560, 560, -451, -451
1010};
1011
1012/* YYPGOTO[NTERM-NUM]. */
1013static const short int yypgoto[] =
1014{
1015 -451, -451, -451, 339, 341, 342, 343, 346, -128, -127,
1016 -450, -451, 401, 421, -97, -451, -224, 92, -451, -177,
1017 -451, -46, -451, -38, -451, -66, 328, -451, -108, 250,
1018 -251, 94, -451, -451, -451, 402, -451, -451, -451, -451,
1019 0, -451, 98, -451, -451, 422, -451, -451, -451, -451,
1020 -451, 451, -451, -414, -65, 120, -115, -451, 415, -451,
1021 -451, -451, -451, -451, 88, 34, -451, -451, 71, -451,
1022 -451
1023};
1024
1025/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1026 positive, shift that token. If negative, reduce the rule which
1027 number is the opposite. If zero, do what YYDEFACT says.
1028 If YYTABLE_NINF, syntax error. */
1029#define YYTABLE_NINF -134
1030static const short int yytable[] =
1031{
1032 85, 225, 226, 25, 201, 106, 312, 252, 253, 211,
1033 364, 330, 214, 85, 40, 118, 90, 484, 4, 342,
1034 344, 93, 30, 366, 280, 217, 218, 219, 220, 221,
1035 222, 223, 224, 228, 331, 494, 392, 351, 231, 215,
1036 204, 235, 122, 25, 394, 236, 237, 238, 239, 360,
1037 205, 216, 365, 243, 244, 118, 40, 217, 218, 219,
1038 220, 221, 222, 223, 224, 365, 44, 45, 46, 392,
1039 492, 183, 184, 185, 245, -71, 248, 107, 108, 395,
1040 500, 392, 249, 120, 122, 47, 210, 393, 49, 210,
1041 61, 62, 50, 116, 64, 65, 66, 67, 68, 69,
1042 70, 71, 72, 73, 74, 75, 76, 19, 27, 20,
1043 28, 392, 56, 229, 230, 210, 232, 233, 210, 406,
1044 58, 91, 210, 210, 210, 210, 94, 240, 241, 242,
1045 210, 210, 328, 77, 99, 279, 281, 282, 283, 352,
1046 60, 19, 122, 20, 100, 303, 483, 110, 111, 112,
1047 303, 303, 176, 177, 246, 247, 386, 254, 255, -31,
1048 -31, 101, 303, -30, -30, -29, -29, 303, 285, 103,
1049 51, -28, -28, 256, 257, 303, 303, 303, 493, -72,
1050 102, 113, 308, 114, 115, 121, 444, 175, 445, 179,
1051 85, 7, 8, 9, 10, 52, 12, 53, 180, 326,
1052 54, 371, 181, 373, 374, 375, 202, 85, 327, 210,
1053 380, 78, 203, 206, 79, 250, 212, 80, -35, 81,
1054 117, -34, -33, 283, -32, 259, 387, 388, 389, 390,
1055 391, -38, -39, -41, 260, 19, 289, 20, 396, 397,
1056 398, 399, 400, 303, 6, -41, -41, 314, 309, 303,
1057 290, 311, 315, 316, -41, -41, -41, -41, -41, -41,
1058 -41, 303, 303, -41, 21, 317, 318, 319, 320, 324,
1059 325, 22, 329, 334, 335, 23, 336, 345, 210, 372,
1060 210, 210, 210, 355, 430, 353, 379, 210, 217, 218,
1061 219, 220, 221, 222, 223, 224, 337, 358, 338, 303,
1062 346, 303, 449, 450, 451, 303, 384, 385, 347, 348,
1063 349, 303, 303, 303, 350, 361, 356, 285, 455, 456,
1064 457, 458, 362, 459, 460, 461, 367, 463, 370, 210,
1065 376, 469, 377, 378, 383, 305, 306, 405, 330, 225,
1066 226, 407, 303, 303, 408, 424, 409, 307, 411, 423,
1067 303, 415, 313, 417, 418, 419, 426, 225, 226, 303,
1068 321, 322, 323, 427, 428, 488, 429, 489, 490, 431,
1069 432, 210, 31, 32, 33, 34, 35, 36, 37, 210,
1070 210, 210, 433, 303, 434, 210, 435, 436, 438, 443,
1071 446, 448, 61, 62, 464, 454, 462, 465, 466, 467,
1072 468, 473, 365, 472, 482, 470, 475, 474, 210, 19,
1073 476, 20, 477, 261, 478, 479, 480, 303, 481, 495,
1074 486, 496, 487, 497, 498, 262, 263, 499, 363, 502,
1075 303, 503, 504, 506, 369, 507, 165, 303, 166, 167,
1076 168, 303, 303, 169, 97, 55, 381, 382, 403, 208,
1077 278, 57, 105, 402, 26, 414, 96, 452, 425, 0,
1078 0, 0, 0, 0, 0, 133, 134, 135, 136, 137,
1079 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1080 148, 149, 150, 0, 410, 0, 412, 0, 264, 0,
1081 416, 0, 0, 0, 0, 0, 420, 421, 422, 0,
1082 0, 0, 265, 157, 158, 159, 0, 266, 267, 268,
1083 164, 0, 0, 0, 0, 0, 269, 0, 0, 270,
1084 0, 271, 0, 0, 272, 0, 0, 439, 440, 0,
1085 0, 0, 0, 0, 0, 447, 0, 0, 0, 0,
1086 0, 0, 61, 62, 453, 116, 186, 187, 188, 189,
1087 190, 191, 192, 193, 194, 195, 196, 75, 76, 19,
1088 0, 20, 0, 291, 292, 61, 62, 293, 471, 0,
1089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1090 0, 0, 19, 0, 20, 77, 294, 295, 296, 0,
1091 0, 0, 0, 0, 0, 0, 0, 0, 297, 298,
1092 0, 0, 491, 0, 0, 0, 0, 0, 0, 0,
1093 0, 0, 0, 0, 0, 501, 0, 0, 0, 0,
1094 0, 299, 505, 0, 0, 0, 508, 509, 0, 0,
1095 0, 0, 0, 0, 0, 0, 0, 0, 133, 134,
1096 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1097 145, 146, 147, 148, 149, 150, 0, 0, 0, 0,
1098 0, 264, 0, 78, 291, 292, 79, 0, 293, 80,
1099 -133, 81, 343, 0, 0, 265, 157, 158, 159, 0,
1100 266, 267, 268, 164, 0, 0, 0, 294, 295, 296,
1101 0, 0, 300, 0, 0, 5, 0, 0, 0, 297,
1102 298, 6, 0, 0, 0, 0, 0, 0, 0, 0,
1103 0, 7, 8, 9, 10, 11, 12, 13, 0, 0,
1104 0, 0, 299, 0, 0, 0, 0, 0, 0, 0,
1105 0, 0, 14, 0, 0, 0, 0, 0, 0, 133,
1106 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1107 144, 145, 146, 147, 148, 149, 150, 0, 0, 0,
1108 0, 0, 264, 0, 0, 0, 0, 0, 0, 0,
1109 0, 0, 0, 0, 0, 0, 265, 157, 158, 159,
1110 0, 266, 267, 268, 164, 0, 0, 0, 0, 0,
1111 0, 61, 62, 300, 116, 64, 65, 66, 67, 68,
1112 69, 70, 71, 72, 73, 74, 75, 76, 19, 0,
1113 20, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1114 0, 0, 0, 207, 0, 0, 0, 0, 0, 0,
1115 0, 0, 61, 62, 77, 116, 64, 65, 66, 67,
1116 68, 69, 70, 71, 72, 73, 74, 75, 76, 19,
1117 0, 20, 0, 0, 0, 0, 0, 0, 0, 0,
1118 0, 0, 0, 0, 284, 0, 0, 0, 0, 0,
1119 0, 0, 0, 61, 62, 77, 116, 186, 187, 188,
1120 189, 190, 191, 192, 193, 194, 195, 196, 75, 76,
1121 19, 0, 20, 0, 61, 62, 0, 116, 64, 65,
1122 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1123 76, 19, 78, 20, 0, 79, 77, 0, 80, 0,
1124 81, 0, 0, 0, 0, 0, 357, 0, 0, 0,
1125 0, 0, 0, 0, 0, 61, 62, 77, 116, 64,
1126 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1127 75, 76, 19, 78, 20, 0, 79, 0, 0, 80,
1128 0, 81, 0, 0, 0, 0, 0, 401, 0, 0,
1129 0, 0, 0, 0, 0, 0, 61, 62, 77, 63,
1130 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1131 74, 75, 76, 19, 78, 20, 0, 79, 0, 339,
1132 80, 0, 81, 0, 0, 0, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, 78, 0, 0, 79, 77,
1134 0, 80, 0, 81, 61, 62, 0, 116, 64, 65,
1135 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1136 76, 19, 0, 20, 0, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, 78, 0, 0, 79,
1138 0, 0, 80, 0, 81, 61, 62, 77, 116, 186,
1139 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1140 75, 76, 19, 0, 20, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
1142 79, 0, 0, 80, 0, 81, 61, 62, 77, 213,
1143 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1144 74, 75, 76, 19, 0, 20, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, 0, 0, 0, 0, 78, 0, 0, 79, 77,
1147 0, 80, 0, 81, 0, 0, 0, 0, 123, 0,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1149 0, 0, 124, 0, 0, 0, 0, 0, 0, 0,
1150 0, 0, 125, 126, 0, 0, 78, 0, 0, 79,
1151 0, 0, 80, 0, 81, 127, 128, 129, 130, 131,
1152 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1153 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1154 152, 153, 0, 0, 154, 0, 0, 78, 0, 0,
1155 79, 0, 0, 80, 0, 81, 0, 155, 156, 157,
1156 158, 159, 160, 161, 162, 163, 164
1157};
1158
1159static const short int yycheck[] =
1160{
1161 38, 129, 129, 3, 112, 51, 230, 184, 185, 124,
1162 15, 34, 127, 51, 23, 81, 29, 467, 0, 270,
1163 271, 30, 61, 15, 201, 10, 11, 12, 13, 14,
1164 15, 16, 17, 130, 57, 485, 125, 131, 153, 9,
1165 125, 156, 136, 43, 133, 160, 161, 162, 163, 300,
1166 135, 21, 57, 168, 169, 121, 23, 10, 11, 12,
1167 13, 14, 15, 16, 17, 57, 52, 53, 54, 125,
1168 484, 109, 110, 111, 171, 127, 125, 32, 33, 135,
1169 494, 125, 131, 83, 136, 71, 124, 131, 124, 127,
1170 5, 6, 61, 8, 9, 10, 11, 12, 13, 14,
1171 15, 16, 17, 18, 19, 20, 21, 22, 45, 24,
1172 47, 125, 124, 151, 152, 153, 154, 155, 156, 133,
1173 24, 134, 160, 161, 162, 163, 135, 165, 166, 167,
1174 168, 169, 247, 48, 124, 200, 202, 203, 204, 133,
1175 4, 22, 136, 24, 124, 210, 131, 53, 54, 55,
1176 215, 216, 55, 56, 99, 100, 333, 27, 28, 3,
1177 4, 124, 227, 3, 4, 3, 4, 232, 206, 129,
1178 20, 3, 4, 3, 4, 240, 241, 242, 131, 127,
1179 124, 4, 228, 4, 4, 127, 410, 24, 412, 4,
1180 228, 41, 42, 43, 44, 45, 46, 47, 24, 245,
1181 50, 316, 24, 318, 319, 320, 130, 245, 246, 247,
1182 325, 126, 130, 127, 129, 125, 59, 132, 4, 134,
1183 135, 4, 4, 289, 4, 4, 334, 335, 336, 337,
1184 338, 7, 7, 20, 7, 22, 125, 24, 346, 347,
1185 348, 349, 350, 308, 31, 32, 33, 129, 125, 314,
1186 128, 125, 125, 125, 41, 42, 43, 44, 45, 46,
1187 47, 326, 327, 50, 51, 125, 125, 125, 125, 36,
1188 125, 58, 24, 127, 127, 62, 127, 24, 316, 317,
1189 318, 319, 320, 125, 392, 285, 324, 325, 10, 11,
1190 12, 13, 14, 15, 16, 17, 127, 63, 127, 364,
1191 127, 366, 417, 418, 419, 370, 24, 4, 127, 127,
1192 127, 376, 377, 378, 127, 125, 128, 355, 426, 427,
1193 428, 429, 125, 431, 432, 433, 125, 435, 129, 367,
1194 125, 446, 125, 125, 125, 215, 216, 24, 34, 467,
1195 467, 21, 407, 408, 21, 383, 127, 227, 4, 127,
1196 415, 125, 232, 125, 125, 125, 125, 485, 485, 424,
1197 240, 241, 242, 125, 125, 473, 125, 475, 476, 125,
1198 125, 409, 64, 65, 66, 67, 68, 69, 70, 417,
1199 418, 419, 125, 448, 36, 423, 125, 57, 125, 125,
1200 125, 125, 5, 6, 4, 128, 434, 24, 125, 129,
1201 128, 125, 57, 128, 21, 131, 125, 128, 446, 22,
1202 125, 24, 128, 26, 128, 128, 128, 482, 128, 21,
1203 36, 128, 131, 128, 128, 38, 39, 125, 308, 21,
1204 495, 125, 76, 21, 314, 21, 97, 502, 97, 97,
1205 97, 506, 507, 97, 43, 24, 326, 327, 356, 121,
1206 200, 29, 50, 355, 3, 367, 41, 423, 387, -1,
1207 -1, -1, -1, -1, -1, 78, 79, 80, 81, 82,
1208 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1209 93, 94, 95, -1, 364, -1, 366, -1, 101, -1,
1210 370, -1, -1, -1, -1, -1, 376, 377, 378, -1,
1211 -1, -1, 115, 116, 117, 118, -1, 120, 121, 122,
1212 123, -1, -1, -1, -1, -1, 129, -1, -1, 132,
1213 -1, 134, -1, -1, 137, -1, -1, 407, 408, -1,
1214 -1, -1, -1, -1, -1, 415, -1, -1, -1, -1,
1215 -1, -1, 5, 6, 424, 8, 9, 10, 11, 12,
1216 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1217 -1, 24, -1, 3, 4, 5, 6, 7, 448, -1,
1218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1219 -1, -1, 22, -1, 24, 48, 26, 27, 28, -1,
1220 -1, -1, -1, -1, -1, -1, -1, -1, 38, 39,
1221 -1, -1, 482, -1, -1, -1, -1, -1, -1, -1,
1222 -1, -1, -1, -1, -1, 495, -1, -1, -1, -1,
1223 -1, 61, 502, -1, -1, -1, 506, 507, -1, -1,
1224 -1, -1, -1, -1, -1, -1, -1, -1, 78, 79,
1225 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1226 90, 91, 92, 93, 94, 95, -1, -1, -1, -1,
1227 -1, 101, -1, 126, 3, 4, 129, -1, 7, 132,
1228 0, 134, 135, -1, -1, 115, 116, 117, 118, -1,
1229 120, 121, 122, 123, -1, -1, -1, 26, 27, 28,
1230 -1, -1, 132, -1, -1, 25, -1, -1, -1, 38,
1231 39, 31, -1, -1, -1, -1, -1, -1, -1, -1,
1232 -1, 41, 42, 43, 44, 45, 46, 47, -1, -1,
1233 -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
1234 -1, -1, 62, -1, -1, -1, -1, -1, -1, 78,
1235 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1236 89, 90, 91, 92, 93, 94, 95, -1, -1, -1,
1237 -1, -1, 101, -1, -1, -1, -1, -1, -1, -1,
1238 -1, -1, -1, -1, -1, -1, 115, 116, 117, 118,
1239 -1, 120, 121, 122, 123, -1, -1, -1, -1, -1,
1240 -1, 5, 6, 132, 8, 9, 10, 11, 12, 13,
1241 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
1242 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1243 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
1244 -1, -1, 5, 6, 48, 8, 9, 10, 11, 12,
1245 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1246 -1, 24, -1, -1, -1, -1, -1, -1, -1, -1,
1247 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1,
1248 -1, -1, -1, 5, 6, 48, 8, 9, 10, 11,
1249 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1250 22, -1, 24, -1, 5, 6, -1, 8, 9, 10,
1251 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1252 21, 22, 126, 24, -1, 129, 48, -1, 132, -1,
1253 134, -1, -1, -1, -1, -1, 37, -1, -1, -1,
1254 -1, -1, -1, -1, -1, 5, 6, 48, 8, 9,
1255 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1256 20, 21, 22, 126, 24, -1, 129, -1, -1, 132,
1257 -1, 134, -1, -1, -1, -1, -1, 37, -1, -1,
1258 -1, -1, -1, -1, -1, -1, 5, 6, 48, 8,
1259 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1260 19, 20, 21, 22, 126, 24, -1, 129, -1, 131,
1261 132, -1, 134, -1, -1, -1, -1, -1, -1, -1,
1262 -1, -1, -1, -1, -1, 126, -1, -1, 129, 48,
1263 -1, 132, -1, 134, 5, 6, -1, 8, 9, 10,
1264 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1265 21, 22, -1, 24, -1, -1, -1, -1, -1, -1,
1266 -1, -1, -1, -1, -1, -1, 126, -1, -1, 129,
1267 -1, -1, 132, -1, 134, 5, 6, 48, 8, 9,
1268 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1269 20, 21, 22, -1, 24, -1, -1, -1, -1, -1,
1270 -1, -1, -1, -1, -1, -1, -1, 126, -1, -1,
1271 129, -1, -1, 132, -1, 134, 5, 6, 48, 8,
1272 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1273 19, 20, 21, 22, -1, 24, -1, -1, -1, -1,
1274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1275 -1, -1, -1, -1, -1, 126, -1, -1, 129, 48,
1276 -1, 132, -1, 134, -1, -1, -1, -1, 35, -1,
1277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1278 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
1279 -1, -1, 59, 60, -1, -1, 126, -1, -1, 129,
1280 -1, -1, 132, -1, 134, 72, 73, 74, 75, 76,
1281 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1282 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1283 97, 98, -1, -1, 101, -1, -1, 126, -1, -1,
1284 129, -1, -1, 132, -1, 134, -1, 114, 115, 116,
1285 117, 118, 119, 120, 121, 122, 123
1286};
1287
1288/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1289 symbol of state STATE-NUM. */
1290static const unsigned char yystos[] =
1291{
1292 0, 170, 171, 172, 0, 25, 31, 41, 42, 43,
1293 44, 45, 46, 47, 62, 151, 185, 187, 189, 22,
1294 24, 51, 58, 62, 150, 178, 189, 45, 47, 188,
1295 61, 64, 65, 66, 67, 68, 69, 70, 152, 183,
1296 23, 195, 196, 197, 52, 53, 54, 71, 175, 124,
1297 61, 20, 45, 47, 50, 151, 124, 183, 24, 173,
1298 4, 5, 6, 8, 9, 10, 11, 12, 13, 14,
1299 15, 16, 17, 18, 19, 20, 21, 48, 126, 129,
1300 132, 134, 139, 159, 160, 161, 162, 163, 178, 192,
1301 29, 134, 184, 30, 135, 186, 196, 150, 200, 124,
1302 124, 124, 124, 129, 176, 173, 159, 32, 33, 169,
1303 169, 169, 169, 4, 4, 4, 8, 135, 163, 164,
1304 178, 127, 136, 35, 49, 59, 60, 72, 73, 74,
1305 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1306 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1307 95, 96, 97, 98, 101, 114, 115, 116, 117, 118,
1308 119, 120, 121, 122, 123, 141, 142, 143, 144, 145,
1309 198, 204, 205, 207, 208, 24, 55, 56, 174, 4,
1310 24, 24, 177, 161, 161, 161, 9, 10, 11, 12,
1311 13, 14, 15, 16, 17, 18, 19, 146, 147, 149,
1312 161, 166, 130, 130, 125, 135, 127, 37, 164, 165,
1313 161, 194, 59, 8, 194, 9, 21, 10, 11, 12,
1314 13, 14, 15, 16, 17, 146, 147, 148, 152, 161,
1315 161, 194, 161, 161, 201, 194, 194, 194, 194, 194,
1316 161, 161, 161, 194, 194, 152, 99, 100, 125, 131,
1317 125, 157, 157, 157, 27, 28, 3, 4, 140, 4,
1318 7, 26, 38, 39, 101, 115, 120, 121, 122, 129,
1319 132, 134, 137, 141, 142, 143, 144, 145, 167, 192,
1320 157, 163, 163, 163, 37, 161, 180, 181, 182, 125,
1321 128, 3, 4, 7, 26, 27, 28, 38, 39, 61,
1322 132, 167, 191, 192, 193, 193, 193, 193, 159, 125,
1323 154, 125, 154, 193, 129, 125, 125, 125, 125, 125,
1324 125, 193, 193, 193, 36, 125, 159, 161, 194, 24,
1325 34, 57, 155, 158, 127, 127, 127, 127, 127, 131,
1326 166, 168, 168, 135, 168, 24, 127, 127, 127, 127,
1327 127, 131, 133, 178, 179, 125, 128, 37, 63, 190,
1328 168, 125, 125, 193, 15, 57, 15, 125, 206, 193,
1329 129, 194, 161, 194, 194, 194, 125, 125, 125, 161,
1330 194, 193, 193, 125, 24, 4, 157, 166, 166, 166,
1331 166, 166, 125, 131, 133, 135, 166, 166, 166, 166,
1332 166, 37, 180, 155, 156, 24, 133, 21, 21, 127,
1333 193, 4, 193, 194, 202, 125, 193, 125, 125, 125,
1334 193, 193, 193, 127, 161, 206, 125, 125, 125, 125,
1335 166, 125, 125, 125, 36, 125, 57, 153, 125, 193,
1336 193, 202, 203, 125, 154, 154, 125, 193, 125, 194,
1337 194, 194, 203, 193, 128, 166, 166, 166, 166, 166,
1338 166, 166, 161, 166, 4, 24, 125, 129, 128, 194,
1339 131, 193, 128, 125, 128, 125, 125, 128, 128, 128,
1340 128, 128, 21, 131, 148, 199, 36, 131, 166, 166,
1341 166, 193, 191, 131, 148, 21, 128, 128, 128, 125,
1342 191, 193, 21, 125, 76, 193, 21, 21, 193, 193
1343};
1344
1345#define yyerrok (yyerrstatus = 0)
1346#define yyclearin (yychar = YYEMPTY)
1347#define YYEMPTY (-2)
1348#define YYEOF 0
1349
1350#define YYACCEPT goto yyacceptlab
1351#define YYABORT goto yyabortlab
1352#define YYERROR goto yyerrorlab
1353
1354
1355/* Like YYERROR except do call yyerror. This remains here temporarily
1356 to ease the transition to the new meaning of YYERROR, for GCC.
1357 Once GCC version 2 has supplanted version 1, this can go. */
1358
1359#define YYFAIL goto yyerrlab
1360
1361#define YYRECOVERING() (!!yyerrstatus)
1362
1363#define YYBACKUP(Token, Value) \
1364do \
1365 if (yychar == YYEMPTY && yylen == 1) \
1366 { \
1367 yychar = (Token); \
1368 yylval = (Value); \
1369 yytoken = YYTRANSLATE (yychar); \
1370 YYPOPSTACK; \
1371 goto yybackup; \
1372 } \
1373 else \
1374 { \
1375 yyerror (YY_("syntax error: cannot back up")); \
1376 YYERROR; \
1377 } \
1378while (0)
1379
1380
1381#define YYTERROR 1
1382#define YYERRCODE 256
1383
1384
1385/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1386 If N is 0, then set CURRENT to the empty location which ends
1387 the previous symbol: RHS[0] (always defined). */
1388
1389#define YYRHSLOC(Rhs, K) ((Rhs)[K])
1390#ifndef YYLLOC_DEFAULT
1391# define YYLLOC_DEFAULT(Current, Rhs, N) \
1392 do \
1393 if (N) \
1394 { \
1395 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1396 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1397 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1398 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1399 } \
1400 else \
1401 { \
1402 (Current).first_line = (Current).last_line = \
1403 YYRHSLOC (Rhs, 0).last_line; \
1404 (Current).first_column = (Current).last_column = \
1405 YYRHSLOC (Rhs, 0).last_column; \
1406 } \
1407 while (0)
1408#endif
1409
1410
1411/* YY_LOCATION_PRINT -- Print the location on the stream.
1412 This macro was not mandated originally: define only if we know
1413 we won't break user code: when these are the locations we know. */
1414
1415#ifndef YY_LOCATION_PRINT
1416# if YYLTYPE_IS_TRIVIAL
1417# define YY_LOCATION_PRINT(File, Loc) \
1418 fprintf (File, "%d.%d-%d.%d", \
1419 (Loc).first_line, (Loc).first_column, \
1420 (Loc).last_line, (Loc).last_column)
1421# else
1422# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1423# endif
1424#endif
1425
1426
1427/* YYLEX -- calling `yylex' with the right arguments. */
1428
1429#ifdef YYLEX_PARAM
1430# define YYLEX yylex (YYLEX_PARAM)
1431#else
1432# define YYLEX yylex ()
1433#endif
1434
1435/* Enable debugging if requested. */
1436#if YYDEBUG
1437
1438# ifndef YYFPRINTF
1439# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1440# define YYFPRINTF fprintf
1441# endif
1442
1443# define YYDPRINTF(Args) \
1444do { \
1445 if (yydebug) \
1446 YYFPRINTF Args; \
1447} while (0)
1448
1449# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1450do { \
1451 if (yydebug) \
1452 { \
1453 YYFPRINTF (stderr, "%s ", Title); \
1454 yysymprint (stderr, \
1455 Type, Value); \
1456 YYFPRINTF (stderr, "\n"); \
1457 } \
1458} while (0)
1459
1460/*------------------------------------------------------------------.
1461| yy_stack_print -- Print the state stack from its BOTTOM up to its |
1462| TOP (included). |
1463`------------------------------------------------------------------*/
1464
1465#if defined (__STDC__) || defined (__cplusplus)
1466static void
1467yy_stack_print (short int *bottom, short int *top)
1468#else
1469static void
1470yy_stack_print (bottom, top)
1471 short int *bottom;
1472 short int *top;
1473#endif
1474{
1475 YYFPRINTF (stderr, "Stack now");
1476 for (/* Nothing. */; bottom <= top; ++bottom)
1477 YYFPRINTF (stderr, " %d", *bottom);
1478 YYFPRINTF (stderr, "\n");
1479}
1480
1481# define YY_STACK_PRINT(Bottom, Top) \
1482do { \
1483 if (yydebug) \
1484 yy_stack_print ((Bottom), (Top)); \
1485} while (0)
1486
1487
1488/*------------------------------------------------.
1489| Report that the YYRULE is going to be reduced. |
1490`------------------------------------------------*/
1491
1492#if defined (__STDC__) || defined (__cplusplus)
1493static void
1494yy_reduce_print (int yyrule)
1495#else
1496static void
1497yy_reduce_print (yyrule)
1498 int yyrule;
1499#endif
1500{
1501 int yyi;
1502 unsigned long int yylno = yyrline[yyrule];
1503 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
1504 yyrule - 1, yylno);
1505 /* Print the symbols being reduced, and their result. */
1506 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
1507 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
1508 YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
1509}
1510
1511# define YY_REDUCE_PRINT(Rule) \
1512do { \
1513 if (yydebug) \
1514 yy_reduce_print (Rule); \
1515} while (0)
1516
1517/* Nonzero means print parse trace. It is left uninitialized so that
1518 multiple parsers can coexist. */
1519int yydebug;
1520#else /* !YYDEBUG */
1521# define YYDPRINTF(Args)
1522# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1523# define YY_STACK_PRINT(Bottom, Top)
1524# define YY_REDUCE_PRINT(Rule)
1525#endif /* !YYDEBUG */
1526
1527
1528/* YYINITDEPTH -- initial size of the parser's stacks. */
1529#ifndef YYINITDEPTH
1530# define YYINITDEPTH 200
1531#endif
1532
1533/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1534 if the built-in stack extension method is used).
1535
1536 Do not make this value too large; the results are undefined if
1537 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1538 evaluated with infinite-precision integer arithmetic. */
1539
1540#ifndef YYMAXDEPTH
1541# define YYMAXDEPTH 10000
1542#endif
1543
1544
1545
1546#if YYERROR_VERBOSE
1547
1548# ifndef yystrlen
1549# if defined (__GLIBC__) && defined (_STRING_H)
1550# define yystrlen strlen
1551# else
1552/* Return the length of YYSTR. */
1553static YYSIZE_T
1554# if defined (__STDC__) || defined (__cplusplus)
1555yystrlen (const char *yystr)
1556# else
1557yystrlen (yystr)
1558 const char *yystr;
1559# endif
1560{
1561 const char *yys = yystr;
1562
1563 while (*yys++ != '\0')
1564 continue;
1565
1566 return yys - yystr - 1;
1567}
1568# endif
1569# endif
1570
1571# ifndef yystpcpy
1572# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
1573# define yystpcpy stpcpy
1574# else
1575/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1576 YYDEST. */
1577static char *
1578# if defined (__STDC__) || defined (__cplusplus)
1579yystpcpy (char *yydest, const char *yysrc)
1580# else
1581yystpcpy (yydest, yysrc)
1582 char *yydest;
1583 const char *yysrc;
1584# endif
1585{
1586 char *yyd = yydest;
1587 const char *yys = yysrc;
1588
1589 while ((*yyd++ = *yys++) != '\0')
1590 continue;
1591
1592 return yyd - 1;
1593}
1594# endif
1595# endif
1596
1597# ifndef yytnamerr
1598/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1599 quotes and backslashes, so that it's suitable for yyerror. The
1600 heuristic is that double-quoting is unnecessary unless the string
1601 contains an apostrophe, a comma, or backslash (other than
1602 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1603 null, do not copy; instead, return the length of what the result
1604 would have been. */
1605static YYSIZE_T
1606yytnamerr (char *yyres, const char *yystr)
1607{
1608 if (*yystr == '"')
1609 {
1610 size_t yyn = 0;
1611 char const *yyp = yystr;
1612
1613 for (;;)
1614 switch (*++yyp)
1615 {
1616 case '\'':
1617 case ',':
1618 goto do_not_strip_quotes;
1619
1620 case '\\':
1621 if (*++yyp != '\\')
1622 goto do_not_strip_quotes;
1623 /* Fall through. */
1624 default:
1625 if (yyres)
1626 yyres[yyn] = *yyp;
1627 yyn++;
1628 break;
1629
1630 case '"':
1631 if (yyres)
1632 yyres[yyn] = '\0';
1633 return yyn;
1634 }
1635 do_not_strip_quotes: ;
1636 }
1637
1638 if (! yyres)
1639 return yystrlen (yystr);
1640
1641 return yystpcpy (yyres, yystr) - yyres;
1642}
1643# endif
1644
1645#endif /* YYERROR_VERBOSE */
1646
1647
1648
1649#if YYDEBUG
1650/*--------------------------------.
1651| Print this symbol on YYOUTPUT. |
1652`--------------------------------*/
1653
1654#if defined (__STDC__) || defined (__cplusplus)
1655static void
1656yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
1657#else
1658static void
1659yysymprint (yyoutput, yytype, yyvaluep)
1660 FILE *yyoutput;
1661 int yytype;
1662 YYSTYPE *yyvaluep;
1663#endif
1664{
1665 /* Pacify ``unused variable'' warnings. */
1666 (void) yyvaluep;
1667
1668 if (yytype < YYNTOKENS)
1669 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1670 else
1671 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1672
1673
1674# ifdef YYPRINT
1675 if (yytype < YYNTOKENS)
1676 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1677# endif
1678 switch (yytype)
1679 {
1680 default:
1681 break;
1682 }
1683 YYFPRINTF (yyoutput, ")");
1684}
1685
1686#endif /* ! YYDEBUG */
1687/*-----------------------------------------------.
1688| Release the memory associated to this symbol. |
1689`-----------------------------------------------*/
1690
1691#if defined (__STDC__) || defined (__cplusplus)
1692static void
1693yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1694#else
1695static void
1696yydestruct (yymsg, yytype, yyvaluep)
1697 const char *yymsg;
1698 int yytype;
1699 YYSTYPE *yyvaluep;
1700#endif
1701{
1702 /* Pacify ``unused variable'' warnings. */
1703 (void) yyvaluep;
1704
1705 if (!yymsg)
1706 yymsg = "Deleting";
1707 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1708
1709 switch (yytype)
1710 {
1711
1712 default:
1713 break;
1714 }
1715}
1716
1717
1718/* Prevent warnings from -Wmissing-prototypes. */
1719
1720#ifdef YYPARSE_PARAM
1721# if defined (__STDC__) || defined (__cplusplus)
1722int yyparse (void *YYPARSE_PARAM);
1723# else
1724int yyparse ();
1725# endif
1726#else /* ! YYPARSE_PARAM */
1727#if defined (__STDC__) || defined (__cplusplus)
1728int yyparse (void);
1729#else
1730int yyparse ();
1731#endif
1732#endif /* ! YYPARSE_PARAM */
1733
1734
1735
1736/* The look-ahead symbol. */
1737int yychar;
1738
1739/* The semantic value of the look-ahead symbol. */
1740YYSTYPE yylval;
1741
1742/* Number of syntax errors so far. */
1743int yynerrs;
1744
1745
1746
1747/*----------.
1748| yyparse. |
1749`----------*/
1750
1751#ifdef YYPARSE_PARAM
1752# if defined (__STDC__) || defined (__cplusplus)
1753int yyparse (void *YYPARSE_PARAM)
1754# else
1755int yyparse (YYPARSE_PARAM)
1756 void *YYPARSE_PARAM;
1757# endif
1758#else /* ! YYPARSE_PARAM */
1759#if defined (__STDC__) || defined (__cplusplus)
1760int
1761yyparse (void)
1762#else
1763int
1764yyparse ()
1765
1766#endif
1767#endif
1768{
1769
1770 int yystate;
1771 int yyn;
1772 int yyresult;
1773 /* Number of tokens to shift before error messages enabled. */
1774 int yyerrstatus;
1775 /* Look-ahead token as an internal (translated) token number. */
1776 int yytoken = 0;
1777
1778 /* Three stacks and their tools:
1779 `yyss': related to states,
1780 `yyvs': related to semantic values,
1781 `yyls': related to locations.
1782
1783 Refer to the stacks thru separate pointers, to allow yyoverflow
1784 to reallocate them elsewhere. */
1785
1786 /* The state stack. */
1787 short int yyssa[YYINITDEPTH];
1788 short int *yyss = yyssa;
1789 short int *yyssp;
1790
1791 /* The semantic value stack. */
1792 YYSTYPE yyvsa[YYINITDEPTH];
1793 YYSTYPE *yyvs = yyvsa;
1794 YYSTYPE *yyvsp;
1795
1796
1797
1798#define YYPOPSTACK (yyvsp--, yyssp--)
1799
1800 YYSIZE_T yystacksize = YYINITDEPTH;
1801
1802 /* The variables used to return semantic value and location from the
1803 action routines. */
1804 YYSTYPE yyval;
1805
1806
1807 /* When reducing, the number of symbols on the RHS of the reduced
1808 rule. */
1809 int yylen;
1810
1811 YYDPRINTF ((stderr, "Starting parse\n"));
1812
1813 yystate = 0;
1814 yyerrstatus = 0;
1815 yynerrs = 0;
1816 yychar = YYEMPTY; /* Cause a token to be read. */
1817
1818 /* Initialize stack pointers.
1819 Waste one element of value and location stack
1820 so that they stay on the same level as the state stack.
1821 The wasted elements are never initialized. */
1822
1823 yyssp = yyss;
1824 yyvsp = yyvs;
1825
1826 goto yysetstate;
1827
1828/*------------------------------------------------------------.
1829| yynewstate -- Push a new state, which is found in yystate. |
1830`------------------------------------------------------------*/
1831 yynewstate:
1832 /* In all cases, when you get here, the value and location stacks
1833 have just been pushed. so pushing a state here evens the stacks.
1834 */
1835 yyssp++;
1836
1837 yysetstate:
1838 *yyssp = yystate;
1839
1840 if (yyss + yystacksize - 1 <= yyssp)
1841 {
1842 /* Get the current used size of the three stacks, in elements. */
1843 YYSIZE_T yysize = yyssp - yyss + 1;
1844
1845#ifdef yyoverflow
1846 {
1847 /* Give user a chance to reallocate the stack. Use copies of
1848 these so that the &'s don't force the real ones into
1849 memory. */
1850 YYSTYPE *yyvs1 = yyvs;
1851 short int *yyss1 = yyss;
1852
1853
1854 /* Each stack pointer address is followed by the size of the
1855 data in use in that stack, in bytes. This used to be a
1856 conditional around just the two extra args, but that might
1857 be undefined if yyoverflow is a macro. */
1858 yyoverflow (YY_("memory exhausted"),
1859 &yyss1, yysize * sizeof (*yyssp),
1860 &yyvs1, yysize * sizeof (*yyvsp),
1861
1862 &yystacksize);
1863
1864 yyss = yyss1;
1865 yyvs = yyvs1;
1866 }
1867#else /* no yyoverflow */
1868# ifndef YYSTACK_RELOCATE
1869 goto yyexhaustedlab;
1870# else
1871 /* Extend the stack our own way. */
1872 if (YYMAXDEPTH <= yystacksize)
1873 goto yyexhaustedlab;
1874 yystacksize *= 2;
1875 if (YYMAXDEPTH < yystacksize)
1876 yystacksize = YYMAXDEPTH;
1877
1878 {
1879 short int *yyss1 = yyss;
1880 union yyalloc *yyptr =
1881 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1882 if (! yyptr)
1883 goto yyexhaustedlab;
1884 YYSTACK_RELOCATE (yyss);
1885 YYSTACK_RELOCATE (yyvs);
1886
1887# undef YYSTACK_RELOCATE
1888 if (yyss1 != yyssa)
1889 YYSTACK_FREE (yyss1);
1890 }
1891# endif
1892#endif /* no yyoverflow */
1893
1894 yyssp = yyss + yysize - 1;
1895 yyvsp = yyvs + yysize - 1;
1896
1897
1898 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1899 (unsigned long int) yystacksize));
1900
1901 if (yyss + yystacksize - 1 <= yyssp)
1902 YYABORT;
1903 }
1904
1905 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1906
1907 goto yybackup;
1908
1909/*-----------.
1910| yybackup. |
1911`-----------*/
1912yybackup:
1913
1914/* Do appropriate processing given the current state. */
1915/* Read a look-ahead token if we need one and don't already have one. */
1916/* yyresume: */
1917
1918 /* First try to decide what to do without reference to look-ahead token. */
1919
1920 yyn = yypact[yystate];
1921 if (yyn == YYPACT_NINF)
1922 goto yydefault;
1923
1924 /* Not known => get a look-ahead token if don't already have one. */
1925
1926 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
1927 if (yychar == YYEMPTY)
1928 {
1929 YYDPRINTF ((stderr, "Reading a token: "));
1930 yychar = YYLEX;
1931 }
1932
1933 if (yychar <= YYEOF)
1934 {
1935 yychar = yytoken = YYEOF;
1936 YYDPRINTF ((stderr, "Now at end of input.\n"));
1937 }
1938 else
1939 {
1940 yytoken = YYTRANSLATE (yychar);
1941 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1942 }
1943
1944 /* If the proper action on seeing token YYTOKEN is to reduce or to
1945 detect an error, take that action. */
1946 yyn += yytoken;
1947 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1948 goto yydefault;
1949 yyn = yytable[yyn];
1950 if (yyn <= 0)
1951 {
1952 if (yyn == 0 || yyn == YYTABLE_NINF)
1953 goto yyerrlab;
1954 yyn = -yyn;
1955 goto yyreduce;
1956 }
1957
1958 if (yyn == YYFINAL)
1959 YYACCEPT;
1960
1961 /* Shift the look-ahead token. */
1962 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1963
1964 /* Discard the token being shifted unless it is eof. */
1965 if (yychar != YYEOF)
1966 yychar = YYEMPTY;
1967
1968 *++yyvsp = yylval;
1969
1970
1971 /* Count tokens shifted since error; after three, turn off error
1972 status. */
1973 if (yyerrstatus)
1974 yyerrstatus--;
1975
1976 yystate = yyn;
1977 goto yynewstate;
1978
1979
1980/*-----------------------------------------------------------.
1981| yydefault -- do the default action for the current state. |
1982`-----------------------------------------------------------*/
1983yydefault:
1984 yyn = yydefact[yystate];
1985 if (yyn == 0)
1986 goto yyerrlab;
1987 goto yyreduce;
1988
1989
1990/*-----------------------------.
1991| yyreduce -- Do a reduction. |
1992`-----------------------------*/
1993yyreduce:
1994 /* yyn is the number of a rule to reduce with. */
1995 yylen = yyr2[yyn];
1996
1997 /* If YYLEN is nonzero, implement the default value of the action:
1998 `$$ = $1'.
1999
2000 Otherwise, the following line sets YYVAL to garbage.
2001 This behavior is undocumented and Bison
2002 users should not rely upon it. Assigning to YYVAL
2003 unconditionally makes the parser a bit smaller, and it avoids a
2004 GCC warning that YYVAL may be used uninitialized. */
2005 yyval = yyvsp[1-yylen];
2006
2007
2008 YY_REDUCE_PRINT (yyn);
2009 switch (yyn)
2010 {
2011 case 40:
2012#line 108 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2013 {
2014 (yyvsp[-1])->append(" = ");
2015 (yyval) = (yyvsp[-1]);
2016 ;}
2017 break;
2018
2019 case 41:
2020#line 112 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2021 {
2022 (yyval) = new std::string("");
2023 ;}
2024 break;
2025
2026 case 49:
2027#line 119 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2028 { (yyval) = new std::string(""); ;}
2029 break;
2030
2031 case 57:
2032#line 124 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2033 { (yyval) = new std::string(""); ;}
2034 break;
2035
2036 case 58:
2037#line 129 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2038 { (yyval) = new std::string(); ;}
2039 break;
2040
2041 case 59:
2042#line 130 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2043 { *(yyvsp[-1]) += " " + *(yyvsp[0]); delete (yyvsp[0]); (yyval) = (yyvsp[-1]); ;}
2044 break;
2045
2046 case 60:
2047#line 133 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2048 { (yyval) = new std::string(); ;}
2049 break;
2050
2051 case 61:
2052#line 134 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2053 {
2054 (yyvsp[-1])->insert(0, ", ");
2055 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2056 delete (yyvsp[0]);
2057 (yyval) = (yyvsp[-1]);
2058 ;}
2059 break;
2060
2061 case 62:
2062#line 142 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2063 {
2064 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2065 delete (yyvsp[0]);
2066 (yyval) = (yyvsp[-1]);
2067 ;}
2068 break;
2069
2070 case 63:
2071#line 148 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2072 { (yyval) = new std::string(); ;}
2073 break;
2074
2075 case 65:
2076#line 152 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2077 { (yyval) = new std::string(); ;}
2078 break;
2079
2080 case 66:
2081#line 153 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2082 {
2083 (yyvsp[-1])->insert(0, ", ");
2084 if (!(yyvsp[0])->empty())
2085 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2086 delete (yyvsp[0]);
2087 (yyval) = (yyvsp[-1]);
2088 ;}
2089 break;
2090
2091 case 68:
2092#line 163 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2093 {
2094 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2095 delete (yyvsp[0]);
2096 (yyval) = (yyvsp[-1]);
2097 ;}
2098 break;
2099
2100 case 90:
2101#line 188 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2102 { // Type UpReference
2103 (yyvsp[0])->insert(0, "\\");
2104 (yyval) = (yyvsp[0]);
2105 ;}
2106 break;
2107
2108 case 91:
2109#line 192 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2110 { // Function derived type?
2111 *(yyvsp[-3]) += "( " + *(yyvsp[-1]) + " )";
2112 delete (yyvsp[-1]);
2113 (yyval) = (yyvsp[-3]);
2114 ;}
2115 break;
2116
2117 case 92:
2118#line 197 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2119 { // Sized array type?
2120 (yyvsp[-3])->insert(0,"[ ");
2121 *(yyvsp[-3]) += " x " + *(yyvsp[-1]) + " ]";
2122 delete (yyvsp[-1]);
2123 (yyval) = (yyvsp[-3]);
2124 ;}
2125 break;
2126
2127 case 93:
2128#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2129 { // Packed array type?
2130 (yyvsp[-3])->insert(0,"< ");
2131 *(yyvsp[-3]) += " x " + *(yyvsp[-1]) + " >";
2132 delete (yyvsp[-1]);
2133 (yyval) = (yyvsp[-3]);
2134 ;}
2135 break;
2136
2137 case 94:
2138#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2139 { // Structure type?
2140 (yyvsp[-1])->insert(0, "{ ");
2141 *(yyvsp[-1]) += " }";
2142 (yyval) = (yyvsp[-1]);
2143 ;}
2144 break;
2145
2146 case 95:
2147#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2148 { // Empty structure type?
2149 (yyval) = new std::string("{ }");
2150 ;}
2151 break;
2152
2153 case 96:
2154#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2155 { // Pointer type?
2156 *(yyvsp[-1]) += '*';
2157 (yyval) = (yyvsp[-1]);
2158 ;}
2159 break;
2160
2161 case 98:
2162#line 225 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2163 {
2164 *(yyvsp[-2]) += ", " + *(yyvsp[0]);
2165 delete (yyvsp[0]);
2166 (yyval) = (yyvsp[-2]);
2167 ;}
2168 break;
2169
2170 case 100:
2171#line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2172 {
2173 *(yyvsp[-2]) += ", ...";
2174 delete (yyvsp[0]);
2175 (yyval) = (yyvsp[-2]);
2176 ;}
2177 break;
2178
2179 case 101:
2180#line 238 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2181 {
2182 (yyval) = (yyvsp[0]);
2183 ;}
2184 break;
2185
2186 case 102:
2187#line 241 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2188 {
2189 (yyval) = new std::string();
2190 ;}
2191 break;
2192
2193 case 103:
2194#line 251 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2195 { // Nonempty unsized arr
2196 *(yyvsp[-3]) += " [ " + *(yyvsp[-1]) + " ]";
2197 delete (yyvsp[-1]);
2198 (yyval) = (yyvsp[-3]);
2199 ;}
2200 break;
2201
2202 case 104:
2203#line 256 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2204 {
2205 (yyval) = new std::string("[ ]");
2206 ;}
2207 break;
2208
2209 case 105:
2210#line 259 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2211 {
2212 *(yyvsp[-2]) += " c" + *(yyvsp[0]);
2213 delete (yyvsp[0]);
2214 (yyval) = (yyvsp[-2]);
2215 ;}
2216 break;
2217
2218 case 106:
2219#line 264 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2220 { // Nonempty unsized arr
2221 *(yyvsp[-3]) += " < " + *(yyvsp[-1]) + " >";
2222 delete (yyvsp[-1]);
2223 (yyval) = (yyvsp[-3]);
2224 ;}
2225 break;
2226
2227 case 107:
2228#line 269 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2229 {
2230 *(yyvsp[-3]) += " { " + *(yyvsp[-1]) + " }";
2231 delete (yyvsp[-1]);
2232 (yyval) = (yyvsp[-3]);
2233 ;}
2234 break;
2235
2236 case 108:
2237#line 274 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2238 {
2239 (yyval) = new std::string("[ ]");
2240 ;}
2241 break;
2242
2243 case 109:
2244#line 277 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2245 {
2246 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2247 delete (yyvsp[0]);
2248 (yyval) = (yyvsp[-1]);
2249 ;}
2250 break;
2251
2252 case 110:
2253#line 282 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2254 {
2255 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2256 delete (yyvsp[0]);
2257 (yyval) = (yyvsp[-1]);
2258 ;}
2259 break;
2260
2261 case 111:
2262#line 287 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2263 {
2264 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2265 delete (yyvsp[0]);
2266 (yyval) = (yyvsp[-1]);
2267 ;}
2268 break;
2269
2270 case 112:
2271#line 292 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2272 {
2273 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2274 delete (yyvsp[0]);
2275 (yyval) = (yyvsp[-1]);
2276 ;}
2277 break;
2278
2279 case 113:
2280#line 297 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2281 {
2282 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2283 delete (yyvsp[0]);
2284 (yyval) = (yyvsp[-1]);
2285 ;}
2286 break;
2287
2288 case 114:
2289#line 303 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2290 { // integral constants
2291 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2292 delete (yyvsp[0]);
2293 (yyval) = (yyvsp[-1]);
2294 ;}
2295 break;
2296
2297 case 115:
2298#line 308 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2299 { // integral constants
2300 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2301 delete (yyvsp[0]);
2302 (yyval) = (yyvsp[-1]);
2303 ;}
2304 break;
2305
2306 case 116:
2307#line 313 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2308 { // Boolean constants
2309 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2310 delete (yyvsp[0]);
2311 (yyval) = (yyvsp[-1]);
2312 ;}
2313 break;
2314
2315 case 117:
2316#line 318 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2317 { // Boolean constants
2318 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2319 delete (yyvsp[0]);
2320 (yyval) = (yyvsp[-1]);
2321 ;}
2322 break;
2323
2324 case 118:
2325#line 323 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2326 { // Float & Double constants
2327 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2328 delete (yyvsp[0]);
2329 (yyval) = (yyvsp[-1]);
2330 ;}
2331 break;
2332
2333 case 119:
2334#line 330 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2335 {
2336 *(yyvsp[-5]) += " (" + *(yyvsp[-3]) + " " + *(yyvsp[-2]) + " " + *(yyvsp[-1]) + ")";
2337 delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]);
2338 (yyval) = (yyvsp[-5]);
2339 ;}
2340 break;
2341
2342 case 120:
2343#line 335 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2344 {
2345 ;}
2346 break;
2347
2348 case 121:
2349#line 337 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2350 {
2351 ;}
2352 break;
2353
2354 case 122:
2355#line 339 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2356 {
2357 ;}
2358 break;
2359
2360 case 123:
2361#line 341 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2362 {
2363 ;}
2364 break;
2365
2366 case 124:
2367#line 343 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2368 {
2369 ;}
2370 break;
2371
2372 case 125:
2373#line 345 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2374 {
2375 ;}
2376 break;
2377
2378 case 126:
2379#line 347 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2380 {
2381 ;}
2382 break;
2383
2384 case 127:
2385#line 349 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2386 {
2387 ;}
2388 break;
2389
2390 case 128:
2391#line 351 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2392 {
2393 ;}
2394 break;
2395
2396 case 129:
2397#line 356 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2398 {
2399 ;}
2400 break;
2401
2402 case 130:
2403#line 358 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2404 {
2405 ;}
2406 break;
2407
2408 case 131:
2409#line 363 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2410 { ;}
2411 break;
2412
2413 case 132:
2414#line 363 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2415 { ;}
2416 break;
2417
2418 case 133:
2419#line 373 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2420 {
2421;}
2422 break;
2423
2424 case 134:
2425#line 378 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2426 {
2427 (yyval) = 0;
2428 ;}
2429 break;
2430
2431 case 135:
2432#line 381 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2433 {
2434 *O << *(yyvsp[0]) << "\n";
2435 delete (yyvsp[0]);
2436 (yyval) = 0;
2437 ;}
2438 break;
2439
2440 case 136:
2441#line 386 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2442 {
2443 *O << "module asm " << " " << *(yyvsp[0]) << "\n";
2444 ;}
2445 break;
2446
2447 case 137:
2448#line 389 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2449 {
2450 *O << "implementation\n";
2451 ;}
2452 break;
2453
2454 case 138:
2455#line 392 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2456 {
2457 ;}
2458 break;
2459
2460 case 139:
2461#line 396 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2462 {
2463 *O << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2464 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2465 (yyval) = 0;
2466 ;}
2467 break;
2468
2469 case 140:
2470#line 401 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2471 { // Function prototypes can be in const pool
2472 *O << *(yyvsp[0]) << "\n";
2473 delete (yyvsp[0]);
2474 (yyval) = 0;
2475 ;}
2476 break;
2477
2478 case 141:
2479#line 406 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2480 { // Asm blocks can be in the const pool
2481 *O << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2482 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2483 (yyval) = 0;
2484 ;}
2485 break;
2486
2487 case 142:
2488#line 411 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2489 {
2490 *O << *(yyvsp[-4]) << " " << *(yyvsp[-3]) << " " << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2491 delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2492 (yyval) = 0;
2493 ;}
2494 break;
2495
2496 case 143:
2497#line 416 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2498 {
2499 *O << *(yyvsp[-4]) << " " << *(yyvsp[-3]) << " " << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2500 delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2501 (yyval) = 0;
2502 ;}
2503 break;
2504
2505 case 144:
2506#line 421 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2507 {
2508 *O << *(yyvsp[-4]) << " " << *(yyvsp[-3]) << " " << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2509 delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2510 (yyval) = 0;
2511 ;}
2512 break;
2513
2514 case 145:
2515#line 426 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2516 {
2517 *O << *(yyvsp[-4]) << " " << *(yyvsp[-3]) << " " << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2518 delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2519 (yyval) = 0;
2520 ;}
2521 break;
2522
2523 case 146:
2524#line 431 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2525 {
2526 *O << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2527 delete (yyvsp[-1]); delete (yyvsp[0]);
2528 (yyval) = 0;
2529 ;}
2530 break;
2531
2532 case 147:
2533#line 436 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2534 {
2535 *O << *(yyvsp[-2]) << " = " << *(yyvsp[0]) << "\n";
2536 delete (yyvsp[-2]); delete (yyvsp[0]);
2537 (yyval) = 0;
2538 ;}
2539 break;
2540
2541 case 148:
2542#line 441 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2543 {
2544 (yyval) = 0;
2545 ;}
2546 break;
2547
2548 case 152:
2549#line 451 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2550 {
2551 *(yyvsp[-2]) += " = " + *(yyvsp[-1]);
2552 delete (yyvsp[-1]);
2553 (yyval) = (yyvsp[-2]);
2554 ;}
2555 break;
2556
2557 case 153:
2558#line 456 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2559 {
2560 *(yyvsp[-2]) += " = " + *(yyvsp[-1]);
2561 delete (yyvsp[-1]);
2562 (yyval) = (yyvsp[-2]);
2563 ;}
2564 break;
2565
2566 case 154:
2567#line 461 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2568 {
2569 *(yyvsp[-2]) += " = " + *(yyvsp[-1]);
2570 delete (yyvsp[-1]);
2571 (yyval) = (yyvsp[-2]);
2572 ;}
2573 break;
2574
2575 case 155:
2576#line 466 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2577 {
2578 *(yyvsp[-2]) += " = " + *(yyvsp[-1]);
2579 delete (yyvsp[-1]);
2580 (yyval) = (yyvsp[-2]);
2581 ;}
2582 break;
2583
2584 case 156:
2585#line 473 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2586 {
2587 (yyvsp[-1])->insert(0, "[ ");
2588 *(yyvsp[-1]) += " ]";
2589 (yyval) = (yyvsp[-1]);
2590 ;}
2591 break;
2592
2593 case 157:
2594#line 480 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2595 {
2596 *(yyvsp[-2]) += ", " + *(yyvsp[0]);
2597 delete (yyvsp[0]);
2598 (yyval) = (yyvsp[-2]);
2599 ;}
2600 break;
2601
2602 case 159:
2603#line 486 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2604 {
2605 (yyval) = new std::string();
2606 ;}
2607 break;
2608
2609 case 163:
2610#line 495 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2611 { (yyval) = new std::string(); ;}
2612 break;
2613
2614 case 164:
2615#line 497 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2616 {
2617 (yyval) = (yyvsp[-1]);
2618 if (!(yyvsp[0])->empty())
2619 *(yyval) += " " + *(yyvsp[0]);
2620;}
2621 break;
2622
2623 case 165:
2624#line 503 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2625 {
2626 *(yyvsp[-2]) += ", " + *(yyvsp[0]);
2627 ;}
2628 break;
2629
2630 case 166:
2631#line 506 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2632 {
2633 (yyval) = (yyvsp[0]);
2634 ;}
2635 break;
2636
2637 case 167:
2638#line 510 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2639 {
2640 (yyval) = (yyvsp[0]);
2641 ;}
2642 break;
2643
2644 case 168:
2645#line 513 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2646 {
2647 *(yyvsp[-2]) += ", ...";
2648 (yyval) = (yyvsp[-2]);
2649 ;}
2650 break;
2651
2652 case 169:
2653#line 517 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2654 {
2655 (yyval) = (yyvsp[0]);
2656 ;}
2657 break;
2658
2659 case 170:
2660#line 520 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2661 {
2662 (yyval) = new std::string();
2663 ;}
2664 break;
2665
2666 case 171:
2667#line 525 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2668 {
2669 if (!(yyvsp[-7])->empty()) {
2670 (yyvsp[-6])->insert(0, *(yyvsp[-7]) + " ");
2671 }
2672 *(yyvsp[-6]) += " " + *(yyvsp[-5]) + "( " + *(yyvsp[-3]) + " )";
2673 if (!(yyvsp[-1])->empty()) {
2674 *(yyvsp[-6]) += " " + *(yyvsp[-1]);
2675 }
2676 if (!(yyvsp[0])->empty()) {
2677 *(yyvsp[-6]) += " " + *(yyvsp[0]);
2678 }
2679 (yyval) = (yyvsp[-6]);
2680 ;}
2681 break;
2682
2683 case 172:
2684#line 539 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2685 {
2686 (yyval) = new std::string("begin");
2687 ;}
2688 break;
2689
2690 case 173:
2691#line 542 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2692 {
2693 (yyval) = new std::string ("{");
2694 ;}
2695 break;
2696
2697 case 174:
2698#line 546 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2699 {
2700 if (!(yyvsp[-2])->empty()) {
2701 *O << *(yyvsp[-2]) << " ";
2702 }
2703 *O << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2704 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2705 (yyval) = 0;
2706;}
2707 break;
2708
2709 case 175:
2710#line 555 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2711 { (yyval) = new std::string("end"); ;}
2712 break;
2713
2714 case 176:
2715#line 556 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2716 { (yyval) = new std::string("}"); ;}
2717 break;
2718
2719 case 177:
2720#line 558 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2721 {
2722 if ((yyvsp[-1]))
2723 *O << *(yyvsp[-1]);
2724 *O << '\n' << *(yyvsp[0]) << "\n";
2725;}
2726 break;
2727
2728 case 181:
2729#line 570 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2730 {
2731 *(yyvsp[-2]) += " " + *(yyvsp[-1]) + " " + *(yyvsp[0]);
2732 delete (yyvsp[-1]); delete (yyvsp[0]);
2733 (yyval) = (yyvsp[-2]);
2734 ;}
2735 break;
2736
2737 case 182:
2738#line 580 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2739 {
2740 ;}
2741 break;
2742
2743 case 183:
2744#line 582 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2745 {
2746 ;}
2747 break;
2748
2749 case 192:
2750#line 587 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2751 {
2752 (yyvsp[-1])->insert(0, "<");
2753 *(yyvsp[-1]) += ">";
2754 (yyval) = (yyvsp[-1]);
2755 ;}
2756 break;
2757
2758 case 194:
2759#line 593 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2760 {
2761 if (!(yyvsp[-3])->empty()) {
2762 *(yyvsp[-4]) += " " + *(yyvsp[-3]);
2763 }
2764 *(yyvsp[-4]) += " " + *(yyvsp[-2]) + ", " + *(yyvsp[-1]);
2765 delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]);
2766 (yyval) = (yyvsp[-4]);
2767 ;}
2768 break;
2769
2770 case 199:
2771#line 611 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2772 {
2773 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2774 delete (yyvsp[0]);
2775 (yyval) = (yyvsp[-1]);
2776 ;}
2777 break;
2778
2779 case 200:
2780#line 617 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2781 {
2782 ;}
2783 break;
2784
2785 case 201:
2786#line 619 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2787 { // Do not allow functions with 0 basic blocks
2788 ;}
2789 break;
2790
2791 case 202:
2792#line 626 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2793 {
2794 *O << *(yyvsp[-1]) ;
2795 ;}
2796 break;
2797
2798 case 203:
2799#line 630 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2800 {
2801 *O << " " << *(yyvsp[0]) << "\n";
2802 delete (yyvsp[0]);
2803 (yyval) = 0;
2804 ;}
2805 break;
2806
2807 case 204:
2808#line 635 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2809 {
2810 (yyval) = 0;
2811 ;}
2812 break;
2813
2814 case 205:
2815#line 638 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2816 {
2817 *O << *(yyvsp[0]) << "\n";
2818 delete (yyvsp[0]);
2819 (yyval) = 0;
2820 ;}
2821 break;
2822
2823 case 206:
2824#line 644 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2825 { // Return with a result...
2826 *O << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2827 delete (yyvsp[-1]); delete (yyvsp[0]);
2828 (yyval) = 0;
2829 ;}
2830 break;
2831
2832 case 207:
2833#line 649 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2834 { // Return with no result...
2835 *O << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2836 delete (yyvsp[-1]); delete (yyvsp[0]);
2837 (yyval) = 0;
2838 ;}
2839 break;
2840
2841 case 208:
2842#line 654 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2843 { // Unconditional Branch...
2844 *O << " " << *(yyvsp[-2]) << " " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2845 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2846 (yyval) = 0;
2847 ;}
2848 break;
2849
2850 case 209:
2851#line 659 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2852 {
2853 *O << " " << *(yyvsp[-8]) << " " << *(yyvsp[-7]) << " " << *(yyvsp[-6]) << ", " << *(yyvsp[-4]) << " "
2854 << *(yyvsp[-3]) << ", " << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2855 delete (yyvsp[-8]); delete (yyvsp[-7]); delete (yyvsp[-6]); delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-1]); delete (yyvsp[0]);
2856 (yyval) = 0;
2857 ;}
2858 break;
2859
2860 case 210:
2861#line 665 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2862 {
2863 *O << " " << *(yyvsp[-8]) << " " << *(yyvsp[-7]) << " " << *(yyvsp[-6]) << ", " << *(yyvsp[-4]) << " "
2864 << *(yyvsp[-3]) << " [" << *(yyvsp[-1]) << " ]\n";
2865 delete (yyvsp[-8]); delete (yyvsp[-7]); delete (yyvsp[-6]); delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-1]);
2866 (yyval) = 0;
2867 ;}
2868 break;
2869
2870 case 211:
2871#line 671 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2872 {
2873 *O << " " << *(yyvsp[-7]) << " " << *(yyvsp[-6]) << " " << *(yyvsp[-5]) << ", " << *(yyvsp[-3]) << " "
2874 << *(yyvsp[-2]) << "[]\n";
2875 delete (yyvsp[-7]); delete (yyvsp[-6]); delete (yyvsp[-5]); delete (yyvsp[-3]); delete (yyvsp[-2]);
2876 (yyval) = 0;
2877 ;}
2878 break;
2879
2880 case 212:
2881#line 678 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2882 {
2883 *O << " " << *(yyvsp[-12]) << " " << *(yyvsp[-11]) << " " << *(yyvsp[-10]) << " " << *(yyvsp[-9]) << " ("
2884 << *(yyvsp[-7]) << ") " << *(yyvsp[-5]) << " " << *(yyvsp[-4]) << " " << *(yyvsp[-3]) << " " << *(yyvsp[-2]) << " "
2885 << *(yyvsp[-1]) << " " << *(yyvsp[0]) << "\n";
2886 delete (yyvsp[-12]); delete (yyvsp[-11]); delete (yyvsp[-10]); delete (yyvsp[-9]); delete (yyvsp[-7]); delete (yyvsp[-5]); delete (yyvsp[-4]);
2887 delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
2888 (yyval) = 0;
2889 ;}
2890 break;
2891
2892 case 213:
2893#line 686 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2894 {
2895 *O << " " << *(yyvsp[0]) << "\n";
2896 delete (yyvsp[0]);
2897 (yyval) = 0;
2898 ;}
2899 break;
2900
2901 case 214:
2902#line 691 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2903 {
2904 *O << " " << *(yyvsp[0]) << "\n";
2905 delete (yyvsp[0]);
2906 (yyval) = 0;
2907 ;}
2908 break;
2909
2910 case 215:
2911#line 697 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2912 {
2913 *(yyvsp[-5]) += *(yyvsp[-4]) + " " + *(yyvsp[-3]) + ", " + *(yyvsp[-1]) + " " + *(yyvsp[0]);
2914 delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-1]); delete (yyvsp[0]);
2915 (yyval) = (yyvsp[-5]);
2916 ;}
2917 break;
2918
2919 case 216:
2920#line 702 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2921 {
2922 *(yyvsp[-4]) += *(yyvsp[-3]) + ", " + *(yyvsp[-1]) + " " + *(yyvsp[0]);
2923 delete (yyvsp[-3]); delete (yyvsp[-1]); delete (yyvsp[0]);
2924 (yyval) = (yyvsp[-4]);
2925 ;}
2926 break;
2927
2928 case 217:
2929#line 709 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2930 {
2931 *(yyvsp[-1]) += *(yyvsp[0]);
2932 delete (yyvsp[0]);
2933 (yyval) = (yyvsp[-1]);
2934 ;}
2935 break;
2936
2937 case 218:
2938#line 716 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2939 { // Used for PHI nodes
2940 *(yyvsp[-5]) += " [" + *(yyvsp[-3]) + "," + *(yyvsp[-1]) + "]";
2941 delete (yyvsp[-3]); delete (yyvsp[-1]);
2942 (yyval) = (yyvsp[-5]);
2943 ;}
2944 break;
2945
2946 case 219:
2947#line 721 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2948 {
2949 *(yyvsp[-6]) += ", [" + *(yyvsp[-3]) + "," + *(yyvsp[-1]) + "]";
2950 delete (yyvsp[-3]); delete (yyvsp[-1]);
2951 (yyval) = (yyvsp[-6]);
2952 ;}
2953 break;
2954
2955 case 221:
2956#line 730 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2957 {
2958 *(yyvsp[-2]) += ", " + *(yyvsp[0]);
2959 delete (yyvsp[0]);
2960 (yyval) = (yyvsp[-2]);
2961 ;}
2962 break;
2963
2964 case 223:
2965#line 739 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2966 { (yyval) = new std::string(); ;}
2967 break;
2968
2969 case 224:
2970#line 743 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2971 {
2972 *(yyvsp[-1]) += " " + *(yyvsp[0]);
2973 delete (yyvsp[0]);
2974 (yyval) = (yyvsp[-1]);
2975 ;}
2976 break;
2977
2978 case 226:
2979#line 751 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2980 {
2981 *(yyvsp[-4]) += " " + *(yyvsp[-3]) + " " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
2982 delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[0]);
2983 (yyval) = (yyvsp[-4]);
2984 ;}
2985 break;
2986
2987 case 227:
2988#line 756 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2989 {
2990 *(yyvsp[-4]) += " " + *(yyvsp[-3]) + " " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
2991 delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[0]);
2992 (yyval) = (yyvsp[-4]);
2993 ;}
2994 break;
2995
2996 case 228:
2997#line 761 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2998 {
2999 *(yyvsp[-4]) += " " + *(yyvsp[-3]) + " " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3000 delete (yyvsp[-3]); delete (yyvsp[-2]); delete (yyvsp[0]);
3001 (yyval) = (yyvsp[-4]);
3002 ;}
3003 break;
3004
3005 case 229:
3006#line 766 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3007 {
3008 *(yyvsp[-1]) += " " + *(yyvsp[0]);
3009 delete (yyvsp[0]);
3010 (yyval) = (yyvsp[-1]);
3011 ;}
3012 break;
3013
3014 case 230:
3015#line 771 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3016 {
3017 *(yyvsp[-3]) += " " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3018 delete (yyvsp[-2]); delete (yyvsp[0]);
3019 (yyval) = (yyvsp[-3]);
3020 ;}
3021 break;
3022
3023 case 231:
3024#line 776 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3025 {
3026 *(yyvsp[-3]) += " " + *(yyvsp[-2]) + " " + *(yyvsp[-1]) + ", " + *(yyvsp[0]);
3027 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
3028 (yyval) = (yyvsp[-3]);
3029 ;}
3030 break;
3031
3032 case 232:
3033#line 781 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3034 {
3035 *(yyvsp[-5]) += " " + *(yyvsp[-4]) + ", " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3036 delete (yyvsp[-4]); delete (yyvsp[-2]); delete (yyvsp[0]);
3037 (yyval) = (yyvsp[-5]);
3038 ;}
3039 break;
3040
3041 case 233:
3042#line 786 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3043 {
3044 *(yyvsp[-3]) += " " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3045 delete (yyvsp[-2]); delete (yyvsp[0]);
3046 (yyval) = (yyvsp[-3]);
3047 ;}
3048 break;
3049
3050 case 234:
3051#line 791 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3052 {
3053 *(yyvsp[-3]) += " " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3054 delete (yyvsp[-2]); delete (yyvsp[0]);
3055 (yyval) = (yyvsp[-3]);
3056 ;}
3057 break;
3058
3059 case 235:
3060#line 796 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3061 {
3062 *(yyvsp[-5]) += " " + *(yyvsp[-4]) + ", " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3063 delete (yyvsp[-4]); delete (yyvsp[-2]); delete (yyvsp[0]);
3064 (yyval) = (yyvsp[-5]);
3065 ;}
3066 break;
3067
3068 case 236:
3069#line 801 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3070 {
3071 *(yyvsp[-5]) += " " + *(yyvsp[-4]) + ", " + *(yyvsp[-2]) + ", " + *(yyvsp[0]);
3072 delete (yyvsp[-4]); delete (yyvsp[-2]); delete (yyvsp[0]);
3073 (yyval) = (yyvsp[-5]);
3074 ;}
3075 break;
3076
3077 case 237:
3078#line 806 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3079 {
3080 *(yyvsp[-1]) += " " + *(yyvsp[0]);
3081 delete (yyvsp[0]);
3082 (yyval) = (yyvsp[-1]);
3083 ;}
3084 break;
3085
3086 case 238:
3087#line 811 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3088 {
3089 if (!(yyvsp[-5])->empty())
3090 *(yyvsp[-6]) += " " + *(yyvsp[-5]);
3091 if (!(yyvsp[-6])->empty())
3092 *(yyvsp[-6]) += " ";
3093 *(yyvsp[-6]) += *(yyvsp[-4]) += " " + *(yyvsp[-3]) + "(" + *(yyvsp[-2]) + ")";
3094 delete (yyvsp[-5]); delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-1]);
3095 (yyval) = (yyvsp[-6]);
3096 ;}
3097 break;
3098
3099 case 240:
3100#line 825 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3101 {
3102 (yyvsp[0])->insert(0, ", ");
3103 (yyval) = (yyvsp[0]);
3104 ;}
3105 break;
3106
3107 case 241:
3108#line 829 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3109 { (yyval) = new std::string(); ;}
3110 break;
3111
3112 case 243:
3113#line 834 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3114 { (yyval) = new std::string(); ;}
3115 break;
3116
3117 case 244:
3118#line 837 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3119 {
3120 *(yyvsp[-2]) += " " + *(yyvsp[-1]);
3121 if (!(yyvsp[0])->empty())
3122 *(yyvsp[-2]) += " " + *(yyvsp[0]);
3123 delete (yyvsp[-1]); delete (yyvsp[0]);
3124 (yyval) = (yyvsp[-2]);
3125 ;}
3126 break;
3127
3128 case 245:
3129#line 844 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3130 {
3131 *(yyvsp[-5]) += " " + *(yyvsp[-4]) + ", " + *(yyvsp[-2]) + " " + *(yyvsp[-1]);
3132 if (!(yyvsp[0])->empty())
3133 *(yyvsp[-5]) += " " + *(yyvsp[0]);
3134 delete (yyvsp[-4]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
3135 (yyval) = (yyvsp[-5]);
3136 ;}
3137 break;
3138
3139 case 246:
3140#line 851 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3141 {
3142 *(yyvsp[-2]) += " " + *(yyvsp[-1]);
3143 if (!(yyvsp[0])->empty())
3144 *(yyvsp[-2]) += " " + *(yyvsp[0]);
3145 delete (yyvsp[-1]); delete (yyvsp[0]);
3146 (yyval) = (yyvsp[-2]);
3147 ;}
3148 break;
3149
3150 case 247:
3151#line 858 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3152 {
3153 *(yyvsp[-5]) += " " + *(yyvsp[-4]) + ", " + *(yyvsp[-2]) + " " + *(yyvsp[-1]);
3154 if (!(yyvsp[0])->empty())
3155 *(yyvsp[-5]) += " " + *(yyvsp[0]);
3156 delete (yyvsp[-4]); delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
3157 (yyval) = (yyvsp[-5]);
3158 ;}
3159 break;
3160
3161 case 248:
3162#line 865 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3163 {
3164 *(yyvsp[-1]) += " " + *(yyvsp[0]);
3165 delete (yyvsp[0]);
3166 (yyval) = (yyvsp[-1]);
3167 ;}
3168 break;
3169
3170 case 249:
3171#line 870 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3172 {
3173 if (!(yyvsp[-3])->empty())
3174 *(yyvsp[-3]) += " ";
3175 *(yyvsp[-3]) += *(yyvsp[-2]) + " " + *(yyvsp[-1]) + " " + *(yyvsp[0]);
3176 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
3177 (yyval) = (yyvsp[-3]);
3178 ;}
3179 break;
3180
3181 case 250:
3182#line 877 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3183 {
3184 if (!(yyvsp[-5])->empty())
3185 *(yyvsp[-5]) += " ";
3186 *(yyvsp[-5]) += *(yyvsp[-4]) + " " + *(yyvsp[-3]) + ", " + *(yyvsp[-1]) + " " + *(yyvsp[0]);
3187 delete (yyvsp[-4]); delete (yyvsp[-3]); delete (yyvsp[-1]); delete (yyvsp[0]);
3188 (yyval) = (yyvsp[-5]);
3189 ;}
3190 break;
3191
3192 case 251:
3193#line 884 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3194 {
3195 *(yyvsp[-3]) += *(yyvsp[-2]) + " " + *(yyvsp[-1]) + " " + *(yyvsp[0]);
3196 delete (yyvsp[-2]); delete (yyvsp[-1]); delete (yyvsp[0]);
3197 (yyval) = (yyvsp[-3]);
3198 ;}
3199 break;
3200
3201
3202 default: break;
3203 }
3204
3205/* Line 1126 of yacc.c. */
3206#line 3207 "UpgradeParser.tab.c"
3207
3208 yyvsp -= yylen;
3209 yyssp -= yylen;
3210
3211
3212 YY_STACK_PRINT (yyss, yyssp);
3213
3214 *++yyvsp = yyval;
3215
3216
3217 /* Now `shift' the result of the reduction. Determine what state
3218 that goes to, based on the state we popped back to and the rule
3219 number reduced by. */
3220
3221 yyn = yyr1[yyn];
3222
3223 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3224 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3225 yystate = yytable[yystate];
3226 else
3227 yystate = yydefgoto[yyn - YYNTOKENS];
3228
3229 goto yynewstate;
3230
3231
3232/*------------------------------------.
3233| yyerrlab -- here on detecting error |
3234`------------------------------------*/
3235yyerrlab:
3236 /* If not already recovering from an error, report this error. */
3237 if (!yyerrstatus)
3238 {
3239 ++yynerrs;
3240#if YYERROR_VERBOSE
3241 yyn = yypact[yystate];
3242
3243 if (YYPACT_NINF < yyn && yyn < YYLAST)
3244 {
3245 int yytype = YYTRANSLATE (yychar);
3246 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3247 YYSIZE_T yysize = yysize0;
3248 YYSIZE_T yysize1;
3249 int yysize_overflow = 0;
3250 char *yymsg = 0;
3251# define YYERROR_VERBOSE_ARGS_MAXIMUM 5
3252 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3253 int yyx;
3254
3255#if 0
3256 /* This is so xgettext sees the translatable formats that are
3257 constructed on the fly. */
3258 YY_("syntax error, unexpected %s");
3259 YY_("syntax error, unexpected %s, expecting %s");
3260 YY_("syntax error, unexpected %s, expecting %s or %s");
3261 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3262 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3263#endif
3264 char *yyfmt;
3265 char const *yyf;
3266 static char const yyunexpected[] = "syntax error, unexpected %s";
3267 static char const yyexpecting[] = ", expecting %s";
3268 static char const yyor[] = " or %s";
3269 char yyformat[sizeof yyunexpected
3270 + sizeof yyexpecting - 1
3271 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3272 * (sizeof yyor - 1))];
3273 char const *yyprefix = yyexpecting;
3274
3275 /* Start YYX at -YYN if negative to avoid negative indexes in
3276 YYCHECK. */
3277 int yyxbegin = yyn < 0 ? -yyn : 0;
3278
3279 /* Stay within bounds of both yycheck and yytname. */
3280 int yychecklim = YYLAST - yyn;
3281 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3282 int yycount = 1;
3283
3284 yyarg[0] = yytname[yytype];
3285 yyfmt = yystpcpy (yyformat, yyunexpected);
3286
3287 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3288 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3289 {
3290 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3291 {
3292 yycount = 1;
3293 yysize = yysize0;
3294 yyformat[sizeof yyunexpected - 1] = '\0';
3295 break;
3296 }
3297 yyarg[yycount++] = yytname[yyx];
3298 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3299 yysize_overflow |= yysize1 < yysize;
3300 yysize = yysize1;
3301 yyfmt = yystpcpy (yyfmt, yyprefix);
3302 yyprefix = yyor;
3303 }
3304
3305 yyf = YY_(yyformat);
3306 yysize1 = yysize + yystrlen (yyf);
3307 yysize_overflow |= yysize1 < yysize;
3308 yysize = yysize1;
3309
3310 if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
3311 yymsg = (char *) YYSTACK_ALLOC (yysize);
3312 if (yymsg)
3313 {
3314 /* Avoid sprintf, as that infringes on the user's name space.
3315 Don't have undefined behavior even if the translation
3316 produced a string with the wrong number of "%s"s. */
3317 char *yyp = yymsg;
3318 int yyi = 0;
3319 while ((*yyp = *yyf))
3320 {
3321 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3322 {
3323 yyp += yytnamerr (yyp, yyarg[yyi++]);
3324 yyf += 2;
3325 }
3326 else
3327 {
3328 yyp++;
3329 yyf++;
3330 }
3331 }
3332 yyerror (yymsg);
3333 YYSTACK_FREE (yymsg);
3334 }
3335 else
3336 {
3337 yyerror (YY_("syntax error"));
3338 goto yyexhaustedlab;
3339 }
3340 }
3341 else
3342#endif /* YYERROR_VERBOSE */
3343 yyerror (YY_("syntax error"));
3344 }
3345
3346
3347
3348 if (yyerrstatus == 3)
3349 {
3350 /* If just tried and failed to reuse look-ahead token after an
3351 error, discard it. */
3352
3353 if (yychar <= YYEOF)
3354 {
3355 /* Return failure if at end of input. */
3356 if (yychar == YYEOF)
3357 YYABORT;
3358 }
3359 else
3360 {
3361 yydestruct ("Error: discarding", yytoken, &yylval);
3362 yychar = YYEMPTY;
3363 }
3364 }
3365
3366 /* Else will try to reuse look-ahead token after shifting the error
3367 token. */
3368 goto yyerrlab1;
3369
3370
3371/*---------------------------------------------------.
3372| yyerrorlab -- error raised explicitly by YYERROR. |
3373`---------------------------------------------------*/
3374yyerrorlab:
3375
3376 /* Pacify compilers like GCC when the user code never invokes
3377 YYERROR and the label yyerrorlab therefore never appears in user
3378 code. */
3379 if (0)
3380 goto yyerrorlab;
3381
3382yyvsp -= yylen;
3383 yyssp -= yylen;
3384 yystate = *yyssp;
3385 goto yyerrlab1;
3386
3387
3388/*-------------------------------------------------------------.
3389| yyerrlab1 -- common code for both syntax error and YYERROR. |
3390`-------------------------------------------------------------*/
3391yyerrlab1:
3392 yyerrstatus = 3; /* Each real token shifted decrements this. */
3393
3394 for (;;)
3395 {
3396 yyn = yypact[yystate];
3397 if (yyn != YYPACT_NINF)
3398 {
3399 yyn += YYTERROR;
3400 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3401 {
3402 yyn = yytable[yyn];
3403 if (0 < yyn)
3404 break;
3405 }
3406 }
3407
3408 /* Pop the current state because it cannot handle the error token. */
3409 if (yyssp == yyss)
3410 YYABORT;
3411
3412
3413 yydestruct ("Error: popping", yystos[yystate], yyvsp);
3414 YYPOPSTACK;
3415 yystate = *yyssp;
3416 YY_STACK_PRINT (yyss, yyssp);
3417 }
3418
3419 if (yyn == YYFINAL)
3420 YYACCEPT;
3421
3422 *++yyvsp = yylval;
3423
3424
3425 /* Shift the error token. */
3426 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3427
3428 yystate = yyn;
3429 goto yynewstate;
3430
3431
3432/*-------------------------------------.
3433| yyacceptlab -- YYACCEPT comes here. |
3434`-------------------------------------*/
3435yyacceptlab:
3436 yyresult = 0;
3437 goto yyreturn;
3438
3439/*-----------------------------------.
3440| yyabortlab -- YYABORT comes here. |
3441`-----------------------------------*/
3442yyabortlab:
3443 yyresult = 1;
3444 goto yyreturn;
3445
3446#ifndef yyoverflow
3447/*-------------------------------------------------.
3448| yyexhaustedlab -- memory exhaustion comes here. |
3449`-------------------------------------------------*/
3450yyexhaustedlab:
3451 yyerror (YY_("memory exhausted"));
3452 yyresult = 2;
3453 /* Fall through. */
3454#endif
3455
3456yyreturn:
3457 if (yychar != YYEOF && yychar != YYEMPTY)
3458 yydestruct ("Cleanup: discarding lookahead",
3459 yytoken, &yylval);
3460 while (yyssp != yyss)
3461 {
3462 yydestruct ("Cleanup: popping",
3463 yystos[*yyssp], yyvsp);
3464 YYPOPSTACK;
3465 }
3466#ifndef yyoverflow
3467 if (yyss != yyssa)
3468 YYSTACK_FREE (yyss);
3469#endif
3470 return yyresult;
3471}
3472
3473
3474#line 890 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3475
3476
3477int yyerror(const char *ErrorMsg) {
3478 std::string where
3479 = std::string((CurFilename == "-") ? std::string("<stdin>") : CurFilename)
3480 + ":" + llvm::utostr((unsigned) Upgradelineno) + ": ";
3481 std::string errMsg = std::string(ErrorMsg) + "\n" + where + " while reading ";
3482 if (yychar == YYEMPTY || yychar == 0)
3483 errMsg += "end-of-file.";
3484 else
3485 errMsg += "token: '" + std::string(Upgradetext, Upgradeleng) + "'";
3486 std::cerr << errMsg << '\n';
3487 exit(1);
3488}
3489