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