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