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