PageRenderTime 1574ms CodeModel.GetById 122ms app.highlight 1278ms RepoModel.GetById 60ms app.codeStats 2ms

/y.tab.c

http://github.com/fizx/parsley
C | 4235 lines | 3508 code | 395 blank | 332 comment | 343 complexity | 88b75aaf8e1e50a5b88e2f32a247915d MD5 | raw file
   1/* A Bison parser, made by GNU Bison 2.3.  */
   2
   3/* Skeleton implementation for Bison GLR parsers in C
   4
   5   Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
   6
   7   This program is free software; you can redistribute it and/or modify
   8   it under the terms of the GNU General Public License as published by
   9   the Free Software Foundation; either version 2, or (at your option)
  10   any later version.
  11
  12   This program is distributed in the hope that it will be useful,
  13   but WITHOUT ANY WARRANTY; without even the implied warranty of
  14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15   GNU General Public License for more details.
  16
  17   You should have received a copy of the GNU General Public License
  18   along with this program; if not, write to the Free Software
  19   Foundation, Inc., 51 Franklin Street, Fifth Floor,
  20   Boston, MA 02110-1301, USA.  */
  21
  22/* As a special exception, you may create a larger work that contains
  23   part or all of the Bison parser skeleton and distribute that work
  24   under terms of your choice, so long as that work isn't itself a
  25   parser generator using the skeleton or a modified version thereof
  26   as a parser skeleton.  Alternatively, if you modify or redistribute
  27   the parser skeleton itself, you may (at your option) remove this
  28   special exception, which will cause the skeleton and the resulting
  29   Bison output files to be licensed under the GNU General Public
  30   License without this special exception.
  31
  32   This special exception was added by the Free Software Foundation in
  33   version 2.2 of Bison.  */
  34
  35/* C GLR parser skeleton written by Paul Hilfinger.  */
  36
  37/* Identify Bison output.  */
  38#define YYBISON 1
  39
  40/* Bison version.  */
  41#define YYBISON_VERSION "2.3"
  42
  43/* Skeleton name.  */
  44#define YYSKELETON_NAME "glr.c"
  45
  46/* Pure parsers.  */
  47#define YYPURE 0
  48
  49/* Using locations.  */
  50#define YYLSP_NEEDED 0
  51
  52
  53
  54
  55
  56
  57#include "y.tab.h"
  58
  59/* Enabling traces.  */
  60#ifndef YYDEBUG
  61# define YYDEBUG 1
  62#endif
  63
  64/* Enabling verbose error messages.  */
  65#ifdef YYERROR_VERBOSE
  66# undef YYERROR_VERBOSE
  67# define YYERROR_VERBOSE 1
  68#else
  69# define YYERROR_VERBOSE 0
  70#endif
  71
  72/* Enabling the token table.  */
  73#ifndef YYTOKEN_TABLE
  74# define YYTOKEN_TABLE 1
  75#endif
  76
  77/* Default (constant) value used for initialization for null
  78   right-hand sides.  Unlike the standard yacc.c template,
  79   here we set the default value of $$ to a zeroed-out value.
  80   Since the default value is undefined, this behavior is
  81   technically correct.  */
  82static YYSTYPE yyval_default;
  83
  84/* Copy the second part of user declarations.  */
  85
  86
  87/* Line 234 of glr.c.  */
  88#line 89 "y.tab.c"
  89
  90#include <stdio.h>
  91#include <stdlib.h>
  92#include <string.h>
  93#include <stdarg.h>
  94
  95#ifndef YY_
  96# if defined YYENABLE_NLS && YYENABLE_NLS
  97#  if ENABLE_NLS
  98#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
  99#   define YY_(msgid) dgettext ("bison-runtime", msgid)
 100#  endif
 101# endif
 102# ifndef YY_
 103#  define YY_(msgid) msgid
 104# endif
 105#endif
 106
 107/* Suppress unused-variable warnings by "using" E.  */
 108#if ! defined lint || defined __GNUC__
 109# define YYUSE(e) ((void) (e))
 110#else
 111# define YYUSE(e) /* empty */
 112#endif
 113
 114/* Identity function, used to suppress warnings about constant conditions.  */
 115#ifndef lint
 116# define YYID(n) (n)
 117#else
 118#if (defined __STDC__ || defined __C99__FUNC__ \
 119     || defined __cplusplus || defined _MSC_VER)
 120static int
 121YYID (int i)
 122#else
 123static int
 124YYID (i)
 125    int i;
 126#endif
 127{
 128  return i;
 129}
 130#endif
 131
 132#ifndef YYFREE
 133# define YYFREE free
 134#endif
 135#ifndef YYMALLOC
 136# define YYMALLOC malloc
 137#endif
 138#ifndef YYREALLOC
 139# define YYREALLOC realloc
 140#endif
 141
 142#define YYSIZEMAX ((size_t) -1)
 143
 144#ifdef __cplusplus
 145   typedef bool yybool;
 146#else
 147   typedef unsigned char yybool;
 148#endif
 149#define yytrue 1
 150#define yyfalse 0
 151
 152#ifndef YYSETJMP
 153# include <setjmp.h>
 154# define YYJMP_BUF jmp_buf
 155# define YYSETJMP(env) setjmp (env)
 156# define YYLONGJMP(env, val) longjmp (env, val)
 157#endif
 158
 159/*-----------------.
 160| GCC extensions.  |
 161`-----------------*/
 162
 163#ifndef __attribute__
 164/* This feature is available in gcc versions 2.5 and later.  */
 165# if (! defined __GNUC__ || __GNUC__ < 2 \
 166      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__)
 167#  define __attribute__(Spec) /* empty */
 168# endif
 169#endif
 170
 171
 172#ifdef __cplusplus
 173# define YYOPTIONAL_LOC(Name) /* empty */
 174#else
 175# define YYOPTIONAL_LOC(Name) Name __attribute__ ((__unused__))
 176#endif
 177
 178#ifndef YYASSERT
 179# define YYASSERT(condition) ((void) ((condition) || (abort (), 0)))
 180#endif
 181
 182/* YYFINAL -- State number of the termination state.  */
 183#define YYFINAL  124
 184/* YYLAST -- Last index in YYTABLE.  */
 185#define YYLAST   2256
 186
 187/* YYNTOKENS -- Number of terminals.  */
 188#define YYNTOKENS  100
 189/* YYNNTS -- Number of nonterminals.  */
 190#define YYNNTS  61
 191/* YYNRULES -- Number of rules.  */
 192#define YYNRULES  208
 193/* YYNRULES -- Number of states.  */
 194#define YYNSTATES  353
 195/* YYMAXRHS -- Maximum number of symbols on right-hand side of rule.  */
 196#define YYMAXRHS 9
 197/* YYMAXLEFT -- Maximum number of symbols to the left of a handle
 198   accessed by $0, $-1, etc., in any rule.  */
 199#define YYMAXLEFT 0
 200
 201/* YYTRANSLATE(X) -- Bison symbol number corresponding to X.  */
 202#define YYUNDEFTOK  2
 203#define YYMAXUTOK   354
 204
 205#define YYTRANSLATE(YYX)						\
 206  ((YYX <= 0) ? YYEOF :							\
 207   (unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 208
 209/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
 210static const unsigned char yytranslate[] =
 211{
 212       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 213       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 214       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 215       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 216       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 217       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 218       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 219       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 220       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 221       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 222       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 223       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 224       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 225       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 226       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 227       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 228       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 229       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 230       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 231       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 232       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 233       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 234       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 235       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 236       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 237       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
 238       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 239      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 240      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 241      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 242      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 243      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 244      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 245      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 246      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 247      95,    96,    97,    98,    99
 248};
 249
 250#if YYDEBUG
 251/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
 252   YYRHS.  */
 253static const unsigned short int yyprhs[] =
 254{
 255       0,     0,     3,     6,     8,    10,    12,    15,    17,    19,
 256      21,    25,    27,    30,    34,    36,    39,    41,    43,    45,
 257      47,    49,    51,    53,    55,    57,    59,    61,    63,    65,
 258      67,    69,    73,    78,    81,    83,    87,    89,    92,    96,
 259      98,   100,   102,   103,   107,   109,   111,   115,   117,   119,
 260     121,   126,   128,   129,   133,   135,   139,   141,   145,   147,
 261     149,   153,   157,   159,   162,   164,   168,   170,   174,   176,
 262     180,   184,   186,   192,   198,   204,   210,   212,   218,   224,
 263     226,   232,   238,   244,   246,   249,   251,   253,   256,   260,
 264     263,   265,   268,   270,   274,   276,   278,   280,   282,   284,
 265     286,   288,   290,   294,   296,   298,   300,   302,   304,   309,
 266     311,   313,   318,   322,   324,   327,   330,   333,   335,   337,
 267     347,   353,   357,   361,   366,   372,   378,   384,   390,   396,
 268     402,   408,   418,   428,   438,   448,   458,   468,   474,   480,
 269     483,   486,   489,   492,   495,   498,   501,   504,   507,   510,
 270     513,   516,   519,   522,   525,   528,   531,   534,   537,   540,
 271     543,   546,   549,   552,   555,   558,   561,   563,   564,   566,
 272     568,   571,   573,   576,   579,   581,   583,   586,   588,   590,
 273     592,   594,   597,   600,   602,   604,   606,   608,   610,   612,
 274     614,   616,   618,   620,   622,   624,   626,   628,   630,   632,
 275     634,   636,   638,   640,   642,   644,   646,   648,   650
 276};
 277
 278/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 279static const short int yyrhs[] =
 280{
 281     101,     0,    -1,   116,   160,    -1,   104,    -1,   103,    -1,
 282     145,    -1,    10,   104,    -1,    10,    -1,   112,    -1,   105,
 283      -1,   104,    10,   105,    -1,   113,    -1,   106,   108,    -1,
 284     106,   108,   109,    -1,   114,    -1,   107,    14,    -1,   115,
 285      -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,
 286      -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,
 287      -1,    43,    -1,    44,    -1,    45,    -1,   136,    -1,   137,
 288       6,     7,    -1,    52,     6,   132,     7,    -1,   109,   110,
 289      -1,   110,    -1,    21,   111,    22,    -1,   116,    -1,    11,
 290     104,    -1,   104,    11,   105,    -1,    18,    -1,    19,    -1,
 291       5,    -1,    -1,     6,   116,     7,    -1,   125,    -1,   135,
 292      -1,     6,   116,     7,    -1,   132,    -1,   133,    -1,   118,
 293      -1,   138,     6,   119,     7,    -1,   120,    -1,    -1,   121,
 294      17,   120,    -1,   121,    -1,   160,   116,   160,    -1,   123,
 295      -1,   122,     8,   123,    -1,   102,    -1,   124,    -1,   124,
 296      10,   104,    -1,   124,    11,   104,    -1,   117,    -1,   124,
 297     109,    -1,   126,    -1,   125,    46,   126,    -1,   127,    -1,
 298     126,    47,   127,    -1,   128,    -1,   127,    27,   128,    -1,
 299     127,    56,   128,    -1,   129,    -1,   128,   160,     9,   160,
 300     129,    -1,   128,   160,    20,   160,   129,    -1,   128,   160,
 301      28,   160,   129,    -1,   128,   160,    29,   160,   129,    -1,
 302     130,    -1,   129,   160,    25,   160,   130,    -1,   129,   160,
 303      26,   160,   130,    -1,   131,    -1,   130,   160,   134,   160,
 304     131,    -1,   130,   160,    48,   160,   131,    -1,   130,   160,
 305      49,   160,   131,    -1,   122,    -1,    26,   131,    -1,    99,
 306      -1,     3,    -1,     3,    18,    -1,     3,    18,     3,    -1,
 307      18,     3,    -1,    24,    -1,    30,   139,    -1,    24,    -1,
 308     144,    13,    24,    -1,   139,    -1,    50,    -1,    51,    -1,
 309      52,    -1,    53,    -1,   139,    -1,   140,    -1,   141,    -1,
 310     142,    13,   143,    -1,   143,    -1,   144,    -1,   144,    -1,
 311      98,    -1,   158,    -1,   146,    17,   160,   145,    -1,   146,
 312      -1,   147,    -1,   147,     4,     5,    98,    -1,   149,   148,
 313     147,    -1,   149,    -1,    25,   160,    -1,    20,   160,    -1,
 314      23,   160,    -1,     4,    -1,   151,    -1,   150,    21,   152,
 315     160,    55,   160,   159,   160,    22,    -1,   150,    63,     6,
 316     145,     7,    -1,   150,    16,   157,    -1,   150,    18,   157,
 317      -1,   150,    21,   152,    22,    -1,   150,    66,     6,   156,
 318       7,    -1,   150,    67,     6,   156,     7,    -1,   150,    68,
 319       6,   156,     7,    -1,   150,    70,     6,   159,     7,    -1,
 320     150,    72,     6,   145,     7,    -1,   150,    76,     6,   156,
 321       7,    -1,   150,    77,     6,   156,     7,    -1,   150,    21,
 322     152,   160,    27,   160,   159,   160,    22,    -1,   150,    21,
 323     152,   160,    56,   160,   159,   160,    22,    -1,   150,    21,
 324     152,   160,    57,   160,   159,   160,    22,    -1,   150,    21,
 325     152,   160,    58,   160,   159,   160,    22,    -1,   150,    21,
 326     152,   160,    59,   160,   159,   160,    22,    -1,   150,    21,
 327     152,   160,    60,   160,   159,   160,    22,    -1,   150,    74,
 328       6,   156,     7,    -1,   150,    75,     6,   156,     7,    -1,
 329     150,    61,    -1,   150,    62,    -1,   150,    64,    -1,   150,
 330      65,    -1,   150,    69,    -1,   150,    71,    -1,   150,    73,
 331      -1,   150,    80,    -1,   150,    81,    -1,   150,    83,    -1,
 332     150,    84,    -1,   150,    94,    -1,   150,    95,    -1,   150,
 333      96,    -1,   150,    97,    -1,   150,    78,    -1,   150,    79,
 334      -1,   150,    82,    -1,   150,    85,    -1,   150,    86,    -1,
 335     150,    87,    -1,   150,    88,    -1,   150,    89,    -1,   150,
 336      90,    -1,   150,    91,    -1,   150,    92,    -1,   150,    93,
 337      -1,   149,    -1,    -1,   152,    -1,   155,    -1,   153,   154,
 338      -1,   154,    -1,    24,     8,    -1,   157,     8,    -1,     8,
 339      -1,   157,    -1,   153,    24,    -1,    24,    -1,     3,    -1,
 340      98,    -1,    31,    -1,    98,   157,    -1,    31,   157,    -1,
 341     158,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,
 342      37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,
 343      42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,
 344      47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,
 345      52,    -1,    53,    -1,   157,    -1,    99,    -1,     4,    -1,
 346      -1
 347};
 348
 349/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 350static const unsigned short int yyrline[] =
 351{
 352       0,   219,   219,   223,   224,   225,   229,   230,   231,   235,
 353     236,   237,   241,   242,   243,   247,   248,   251,   252,   253,
 354     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
 355     267,   268,   269,   273,   274,   278,   282,   286,   290,   294,
 356     295,   299,   300,   303,   304,   307,   308,   309,   310,   311,
 357     315,   318,   319,   322,   323,   326,   329,   330,   334,   335,
 358     336,   337,   341,   342,   346,   347,   351,   352,   356,   357,
 359     358,   362,   363,   364,   365,   366,   370,   371,   372,   376,
 360     377,   378,   379,   383,   384,   388,   391,   392,   393,   394,
 361     398,   402,   406,   407,   408,   412,   413,   414,   415,   419,
 362     423,   424,   428,   432,   436,   440,   444,   445,   449,   450,
 363     454,   455,   459,   460,   464,   465,   466,   467,   471,   472,
 364     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
 365     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
 366     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
 367     503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
 368     513,   514,   515,   516,   517,   518,   522,   523,   527,   528,
 369     532,   533,   537,   538,   539,   543,   547,   548,   552,   556,
 370     557,   558,   559,   560,   564,   565,   566,   567,   568,   569,
 371     570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
 372     580,   581,   582,   583,   584,   588,   589,   593,   594
 373};
 374#endif
 375
 376#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
 377/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
 378   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 379static const char *const yytname[] =
 380{
 381  "$end", "error", "$undefined", "NUMBER", "S", "AT", "LPAREN", "RPAREN",
 382  "PIPE", "LT", "SLASH", "DBLSLASH", "BANG", "COLON", "DBLCOLON", "QUERY",
 383  "HASH", "COMMA", "DOT", "DBLDOT", "GT", "LBRA", "RBRA", "TILDE", "SPLAT",
 384  "PLUS", "DASH", "EQ", "LTE", "GTE", "DOLLAR", "BSLASHLIT", "OTHER",
 385  "XANCESTOR", "XANCESTORSELF", "XATTR", "XCHILD", "XDESC", "XDESCSELF",
 386  "XFOLLOW", "XFOLLOWSIB", "XNS", "XPARENT", "XPRE", "XPRESIB", "XSELF",
 387  "XOR", "XAND", "XDIV", "XMOD", "XCOMMENT", "XTEXT", "XPI", "XNODE",
 388  "CXEQUATION", "CXOPHE", "CXOPNE", "CXOPSTARTEQ", "CXOPENDEQ",
 389  "CXOPCONTAINS", "CXOPCONTAINS2", "CXFIRST", "CXLAST", "CXNOT", "CXEVEN",
 390  "CXODD", "CXEQ", "CXGT", "CXLT", "CXHEADER", "CXCONTAINS", "CXEMPTY",
 391  "CXHAS", "CXPARENT", "CXNTHCH", "CXNTHLASTCH", "CXNTHTYPE",
 392  "CXNTHLASTTYPE", "CXFIRSTCH", "CXLASTCH", "CXFIRSTTYPE", "CXLASTTYPE",
 393  "CXONLYCH", "CXONLYTYPE", "CXINPUT", "CXTEXT", "CXPASSWORD", "CXRADIO",
 394  "CXCHECKBOX", "CXSUBMIT", "CXIMAGE", "CXRESET", "CXBUTTON", "CXFILE",
 395  "CXENABLED", "CXDISABLED", "CXCHECKED", "CXSELECTED", "NAME", "STRING",
 396  "$accept", "Root", "LocationPath", "AbsoluteLocationPath",
 397  "RelativeLocationPath", "Step", "AxisSpecifier", "AxisName", "NodeTest",
 398  "Predicates", "Predicate", "PredicateExpr",
 399  "AbbreviatedAbsoluteLocationPath", "AbbreviatedRelativeLocationPath",
 400  "AbbreviatedStep", "AbbreviatedAxisSpecifier", "Expr", "PrimaryExpr",
 401  "FunctionCall", "Arguments", "ArgumentSet", "Argument", "UnionExpr",
 402  "PathExpr", "FilterExpr", "OrExpr", "AndExpr", "EqualityExpr",
 403  "RelationalExpr", "AdditiveExpr", "MultiplicativeExpr", "UnaryExpr",
 404  "Literal", "Number", "MultiplyOperator", "VariableReference", "NameTest",
 405  "NodeType", "FunctionName", "QName", "PrefixedName", "UnprefixedName",
 406  "Prefix", "LocalPart", "NCName", "selectors_group",
 407  "attribute_extended_selector", "selector", "combinator",
 408  "simple_selector_sequence", "possibly_empty_sequence",
 409  "simple_selector_anchor", "type_selector", "namespace_prefix",
 410  "element_name", "universal", "NumberLike", "Ident", "keyword",
 411  "StringLike", "OptS", 0
 412};
 413#endif
 414
 415/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 416static const unsigned char yyr1[] =
 417{
 418       0,   100,   101,   102,   102,   102,   103,   103,   103,   104,
 419     104,   104,   105,   105,   105,   106,   106,   107,   107,   107,
 420     107,   107,   107,   107,   107,   107,   107,   107,   107,   107,
 421     108,   108,   108,   109,   109,   110,   111,   112,   113,   114,
 422     114,   115,   115,   116,   116,   117,   117,   117,   117,   117,
 423     118,   119,   119,   120,   120,   121,   122,   122,   123,   123,
 424     123,   123,   124,   124,   125,   125,   126,   126,   127,   127,
 425     127,   128,   128,   128,   128,   128,   129,   129,   129,   130,
 426     130,   130,   130,   131,   131,   132,   133,   133,   133,   133,
 427     134,   135,   136,   136,   136,   137,   137,   137,   137,   138,
 428     139,   139,   140,   141,   142,   143,   144,   144,   145,   145,
 429     146,   146,   147,   147,   148,   148,   148,   148,   149,   149,
 430     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
 431     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
 432     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
 433     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
 434     149,   149,   149,   149,   149,   149,   150,   150,   151,   151,
 435     152,   152,   153,   153,   153,   154,   155,   155,   156,   157,
 436     157,   157,   157,   157,   158,   158,   158,   158,   158,   158,
 437     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
 438     158,   158,   158,   158,   158,   159,   159,   160,   160
 439};
 440
 441/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 442static const unsigned char yyr2[] =
 443{
 444       0,     2,     2,     1,     1,     1,     2,     1,     1,     1,
 445       3,     1,     2,     3,     1,     2,     1,     1,     1,     1,
 446       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 447       1,     3,     4,     2,     1,     3,     1,     2,     3,     1,
 448       1,     1,     0,     3,     1,     1,     3,     1,     1,     1,
 449       4,     1,     0,     3,     1,     3,     1,     3,     1,     1,
 450       3,     3,     1,     2,     1,     3,     1,     3,     1,     3,
 451       3,     1,     5,     5,     5,     5,     1,     5,     5,     1,
 452       5,     5,     5,     1,     2,     1,     1,     2,     3,     2,
 453       1,     2,     1,     3,     1,     1,     1,     1,     1,     1,
 454       1,     1,     3,     1,     1,     1,     1,     1,     4,     1,
 455       1,     4,     3,     1,     2,     2,     2,     1,     1,     9,
 456       5,     3,     3,     4,     5,     5,     5,     5,     5,     5,
 457       5,     9,     9,     9,     9,     9,     9,     5,     5,     2,
 458       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 459       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 460       2,     2,     2,     2,     2,     2,     1,     0,     1,     1,
 461       2,     1,     2,     2,     1,     1,     2,     1,     1,     1,
 462       1,     2,     2,     1,     1,     1,     1,     1,     1,     1,
 463       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 464       1,     1,     1,     1,     1,     1,     1,     1,     0
 465};
 466
 467/* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none).  */
 468static const unsigned char yydprec[] =
 469{
 470       0,     0,     0,     1,     2,     3,     0,     0,     0,     0,
 471       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 472       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 473       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 474       0,     0,     0,     2,     1,     0,     0,     0,     0,     0,
 475       0,     0,     0,     2,     1,     0,     0,     0,     0,     0,
 476       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 477       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 478       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 479       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 480       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 481       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 482       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 483       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 484       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 485       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 486       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 487       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 488       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 489       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 490       0,     0,     0,     0,     0,     0,     0,     0,     0
 491};
 492
 493/* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM.  */
 494static const unsigned char yymerger[] =
 495{
 496       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 497       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 498       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 499       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 500       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 501       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 502       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 503       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 504       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 505       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 506       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 507       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 508       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 509       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 510       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 511       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 512       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 513       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 514       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 515       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 516       0,     0,     0,     0,     0,     0,     0,     0,     0
 517};
 518
 519/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
 520   doesn't specify something else to do.  Zero means the default is an
 521   error.  */
 522static const unsigned char yydefact[] =
 523{
 524     167,    86,    41,   167,   174,     7,    42,    39,    40,   177,
 525     167,     0,   180,   184,   185,   186,   187,   188,   189,   190,
 526     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
 527     201,   202,   203,   204,   179,    85,     0,    58,     4,     3,
 528       9,     0,     0,     8,    11,    14,    16,   208,    62,    49,
 529      83,    56,    59,    44,    64,    66,    68,    71,    76,    79,
 530      47,    48,    45,     0,    99,   100,   101,     0,   103,   105,
 531       5,   109,   110,   166,     0,   118,   168,     0,   171,   169,
 532     175,   183,    87,     0,    39,    17,    18,    19,    20,    21,
 533      22,    23,    24,    25,    26,    27,    28,    29,     6,    37,
 534      89,   172,   167,    84,   184,   185,   186,   187,   188,   189,
 535     190,   191,   192,   193,   194,   195,   196,   106,    91,   107,
 536     179,   182,   183,   181,     1,    42,    42,    92,   201,   202,
 537     203,   204,    12,    30,     0,    94,   105,    15,   207,     2,
 538     167,    42,    42,   167,    63,    34,   167,   167,   167,   167,
 539       0,     0,     0,   208,     0,   208,     0,   117,   208,   208,
 540     208,   167,     0,     0,     0,   139,   140,     0,   141,   142,
 541       0,     0,     0,   143,     0,   144,     0,   145,     0,     0,
 542       0,     0,   154,   155,   146,   147,   156,   148,   149,   157,
 543     158,   159,   160,   161,   162,   163,   164,   165,   150,   151,
 544     152,   153,   176,   170,   175,   173,    88,    46,     0,    10,
 545      38,     0,    13,     0,     0,    57,    60,    61,     0,    36,
 546      33,    65,    67,    69,    70,   208,   208,   208,   208,   208,
 547     208,    90,   208,   208,   208,     0,    51,    54,   167,   102,
 548     105,   167,     0,   115,   116,   114,   112,   121,   122,     0,
 549     208,     0,   167,     0,     0,     0,     0,   167,     0,     0,
 550       0,     0,    46,     0,    31,    93,    35,   167,   167,   167,
 551     167,   167,   167,   167,   167,   167,    50,   208,   208,   108,
 552     111,   123,     0,     0,   178,     0,     0,     0,   206,   205,
 553       0,     0,     0,     0,     0,     0,    32,    72,    73,    74,
 554      75,    77,    78,    81,    82,    80,    53,    55,   208,   208,
 555     208,   208,   208,   208,   208,   120,   124,   125,   126,   127,
 556     128,   137,   138,   129,   130,     0,     0,     0,     0,     0,
 557       0,     0,   208,   208,   208,   208,   208,   208,   208,     0,
 558       0,     0,     0,     0,     0,     0,   131,   119,   132,   133,
 559     134,   135,   136
 560};
 561
 562/* YYPDEFGOTO[NTERM-NUM].  */
 563static const short int yydefgoto[] =
 564{
 565      -1,    36,    37,    38,    39,    40,    41,    42,   132,   144,
 566     145,   218,    43,    44,    45,    46,    47,    48,    49,   235,
 567     236,   237,    50,    51,    52,    53,    54,    55,    56,    57,
 568      58,    59,    60,    61,   234,    62,   133,   134,    63,    64,
 569      65,    66,    67,    68,    69,    70,    71,    72,   161,    73,
 570      74,    75,    76,    77,    78,    79,   285,    80,    81,   290,
 571     151
 572};
 573
 574/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
 575   STATE-NUM.  */
 576#define YYPACT_NINF -226
 577static const short int yypact[] =
 578{
 579      49,     4,  -226,   326,  -226,  1653,   265,    30,  -226,    34,
 580     396,  2076,  1984,    42,    57,    67,    91,    93,    98,   105,
 581     109,   113,   118,   153,   154,   156,  -226,  -226,  -226,  -226,
 582    -226,  -226,  -226,  -226,  1719,  -226,   116,  -226,  -226,    18,
 583    -226,  1918,   172,  -226,  -226,  -226,  -226,   190,  -226,  -226,
 584     187,  -226,   151,   160,   149,   -15,   102,   114,    13,  -226,
 585    -226,  -226,  -226,   193,  -226,  -226,  -226,   195,  -226,   218,
 586    -226,   217,   231,  2130,  1844,  -226,  -226,   176,  -226,  -226,
 587     228,    59,   234,   235,  -226,  -226,  -226,  -226,  -226,  -226,
 588    -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,    18,    18,
 589    -226,  -226,   466,  -226,  -226,  -226,  -226,  -226,  -226,  -226,
 590    -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,
 591    2010,  -226,  -226,  -226,  -226,  1702,  2127,  -226,   232,   237,
 592     238,   241,   229,  -226,   243,  -226,   239,  -226,  -226,  -226,
 593    1586,  2170,  2211,   536,   230,  -226,   606,   676,   746,   816,
 594       6,    51,    80,    17,  2076,   190,   249,  -226,   190,   190,
 595     190,  1785,  2050,  2050,  1851,  -226,  -226,   252,  -226,  -226,
 596     253,   254,   255,  -226,   256,  -226,   276,  -226,   279,   280,
 597     288,   289,  -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,
 598    -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,  -226,
 599    -226,  -226,  -226,  -226,  -226,  -226,  -226,    36,   248,  -226,
 600    -226,   197,   229,   290,   287,  -226,    18,    18,   291,  -226,
 601    -226,   149,   -15,   117,   129,   190,   190,   190,   190,   190,
 602     190,  -226,   190,   190,   190,   305,  -226,   304,   886,  -226,
 603    -226,  1785,   240,  -226,  -226,  -226,  -226,  -226,  -226,   322,
 604      16,  2050,  1785,   330,   330,   330,  1941,  1785,   330,   330,
 605     330,   330,  -226,   328,  -226,  -226,  -226,   956,  1026,  1096,
 606    1166,  1236,  1306,  1376,  1446,  1516,  -226,   190,   190,  -226,
 607    -226,  -226,    -9,   332,  -226,   333,   334,   335,  -226,  -226,
 608     336,   339,   340,   341,   342,   344,  -226,   130,   150,   165,
 609     167,    15,    21,  -226,  -226,  -226,  -226,  -226,   190,   190,
 610     190,   190,   190,   190,   190,  -226,  -226,  -226,  -226,  -226,
 611    -226,  -226,  -226,  -226,  -226,  1941,  1941,  1941,  1941,  1941,
 612    1941,  1941,   190,   190,   190,   190,   190,   190,   190,   331,
 613     358,   359,   360,   361,   362,   363,  -226,  -226,  -226,  -226,
 614    -226,  -226,  -226
 615};
 616
 617/* YYPGOTO[NTERM-NUM].  */
 618static const short int yypgoto[] =
 619{
 620    -226,  -226,  -226,  -226,     0,    -1,  -226,  -226,  -226,   222,
 621    -134,  -226,  -226,  -226,  -226,  -226,     1,  -226,  -226,  -226,
 622      78,  -226,  -226,   246,  -226,  -226,   212,   242,   -13,  -104,
 623     -98,    -2,   177,  -226,  -226,  -226,  -226,  -226,  -226,     3,
 624    -226,  -226,  -226,   233,   -34,  -225,  -226,   236,  -226,  -226,
 625    -226,  -226,   226,   227,   -74,  -226,   -57,    -3,   -11,   -50,
 626     -45
 627};
 628
 629/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
 630   positive, shift that token.  If negative, reduce the rule which
 631   number is the opposite.  If zero, do what YYDEFACT says.
 632   If YYTABLE_NINF, syntax error.  */
 633#define YYTABLE_NINF -209
 634static const short int yytable[] =
 635{
 636     119,   122,   139,   203,    83,    98,    99,   136,   103,   121,
 637     220,   150,   148,   152,   118,   225,   279,   138,   308,   138,
 638     138,   138,    82,   122,   -52,   138,   226,   283,   125,   126,
 639     119,   123,   291,   100,   227,   228,   -43,  -208,   281,  -208,
 640     -43,   149,   101,   -43,   135,  -208,   309,   310,   311,   312,
 641     313,   314,     1,   -43,     2,     3,   -17,     4,   -43,     5,
 642       6,  -208,  -208,  -208,  -208,  -107,   122,     7,     8,  -208,
 643    -208,   -18,  -107,     9,   204,    10,   229,   230,   220,    11,
 644      12,   -19,    13,    14,    15,    16,    17,    18,    19,    20,
 645      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 646      31,    32,    33,   208,   231,   -20,   138,   -21,   238,   122,
 647     241,  -208,   -22,   243,   244,   245,   124,   123,   138,   -23,
 648     240,   138,  -208,   -24,   209,   210,  -208,   -25,   232,   233,
 649    -208,  -208,   -26,   138,   138,   223,   224,  -208,  -208,  -208,
 650    -208,   216,   217,   119,   219,  -208,  -208,    34,    35,  -208,
 651     122,   122,   122,   122,   138,  -208,  -208,  -208,  -208,   247,
 652     248,   141,   142,   297,   298,   299,   300,   -27,   -28,   138,
 653     -29,   138,   143,   301,   302,  -208,  -208,   203,   150,   150,
 654     267,   268,   269,   270,   271,   272,   137,   273,   274,   275,
 655    -208,  -208,  -208,  -208,   138,   140,   147,   286,   287,   153,
 656     202,   292,   293,   294,   295,   282,   146,    12,   154,   104,
 657     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 658     115,   116,    26,    27,    28,    29,    30,    31,    32,    33,
 659     122,  -104,   238,   307,   155,   156,   205,   206,   -95,   278,
 660     122,   122,   207,   -96,   211,   122,   122,   -98,   204,   213,
 661     143,   143,   214,   289,   242,   262,   152,   152,   252,   253,
 662     254,   255,   256,   325,   326,   327,   328,   329,   330,   331,
 663       2,   303,   304,   305,   120,   332,   333,   334,   335,   336,
 664     337,   338,   257,    84,     8,   258,   259,   339,   340,   341,
 665     342,   343,   344,   345,   260,   261,    35,   264,    85,    86,
 666      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
 667      97,   265,   276,   266,   122,   122,   122,   122,   122,   122,
 668     122,   277,   289,   289,   289,   289,   289,   289,   289,     1,
 669     101,     2,     3,   284,     4,   296,     5,     6,   280,   315,
 670     316,   317,   318,   319,     7,     8,   320,   321,   322,   323,
 671       9,   324,    10,   346,   212,   306,    11,    12,   221,    13,
 672      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 673      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 674     347,   348,   349,   350,   351,   352,   215,   239,   263,   222,
 675     250,   251,     0,     0,     0,     0,     0,   246,     0,     1,
 676       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 677       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 678       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 679      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 680      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 681       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 682       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 683       0,     2,     3,     0,     4,     0,     5,     6,     0,     0,
 684       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 685       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 686      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 687      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 688       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 689       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 690       0,     2,     3,     0,     4,     0,     5,     6,     0,     0,
 691       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 692       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 693      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 694      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 695       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 696       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 697       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 698       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 699       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 700      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 701      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 702       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 703       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 704       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 705       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 706       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 707      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 708      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 709       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 710       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 711       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 712       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 713       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 714      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 715      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 716       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 717       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 718       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 719       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 720       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 721      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 722      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 723       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 724       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 725       0,     2,     3,     0,     4,     0,     5,     6,     0,     0,
 726       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 727       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 728      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 729      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 730       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 731       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 732       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 733       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 734       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 735      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 736      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 737       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 738       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 739       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 740       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 741       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 742      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 743      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 744       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 745       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 746       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 747       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 748       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 749      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 750      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 751       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 752       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 753       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 754       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 755       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 756      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 757      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 758       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 759       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 760       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 761       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 762       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 763      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 764      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 765       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 766       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 767       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 768       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 769       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 770      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 771      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 772       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 773       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 774       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 775       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 776       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 777      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 778      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 779       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 780       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 781       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 782       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 783       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 784      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 785      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 786       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 787       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 788       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 789       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 790       9,     0,    10,     0,    34,    35,    11,    12,     0,    13,
 791      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 792      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 793       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 794       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
 795       0,     2,   102,     0,     4,     0,     5,     6,     0,     0,
 796       0,     0,     0,     0,     7,     8,     0,     0,     0,     0,
 797       9,     0,     0,     0,    34,    35,    11,    12,     0,    13,
 798      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 799      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 800       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 801       0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
 802       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 803       0,    84,     8,     0,     0,     0,     0,    -7,     0,     0,
 804       0,     0,     0,     0,    34,    35,    85,    86,    87,    88,
 805      89,    90,    91,    92,    93,    94,    95,    96,    97,    -7,
 806      -7,    -7,    -7,   -42,   -42,   -42,   -42,     2,     0,     0,
 807       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 808      84,     8,     0,     0,     0,  -106,     0,     0,     0,     0,
 809       0,     0,  -106,     0,     0,    85,    86,    87,    88,    89,
 810      90,    91,    92,    93,    94,    95,    96,    97,     0,     0,
 811      12,   -42,   104,   105,   106,   107,   108,   109,   110,   111,
 812     112,   113,   114,   115,   116,    26,    27,    28,    29,    30,
 813      31,    32,    33,     0,     0,     0,     0,     0,     0,     0,
 814       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 815       0,     0,     0,     4,     0,     0,     0,     0,     0,     0,
 816       0,     0,     0,     0,     0,     0,     0,     0,     0,     9,
 817       0,     0,     0,     0,     0,     0,    12,   120,   104,   105,
 818     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
 819     116,    26,    27,    28,    29,    30,    31,    32,    33,     0,
 820       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 821       0,     0,     0,     0,     0,     0,     0,     0,     0,     4,
 822     162,     0,   163,     0,     0,   164,     0,     0,     0,     0,
 823       0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
 824       0,     0,    12,   120,   104,   105,   106,   107,   108,   109,
 825     110,   111,   112,   113,   114,   115,   116,    26,    27,    28,
 826      29,    30,    31,    32,    33,   165,   166,   167,   168,   169,
 827     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
 828     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
 829     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
 830     200,   201,   127,     0,     0,     0,     0,     0,     0,   120,
 831       0,   104,   105,   106,   107,   108,   109,   110,   111,   112,
 832     113,   114,   115,   116,    26,    27,    28,    29,   128,   129,
 833     130,   131,    12,     0,   104,   105,   106,   107,   108,   109,
 834     110,   111,   112,   113,   114,   115,   116,    26,    27,    28,
 835      29,    30,    31,    32,    33,     0,     0,     0,     0,     0,
 836       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 837       0,     0,     0,     0,     0,    12,   117,   104,   105,   106,
 838     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
 839      26,    27,    28,    29,    30,    31,    32,    33,     0,   120,
 840     288,    12,     0,   104,   105,   106,   107,   108,   109,   110,
 841     111,   112,   113,   114,   115,   116,    26,    27,    28,    29,
 842      30,    31,    32,    33,     0,     0,     0,     0,     0,     0,
 843       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 844       0,    12,   120,   104,   105,   106,   107,   108,   109,   110,
 845     111,   112,   113,   114,   115,   116,    26,    27,    28,    29,
 846      30,    31,    32,    33,     0,     0,     0,     0,   120,   104,
 847     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 848     115,   116,    26,    27,    28,    29,    30,    31,    32,    33,
 849    -113,     0,     2,     0,   157,     0,     0,  -113,  -113,  -113,
 850       0,     0,     0,     0,     0,    84,     8,  -113,   120,     0,
 851     158,     0,  -113,   159,  -113,   160,  -113,  -113,  -113,  -113,
 852      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 853      95,    96,    97,     0,   117,     2,  -113,  -113,  -113,  -113,
 854       0,     0,     0,     0,     0,     0,  -113,     0,    84,     8,
 855       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 856       0,     0,     0,    85,    86,    87,    88,    89,    90,    91,
 857      92,    93,    94,    95,    96,    97,     2,     0,     0,     0,
 858       0,     0,     0,     0,     0,     0,     0,     0,     0,    84,
 859       8,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 860       0,     0,     0,     0,    85,    86,    87,    88,    89,    90,
 861      91,    92,    93,    94,    95,    96,    97
 862};
 863
 864/* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
 865   list of conflicting reductions corresponding to action entry for
 866   state STATE-NUM in yytable.  0 means no conflicts.  The list in
 867   yyconfl is terminated by a rule number of 0.  */
 868static const unsigned short int yyconflp[] =
 869{
 870       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 871       0,     0,     0,     0,     0,     0,     0,   229,     0,  1199,
 872       0,     0,     0,     0,     0,  1201,     0,     0,     0,     0,
 873       0,     0,     0,     0,     0,     0,   697,     0,     0,     0,
 874     699,     0,   159,   701,     0,     0,     0,     0,     0,     0,
 875       0,     0,     0,   703,     0,     0,     0,     0,   705,     0,
 876       0,     0,     0,     0,     0,     0,     0,     1,     0,     0,
 877       0,     0,     0,     3,     0,     0,     0,     0,     0,     0,
 878       0,     0,     5,     7,     9,    11,    13,    15,    17,    19,
 879      21,    23,    25,    27,    29,    31,    33,    35,    37,    39,
 880      41,    43,    45,     0,     0,     0,   225,     0,     0,     0,
 881       0,     0,     0,     0,     0,     0,     0,     0,   227,     0,
 882       0,   707,     0,     0,     0,     0,     0,     0,     0,     0,
 883       0,     0,     0,   709,  1191,     0,     0,     0,     0,     0,
 884       0,     0,     0,     0,     0,     0,     0,    47,     0,     0,
 885       0,     0,     0,     0,  1193,     0,     0,     0,     0,     0,
 886       0,     0,     0,     0,     0,     0,     0,     0,     0,  1195,
 887       0,  1197,     0,     0,     0,     0,     0,     0,     0,     0,
 888       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 889       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 890       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 891       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 892       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 893       0,     0,     0,     0,   231,   233,   241,     0,     0,     0,
 894       0,     0,     0,     0,   351,     0,     0,     0,     0,     0,
 895       0,   503,   353,     0,     0,     0,     0,     0,     0,     0,
 896       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 897       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 898       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 899       0,     0,     0,     0,     0,     0,     0,     0,   133,   135,
 900     137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
 901     157,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 902       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 903       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 904       0,     0,     0,     0,    49,     0,     0,     0,     0,     0,
 905      51,     0,     0,     0,     0,     0,     0,     0,     0,    53,
 906      55,    57,    59,    61,    63,    65,    67,    69,    71,    73,
 907      75,    77,    79,    81,    83,    85,    87,    89,    91,    93,
 908       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 909       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 910       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 911       0,     0,     0,     0,   161,     0,     0,     0,     0,     0,
 912     163,     0,     0,     0,    95,     0,     0,     0,     0,   165,
 913     167,   169,   171,   173,   175,   177,   179,   181,   183,   185,
 914     187,   189,   191,   193,   195,   197,   199,   201,   203,   205,
 915       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 916       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 917       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 918       0,     0,     0,     0,   243,     0,     0,     0,     0,     0,
 919     245,     0,     0,     0,   207,     0,     0,     0,     0,   247,
 920     249,   251,   253,   255,   257,   259,   261,   263,   265,   267,
 921     269,   271,   273,   275,   277,   279,   281,   283,   285,   287,
 922       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 923       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 924       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 925       0,     0,     0,     0,   455,     0,     0,     0,     0,     0,
 926     457,     0,     0,     0,   289,     0,     0,     0,     0,   459,
 927     461,   463,   465,   467,   469,   471,   473,   475,   477,   479,
 928     481,   483,   485,   487,   489,   491,   493,   495,   497,   499,
 929       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 930       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 931       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 932       0,     0,     0,     0,   505,     0,     0,     0,     0,     0,
 933     507,     0,     0,     0,   501,     0,     0,     0,     0,   509,
 934     511,   513,   515,   517,   519,   521,   523,   525,   527,   529,
 935     531,   533,   535,   537,   539,   541,   543,   545,   547,   549,
 936       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 937       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 938       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 939       0,     0,     0,     0,   553,     0,     0,     0,     0,     0,
 940     555,     0,     0,     0,   551,     0,     0,     0,     0,   557,
 941     559,   561,   563,   565,   567,   569,   571,   573,   575,   577,
 942     579,   581,   583,   585,   587,   589,   591,   593,   595,   597,
 943       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 944       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 945       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 946       0,     0,     0,     0,   601,     0,     0,     0,     0,     0,
 947     603,     0,     0,     0,   599,     0,     0,     0,     0,   605,
 948     607,   609,   611,   613,   615,   617,   619,   621,   623,   625,
 949     627,   629,   631,   633,   635,   637,   639,   641,   643,   645,
 950       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 951       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 952       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 953       0,     0,     0,     0,   649,     0,     0,     0,     0,     0,
 954     651,     0,     0,     0,   647,     0,     0,     0,     0,   653,
 955     655,   657,   659,   661,   663,   665,   667,   669,   671,   673,
 956     675,   677,   679,   681,   683,   685,   687,   689,   691,   693,
 957       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 958       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 959       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 960       0,     0,     0,     0,   711,     0,     0,     0,     0,     0,
 961     713,     0,     0,     0,   695,     0,     0,     0,     0,   715,
 962     717,   719,   721,   723,   725,   727,   729,   731,   733,   735,
 963     737,   739,   741,   743,   745,   747,   749,   751,   753,   755,
 964       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 965       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 966       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 967       0,     0,     0,     0,   759,     0,     0,     0,     0,     0,
 968     761,     0,     0,     0,   757,     0,     0,     0,     0,   763,
 969     765,   767,   769,   771,   773,   775,   777,   779,   781,   783,
 970     785,   787,   789,   791,   793,   795,   797,   799,   801,   803,
 971       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 972       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 973       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 974       0,     0,     0,     0,   807,     0,     0,     0,     0,     0,
 975     809,     0,     0,     0,   805,     0,     0,     0,     0,   811,
 976     813,   815,   817,   819,   821,   823,   825,   827,   829,   831,
 977     833,   835,   837,   839,   841,   843,   845,   847,   849,   851,
 978       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 979       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 980       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 981       0,     0,     0,     0,   855,     0,     0,     0,     0,     0,
 982     857,     0,     0,     0,   853,     0,     0,     0,     0,   859,
 983     861,   863,   865,   867,   869,   871,   873,   875,   877,   879,
 984     881,   883,   885,   887,   889,   891,   893,   895,   897,   899,
 985       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 986       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 987       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 988       0,     0,     0,     0,   903,     0,     0,     0,     0,     0,
 989     905,     0,     0,     0,   901,     0,     0,     0,     0,   907,
 990     909,   911,   913,   915,   917,   919,   921,   923,   925,   927,
 991     929,   931,   933,   935,   937,   939,   941,   943,   945,   947,
 992       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 993       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 994       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 995       0,     0,     0,     0,   951,     0,     0,     0,     0,     0,
 996     953,     0,     0,     0,   949,     0,     0,     0,     0,   955,
 997     957,   959,   961,   963,   965,   967,   969,   971,   973,   975,
 998     977,   979,   981,   983,   985,   987,   989,   991,   993,   995,
 999       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1000       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1001       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1002       0,     0,     0,     0,   999,     0,     0,     0,     0,     0,
1003    1001,     0,     0,     0,   997,     0,     0,     0,     0,  1003,
1004    1005,  1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,
1005    1025,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
1006       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1007       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1008       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1009       0,     0,     0,     0,  1047,     0,     0,     0,     0,     0,
1010    1049,     0,     0,     0,  1045,     0,     0,     0,     0,  1051,
1011    1053,  1055,  1057,  1059,  1061,  1063,  1065,  1067,  1069,  1071,
1012    1073,  1075,  1077,  1079,  1081,  1083,  1085,  1087,  1089,  1091,
1013       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1014       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1015       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1016       0,     0,     0,     0,  1095,     0,     0,     0,     0,     0,
1017    1097,     0,     0,     0,  1093,     0,     0,     0,     0,  1099,
1018    1101,  1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,  1119,
1019    1121,  1123,  1125,  1127,  1129,  1131,  1133,  1135,  1137,  1139,
1020       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1021       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1022       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1023       0,     0,     0,     0,  1143,     0,     0,     0,     0,     0,
1024    1145,     0,     0,     0,  1141,     0,     0,     0,     0,  1147,
1025    1149,  1151,  1153,  1155,  1157,  1159,  1161,  1163,  1165,  1167,
1026    1169,  1171,  1173,  1175,  1177,  1179,  1181,  1183,  1185,  1187,
1027       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1028       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1029       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1030       0,     0,     0,     0,   355,     0,     0,     0,     0,     0,
1031     357,     0,     0,     0,  1189,     0,     0,     0,     0,   359,
1032     361,   363,   365,   367,   369,   371,   373,   375,   377,   379,
1033     381,   383,   385,   387,   389,   391,   393,   395,   397,   399,
1034       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1035       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1036       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1037       0,     0,     0,     0,     0,     0,     0,    97,     0,     0,
1038       0,     0,     0,     0,   401,     0,    99,   101,   103,   105,
1039     107,   109,   111,   113,   115,   117,   119,   121,   123,   125,
1040     127,   129,   131,     0,     0,     0,     0,     0,     0,     0,
1041       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1042       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1043       0,     0,     0,     0,     0,   299,   301,   303,   305,   307,
1044     309,   311,   313,   315,   317,   319,   321,   323,     0,     0,
1045       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1046       0,     0,     0,     0,     0,   217,   219,   221,   223,     0,
1047       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1048       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1049       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1050       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1051       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1052       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1053       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1054       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1055       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1056       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1057       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1058       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1059       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1061       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1062       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1063       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1064       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1065       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1066       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1067       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1068       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1070       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1071       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1072       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073     209,   211,   213,   215,     0,     0,     0,     0,     0,     0,
1074       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1075       0,     0,     0,     0,     0,     0,   291,   293,   295,   297,
1076       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1078       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1079       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1080       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1081       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1082       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1083       0,     0,     0,     0,   235,     0,     0,     0,     0,     0,
1084       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1085     237,     0,     0,     0,     0,   239,     0,     0,     0,     0,
1086     325,   327,   329,   331,   333,   335,   337,   339,   341,   343,
1087     345,   347,   349,     0,     0,     0,     0,     0,     0,     0,
1088       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1089       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1090       0,     0,     0,   403,   405,   407,   409,   411,   413,   415,
1091     417,   419,   421,   423,   425,   427,     0,     0,     0,     0,
1092       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1093       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1094       0,     0,     0,     0,   429,   431,   433,   435,   437,   439,
1095     441,   443,   445,   447,   449,   451,   453
1096};
1097
1098/* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
1099   0, pointed into by YYCONFLP.  */
1100static const short int yyconfl[] =
1101{
1102       0,   167,     0,    42,     0,    42,     0,    42,     0,    42,
1103       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1104       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1105       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1106       0,    42,     0,    42,     0,    42,     0,    42,     0,   167,
1107       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1108       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1109       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1110       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1111       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1112       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1113       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1114       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1115       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1116       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1117       0,    42,     0,    42,     0,    42,     0,    42,     0,   177,
1118       0,   167,     0,    42,     0,    42,     0,    42,     0,    42,
1119       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1120       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1121       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1122       0,    42,     0,    42,     0,    42,     0,    42,     0,   180,
1123       0,   180,     0,   180,     0,   180,     0,   179,     0,   179,
1124       0,   179,     0,   179,     0,    68,     0,    71,     0,    76,
1125       0,   109,     0,   110,     0,   113,     0,   113,     0,   113,
1126       0,   175,     0,   167,     0,    42,     0,    42,     0,    42,
1127       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1128       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1129       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1130       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1131       0,   179,     0,   179,     0,   179,     0,   179,     0,    42,
1132       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1133       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1134       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1135       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1136       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1137       0,    97,     0,   104,     0,   167,     0,    42,     0,    42,
1138       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1139       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1140       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1141       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1142       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1143       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1144       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1145       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1146       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1147       0,    42,     0,    42,     0,   167,     0,    42,     0,    42,
1148       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1149       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1150       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1151       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1152       0,    42,     0,    63,     0,   167,     0,    42,     0,    42,
1153       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1154       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1155       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1156       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1157       0,    42,     0,   167,     0,    42,     0,    42,     0,    42,
1158       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1159       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1160       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1161       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1162       0,   167,     0,    42,     0,    42,     0,    42,     0,    42,
1163       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1164       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1165       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1166       0,    42,     0,    42,     0,    42,     0,    42,     0,   167,
1167       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1168       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1169       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1170       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1171       0,    42,     0,    42,     0,    42,     0,    46,     0,    46,
1172       0,    46,     0,    46,     0,    46,     0,    69,     0,    70,
1173       0,   167,     0,    42,     0,    42,     0,    42,     0,    42,
1174       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1175       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1176       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1177       0,    42,     0,    42,     0,    42,     0,    42,     0,   167,
1178       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1179       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1180       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1181       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1182       0,    42,     0,    42,     0,    42,     0,   167,     0,    42,
1183       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1184       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1185       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1186       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1187       0,    42,     0,    42,     0,   167,     0,    42,     0,    42,
1188       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1189       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1190       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1191       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1192       0,    42,     0,   167,     0,    42,     0,    42,     0,    42,
1193       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1194       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1195       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1196       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1197       0,   167,     0,    42,     0,    42,     0,    42,     0,    42,
1198       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1199       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1200       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1201       0,    42,     0,    42,     0,    42,     0,    42,     0,   167,
1202       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1203       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1204       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1205       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1206       0,    42,     0,    42,     0,    42,     0,   167,     0,    42,
1207       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1208       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1209       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1210       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1211       0,    42,     0,    42,     0,   167,     0,    42,     0,    42,
1212       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1213       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1214       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1215       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1216       0,    42,     0,   167,     0,    42,     0,    42,     0,    42,
1217       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1218       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1219       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1220       0,    42,     0,    42,     0,    42,     0,    42,     0,    42,
1221       0,    72,     0,    73,     0,    74,     0,    75,     0,    77,
1222       0,    78,     0
1223};
1224
1225static const short int yycheck[] =
1226{
1227      11,    12,    47,    77,     3,     5,     6,    41,    10,    12,
1228     144,    56,    27,    58,    11,     9,   241,     4,    27,     4,
1229       4,     4,    18,    34,     7,     4,    20,   252,    10,    11,
1230      41,    34,   257,     3,    28,    29,     0,    24,    22,    24,
1231       4,    56,     8,     7,    41,    24,    55,    56,    57,    58,
1232      59,    60,     3,    17,     5,     6,    14,     8,    22,    10,
1233      11,    48,    49,    48,    49,     6,    77,    18,    19,    48,
1234      49,    14,    13,    24,    77,    26,    25,    26,   212,    30,
1235      31,    14,    33,    34,    35,    36,    37,    38,    39,    40,
1236      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1237      51,    52,    53,   102,    24,    14,     4,    14,   153,   120,
1238     155,     9,    14,   158,   159,   160,     0,   120,     4,    14,
1239     154,     4,    20,    14,   125,   126,     9,    14,    48,    49,
1240      28,    29,    14,     4,     4,   148,   149,    20,     9,    25,
1241      26,   141,   142,   154,   143,    28,    29,    98,    99,    20,
1242     161,   162,   163,   164,     4,    25,    26,    28,    29,   162,
1243     163,    10,    11,   267,   268,   269,   270,    14,    14,     4,
1244      14,     4,    21,   271,   272,    25,    26,   251,   223,   224,
1245     225,   226,   227,   228,   229,   230,    14,   232,   233,   234,
1246      25,    26,    25,    26,     4,     8,    47,   254,   255,     6,
1247      24,   258,   259,   260,   261,   250,    46,    31,    13,    33,
1248      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1249      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1250     241,    13,   277,   278,    17,     4,     8,     3,     6,   238,
1251     251,   252,     7,     6,     6,   256,   257,     6,   251,     6,
1252      21,    21,    13,   256,     5,     7,   301,   302,     6,     6,
1253       6,     6,     6,   308,   309,   310,   311,   312,   313,   314,
1254       5,   273,   274,   275,    98,   325,   326,   327,   328,   329,
1255     330,   331,     6,    18,    19,     6,     6,   332,   333,   334,
1256     335,   336,   337,   338,     6,     6,    99,     7,    33,    34,
1257      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1258      45,    24,     7,    22,   325,   326,   327,   328,   329,   330,
1259     331,    17,   325,   326,   327,   328,   329,   330,   331,     3,
1260       8,     5,     6,     3,     8,     7,    10,    11,    98,     7,
1261       7,     7,     7,     7,    18,    19,     7,     7,     7,     7,
1262      24,     7,    26,    22,   132,   277,    30,    31,   146,    33,
1263      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1264      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1265      22,    22,    22,    22,    22,    22,   140,   154,   211,   147,
1266     164,   164,    -1,    -1,    -1,    -1,    -1,   161,    -1,     3,
1267      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1268      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1269      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1270      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1271      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1272      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1273      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1274      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1275      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1276      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1277      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1278      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1279      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1280      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1281      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1282      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1283      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1284      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1285      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1287      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1288      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1289      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1290      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1291      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1292      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1293      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1294      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1295      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1296      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1297      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1298      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1299      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1300      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1301      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1302      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1303      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1304      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1305      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1306      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1307      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1308      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1309      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1310      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1311      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1312      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1313      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1314      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1315      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1316      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1317      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1318      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1319      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1320      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1321      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1322      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1323      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1324      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1325      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1326      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1327      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1328      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1329      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1330      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1331      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1332      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1333      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1334      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1335      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1336      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1337      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1338      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1339      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1340      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1341      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1342      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1343      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1344      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1345      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1346      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1347      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1348      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1349      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1350      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1351      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1352      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1353      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1354      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1355      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1356      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1357      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1358      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1359      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1360      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1361      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1362      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1363      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1364      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1365      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1366      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1367      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1368      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1369      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1370      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1371      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1372      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1373      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1374      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1375      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1376      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1377      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1378      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1379      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1380      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1381      24,    -1,    26,    -1,    98,    99,    30,    31,    -1,    33,
1382      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1383      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1384      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1385      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
1386      -1,     5,     6,    -1,     8,    -1,    10,    11,    -1,    -1,
1387      -1,    -1,    -1,    -1,    18,    19,    -1,    -1,    -1,    -1,
1388      24,    -1,    -1,    -1,    98,    99,    30,    31,    -1,    33,
1389      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1390      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1392      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,
1393      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1394      -1,    18,    19,    -1,    -1,    -1,    -1,    24,    -1,    -1,
1395      -1,    -1,    -1,    -1,    98,    99,    33,    34,    35,    36,
1396      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1397      47,    48,    49,    50,    51,    52,    53,     5,    -1,    -1,
1398      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1399      18,    19,    -1,    -1,    -1,     6,    -1,    -1,    -1,    -1,
1400      -1,    -1,    13,    -1,    -1,    33,    34,    35,    36,    37,
1401      38,    39,    40,    41,    42,    43,    44,    45,    -1,    -1,
1402      31,    98,    33,    34,    35,    36,    37,    38,    39,    40,
1403      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1404      51,    52,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1405      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1406      -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,
1407      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    24,
1408      -1,    -1,    -1,    -1,    -1,    -1,    31,    98,    33,    34,
1409      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1410      45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
1411      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1412      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,
1413      16,    -1,    18,    -1,    -1,    21,    -1,    -1,    -1,    -1,
1414      -1,    -1,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,
1415      -1,    -1,    31,    98,    33,    34,    35,    36,    37,    38,
1416      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1417      49,    50,    51,    52,    53,    61,    62,    63,    64,    65,
1418      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1419      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1420      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1421      96,    97,    24,    -1,    -1,    -1,    -1,    -1,    -1,    98,
1422      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1423      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1424      52,    53,    31,    -1,    33,    34,    35,    36,    37,    38,
1425      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1426      49,    50,    51,    52,    53,    -1,    -1,    -1,    -1,    -1,
1427      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1428      -1,    -1,    -1,    -1,    -1,    31,    98,    33,    34,    35,
1429      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1430      46,    47,    48,    49,    50,    51,    52,    53,    -1,    98,
1431      99,    31,    -1,    33,    34,    35,    36,    37,    38,    39,
1432      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1433      50,    51,    52,    53,    -1,    -1,    -1,    -1,    -1,    -1,
1434      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1435      -1,    31,    98,    33,    34,    35,    36,    37,    38,    39,
1436      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1437      50,    51,    52,    53,    -1,    -1,    -1,    -1,    98,    33,
1438      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1439      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1440       0,    -1,     5,    -1,     4,    -1,    -1,     7,     8,     9,
1441      -1,    -1,    -1,    -1,    -1,    18,    19,    17,    98,    -1,
1442      20,    -1,    22,    23,    24,    25,    26,    27,    28,    29,
1443      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1444      43,    44,    45,    -1,    98,     5,    46,    47,    48,    49,
1445      -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    18,    19,
1446      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1447      -1,    -1,    -1,    33,    34,    35,    36,    37,    38,    39,
1448      40,    41,    42,    43,    44,    45,     5,    -1,    -1,    -1,
1449      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
1450      19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1451      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
1452      39,    40,    41,    42,    43,    44,    45
1453};
1454
1455/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1456   symbol of state STATE-NUM.  */
1457static const unsigned char yystos[] =
1458{
1459       0,     3,     5,     6,     8,    10,    11,    18,    19,    24,
1460      26,    30,    31,    33,    34,    35,    36,    37,    38,    39,
1461      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1462      50,    51,    52,    53,    98,    99,   101,   102,   103,   104,
1463     105,   106,   107,   112,   113,   114,   115,   116,   117,   118,
1464     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1465     132,   133,   135,   138,   139,   140,   141,   142,   143,   144,
1466     145,   146,   147,   149,   150,   151,   152,   153,   154,   155,
1467     157,   158,    18,   116,    18,    33,    34,    35,    36,    37,
1468      38,    39,    40,    41,    42,    43,    44,    45,   104,   104,
1469       3,     8,     6,   131,    33,    34,    35,    36,    37,    38,
1470      39,    40,    41,    42,    43,    44,    45,    98,   139,   158,
1471      98,   157,   158,   157,     0,    10,    11,    24,    50,    51,
1472      52,    53,   108,   136,   137,   139,   144,    14,     4,   160,
1473       8,    10,    11,    21,   109,   110,    46,    47,    27,    56,
1474     160,   160,   160,     6,    13,    17,     4,     4,    20,    23,
1475      25,   148,    16,    18,    21,    61,    62,    63,    64,    65,
1476      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1477      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1478      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1479      96,    97,    24,   154,   157,     8,     3,     7,   116,   105,
1480     105,     6,   109,     6,    13,   123,   104,   104,   111,   116,
1481     110,   126,   127,   128,   128,     9,    20,    28,    29,    25,
1482      26,    24,    48,    49,   134,   119,   120,   121,   160,   143,
1483     144,   160,     5,   160,   160,   160,   147,   157,   157,    24,
1484     152,   153,     6,     6,     6,     6,     6,     6,     6,     6,
1485       6,     6,     7,   132,     7,    24,    22,   160,   160,   160,
1486     160,   160,   160,   160,   160,   160,     7,    17,   116,   145,
1487      98,    22,   160,   145,     3,   156,   156,   156,    99,   157,
1488     159,   145,   156,   156,   156,   156,     7,   129,   129,   129,
1489     129,   130,   130,   131,   131,   131,   120,   160,    27,    55,
1490      56,    57,    58,    59,    60,     7,     7,     7,     7,     7,
1491       7,     7,     7,     7,     7,   160,   160,   160,   160,   160,
1492     160,   160,   159,   159,   159,   159,   159,   159,   159,   160,
1493     160,   160,   160,   160,   160,   160,    22,    22,    22,    22,
1494      22,    22,    22
1495};
1496
1497
1498/* Prevent warning if -Wmissing-prototypes.  */
1499int yyparse (void);
1500
1501/* Error token number */
1502#define YYTERROR 1
1503
1504/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1505   If N is 0, then set CURRENT to the empty location which ends
1506   the previous symbol: RHS[0] (always defined).  */
1507
1508
1509#ifndef YYLLOC_DEFAULT
1510# define YYLLOC_DEFAULT(Current, Rhs, N) ((void) 0)
1511#endif
1512
1513
1514#ifndef YY_LOCATION_PRINT
1515# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1516#endif
1517
1518
1519/* YYLEX -- calling `yylex' with the right arguments.  */
1520#define YYLEX yylex ()
1521
1522YYSTYPE yylval;
1523
1524YYLTYPE yylloc;
1525
1526int yynerrs;
1527int yychar;
1528
1529static const int YYEOF = 0;
1530static const int YYEMPTY = -2;
1531
1532typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
1533
1534#define YYCHK(YYE)							     \
1535   do { YYRESULTTAG yyflag = YYE; if (yyflag != yyok) return yyflag; }	     \
1536   while (YYID (0))
1537
1538#if YYDEBUG
1539
1540# ifndef YYFPRINTF
1541#  define YYFPRINTF fprintf
1542# endif
1543
1544# define YYDPRINTF(Args)			\
1545do {						\
1546  if (yydebug)					\
1547    YYFPRINTF Args;				\
1548} while (YYID (0))
1549
1550
1551/*--------------------------------.
1552| Print this symbol on YYOUTPUT.  |
1553`--------------------------------*/
1554
1555/*ARGSUSED*/
1556static void
1557yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1558{
1559  if (!yyvaluep)
1560    return;
1561# ifdef YYPRINT
1562  if (yytype < YYNTOKENS)
1563    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1564# else
1565  YYUSE (yyoutput);
1566# endif
1567  switch (yytype)
1568    {
1569      default:
1570	break;
1571    }
1572}
1573
1574
1575/*--------------------------------.
1576| Print this symbol on YYOUTPUT.  |
1577`--------------------------------*/
1578
1579static void
1580yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1581{
1582  if (yytype < YYNTOKENS)
1583    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1584  else
1585    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1586
1587  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1588  YYFPRINTF (yyoutput, ")");
1589}
1590
1591# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			    \
1592do {									    \
1593  if (yydebug)								    \
1594    {									    \
1595      YYFPRINTF (stderr, "%s ", Title);					    \
1596      yy_symbol_print (stderr, Type,					    \
1597		       Value);  \
1598      YYFPRINTF (stderr, "\n");						    \
1599    }									    \
1600} while (YYID (0))
1601
1602/* Nonzero means print parse trace.  It is left uninitialized so that
1603   multiple parsers can coexist.  */
1604int yydebug;
1605
1606#else /* !YYDEBUG */
1607
1608# define YYDPRINTF(Args)
1609# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1610
1611#endif /* !YYDEBUG */
1612
1613/* YYINITDEPTH -- initial size of the parser's stacks.  */
1614#ifndef	YYINITDEPTH
1615# define YYINITDEPTH 200
1616#endif
1617
1618/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1619   if the built-in stack extension method is used).
1620
1621   Do not make this value too large; the results are undefined if
1622   SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
1623   evaluated with infinite-precision integer arithmetic.  */
1624
1625#ifndef YYMAXDEPTH
1626# define YYMAXDEPTH 10000
1627#endif
1628
1629/* Minimum number of free items on the stack allowed after an
1630   allocation.  This is to allow allocation and initialization
1631   to be completed by functions that call yyexpandGLRStack before the
1632   stack is expanded, thus insuring that all necessary pointers get
1633   properly redirected to new data.  */
1634#define YYHEADROOM 2
1635
1636#ifndef YYSTACKEXPANDABLE
1637# if (! defined __cplusplus \
1638      || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))
1639#  define YYSTACKEXPANDABLE 1
1640# else
1641#  define YYSTACKEXPANDABLE 0
1642# endif
1643#endif
1644
1645#if YYSTACKEXPANDABLE
1646# define YY_RESERVE_GLRSTACK(Yystack)			\
1647  do {							\
1648    if (Yystack->yyspaceLeft < YYHEADROOM)		\
1649      yyexpandGLRStack (Yystack);			\
1650  } while (YYID (0))
1651#else
1652# define YY_RESERVE_GLRSTACK(Yystack)			\
1653  do {							\
1654    if (Yystack->yyspaceLeft < YYHEADROOM)		\
1655      yyMemoryExhausted (Yystack);			\
1656  } while (YYID (0))
1657#endif
1658
1659
1660#if YYERROR_VERBOSE
1661
1662# ifndef yystpcpy
1663#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1664#   define yystpcpy stpcpy
1665#  else
1666/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1667   YYDEST.  */
1668static char *
1669yystpcpy (char *yydest, const char *yysrc)
1670{
1671  char *yyd = yydest;
1672  const char *yys = yysrc;
1673
1674  while ((*yyd++ = *yys++) != '\0')
1675    continue;
1676
1677  return yyd - 1;
1678}
1679#  endif
1680# endif
1681
1682# ifndef yytnamerr
1683/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1684   quotes and backslashes, so that it's suitable for yyerror.  The
1685   heuristic is that double-quoting is unnecessary unless the string
1686   contains an apostrophe, a comma, or backslash (other than
1687   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1688   null, do not copy; instead, return the length of what the result
1689   would have been.  */
1690static size_t
1691yytnamerr (char *yyres, const char *yystr)
1692{
1693  if (*yystr == '"')
1694    {
1695      size_t yyn = 0;
1696      char const *yyp = yystr;
1697
1698      for (;;)
1699	switch (*++yyp)
1700	  {
1701	  case '\'':
1702	  case ',':
1703	    goto do_not_strip_quotes;
1704
1705	  case '\\':
1706	    if (*++yyp != '\\')
1707	      goto do_not_strip_quotes;
1708	    /* Fall through.  */
1709	  default:
1710	    if (yyres)
1711	      yyres[yyn] = *yyp;
1712	    yyn++;
1713	    break;
1714
1715	  case '"':
1716	    if (yyres)
1717	      yyres[yyn] = '\0';
1718	    return yyn;
1719	  }
1720    do_not_strip_quotes: ;
1721    }
1722
1723  if (! yyres)
1724    return strlen (yystr);
1725
1726  return yystpcpy (yyres, yystr) - yyres;
1727}
1728# endif
1729
1730#endif /* !YYERROR_VERBOSE */
1731
1732/** State numbers, as in LALR(1) machine */
1733typedef int yyStateNum;
1734
1735/** Rule numbers, as in LALR(1) machine */
1736typedef int yyRuleNum;
1737
1738/** Grammar symbol */
1739typedef short int yySymbol;
1740
1741/** Item references, as in LALR(1) machine */
1742typedef short int yyItemNum;
1743
1744typedef struct yyGLRState yyGLRState;
1745typedef struct yyGLRStateSet yyGLRStateSet;
1746typedef struct yySemanticOption yySemanticOption;
1747typedef union yyGLRStackItem yyGLRStackItem;
1748typedef struct yyGLRStack yyGLRStack;
1749
1750struct yyGLRState {
1751  /** Type tag: always true.  */
1752  yybool yyisState;
1753  /** Type tag for yysemantics.  If true, yysval applies, otherwise
1754   *  yyfirstVal applies.  */
1755  yybool yyresolved;
1756  /** Number of corresponding LALR(1) machine state.  */
1757  yyStateNum yylrState;
1758  /** Preceding state in this stack */
1759  yyGLRState* yypred;
1760  /** Source position of the first token produced by my symbol */
1761  size_t yyposn;
1762  union {
1763    /** First in a chain of alternative reductions producing the
1764     *  non-terminal corresponding to this state, threaded through
1765     *  yynext.  */
1766    yySemanticOption* yyfirstVal;
1767    /** Semantic value for this state.  */
1768    YYSTYPE yysval;
1769  } yysemantics;
1770  /** Source location for this state.  */
1771  YYLTYPE yyloc;
1772};
1773
1774struct yyGLRStateSet {
1775  yyGLRState** yystates;
1776  /** During nondeterministic operation, yylookaheadNeeds tracks which
1777   *  stacks have actually needed the current lookahead.  During deterministic
1778   *  operation, yylookaheadNeeds[0] is not maintained since it would merely
1779   *  duplicate yychar != YYEMPTY.  */
1780  yybool* yylookaheadNeeds;
1781  size_t yysize, yycapacity;
1782};
1783
1784struct yySemanticOption {
1785  /** Type tag: always false.  */
1786  yybool yyisState;
1787  /** Rule number for this reduction */
1788  yyRuleNum yyrule;
1789  /** The last RHS state in the list of states to be reduced.  */
1790  yyGLRState* yystate;
1791  /** The lookahead for this reduction.  */
1792  int yyrawchar;
1793  YYSTYPE yyval;
1794  YYLTYPE yyloc;
1795  /** Next sibling in chain of options.  To facilitate merging,
1796   *  options are chained in decreasing order by address.  */
1797  yySemanticOption* yynext;
1798};
1799
1800/** Type of the items in the GLR stack.  The yyisState field
1801 *  indicates which item of the union is valid.  */
1802union yyGLRStackItem {
1803  yyGLRState yystate;
1804  yySemanticOption yyoption;
1805};
1806
1807struct yyGLRStack {
1808  int yyerrState;
1809
1810
1811  YYJMP_BUF yyexception_buffer;
1812  yyGLRStackItem* yyitems;
1813  yyGLRStackItem* yynextFree;
1814  size_t yyspaceLeft;
1815  yyGLRState* yysplitPoint;
1816  yyGLRState* yylastDeleted;
1817  yyGLRStateSet yytops;
1818};
1819
1820#if YYSTACKEXPANDABLE
1821static void yyexpandGLRStack (yyGLRStack* yystackp);
1822#endif
1823
1824static void yyFail (yyGLRStack* yystackp, const char* yymsg)
1825  __attribute__ ((__noreturn__));
1826static void
1827yyFail (yyGLRStack* yystackp, const char* yymsg)
1828{
1829  if (yymsg != NULL)
1830    yyerror (yymsg);
1831  YYLONGJMP (yystackp->yyexception_buffer, 1);
1832}
1833
1834static void yyMemoryExhausted (yyGLRStack* yystackp)
1835  __attribute__ ((__noreturn__));
1836static void
1837yyMemoryExhausted (yyGLRStack* yystackp)
1838{
1839  YYLONGJMP (yystackp->yyexception_buffer, 2);
1840}
1841
1842#if YYDEBUG || YYERROR_VERBOSE
1843/** A printable representation of TOKEN.  */
1844static inline const char*
1845yytokenName (yySymbol yytoken)
1846{
1847  if (yytoken == YYEMPTY)
1848    return "";
1849
1850  return yytname[yytoken];
1851}
1852#endif
1853
1854/** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
1855 *  at YYVSP[YYLOW0].yystate.yypred.  Leaves YYVSP[YYLOW1].yystate.yypred
1856 *  containing the pointer to the next state in the chain.  */
1857static void yyfillin (yyGLRStackItem *, int, int) __attribute__ ((__unused__));
1858static void
1859yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
1860{
1861  yyGLRState* s;
1862  int i;
1863  s = yyvsp[yylow0].yystate.yypred;
1864  for (i = yylow0-1; i >= yylow1; i -= 1)
1865    {
1866      YYASSERT (s->yyresolved);
1867      yyvsp[i].yystate.yyresolved = yytrue;
1868      yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
1869      yyvsp[i].yystate.yyloc = s->yyloc;
1870      s = yyvsp[i].yystate.yypred = s->yypred;
1871    }
1872}
1873
1874/* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1.  Otherwise, fill in
1875 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
1876 * For convenience, always return YYLOW1.  */
1877static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
1878     __attribute__ ((__unused__));
1879static inline int
1880yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
1881{
1882  if (!yynormal && yylow1 < *yylow)
1883    {
1884      yyfillin (yyvsp, *yylow, yylow1);
1885      *yylow = yylow1;
1886    }
1887  return yylow1;
1888}
1889
1890/** Perform user action for rule number YYN, with RHS length YYRHSLEN,
1891 *  and top stack item YYVSP.  YYLVALP points to place to put semantic
1892 *  value ($$), and yylocp points to place for location information
1893 *  (@$).  Returns yyok for normal return, yyaccept for YYACCEPT,
1894 *  yyerr for YYERROR, yyabort for YYABORT.  */
1895/*ARGSUSED*/ static YYRESULTTAG
1896yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp,
1897	      YYSTYPE* yyvalp,
1898	      YYLTYPE* YYOPTIONAL_LOC (yylocp),
1899	      yyGLRStack* yystackp
1900	      )
1901{
1902  yybool yynormal __attribute__ ((__unused__)) =
1903    (yystackp->yysplitPoint == NULL);
1904  int yylow;
1905# undef yyerrok
1906# define yyerrok (yystackp->yyerrState = 0)
1907# undef YYACCEPT
1908# define YYACCEPT return yyaccept
1909# undef YYABORT
1910# define YYABORT return yyabort
1911# undef YYERROR
1912# define YYERROR return yyerrok, yyerr
1913# undef YYRECOVERING
1914# define YYRECOVERING() (yystackp->yyerrState != 0)
1915# undef yyclearin
1916# define yyclearin (yychar = YYEMPTY)
1917# undef YYFILL
1918# define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
1919# undef YYBACKUP
1920# define YYBACKUP(Token, Value)						     \
1921  return yyerror (YY_("syntax error: cannot back up")),     \
1922	 yyerrok, yyerr
1923
1924  yylow = 1;
1925  if (yyrhslen == 0)
1926    *yyvalp = yyval_default;
1927  else
1928    *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
1929  YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
1930
1931  switch (yyn)
1932    {
1933        case 2:
1934#line 219 "parser.y"
1935    { answer((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node)); }
1936    break;
1937
1938  case 6:
1939#line 229 "parser.y"
1940    { ((*yyvalp).node) = PREP_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
1941    break;
1942
1943  case 7:
1944#line 230 "parser.y"
1945    { ((*yyvalp).node) = PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string)); }
1946    break;
1947
1948  case 10:
1949#line 236 "parser.y"
1950    { ((*yyvalp).node) = BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
1951    break;
1952
1953  case 12:
1954#line 241 "parser.y"
1955    { ((*yyvalp).node) = pxpath_cat_paths(2, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
1956    break;
1957
1958  case 13:
1959#line 242 "parser.y"
1960    { ((*yyvalp).node) = pxpath_cat_paths(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
1961    break;
1962
1963  case 14:
1964#line 243 "parser.y"
1965    { ((*yyvalp).node) = PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string)); }
1966    break;
1967
1968  case 15:
1969#line 247 "parser.y"
1970    { ((*yyvalp).node) = pxpath_new_path(2, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.string)); }
1971    break;
1972
1973  case 16:
1974#line 248 "parser.y"
1975    { ((*yyvalp).node) = PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string)); }
1976    break;
1977
1978  case 31:
1979#line 268 "parser.y"
1980    { ((*yyvalp).node) = pxpath_new_path(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string)); }
1981    break;
1982
1983  case 32:
1984#line 269 "parser.y"
1985    { ((*yyvalp).node) = pxpath_new_path(4, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.string)); }
1986    break;
1987
1988  case 33:
1989#line 273 "parser.y"
1990    { ((*yyvalp).node) = pxpath_cat_paths(2, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
1991    break;
1992
1993  case 35:
1994#line 278 "parser.y"
1995    { ((*yyvalp).node) = PXPWRAP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string)); }
1996    break;
1997
1998  case 37:
1999#line 286 "parser.y"
2000    { ((*yyvalp).node) = PREP_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
2001    break;
2002
2003  case 38:
2004#line 290 "parser.y"
2005    { ((*yyvalp).node) = BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2006    break;
2007
2008  case 42:
2009#line 300 "parser.y"
2010    { ((*yyvalp).string) = ""; }
2011    break;
2012
2013  case 43:
2014#line 303 "parser.y"
2015    { ((*yyvalp).node) = PXPWRAP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string));    }
2016    break;
2017
2018  case 46:
2019#line 308 "parser.y"
2020    { ((*yyvalp).node) = PXPWRAP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string));     }
2021    break;
2022
2023  case 47:
2024#line 309 "parser.y"
2025    { ((*yyvalp).node) = LIT((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string));  }
2026    break;
2027
2028  case 50:
2029#line 315 "parser.y"
2030    { ((*yyvalp).node) = pxpath_new_func(xpath_alias(pxpath_to_string((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.node))), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.node)); }
2031    break;
2032
2033  case 52:
2034#line 319 "parser.y"
2035    { ((*yyvalp).node) = NULL; }
2036    break;
2037
2038  case 53:
2039#line 322 "parser.y"
2040    { ((*yyvalp).node) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node); (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node)->next = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node); }
2041    break;
2042
2043  case 55:
2044#line 326 "parser.y"
2045    { ((*yyvalp).node) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.node); }
2046    break;
2047
2048  case 57:
2049#line 330 "parser.y"
2050    { ((*yyvalp).node) = BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2051    break;
2052
2053  case 60:
2054#line 336 "parser.y"
2055    { ((*yyvalp).node) = BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2056    break;
2057
2058  case 61:
2059#line 337 "parser.y"
2060    { ((*yyvalp).node) = BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2061    break;
2062
2063  case 63:
2064#line 342 "parser.y"
2065    { ((*yyvalp).node) = pxpath_cat_paths(2, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
2066    break;
2067
2068  case 65:
2069#line 347 "parser.y"
2070    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2071    break;
2072
2073  case 67:
2074#line 352 "parser.y"
2075    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2076    break;
2077
2078  case 69:
2079#line 357 "parser.y"
2080    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2081    break;
2082
2083  case 70:
2084#line 358 "parser.y"
2085    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2086    break;
2087
2088  case 72:
2089#line 363 "parser.y"
2090    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2091    break;
2092
2093  case 73:
2094#line 364 "parser.y"
2095    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2096    break;
2097
2098  case 74:
2099#line 365 "parser.y"
2100    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2101    break;
2102
2103  case 75:
2104#line 366 "parser.y"
2105    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2106    break;
2107
2108  case 77:
2109#line 371 "parser.y"
2110    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2111    break;
2112
2113  case 78:
2114#line 372 "parser.y"
2115    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2116    break;
2117
2118  case 80:
2119#line 377 "parser.y"
2120    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2121    break;
2122
2123  case 81:
2124#line 378 "parser.y"
2125    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2126    break;
2127
2128  case 82:
2129#line 379 "parser.y"
2130    { ((*yyvalp).node) = LIT_BIN_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.node)); }
2131    break;
2132
2133  case 84:
2134#line 384 "parser.y"
2135    { ((*yyvalp).node) = PREP_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
2136    break;
2137
2138  case 86:
2139#line 391 "parser.y"
2140    { ((*yyvalp).node) = LIT((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string)); }
2141    break;
2142
2143  case 87:
2144#line 392 "parser.y"
2145    { ((*yyvalp).node) = pxpath_new_literal(2, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.string)); }
2146    break;
2147
2148  case 88:
2149#line 393 "parser.y"
2150    { ((*yyvalp).node) = pxpath_new_literal(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string)); }
2151    break;
2152
2153  case 89:
2154#line 394 "parser.y"
2155    { ((*yyvalp).node) = pxpath_new_literal(2, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.string)); }
2156    break;
2157
2158  case 91:
2159#line 402 "parser.y"
2160    {	((*yyvalp).node) = PREP_OP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.node)); }
2161    break;
2162
2163  case 92:
2164#line 406 "parser.y"
2165    { ((*yyvalp).node) = PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string)); }
2166    break;
2167
2168  case 93:
2169#line 407 "parser.y"
2170    { ((*yyvalp).node) = pxpath_new_path(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string)); }
2171    break;
2172
2173  case 101:
2174#line 424 "parser.y"
2175    { ((*yyvalp).node) = PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.string)); }
2176    break;
2177
2178  case 102:
2179#line 428 "parser.y"
2180    { ((*yyvalp).node) = pxpath_new_path(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.string)); }
2181    break;
2182
2183  case 108:
2184#line 449 "parser.y"
2185    { ((*yyvalp).node) = pxpath_cat_paths(4, pxpath_new_literal(1, ".//"), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.node), pxpath_new_literal(1, "|"), (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.node)); }
2186    break;
2187
2188  case 109:
2189#line 450 "parser.y"
2190    { ((*yyvalp).node) = pxpath_cat_paths(2, pxpath_new_literal(1, ".//"), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.node)); }
2191    break;
2192
2193  case 111:
2194#line 455 "parser.y"
2195    { ((*yyvalp).node) = pxpath_cat_paths(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.node), PXP("/@"), PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.string))); }
2196    break;
2197
2198  case 112:
2199#line 459 "parser.y"
2200    { ((*yyvalp).node) = pxpath_cat_paths(3, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), PXP((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.string)), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node)); }
2201    break;
2202
2203  case 114:
2204#line 464 "parser.y"
2205    { ((*yyvalp).string) = "/following-sibling::*[1]/self::"; }
2206    break;
2207
2208  case 115:
2209#line 465 "parser.y"
2210    { ((*yyvalp).string) = "/"; }
2211    break;
2212
2213  case 116:
2214#line 466 "parser.y"
2215    { ((*yyvalp).string) = "/following-sibling::*/self::"; }
2216    break;
2217
2218  case 117:
2219#line 467 "parser.y"
2220    { ((*yyvalp).string) = "//"; }
2221    break;
2222
2223  case 119:
2224#line 472 "parser.y"
2225    { ((*yyvalp).node) = pxpath_cat_paths(10, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), PXP("[@"), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), PXP(" = "), (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), PXP(" or starts-with(@"), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), PXP(", concat("), (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), PXP(", '-' ))]")); }
2226    break;
2227
2228  case 120:
2229#line 473 "parser.y"
2230    { ((*yyvalp).node) = pxpath_cat_paths(5, PXP("set-difference("), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), PXP(", "), (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.node), PXP(")")); }
2231    break;
2232
2233  case 121:
2234#line 474 "parser.y"
2235    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), "[@id='", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node), "']"); }
2236    break;
2237
2238  case 122:
2239#line 475 "parser.y"
2240    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.node), "[contains(concat( ' ', @class, ' ' ), concat( ' ', '", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.node), "', ' ' ))]"); }
2241    break;
2242
2243  case 123:
2244#line 476 "parser.y"
2245    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.node), "[@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.node), "]"); }
2246    break;
2247
2248  case 124:
2249#line 477 "parser.y"
2250    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[position() = ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2251    break;
2252
2253  case 125:
2254#line 478 "parser.y"
2255    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[position() > ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2256    break;
2257
2258  case 126:
2259#line 479 "parser.y"
2260    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[position() < ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2261    break;
2262
2263  case 127:
2264#line 480 "parser.y"
2265    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[contains(., ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2266    break;
2267
2268  case 128:
2269#line 481 "parser.y"
2270    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2271    break;
2272
2273  case 129:
2274#line 482 "parser.y"
2275    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[position() = ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2276    break;
2277
2278  case 130:
2279#line 483 "parser.y"
2280    { ((*yyvalp).node) = P4E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node), "[position() = last() - ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.string), "]"); }
2281    break;
2282
2283  case 131:
2284#line 484 "parser.y"
2285    { ((*yyvalp).node) = P6E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), "[@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), " = ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), "]"); }
2286    break;
2287
2288  case 132:
2289#line 485 "parser.y"
2290    { ((*yyvalp).node) = P6E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), "[@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), " != ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), "]"); }
2291    break;
2292
2293  case 133:
2294#line 486 "parser.y"
2295    { ((*yyvalp).node) = P6E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), "[starts-with(@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), ", ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), ")]"); }
2296    break;
2297
2298  case 134:
2299#line 487 "parser.y"
2300    { ((*yyvalp).node) = P6E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), "[ends-with(@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), ", ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), ")]"); }
2301    break;
2302
2303  case 135:
2304#line 488 "parser.y"
2305    { ((*yyvalp).node) = P6E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), "[contains(@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), ", ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), ")]"); }
2306    break;
2307
2308  case 136:
2309#line 489 "parser.y"
2310    { ((*yyvalp).node) = P6E((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (9))].yystate.yysemantics.yysval.node), "[contains(@", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.node), ", ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (9))].yystate.yysemantics.yysval.node), ")]"); }
2311    break;
2312
2313  case 137:
2314#line 490 "parser.y"
2315    { ((*yyvalp).node) = P4O("*[", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.node),  "]/self::", (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node)); }
2316    break;
2317
2318  case 138:
2319#line 491 "parser.y"
2320    { ((*yyvalp).node) = P4O("*[last() - ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.node), "]/self::", (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.node)); }
2321    break;
2322
2323  case 139:
2324#line 492 "parser.y"
2325    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[1]"); }
2326    break;
2327
2328  case 140:
2329#line 493 "parser.y"
2330    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[last()]"); }
2331    break;
2332
2333  case 141:
2334#line 494 "parser.y"
2335    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[position() % 2 = 0]"); }
2336    break;
2337
2338  case 142:
2339#line 495 "parser.y"
2340    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[position() % 2 = 1]"); }
2341    break;
2342
2343  case 143:
2344#line 496 "parser.y"
2345    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[contains('h1 h2 h3 h4 h5 h6', lower-case(local-name()))]"); }
2346    break;
2347
2348  case 144:
2349#line 497 "parser.y"
2350    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[not(node())]"); }
2351    break;
2352
2353  case 145:
2354#line 498 "parser.y"
2355    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[node()]"); }
2356    break;
2357
2358  case 146:
2359#line 499 "parser.y"
2360    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[1]"); }
2361    break;
2362
2363  case 147:
2364#line 500 "parser.y"
2365    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[last()]"); }
2366    break;
2367
2368  case 148:
2369#line 501 "parser.y"
2370    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[count()=1]"); }
2371    break;
2372
2373  case 149:
2374#line 502 "parser.y"
2375    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[lower-case(name())='input']"); }
2376    break;
2377
2378  case 150:
2379#line 503 "parser.y"
2380    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[lower-case(name())='input' and not(@disabled)]"); }
2381    break;
2382
2383  case 151:
2384#line 504 "parser.y"
2385    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[lower-case(name())='input' and @disabled]"); }
2386    break;
2387
2388  case 152:
2389#line 505 "parser.y"
2390    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[@checked]"); }
2391    break;
2392
2393  case 153:
2394#line 506 "parser.y"
2395    { ((*yyvalp).node) = APPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "[@selected]"); }
2396    break;
2397
2398  case 154:
2399#line 507 "parser.y"
2400    { ((*yyvalp).node) = PREPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "*[1]/self::"); }
2401    break;
2402
2403  case 155:
2404#line 508 "parser.y"
2405    { ((*yyvalp).node) = PREPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "*[last()]/self::"); }
2406    break;
2407
2408  case 156:
2409#line 509 "parser.y"
2410    { ((*yyvalp).node) = PREPEND((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), "*[count()=1]/self::"); }
2411    break;
2412
2413  case 157:
2414#line 510 "parser.y"
2415    { ((*yyvalp).node) = INPUT_TYPE((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), text); }
2416    break;
2417
2418  case 158:
2419#line 511 "parser.y"
2420    { ((*yyvalp).node) = INPUT_TYPE((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), password); }
2421    break;
2422
2423  case 159:
2424#line 512 "parser.y"
2425    { ((*yyvalp).node) = INPUT_TYPE((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), radio); }
2426    break;
2427
2428  case 160:
2429#line 513 "parser.y"
2430    { ((*yyvalp).node) = INPUT_TYPE((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), checkbox); }
2431    break;
2432
2433  case 161:
2434#line 514 "parser.y"
2435    { ((*yyvalp).node) = INPUT_TYPE((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.node), submit); }
2436    break;
2437
2438  case 162:
2439#line 515 "parser.y"
2440    { ((*yyvalp).node)