Synopsis - Cross-Reference

File: /Synopsis/Parsers/IDL/y.tab.cc
   1/* A Bison parser, made from ../../../../../src/tool/omniidl/cxx/idl.yy
   2   by GNU bison 1.35.  */
   3
   4#define YYBISON 1  /* Identify Bison output.  */
   5
   6# define	IDENTIFIER	257
   7# define	ABSTRACT	258
   8# define	ANY	259
   9# define	ATTRIBUTE	260
  10# define	BOOLEAN	261
  11# define	CASE	262
  12# define	CHAR	263
  13# define	CONST	264
  14# define	CONTEXT	265
  15# define	CUSTOM	266
  16# define	DEFAULT	267
  17# define	DOUBLE	268
  18# define	ENUM	269
  19# define	EXCEPTION	270
  20# define	FACTORY	271
  21# define	FALSE_	272
  22# define	FIXED	273
  23# define	FLOAT	274
  24# define	IN	275
  25# define	INOUT	276
  26# define	INTERFACE	277
  27# define	LOCAL	278
  28# define	LONG	279
  29# define	MODULE	280
  30# define	NATIVE	281
  31# define	OBJECT	282
  32# define	OCTET	283
  33# define	ONEWAY	284
  34# define	OUT	285
  35# define	PRIVATE	286
  36# define	PUBLIC	287
  37# define	RAISES	288
  38# define	READONLY	289
  39# define	SEQUENCE	290
  40# define	SHORT	291
  41# define	STRING	292
  42# define	STRUCT	293
  43# define	SUPPORTS	294
  44# define	SWITCH	295
  45# define	TRUE_	296
  46# define	TRUNCATABLE	297
  47# define	TYPEDEF	298
  48# define	UNION	299
  49# define	UNSIGNED	300
  50# define	VALUEBASE	301
  51# define	VALUETYPE	302
  52# define	VOID	303
  53# define	WCHAR	304
  54# define	WSTRING	305
  55# define	PRAGMA	306
  56# define	PRAGMA_PREFIX	307
  57# define	PRAGMA_ID	308
  58# define	PRAGMA_VERSION	309
  59# define	OMNI_PRAGMA	310
  60# define	END_PRAGMA	311
  61# define	UNKNOWN_PRAGMA_BODY	312
  62# define	INTEGER_LITERAL	313
  63# define	CHARACTER_LITERAL	314
  64# define	WIDE_CHARACTER_LITERAL	315
  65# define	FLOATING_PT_LITERAL	316
  66# define	STRING_LITERAL	317
  67# define	WIDE_STRING_LITERAL	318
  68# define	FIXED_PT_LITERAL	319
  69# define	SCOPE_DELIM	320
  70# define	LEFT_SHIFT	321
  71# define	RIGHT_SHIFT	322
  72
  73#line 97 "../../../../../src/tool/omniidl/cxx/idl.yy"
  74
  75
  76#include <stdlib.h>
  77#include <string.h>
  78
  79#include <idlutil.h>
  80#include <idlerr.h>
  81#include <idlrepoId.h>
  82#include <idlscope.h>
  83#include <idltype.h>
  84#include <idlexpr.h>
  85#include <idlast.h>
  86
  87#define YYDEBUG 1
  88
  89// Globals from lexer
  90extern int         yylineno;
  91extern char*       currentFile;
  92extern IDL_Boolean mainFile;
  93
  94void yyerror(char *s) {
  95}
  96extern int yylex();
  97
  98// Nasty hack for abstract valuetypes
  99ValueAbs* valueabs_hack = 0;
 100
 101#ifdef __VMS
 102/*  Apparently, __ALLOCA is defined for some versions of the C (but not C++)
 103    compiler on VAX. */
 104#if defined(__ALPHA) || defined(__DECC) && __DECC_VER >= 60000000
 105#include <builtins.h>
 106#define alloca __ALLOCA
 107#else
 108#define alloca malloc
 109#endif
 110#endif
 111
 112
 113#line 137 "../../../../../src/tool/omniidl/cxx/idl.yy"
 114#ifndef YYSTYPE
 115typedef union {
 116  char*                    id_val;
 117  int                      int_val;
 118  IDL_ULong                ulong_val;
 119  IdlIntLiteral            int_literal_val;
 120#ifndef __VMS
 121  IdlFloatLiteral          float_literal_val;
 122#else
 123  double                   float_literal_val;
 124#endif
 125  char                     char_val;
 126  char*                    string_val;
 127  IDL_WChar                wchar_val;
 128  IDL_WChar*               wstring_val;
 129  IDL_Boolean              boolean_val;
 130  IDL_Fixed*               fixed_val;
 131  IdlType*                 type_val;
 132  TypeSpec*                type_spec_val;
 133  IdlExpr*                 expr_val;
 134  ScopedName*              scopedname_val;
 135  Decl*                    decl_val;
 136  Module*                  module_val;
 137  Interface*               interface_val;
 138  InheritSpec*             inheritspec_val;
 139  Forward*                 forward_val;
 140  Const*                   const_val;
 141  Typedef*                 typedef_val;
 142  Struct*                  struct_val;
 143  Exception*               exception_val;
 144  Member*                  member_val;
 145  Declarator*              declarator_val;
 146  Union*                   union_val;
 147  UnionCase*               union_case_val;
 148  CaseLabel*               case_label_val;
 149  ValueBase*               value_base_val;
 150  Value*                   value_val;
 151  ValueForward*            value_forward_val;
 152  ValueBox*                value_box_val;
 153  ValueAbs*                value_abs_val;
 154  ValueInheritSpec*        valueinheritspec_val;
 155  ValueInheritSupportSpec* valueinheritsupportspec_val;
 156  StateMember*             statemember_val;
 157  Factory*                 factory_val;
 158  Enumerator*              enumerator_val;
 159  Enum*                    enum_val;
 160  ArraySize*               array_size_val;
 161  Attribute*               attribute_val;
 162  Operation*               operation_val;
 163  Parameter*               parameter_val;
 164  RaisesSpec*              raisesspec_val;
 165  ContextSpec*             contextspec_val;
 166} yystype;
 167# define YYSTYPE yystype
 168# define YYSTYPE_IS_TRIVIAL 1
 169#endif
 170#ifndef YYDEBUG
 171# define YYDEBUG 0
 172#endif
 173
 174
 175
 176#define	YYFINAL		508
 177#define	YYFLAG		-32768
 178#define	YYNTBASE	91
 179
 180/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
 181#define YYTRANSLATE(x) ((unsigned)(x) <= 322 ? yytranslate[x] : 238)
 182
 183/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
 184static const char yytranslate[] =
 185{
 186       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 187       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 188       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 189       2,     2,     2,     2,     2,     2,     2,    84,    79,     2,
 190      74,    75,    82,    80,    73,    81,    90,    83,     2,     2,
 191       2,     2,     2,     2,     2,     2,     2,     2,    72,    69,
 192      86,    76,    87,     2,     2,     2,     2,     2,     2,     2,
 193       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 194       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 195       2,    88,     2,    89,    78,     2,     2,     2,     2,     2,
 196       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 197       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 198       2,     2,     2,    70,    77,    71,    85,     2,     2,     2,
 199       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 200       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 201       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 202       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 203       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 204       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 205       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 206       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 207       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 208       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 209       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 210       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 211       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
 212       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
 213      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
 214      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 215      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 216      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 217      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 218      66,    67,    68
 219};
 220
 221#if YYDEBUG
 222static const short yyprhs[] =
 223{
 224       0,     0,     1,     3,     5,     8,    11,    14,    17,    20,
 225      23,    26,    28,    30,    32,    38,    39,    46,    49,    52,
 226      54,    56,    61,    62,    69,    72,    76,    82,    83,    85,
 227      87,    89,    90,    93,    96,    99,   102,   105,   108,   110,
 228     112,   113,   115,   118,   121,   127,   129,   131,   133,   136,
 229     140,   142,   144,   146,   148,   151,   155,   159,   160,   168,
 230     169,   178,   180,   185,   189,   194,   197,   201,   206,   209,
 231     212,   215,   216,   218,   220,   224,   226,   227,   230,   232,
 232     234,   236,   241,   243,   245,   246,   254,   255,   262,   265,
 233     266,   268,   270,   274,   278,   284,   286,   288,   290,   292,
 234     294,   296,   298,   300,   302,   304,   306,   308,   312,   314,
 235     318,   320,   324,   326,   330,   334,   336,   340,   344,   346,
 236     350,   354,   358,   361,   363,   365,   367,   369,   371,   373,
 237     377,   379,   381,   383,   385,   387,   389,   391,   393,   395,
 238     398,   400,   403,   405,   407,   409,   412,   414,   416,   418,
 239     421,   423,   426,   428,   430,   432,   434,   436,   438,   440,
 240     442,   444,   446,   448,   450,   452,   454,   456,   458,   460,
 241     462,   464,   466,   468,   471,   477,   479,   481,   483,   485,
 242     487,   489,   492,   494,   496,   498,   500,   502,   504,   506,
 243     509,   511,   513,   515,   518,   521,   525,   527,   529,   531,
 244     533,   535,   537,   544,   547,   550,   553,   557,   561,   563,
 245     577,   580,   583,   585,   587,   589,   591,   593,   595,   598,
 246     602,   606,   608,   611,   616,   620,   623,   630,   633,   636,
 247     639,   645,   647,   654,   659,   664,   666,   671,   673,   676,
 248     678,   681,   685,   690,   691,   693,   696,   702,   709,   712,
 249     715,   716,   719,   720,   728,   731,   735,   736,   738,   740,
 250     742,   744,   749,   753,   757,   760,   766,   770,   772,   774,
 251     776,   777,   780,   785,   788,   794,   795,   798,   803,   806,
 252     812,   814,   816,   818,   820,   827,   829,   831,   834,   837,
 253     839,   841,   843,   845,   847,   850,   851,   853,   857,   860,
 254     865,   869,   876,   880,   884,   888,   890
 255};
 256static const short yyrhs[] =
 257{
 258      -1,    92,     0,    93,     0,    92,    93,     0,   152,    69,
 259       0,   135,    69,     0,   205,    69,     0,    97,    69,     0,
 260      94,    69,     0,   111,    69,     0,   229,     0,   232,     0,
 261       1,     0,    96,   231,    70,    92,    71,     0,     0,    96,
 262       1,    95,    70,    92,    71,     0,    96,     1,     0,    26,
 263       3,     0,    98,     0,   100,     0,   101,    70,   103,    71,
 264       0,     0,   101,     1,    99,    70,   103,    71,     0,   101,
 265       1,     0,   102,    23,     3,     0,   102,    23,     3,   231,
 266     106,     0,     0,     4,     0,    24,     0,   104,     0,     0,
 267     104,   105,     0,   152,    69,     0,   135,    69,     0,   205,
 268      69,     0,   202,    69,     0,   208,    69,     0,   229,     0,
 269       1,     0,     0,   107,     0,    72,   108,     0,   109,   231,
 270       0,   108,    73,   231,   109,   231,     0,     1,     0,   110,
 271       0,     3,     0,    66,     3,     0,   110,    66,     3,     0,
 272     117,     0,   114,     0,   113,     0,   112,     0,    48,     3,
 273       0,     4,    48,     3,     0,    48,     3,   154,     0,     0,
 274       4,    48,     3,   115,    70,   104,    71,     0,     0,     4,
 275      48,     3,   119,   116,    70,   104,    71,     0,     1,     0,
 276     118,    70,   124,    71,     0,    48,     3,   119,     0,    12,
 277      48,     3,   119,     0,    48,     3,     0,    12,    48,     3,
 278       0,    72,   120,    40,   108,     0,    72,   120,     0,    40,
 279     108,     0,   121,   122,     0,     0,    43,     0,   123,     0,
 280     122,    73,   123,     0,   110,     0,     0,   124,   125,     0,
 281     105,     0,   126,     0,   128,     0,   127,   154,   159,    69,
 282       0,    33,     0,    32,     0,     0,   131,    74,   132,    75,
 283     129,   218,    69,     0,     0,   131,    74,     1,    75,   130,
 284      69,     0,    17,     3,     0,     0,   133,     0,   134,     0,
 285     133,    73,   134,     0,    21,   224,     3,     0,    10,   136,
 286       3,    76,   137,     0,   164,     0,   173,     0,   174,     0,
 287     175,     0,   163,     0,   197,     0,   198,     0,   226,     0,
 288     110,     0,   176,     0,   138,     0,   139,     0,   138,    77,
 289     139,     0,   140,     0,   139,    78,   140,     0,   141,     0,
 290     140,    79,   141,     0,   142,     0,   141,    68,   142,     0,
 291     141,    67,   142,     0,   143,     0,   142,    80,   143,     0,
 292     142,    81,   143,     0,   144,     0,   143,    82,   144,     0,
 293     143,    83,   144,     0,   143,    84,   144,     0,   145,   146,
 294       0,   146,     0,    81,     0,    80,     0,    85,     0,   110,
 295       0,   147,     0,    74,   137,    75,     0,    59,     0,   148,
 296       0,   149,     0,    60,     0,    61,     0,    65,     0,    62,
 297       0,   150,     0,    63,     0,   148,    63,     0,    64,     0,
 298     149,    64,     0,    42,     0,    18,     0,   137,     0,    44,
 299     153,     0,   179,     0,   183,     0,   192,     0,    27,     3,
 300       0,   228,     0,   154,   159,     0,   155,     0,   158,     0,
 301     156,     0,   157,     0,   110,     0,   163,     0,   164,     0,
 302     173,     0,   174,     0,   175,     0,   176,     0,   177,     0,
 303     178,     0,   227,     0,   196,     0,   197,     0,   198,     0,
 304     225,     0,   179,     0,   183,     0,   192,     0,   160,   231,
 305       0,   159,    73,   231,   160,   231,     0,   161,     0,   162,
 306       0,     3,     0,   199,     0,    20,     0,    14,     0,    25,
 307      14,     0,   165,     0,   169,     0,   166,     0,   167,     0,
 308     168,     0,    37,     0,    25,     0,    25,    25,     0,   170,
 309       0,   171,     0,   172,     0,    46,    37,     0,    46,    25,
 310       0,    46,    25,    25,     0,     9,     0,    50,     0,     7,
 311       0,    29,     0,     5,     0,    28,     0,   180,   231,    70,
 312     231,   181,    71,     0,   180,     1,     0,    39,     3,     0,
 313     182,   231,     0,   181,   182,   231,     0,   154,   159,    69,
 314       0,     1,     0,   184,   231,    41,    74,   231,   185,   231,
 315      75,   231,    70,   231,   186,    71,     0,   184,     1,     0,
 316      45,     3,     0,   164,     0,   173,     0,   175,     0,   192,
 317       0,   110,     0,   187,     0,   188,   231,     0,   187,   188,
 318     231,     0,   189,   191,    69,     0,   190,     0,   189,   190,
 319       0,     8,   137,    72,   231,     0,    13,    72,   231,     0,
 320     154,   160,     0,   193,   231,    70,   231,   194,    71,     0,
 321     193,     1,     0,    15,     3,     0,   195,   231,     0,   194,
 322      73,   231,   195,   231,     0,     3,     0,    36,    86,   155,
 323      73,   151,    87,     0,    36,    86,   155,    87,     0,    38,
 324      86,   151,    87,     0,    38,     0,    51,    86,   151,    87,
 325       0,    51,     0,     3,   200,     0,   201,     0,   200,   201,
 326       0,    88,   151,    89,     0,   203,     6,   224,   204,     0,
 327       0,    35,     0,   161,   231,     0,   204,    73,   231,   161,
 328     231,     0,   206,   231,    70,   231,   207,    71,     0,   206,
 329       1,     0,    16,     3,     0,     0,   207,   182,     0,     0,
 330     210,   231,   214,   209,   231,   218,   221,     0,   210,     1,
 331       0,   211,   213,     3,     0,     0,   212,     0,    30,     0,
 332     224,     0,    49,     0,    74,   231,   215,    75,     0,    74,
 333     231,    75,     0,    74,     1,    75,     0,   216,   231,     0,
 334     215,    73,   231,   216,   231,     0,   217,   224,     3,     0,
 335      21,     0,    31,     0,    22,     0,     0,   219,   231,     0,
 336      34,    74,   220,    75,     0,   110,   231,     0,   220,    73,
 337     231,   110,   231,     0,     0,   222,   231,     0,    11,    74,
 338     223,    75,     0,   148,   231,     0,   223,    73,   231,   148,
 339     231,     0,   156,     0,   197,     0,   198,     0,   110,     0,
 340      19,    86,   151,    73,   137,    87,     0,    19,     0,    47,
 341       0,    39,     3,     0,    45,     3,     0,   233,     0,   234,
 342       0,   235,     0,   236,     0,   229,     0,   230,   229,     0,
 343       0,   230,     0,    53,   148,    57,     0,    53,     1,     0,
 344      54,   110,   148,    57,     0,    54,     1,    57,     0,    55,
 345     110,    59,    90,    59,    57,     0,    55,     1,    57,     0,
 346      52,   237,    57,     0,    56,   237,    57,     0,    58,     0,
 347     237,    58,     0
 348};
 349
 350#endif
 351
 352#if YYDEBUG
 353/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
 354static const short yyrline[] =
 355{
 356       0,   403,   405,   411,   413,   419,   421,   422,   423,   424,
 357     425,   426,   427,   428,   434,   439,   439,   446,   454,   458,
 358     460,   463,   468,   468,   475,   483,   489,   497,   499,   500,
 359     503,   507,   509,   515,   517,   518,   519,   520,   521,   522,
 360     528,   530,   533,   537,   545,   553,   560,   564,   568,   571,
 361     581,   583,   584,   585,   588,   592,   597,   605,   605,   613,
 362     613,   622,   634,   641,   647,   652,   655,   660,   664,   667,
 363     672,   679,   681,   684,   692,   702,   706,   708,   714,   716,
 364     717,   720,   728,   730,   733,   733,   740,   740,   750,   756,
 365     758,   761,   763,   769,   777,   783,   785,   786,   787,   788,
 366     789,   790,   791,   792,   795,   798,   802,   804,   807,   809,
 367     812,   814,   819,   821,   824,   829,   831,   832,   835,   837,
 368     840,   843,   848,   854,   857,   859,   860,   863,   867,   868,
 369     871,   875,   878,   881,   884,   887,   890,   893,   898,   900,
 370     909,   911,   920,   922,   925,   934,   936,   937,   938,   939,
 371     942,   945,   953,   955,   958,   960,   961,   966,   968,   969,
 372     970,   971,   972,   973,   974,   975,   978,   980,   981,   982,
 373     985,   987,   988,   991,   993,   999,  1001,  1004,  1010,  1014,
 374    1016,  1017,  1020,  1022,  1025,  1027,  1028,  1031,  1035,  1039,
 375    1043,  1045,  1046,  1049,  1053,  1057,  1061,  1065,  1069,  1073,
 376    1077,  1081,  1085,  1090,  1098,  1104,  1106,  1112,  1118,  1125,
 377    1134,  1142,  1148,  1150,  1151,  1152,  1153,  1159,  1163,  1165,
 378    1171,  1178,  1180,  1186,  1190,  1195,  1202,  1207,  1214,  1220,
 379    1222,  1228,  1234,  1238,  1243,  1245,  1250,  1252,  1257,  1263,
 380    1265,  1271,  1275,  1281,  1283,  1286,  1288,  1294,  1299,  1307,
 381    1313,  1315,  1321,  1321,  1328,  1337,  1343,  1345,  1348,  1352,
 382    1354,  1357,  1359,  1360,  1367,  1369,  1375,  1381,  1383,  1384,
 383    1387,  1389,  1392,  1396,  1400,  1406,  1408,  1411,  1415,  1419,
 384    1425,  1427,  1428,  1429,  1434,  1457,  1463,  1467,  1471,  1476,
 385    1478,  1479,  1480,  1483,  1485,  1488,  1490,  1493,  1497,  1502,
 386    1507,  1512,  1517,  1522,  1528,  1534,  1536
 387};
 388#endif
 389
 390
 391#if (YYDEBUG) || defined YYERROR_VERBOSE
 392
 393/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
 394static const char *const yytname[] =
 395{
 396  "$", "error", "$undefined.", "IDENTIFIER", "ABSTRACT", "ANY", "ATTRIBUTE", 
 397  "BOOLEAN", "CASE", "CHAR", "CONST", "CONTEXT", "CUSTOM", "DEFAULT", 
 398  "DOUBLE", "ENUM", "EXCEPTION", "FACTORY", "FALSE_", "FIXED", "FLOAT", 
 399  "IN", "INOUT", "INTERFACE", "LOCAL", "LONG", "MODULE", "NATIVE", 
 400  "OBJECT", "OCTET", "ONEWAY", "OUT", "PRIVATE", "PUBLIC", "RAISES", 
 401  "READONLY", "SEQUENCE", "SHORT", "STRING", "STRUCT", "SUPPORTS", 
 402  "SWITCH", "TRUE_", "TRUNCATABLE", "TYPEDEF", "UNION", "UNSIGNED", 
 403  "VALUEBASE", "VALUETYPE", "VOID", "WCHAR", "WSTRING", "PRAGMA", 
 404  "PRAGMA_PREFIX", "PRAGMA_ID", "PRAGMA_VERSION", "OMNI_PRAGMA", 
 405  "END_PRAGMA", "UNKNOWN_PRAGMA_BODY", "INTEGER_LITERAL", 
 406  "CHARACTER_LITERAL", "WIDE_CHARACTER_LITERAL", "FLOATING_PT_LITERAL", 
 407  "STRING_LITERAL", "WIDE_STRING_LITERAL", "FIXED_PT_LITERAL", 
 408  "SCOPE_DELIM", "LEFT_SHIFT", "RIGHT_SHIFT", "';'", "'{'", "'}'", "':'", 
 409  "','", "'('", "')'", "'='", "'|'", "'^'", "'&'", "'+'", "'-'", "'*'", 
 410  "'/'", "'%'", "'~'", "'<'", "'>'", "'['", "']'", "'.'", "start", 
 411  "definition_plus", "definition", "module", "@1", "module_header", 
 412  "interface", "interface_dcl", "@2", "forward_dcl", "interface_header", 
 413  "abstract_local_opt", "interface_body", "export_star", "export", 
 414  "interface_inheritance_spec_opt", "interface_inheritance_spec", 
 415  "interface_inheritance_list", "interface_name", "scoped_name", "value", 
 416  "value_forward_dcl", "value_box_dcl", "value_abs_dcl", "@3", "@4", 
 417  "value_dcl", "value_header", "value_inheritance_spec", 
 418  "value_value_inheritance_spec", "truncatable_opt", 
 419  "value_inheritance_list", "value_name", "value_element_star", 
 420  "value_element", "state_member", "member_access", "init_dcl", "@5", 
 421  "@6", "init_dcl_header", "init_param_decls_opt", "init_param_decls", 
 422  "init_param_decl", "const_dcl", "const_type", "const_exp", "or_expr", 
 423  "xor_expr", "and_expr", "shift_expr", "add_expr", "mult_expr", 
 424  "unary_expr", "unary_operator", "primary_expr", "literal", 
 425  "string_literal_plus", "wide_string_literal_plus", "boolean_literal", 
 426  "positive_int_const", "type_dcl", "type_declarator", "type_spec", 
 427  "simple_type_spec", "base_type_spec", "template_type_spec", 
 428  "constr_type_spec", "declarators", "declarator", "simple_declarator", 
 429  "complex_declarator", "floating_pt_type", "integer_type", "signed_int", 
 430  "signed_short_int", "signed_long_int", "signed_long_long_int", 
 431  "unsigned_int", "unsigned_short_int", "unsigned_long_int", 
 432  "unsigned_long_long_int", "char_type", "wide_char_type", "boolean_type", 
 433  "octet_type", "any_type", "object_type", "struct_type", "struct_header", 
 434  "member_list", "member", "union_type", "union_header", 
 435  "switch_type_spec", "switch_body", "case_plus", "case", 
 436  "case_label_plus", "case_label", "element_spec", "enum_type", 
 437  "enum_header", "enumerator_list", "enumerator", "sequence_type", 
 438  "string_type", "wide_string_type", "array_declarator", 
 439  "fixed_array_size_plus", "fixed_array_size", "attr_dcl", "readonly_opt", 
 440  "simple_declarator_list", "except_dcl", "except_header", "member_star", 
 441  "op_dcl", "@7", "op_header", "op_attribute_opt", "op_attribute", 
 442  "op_type_spec", "parameter_dcls", "param_dcl_list", "param_dcl", 
 443  "param_attribute", "raises_expr_opt", "raises_expr", "scoped_name_list", 
 444  "context_expr_opt", "context_expr", "string_literal_list", 
 445  "param_type_spec", "fixed_pt_type", "fixed_pt_const_type", 
 446  "value_base_type", "constr_forward_decl", "pragma", "pragmas", 
 447  "pragmas_opt", "pragma_prefix", "pragma_id", "pragma_version", 
 448  "unknown_pragma", "omni_pragma", "unknown_pragma_body_plus", 0
 449};
 450#endif
 451
 452/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
 453static const short yyr1[] =
 454{
 455       0,    91,    91,    92,    92,    93,    93,    93,    93,    93,
 456      93,    93,    93,    93,    94,    95,    94,    94,    96,    97,
 457      97,    98,    99,    98,    98,   100,   101,   102,   102,   102,
 458     103,   104,   104,   105,   105,   105,   105,   105,   105,   105,
 459     106,   106,   107,   108,   108,   108,   109,   110,   110,   110,
 460     111,   111,   111,   111,   112,   112,   113,   115,   114,   116,
 461     114,   114,   117,   118,   118,   118,   118,   119,   119,   119,
 462     120,   121,   121,   122,   122,   123,   124,   124,   125,   125,
 463     125,   126,   127,   127,   129,   128,   130,   128,   131,   132,
 464     132,   133,   133,   134,   135,   136,   136,   136,   136,   136,
 465     136,   136,   136,   136,   136,   137,   138,   138,   139,   139,
 466     140,   140,   141,   141,   141,   142,   142,   142,   143,   143,
 467     143,   143,   144,   144,   145,   145,   145,   146,   146,   146,
 468     147,   147,   147,   147,   147,   147,   147,   147,   148,   148,
 469     149,   149,   150,   150,   151,   152,   152,   152,   152,   152,
 470     152,   153,   154,   154,   155,   155,   155,   156,   156,   156,
 471     156,   156,   156,   156,   156,   156,   157,   157,   157,   157,
 472     158,   158,   158,   159,   159,   160,   160,   161,   162,   163,
 473     163,   163,   164,   164,   165,   165,   165,   166,   167,   168,
 474     169,   169,   169,   170,   171,   172,   173,   174,   175,   176,
 475     177,   178,   179,   179,   180,   181,   181,   182,   182,   183,
 476     183,   184,   185,   185,   185,   185,   185,   186,   187,   187,
 477     188,   189,   189,   190,   190,   191,   192,   192,   193,   194,
 478     194,   195,   196,   196,   197,   197,   198,   198,   199,   200,
 479     200,   201,   202,   203,   203,   204,   204,   205,   205,   206,
 480     207,   207,   209,   208,   208,   210,   211,   211,   212,   213,
 481     213,   214,   214,   214,   215,   215,   216,   217,   217,   217,
 482     218,   218,   219,   220,   220,   221,   221,   222,   223,   223,
 483     224,   224,   224,   224,   225,   226,   227,   228,   228,   229,
 484     229,   229,   229,   230,   230,   231,   231,   232,   232,   233,
 485     233,   234,   234,   235,   236,   237,   237
 486};
 487
 488/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
 489static const short yyr2[] =
 490{
 491       0,     0,     1,     1,     2,     2,     2,     2,     2,     2,
 492       2,     1,     1,     1,     5,     0,     6,     2,     2,     1,
 493       1,     4,     0,     6,     2,     3,     5,     0,     1,     1,
 494       1,     0,     2,     2,     2,     2,     2,     2,     1,     1,
 495       0,     1,     2,     2,     5,     1,     1,     1,     2,     3,
 496       1,     1,     1,     1,     2,     3,     3,     0,     7,     0,
 497       8,     1,     4,     3,     4,     2,     3,     4,     2,     2,
 498       2,     0,     1,     1,     3,     1,     0,     2,     1,     1,
 499       1,     4,     1,     1,     0,     7,     0,     6,     2,     0,
 500       1,     1,     3,     3,     5,     1,     1,     1,     1,     1,
 501       1,     1,     1,     1,     1,     1,     1,     3,     1,     3,
 502       1,     3,     1,     3,     3,     1,     3,     3,     1,     3,
 503       3,     3,     2,     1,     1,     1,     1,     1,     1,     3,
 504       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
 505       1,     2,     1,     1,     1,     2,     1,     1,     1,     2,
 506       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
 507       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 508       1,     1,     1,     2,     5,     1,     1,     1,     1,     1,
 509       1,     2,     1,     1,     1,     1,     1,     1,     1,     2,
 510       1,     1,     1,     2,     2,     3,     1,     1,     1,     1,
 511       1,     1,     6,     2,     2,     2,     3,     3,     1,    13,
 512       2,     2,     1,     1,     1,     1,     1,     1,     2,     3,
 513       3,     1,     2,     4,     3,     2,     6,     2,     2,     2,
 514       5,     1,     6,     4,     4,     1,     4,     1,     2,     1,
 515       2,     3,     4,     0,     1,     2,     5,     6,     2,     2,
 516       0,     2,     0,     7,     2,     3,     0,     1,     1,     1,
 517       1,     4,     3,     3,     2,     5,     3,     1,     1,     1,
 518       0,     2,     4,     2,     5,     0,     2,     4,     2,     5,
 519       1,     1,     1,     1,     6,     1,     1,     2,     2,     1,
 520       1,     1,     1,     1,     2,     0,     1,     3,     2,     4,
 521       3,     6,     3,     3,     3,     1,     2
 522};
 523
 524/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
 525   doesn't specify something else to do.  Zero means the default is an
 526   error. */
 527static const short yydefact[] =
 528{
 529       0,    13,    28,     0,     0,     0,     0,    29,     0,     0,
 530       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 531       3,     0,     0,     0,    19,    20,     0,     0,     0,    53,
 532      52,    51,    50,     0,     0,     0,   146,     0,   147,     0,
 533     148,     0,     0,     0,   150,    11,    12,   289,   290,   291,
 534     292,     0,    47,   198,   196,   180,   285,   179,   188,   199,
 535     187,   235,     0,   197,   237,     0,   103,     0,    99,    95,
 536     182,   184,   185,   186,   183,   190,   191,   192,    96,    97,
 537      98,   104,   100,   101,   102,     0,   228,   249,    18,   149,
 538     204,   200,     0,   201,     0,     0,     0,   286,   156,   145,
 539       0,   152,   154,   155,   153,   157,   158,   159,   160,   161,
 540     162,   163,   164,   170,   171,   172,   166,   167,   168,   169,
 541     165,   211,    54,   305,     0,   298,   138,     0,     0,     0,
 542       0,     0,     0,     4,     9,    15,   293,   296,     0,     8,
 543      22,    31,     0,    10,    76,     6,     5,   203,     0,   210,
 544       0,   227,     0,     7,   248,     0,    55,   181,   189,     0,
 545     194,   193,     0,    48,     0,     0,    66,     0,     0,   204,
 546     211,   177,   151,   295,   175,   176,   178,     0,    71,    63,
 547      56,   303,   306,   297,   139,   300,     0,   302,     0,   304,
 548       0,   294,     0,     0,     0,     0,   295,     0,   295,     0,
 549     295,   295,     0,    59,   143,   142,   130,   133,   134,   136,
 550     140,   135,     0,   125,   124,   126,   127,   144,   105,   106,
 551     108,   110,   112,   115,   118,     0,   123,   128,   131,   132,
 552     137,     0,   195,     0,    49,     0,    64,     0,     0,     0,
 553     238,   239,   295,   173,    45,    69,   295,    46,    72,    68,
 554       0,   299,     0,     0,     0,    31,    21,    39,   258,   244,
 555      32,     0,     0,     0,     0,     0,     0,     0,     0,   257,
 556      38,    40,     0,    83,    82,    62,    78,    77,    79,     0,
 557      80,     0,     0,   295,     0,   250,    31,     0,     0,     0,
 558       0,     0,     0,     0,     0,     0,     0,     0,     0,   122,
 559     141,   234,   236,    94,     0,     0,   233,     0,   240,     0,
 560     295,    43,     0,    75,    70,    73,     0,     0,    14,     0,
 561      34,    33,    36,     0,    35,    37,   254,     0,   260,   283,
 562     280,   281,   282,     0,   259,     0,    26,    41,    88,     0,
 563       0,   208,     0,     0,   295,     0,   231,     0,   295,     0,
 564       0,    31,   129,   107,   109,   111,   114,   113,   116,   117,
 565     119,   120,   121,     0,     0,   241,   295,     0,    67,     0,
 566     301,    16,    23,     0,     0,   252,   255,    42,     0,     0,
 567       0,     0,    90,    91,     0,   202,   295,   205,   188,   216,
 568     212,   213,   214,   295,   215,   226,   295,   229,   247,   251,
 569      58,     0,   284,   232,   174,   295,    74,   177,   295,   242,
 570       0,     0,   295,    81,    86,     0,    84,     0,   207,   206,
 571       0,     0,    60,    44,   245,   295,   263,   267,   269,   268,
 572     262,     0,   295,     0,   270,     0,    93,   270,    92,   295,
 573     295,     0,   295,   261,   264,     0,     0,   275,   295,    87,
 574       0,     0,   230,   295,     0,   266,     0,     0,   253,   295,
 575     271,    85,   295,   246,   295,   295,     0,     0,   276,     0,
 576     265,   273,   295,   272,   295,     0,     0,     0,     0,   217,
 577     295,     0,   221,     0,   278,   295,   277,     0,   295,   209,
 578     295,   218,     0,   222,     0,   295,     0,   295,   224,   219,
 579     225,   220,   274,   295,   223,   279,     0,     0,     0
 580};
 581
 582static const short yydefgoto[] =
 583{
 584     506,    19,    20,    21,   190,    22,    23,    24,   193,    25,
 585      26,    27,   194,   195,   260,   336,   337,   245,   246,   216,
 586      28,    29,    30,    31,   202,   287,    32,    33,   179,   249,
 587     250,   314,   315,   197,   277,   278,   279,   280,   437,   435,
 588     281,   381,   382,   383,    34,    67,   217,   218,   219,   220,
 589     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
 590     231,    35,    99,   342,   101,   102,   103,   104,   172,   173,
 591     174,   175,   105,   106,    70,    71,    72,    73,    74,    75,
 592      76,    77,   107,   108,   109,   110,   111,   112,    36,    37,
 593     343,   344,    38,    39,   393,   478,   479,   480,   481,   482,
 594     494,    40,    41,   347,   348,   116,   117,   118,   176,   240,
 595     241,   263,   264,   409,    42,    43,   349,   266,   412,   267,
 596     268,   269,   333,   375,   431,   432,   433,   447,   448,   466,
 597     458,   459,   475,   334,   119,    84,   120,    44,   136,   137,
 598     138,    46,    47,    48,    49,    50,   124
 599};
 600
 601static const short yypact[] =
 602{
 603    1261,   -31,    23,  1229,    35,    84,   121,-32768,   136,   152,
 604     174,  1037,   177,   191,    86,    56,    34,    39,    86,  1318,
 605  -32768,   128,   151,   135,-32768,-32768,    33,   185,   153,-32768,
 606  -32768,-32768,-32768,   164,   169,   170,-32768,   157,-32768,   305,
 607  -32768,   181,   171,   209,-32768,-32768,-32768,-32768,-32768,-32768,
 608  -32768,   241,-32768,-32768,-32768,-32768,-32768,-32768,    31,-32768,
 609  -32768,   161,    14,-32768,   173,   245,   189,   253,-32768,-32768,
 610  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 611  -32768,-32768,-32768,-32768,-32768,   257,-32768,-32768,-32768,-32768,
 612     193,-32768,   180,-32768,   184,   268,   272,-32768,   189,-32768,
 613     286,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 614  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 615  -32768,   221,   279,-32768,   116,-32768,-32768,    17,   235,    63,
 616     238,     1,   162,-32768,-32768,   227,-32768,   198,   230,-32768,
 617     228,-32768,   298,-32768,-32768,-32768,-32768,-32768,   232,-32768,
 618     262,-32768,   239,-32768,-32768,   240,    -8,-32768,-32768,    30,
 619     288,-32768,    30,-32768,   311,   244,     9,    30,  1086,-32768,
 620  -32768,   243,   254,   198,-32768,-32768,-32768,    40,   289,-32768,
 621  -32768,-32768,-32768,-32768,-32768,-32768,    77,-32768,   246,-32768,
 622     270,-32768,  1374,   282,   287,   598,    81,   540,   198,   290,
 623     198,   198,   292,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 624  -32768,-32768,    30,-32768,-32768,-32768,   189,-32768,   293,   294,
 625     295,    97,   144,   109,-32768,   124,-32768,-32768,   310,   314,
 626  -32768,   296,-32768,   297,-32768,    30,-32768,   302,   -37,    30,
 627     243,-32768,   198,-32768,-32768,   312,   198,   189,-32768,   346,
 628      43,-32768,   329,  1374,   877,-32768,-32768,-32768,-32768,-32768,
 629  -32768,   323,   325,   327,   391,   333,   334,   107,  1135,-32768,
 630  -32768,   332,   403,-32768,-32768,-32768,-32768,-32768,-32768,  1037,
 631  -32768,   336,   362,   198,   411,-32768,-32768,   345,   341,    30,
 632      30,    30,    30,    30,    30,    30,    30,    30,    30,-32768,
 633  -32768,-32768,-32768,-32768,    30,    30,-32768,   328,-32768,   286,
 634     198,-32768,    40,   189,   350,-32768,   367,   934,-32768,   354,
 635  -32768,-32768,-32768,  1184,-32768,-32768,-32768,   352,-32768,   189,
 636  -32768,-32768,-32768,   424,-32768,    40,-32768,-32768,-32768,   286,
 637      26,-32768,   286,   772,   198,   573,-32768,   129,   198,   825,
 638     656,-32768,-32768,   294,   295,    97,   144,   144,   109,   109,
 639  -32768,-32768,-32768,   343,   347,-32768,   198,    43,   312,    43,
 640  -32768,-32768,-32768,   432,    76,-32768,-32768,   312,    80,   361,
 641    1184,   364,   369,-32768,    87,-32768,   198,-32768,   412,   189,
 642  -32768,-32768,-32768,   198,-32768,-32768,   198,-32768,-32768,-32768,
 643  -32768,   714,-32768,-32768,-32768,   198,-32768,-32768,   198,   370,
 644     365,    48,   198,-32768,-32768,   441,-32768,   425,-32768,-32768,
 645     372,   411,-32768,-32768,-32768,   198,-32768,-32768,-32768,-32768,
 646  -32768,     3,   198,  1184,   415,   376,-32768,   415,-32768,   198,
 647     198,   432,   198,-32768,-32768,   448,   380,   445,   198,-32768,
 648     389,   390,-32768,   198,    44,-32768,    43,   385,-32768,   198,
 649  -32768,-32768,   198,-32768,   198,    91,   141,   398,-32768,    46,
 650  -32768,-32768,   198,-32768,   366,   142,    30,   392,   394,    46,
 651     198,   988,-32768,    43,-32768,   198,-32768,   395,   198,-32768,
 652     198,-32768,   286,-32768,   393,    91,   398,   198,-32768,-32768,
 653  -32768,-32768,-32768,   366,-32768,-32768,   463,   466,-32768
 654};
 655
 656static const short yypgoto[] =
 657{
 658  -32768,  -131,   -12,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 659  -32768,-32768,   213,  -233,   275,-32768,-32768,  -283,   102,    -1,
 660  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   -93,-32768,
 661  -32768,-32768,   104,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 662  -32768,-32768,-32768,    57,  -178,-32768,  -191,-32768,   194,   188,
 663     195,   -64,   -63,  -127,-32768,   263,-32768,   -15,-32768,-32768,
 664    -137,  -175,-32768,    -5,   321,  -255,-32768,-32768,  -284,  -297,
 665    -342,-32768,   487,     5,-32768,-32768,-32768,-32768,-32768,-32768,
 666  -32768,-32768,     8,   488,    11,   489,-32768,-32768,    -6,-32768,
 667  -32768,  -195,    -2,-32768,-32768,-32768,-32768,    16,-32768,    13,
 668  -32768,   -10,-32768,-32768,    75,-32768,     0,    15,-32768,-32768,
 669     259,-32768,-32768,-32768,  -171,-32768,-32768,-32768,-32768,-32768,
 670  -32768,-32768,-32768,-32768,-32768,    47,-32768,    60,-32768,-32768,
 671  -32768,-32768,-32768,  -295,-32768,-32768,-32768,-32768,     4,-32768,
 672      45,-32768,-32768,-32768,-32768,-32768,   482
 673};
 674
 675
 676#define	YYLAST		1430
 677
 678
 679static const short yytable[] =
 680{
 681     127,   115,    66,    82,    45,   113,   100,   133,    69,   114,
 682      98,    78,   366,   330,    80,   129,   131,   261,    83,   261,
 683     262,   288,   262,    45,   265,   233,   265,   379,   373,   368,
 684     237,   408,   177,    52,   140,   128,   305,    52,   -61,   160,
 685     130,   244,    52,    52,   303,   157,    52,   380,   204,   177,
 686     306,   161,   377,   350,   476,   378,   158,   125,   384,   477,
 687     188,   254,   -57,   203,   178,   427,   428,   164,   330,   427,
 688     428,    51,   205,   236,   183,   429,   442,   410,   443,   429,
 689     184,   178,   148,    85,   150,   415,   152,    86,   155,   206,
 690     207,   208,   209,   126,   210,   211,    65,  -295,  -295,   453,
 691      65,   -89,   307,   141,   212,    65,    65,  -295,   326,    65,
 692     213,   214,   115,   363,   186,   215,   113,   180,   401,   126,
 693     114,    98,   317,   430,    87,   330,   126,    52,    14,   164,
 694      16,    17,    18,    14,   251,    16,    17,    18,   445,    88,
 695     184,   191,   204,    14,   123,    16,    17,    18,   386,   413,
 696     -25,  -295,   135,   242,   399,    89,   418,   164,   147,    14,
 697     242,    16,    17,    18,   292,   293,   205,    98,   364,   360,
 698     361,   362,   261,   181,   182,   262,   247,    90,   330,   265,
 699     121,  -295,   151,   206,   207,   208,   209,   126,   210,   211,
 700      65,   296,   297,   298,   122,   500,    45,   134,   212,   270,
 701     395,   270,   396,    14,   139,    16,    17,    18,   142,    14,
 702     154,    16,    17,    18,   472,   485,   473,   486,   243,   189,
 703     182,  -295,   143,   261,   294,   295,   262,  -295,   356,   357,
 704     265,   358,   359,    14,   144,    16,    17,    18,   145,   146,
 705     153,   271,   133,   282,   156,   284,   285,   159,   163,   313,
 706      14,  -295,    16,    17,    18,   164,   165,    45,    45,   162,
 707     166,    14,  -287,    16,    17,    18,   167,   329,   331,   115,
 708     168,   169,   115,   113,   339,   170,   113,   114,    98,  -295,
 709     114,    98,    52,   332,    91,   487,    53,   309,    54,   171,
 710    -288,   311,   185,    55,     5,   187,   -17,   -24,    92,    57,
 711     192,   196,   198,   199,    58,   133,   149,    93,    59,   200,
 712     201,   247,   327,   232,   234,    94,    60,    61,    95,   177,
 713     235,    45,   329,   331,    96,    62,    97,   242,   345,    63,
 714      64,   239,   248,   115,   247,   394,   252,   113,   332,   115,
 715     253,   114,    98,   113,   389,    65,  -295,   114,    98,   -65,
 716     390,   178,   255,   391,   270,   367,   392,    14,   256,    16,
 717      17,    18,   286,   341,   283,    52,   247,    91,   313,    53,
 718     289,    54,   290,   184,   291,   304,    55,     5,   300,   329,
 719     331,    92,    57,   301,   302,   310,   312,    58,   316,   387,
 720      93,    59,   320,   397,   321,   332,   322,   323,    94,    60,
 721      61,    95,   324,   325,   335,   270,   338,    96,    62,    97,
 722     340,   404,    63,    64,   346,   351,   352,   365,    14,   411,
 723      16,    17,    18,   369,   370,   372,   374,   376,    65,   184,
 724     402,   419,   329,   331,   403,   407,   414,   158,   420,   416,
 725     426,   421,   417,   425,   436,   449,   380,   439,   332,   446,
 726     423,   455,   474,   424,   456,   465,   457,   434,   461,   467,
 727     462,   126,   501,   507,   488,   489,   508,   497,   319,   405,
 728     441,   115,   276,   406,   438,   113,   492,   444,   354,   114,
 729      98,   503,   495,   353,   451,   452,   355,   454,   299,   238,
 730      68,    79,    81,   460,   493,   490,   440,   450,   463,   308,
 731     132,   464,     0,     0,   468,     0,     0,   469,     0,   470,
 732     471,     0,     0,     0,     0,     0,     0,   483,     0,   484,
 733       0,     0,     0,     0,     0,   491,     0,     0,     0,     0,
 734     496,     0,     0,   498,     0,   499,     0,     0,     0,     0,
 735     502,   257,   504,  -256,     0,  -256,  -243,  -256,   505,  -256,
 736       3,     0,     0,     0,  -256,     5,     6,   272,     0,     0,
 737    -256,     0,     0,     0,     0,  -256,     0,     9,  -256,  -256,
 738     258,     0,   273,   274,     0,   259,    52,  -256,  -256,    10,
 739      53,     0,    54,     0,    11,    12,  -256,  -256,     5,  -256,
 740    -256,  -256,    14,     0,    16,    17,    18,     0,   388,   257,
 741       0,  -256,     0,  -256,  -243,  -256,  -256,  -256,     3,     0,
 742      60,   275,  -256,     5,     6,     0,     0,     0,  -256,    62,
 743       0,     0,     0,  -256,     0,     9,  -256,  -256,   258,     0,
 744       0,     0,     0,   259,     0,  -256,  -256,    10,     0,    65,
 745       0,     0,    11,    12,  -256,  -256,     0,  -256,  -256,  -256,
 746      14,     0,    16,    17,    18,     0,     0,   257,     0,  -256,
 747       0,  -256,  -243,  -256,  -256,  -256,     3,     0,     0,   -30,
 748    -256,     5,     6,     0,     0,     0,  -256,     0,     0,     0,
 749       0,  -256,     0,     9,  -256,  -256,   258,     0,     0,     0,
 750       0,   259,     0,  -256,  -256,    10,     0,     0,     0,     0,
 751      11,    12,  -256,  -256,     0,  -256,  -256,  -256,    14,     0,
 752      16,    17,    18,     0,     0,   257,     0,  -256,     0,  -256,
 753    -243,  -256,  -256,  -256,     3,     0,     0,   400,  -256,     5,
 754       6,     0,     0,     0,  -256,     0,     0,     0,     0,  -256,
 755       0,     9,  -256,  -256,   258,     0,     0,     0,     0,   259,
 756       0,  -256,  -256,    10,     0,     0,     0,     0,    11,    12,
 757    -256,  -256,     0,  -256,  -256,  -256,    14,     0,    16,    17,
 758      18,     0,     0,   341,     0,    52,     0,    91,     0,    53,
 759    -256,    54,     0,     0,     0,   422,    55,     5,     0,     0,
 760       0,    92,    57,     0,     0,     0,     0,    58,     0,     0,
 761      93,    59,     0,     0,     0,     0,     0,     0,    94,    60,
 762      61,    95,     0,     0,     0,     0,     0,    96,    62,    97,
 763       0,     0,    63,    64,     0,     0,   341,     0,    52,     0,
 764      91,     0,    53,     0,    54,     0,     0,     0,    65,    55,
 765       5,     0,     0,   385,    92,    57,     0,     0,     0,     0,
 766      58,     0,     0,    93,    59,     0,     0,     0,     0,     0,
 767       0,    94,    60,    61,    95,     0,     0,     0,     0,     0,
 768      96,    62,    97,     0,     0,    63,    64,     0,     1,     0,
 769       0,     2,     0,     0,     0,     0,     0,     3,     0,     4,
 770       0,    65,     5,     6,     0,     0,   398,     0,     0,     0,
 771     -27,     7,     0,     8,     9,     0,     0,     0,     0,     0,
 772       0,     0,     0,     0,     0,     0,    10,     0,     0,     0,
 773       0,    11,    12,     0,     0,    13,     0,     0,     0,    14,
 774      15,    16,    17,    18,     0,     1,     0,     0,     2,     0,
 775       0,     0,     0,     0,     3,     0,     4,     0,   318,     5,
 776       6,     0,     0,     0,     0,     0,     0,   -27,     7,     0,
 777       8,     9,     0,     0,     0,     0,     0,     0,     0,     0,
 778       0,     0,     0,    10,     0,     0,     0,     0,    11,    12,
 779       0,     0,    13,     0,     0,     0,    14,    15,    16,    17,
 780      18,    52,     0,    91,     0,    53,   476,    54,     0,     0,
 781       0,   477,    55,     5,     0,   371,     0,    92,    57,     0,
 782       0,     0,     0,    58,     0,     0,    93,    59,     0,     0,
 783       0,     0,     0,     0,    94,    60,    61,    95,     0,     0,
 784       0,     0,     0,    96,    62,    97,     0,     0,    63,    64,
 785      52,     0,    91,     0,    53,     0,    54,     0,     0,     0,
 786       0,    55,     5,     0,    65,     0,    92,    57,     0,     0,
 787       0,     0,    58,     0,     0,    93,    59,     0,     0,     0,
 788       0,     0,     0,    94,    60,    61,    95,     0,     0,     0,
 789       0,     0,    96,    62,    97,     0,     0,    63,    64,    52,
 790       0,    91,     0,    53,     0,    54,     0,     0,     0,     0,
 791      55,     0,     0,    65,     0,    92,    57,     0,     0,     0,
 792       0,    58,     0,     0,    93,    59,     0,     0,     0,     0,
 793       0,     0,    94,    60,    61,     0,     0,     0,     0,     0,
 794       0,     0,    62,    97,     0,     0,    63,    64,    52,     0,
 795      91,     0,    53,     0,    54,     0,     0,     0,     0,    55,
 796       0,     0,    65,     0,     0,    57,     0,     0,     0,     0,
 797      58,     0,     0,    93,    59,     0,     0,     0,     0,     0,
 798       0,     0,    60,    61,     0,     0,     0,     0,     0,     0,
 799       0,    62,    97,     0,   328,    63,    64,    52,     0,    91,
 800       0,    53,     0,    54,     0,     0,     0,     0,    55,     0,
 801       0,    65,     0,     0,    57,     0,     0,     0,     0,    58,
 802       0,     0,    93,    59,     0,     0,     0,     0,     0,     0,
 803       0,    60,    61,     0,     0,     0,     0,     0,     0,     0,
 804      62,    97,    52,     0,    63,    64,    53,     0,    54,     0,
 805       0,     0,     0,    55,     0,     0,     0,     0,    56,    57,
 806      65,     0,     0,     0,    58,     0,     0,     0,    59,     0,
 807       0,    -1,     1,     0,     0,     2,    60,    61,     0,     0,
 808       0,     3,     0,     4,     0,    62,     5,     6,     0,    63,
 809      64,     0,     0,     0,   -27,     7,     0,     8,     9,     0,
 810       0,     0,     0,     0,     0,    65,     0,     0,     0,     0,
 811      10,     0,     0,     0,     0,    11,    12,     0,     0,    13,
 812       0,     0,     0,    14,    15,    16,    17,    18,    -2,     1,
 813       0,     0,     2,     0,     0,     0,     0,     0,     3,     0,
 814       4,     0,     0,     5,     6,     0,     0,     0,     0,     0,
 815       0,   -27,     7,     0,     8,     9,     0,     0,     0,     0,
 816       0,     0,     0,     0,     0,     0,     0,    10,     0,     0,
 817       0,     0,    11,    12,     0,     0,    13,     0,     0,     0,
 818      14,    15,    16,    17,    18,     1,     0,     0,     2,     0,
 819       0,     0,     0,     0,     3,     0,     4,     0,     0,     5,
 820       6,     0,     0,     0,     0,     0,     0,   -27,     7,     0,
 821       8,     9,     0,     0,     0,     0,     0,     0,     0,     0,
 822       0,     0,     0,    10,     0,     0,     0,     0,    11,    12,
 823       0,     0,    13,     0,     0,     0,    14,    15,    16,    17,
 824      18
 825};
 826
 827static const short yycheck[] =
 828{
 829      15,    11,     3,     3,     0,    11,    11,    19,     3,    11,
 830      11,     3,   309,   268,     3,    16,    17,   195,     3,   197,
 831     195,   212,   197,    19,   195,   162,   197,     1,   323,   312,
 832     167,   373,    40,     3,     1,     1,    73,     3,    69,    25,
 833       1,     1,     3,     3,   235,    14,     3,    21,    18,    40,
 834      87,    37,   335,   286,     8,   339,    25,     1,   342,    13,
 835      59,   192,    70,   156,    72,    21,    22,    66,   323,    21,
 836      22,    48,    42,   166,    57,    31,    73,     1,    75,    31,
 837      63,    72,    37,    48,    39,   380,    41,     3,    43,    59,
 838      60,    61,    62,    63,    64,    65,    66,    21,    22,   441,
 839      66,    75,   239,    70,    74,    66,    66,    31,     1,    66,
 840      80,    81,   122,   304,   129,    85,   122,   122,   351,    63,
 841     122,   122,   253,    75,     3,   380,    63,     3,    52,    66,
 842      54,    55,    56,    52,    57,    54,    55,    56,   433,     3,
 843      63,   137,    18,    52,    58,    54,    55,    56,   343,    69,
 844      69,    75,     1,    73,   349,     3,    69,    66,     1,    52,
 845      73,    54,    55,    56,    67,    68,    42,   168,   305,   296,
 846     297,   298,   350,    57,    58,   350,   177,     3,   433,   350,
 847       3,    74,     1,    59,    60,    61,    62,    63,    64,    65,
 848      66,    82,    83,    84,     3,   492,   192,    69,    74,   195,
 849      71,   197,    73,    52,    69,    54,    55,    56,    23,    52,
 850       1,    54,    55,    56,    73,    73,    75,    75,   173,    57,
 851      58,    70,    69,   401,    80,    81,   401,    70,   292,   293,
 852     401,   294,   295,    52,    70,    54,    55,    56,    69,    69,
 853      69,   196,   254,   198,     3,   200,   201,    86,     3,   250,
 854      52,    70,    54,    55,    56,    66,     3,   253,   254,    86,
 855       3,    52,    69,    54,    55,    56,    86,   268,   268,   279,
 856      86,     3,   282,   279,   279,     3,   282,   279,   279,    70,
 857     282,   282,     3,   268,     5,   476,     7,   242,     9,     3,
 858      69,   246,    57,    14,    15,    57,    69,    69,    19,    20,
 859      70,     3,    70,    41,    25,   317,     1,    28,    29,    70,
 860      70,   312,   267,    25,     3,    36,    37,    38,    39,    40,
 861      76,   317,   323,   323,    45,    46,    47,    73,   283,    50,
 862      51,    88,    43,   343,   335,   345,    90,   343,   323,   349,
 863      70,   343,   343,   349,   345,    66,    41,   349,   349,    70,
 864     345,    72,    70,   345,   350,   310,   345,    52,    71,    54,
 865      55,    56,    70,     1,    74,     3,   367,     5,   369,     7,
 866      77,     9,    78,    63,    79,    73,    14,    15,    64,   380,
 867     380,    19,    20,    87,    87,    73,    40,    25,    59,   344,
 868      28,    29,    69,   348,    69,   380,    69,     6,    36,    37,
 869      38,    39,    69,    69,    72,   401,     3,    45,    46,    47,
 870      74,   366,    50,    51,     3,    70,    75,    89,    52,   374,
 871      54,    55,    56,    73,    57,    71,    74,     3,    66,    63,
 872      87,   386,   433,   433,    87,     3,    75,    25,   393,    75,
 873      75,   396,    73,    73,     3,    69,    21,    75,   433,    34,
 874     405,     3,   467,   408,    74,   456,    11,   412,    69,    74,
 875      70,    63,    69,     0,    72,    71,     0,    72,   255,   367,
 876     425,   481,   197,   369,   417,   481,   481,   432,   290,   481,
 877     481,   496,   483,   289,   439,   440,   291,   442,   225,   168,
 878       3,     3,     3,   448,   481,   479,   421,   437,   453,   240,
 879      18,   454,    -1,    -1,   459,    -1,    -1,   462,    -1,   464,
 880     465,    -1,    -1,    -1,    -1,    -1,    -1,   472,    -1,   474,
 881      -1,    -1,    -1,    -1,    -1,   480,    -1,    -1,    -1,    -1,
 882     485,    -1,    -1,   488,    -1,   490,    -1,    -1,    -1,    -1,
 883     495,     1,   497,     3,    -1,     5,     6,     7,   503,     9,
 884      10,    -1,    -1,    -1,    14,    15,    16,    17,    -1,    -1,
 885      20,    -1,    -1,    -1,    -1,    25,    -1,    27,    28,    29,
 886      30,    -1,    32,    33,    -1,    35,     3,    37,    38,    39,
 887       7,    -1,     9,    -1,    44,    45,    46,    47,    15,    49,
 888      50,    51,    52,    -1,    54,    55,    56,    -1,    25,     1,
 889      -1,     3,    -1,     5,     6,     7,    66,     9,    10,    -1,
 890      37,    71,    14,    15,    16,    -1,    -1,    -1,    20,    46,
 891      -1,    -1,    -1,    25,    -1,    27,    28,    29,    30,    -1,
 892      -1,    -1,    -1,    35,    -1,    37,    38,    39,    -1,    66,
 893      -1,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
 894      52,    -1,    54,    55,    56,    -1,    -1,     1,    -1,     3,
 895      -1,     5,     6,     7,    66,     9,    10,    -1,    -1,    71,
 896      14,    15,    16,    -1,    -1,    -1,    20,    -1,    -1,    -1,
 897      -1,    25,    -1,    27,    28,    29,    30,    -1,    -1,    -1,
 898      -1,    35,    -1,    37,    38,    39,    -1,    -1,    -1,    -1,
 899      44,    45,    46,    47,    -1,    49,    50,    51,    52,    -1,
 900      54,    55,    56,    -1,    -1,     1,    -1,     3,    -1,     5,
 901       6,     7,    66,     9,    10,    -1,    -1,    71,    14,    15,
 902      16,    -1,    -1,    -1,    20,    -1,    -1,    -1,    -1,    25,
 903      -1,    27,    28,    29,    30,    -1,    -1,    -1,    -1,    35,
 904      -1,    37,    38,    39,    -1,    -1,    -1,    -1,    44,    45,
 905      46,    47,    -1,    49,    50,    51,    52,    -1,    54,    55,
 906      56,    -1,    -1,     1,    -1,     3,    -1,     5,    -1,     7,
 907      66,     9,    -1,    -1,    -1,    71,    14,    15,    -1,    -1,
 908      -1,    19,    20,    -1,    -1,    -1,    -1,    25,    -1,    -1,
 909      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    36,    37,
 910      38,    39,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
 911      -1,    -1,    50,    51,    -1,    -1,     1,    -1,     3,    -1,
 912       5,    -1,     7,    -1,     9,    -1,    -1,    -1,    66,    14,
 913      15,    -1,    -1,    71,    19,    20,    -1,    -1,    -1,    -1,
 914      25,    -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,
 915      -1,    36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,
 916      45,    46,    47,    -1,    -1,    50,    51,    -1,     1,    -1,
 917      -1,     4,    -1,    -1,    -1,    -1,    -1,    10,    -1,    12,
 918      -1,    66,    15,    16,    -1,    -1,    71,    -1,    -1,    -1,
 919      23,    24,    -1,    26,    27,    -1,    -1,    -1,    -1,    -1,
 920      -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
 921      -1,    44,    45,    -1,    -1,    48,    -1,    -1,    -1,    52,
 922      53,    54,    55,    56,    -1,     1,    -1,    -1,     4,    -1,
 923      -1,    -1,    -1,    -1,    10,    -1,    12,    -1,    71,    15,
 924      16,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    -1,
 925      26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 926      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,
 927      -1,    -1,    48,    -1,    -1,    -1,    52,    53,    54,    55,
 928      56,     3,    -1,     5,    -1,     7,     8,     9,    -1,    -1,
 929      -1,    13,    14,    15,    -1,    71,    -1,    19,    20,    -1,
 930      -1,    -1,    -1,    25,    -1,    -1,    28,    29,    -1,    -1,
 931      -1,    -1,    -1,    -1,    36,    37,    38,    39,    -1,    -1,
 932      -1,    -1,    -1,    45,    46,    47,    -1,    -1,    50,    51,
 933       3,    -1,     5,    -1,     7,    -1,     9,    -1,    -1,    -1,
 934      -1,    14,    15,    -1,    66,    -1,    19,    20,    -1,    -1,
 935      -1,    -1,    25,    -1,    -1,    28,    29,    -1,    -1,    -1,
 936      -1,    -1,    -1,    36,    37,    38,    39,    -1,    -1,    -1,
 937      -1,    -1,    45,    46,    47,    -1,    -1,    50,    51,     3,
 938      -1,     5,    -1,     7,    -1,     9,    -1,    -1,    -1,    -1,
 939      14,    -1,    -1,    66,    -1,    19,    20,    -1,    -1,    -1,
 940      -1,    25,    -1,    -1,    28,    29,    -1,    -1,    -1,    -1,
 941      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
 942      -1,    -1,    46,    47,    -1,    -1,    50,    51,     3,    -1,
 943       5,    -1,     7,    -1,     9,    -1,    -1,    -1,    -1,    14,
 944      -1,    -1,    66,    -1,    -1,    20,    -1,    -1,    -1,    -1,
 945      25,    -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,
 946      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
 947      -1,    46,    47,    -1,    49,    50,    51,     3,    -1,     5,
 948      -1,     7,    -1,     9,    -1,    -1,    -1,    -1,    14,    -1,
 949      -1,    66,    -1,    -1,    20,    -1,    -1,    -1,    -1,    25,
 950      -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
 951      -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 952      46,    47,     3,    -1,    50,    51,     7,    -1,     9,    -1,
 953      -1,    -1,    -1,    14,    -1,    -1,    -1,    -1,    19,    20,
 954      66,    -1,    -1,    -1,    25,    -1,    -1,    -1,    29,    -1,
 955      -1,     0,     1,    -1,    -1,     4,    37,    38,    -1,    -1,
 956      -1,    10,    -1,    12,    -1,    46,    15,    16,    -1,    50,
 957      51,    -1,    -1,    -1,    23,    24,    -1,    26,    27,    -1,
 958      -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
 959      39,    -1,    -1,    -1,    -1,    44,    45,    -1,    -1,    48,
 960      -1,    -1,    -1,    52,    53,    54,    55,    56,     0,     1,
 961      -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    10,    -1,
 962      12,    -1,    -1,    15,    16,    -1,    -1,    -1,    -1,    -1,
 963      -1,    23,    24,    -1,    26,    27,    -1,    -1,    -1,    -1,
 964      -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
 965      -1,    -1,    44,    45,    -1,    -1,    48,    -1,    -1,    -1,
 966      52,    53,    54,    55,    56,     1,    -1,    -1,     4,    -1,
 967      -1,    -1,    -1,    -1,    10,    -1,    12,    -1,    -1,    15,
 968      16,    -1,    -1,    -1,    -1,    -1,    -1,    23,    24,    -1,
 969      26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 970      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,
 971      -1,    -1,    48,    -1,    -1,    -1,    52,    53,    54,    55,
 972      56
 973};
 974/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 975#line 3 "/usr/share/bison/bison.simple"
 976
 977/* Skeleton output parser for bison,
 978
 979   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
 980   Foundation, Inc.
 981
 982   This program is free software; you can redistribute it and/or modify
 983   it under the terms of the GNU General Public License as published by
 984   the Free Software Foundation; either version 2, or (at your option)
 985   any later version.
 986
 987   This program is distributed in the hope that it will be useful,
 988   but WITHOUT ANY WARRANTY; without even the implied warranty of
 989   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 990   GNU General Public License for more details.
 991
 992   You should have received a copy of the GNU General Public License
 993   along with this program; if not, write to the Free Software
 994   Foundation, Inc., 59 Temple Place - Suite 330,
 995   Boston, MA 02111-1307, USA.  */
 996
 997/* As a special exception, when this file is copied by Bison into a
 998   Bison output file, you may use that output file without restriction.
 999   This special exception was added by the Free Software Foundation
1000   in version 1.24 of Bison.  */
1001
1002/* This is the parser code that is written into each bison parser when
1003   the %semantic_parser declaration is not specified in the grammar.
1004   It was written by Richard Stallman by simplifying the hairy parser
1005   used when %semantic_parser is specified.  */
1006
1007/* All symbols defined below should begin with yy or YY, to avoid
1008   infringing on user name space.  This should be done even for local
1009   variables, as they might otherwise be expanded by user macros.
1010   There are some unavoidable exceptions within include files to
1011   define necessary library symbols; they are noted "INFRINGES ON
1012   USER NAME SPACE" below.  */
1013
1014#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
1015
1016/* The parser invokes alloca or malloc; define the necessary symbols.  */
1017
1018# if YYSTACK_USE_ALLOCA
1019#  define YYSTACK_ALLOC alloca
1020# else
1021#  ifndef YYSTACK_USE_ALLOCA
1022#   if defined (alloca) || defined (_ALLOCA_H)
1023#    define YYSTACK_ALLOC alloca
1024#   else
1025#    ifdef __GNUC__
1026#     define YYSTACK_ALLOC __builtin_alloca
1027#    endif
1028#   endif
1029#  endif
1030# endif
1031
1032# ifdef YYSTACK_ALLOC
1033   /* Pacify GCC's `empty if-body' warning. */
1034#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1035# else
1036#  if defined (__STDC__) || defined (__cplusplus)
1037#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1038#   define YYSIZE_T size_t
1039#  endif
1040#  define YYSTACK_ALLOC malloc
1041#  define YYSTACK_FREE free
1042# endif
1043#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
1044
1045
1046#if (! defined (yyoverflow) \
1047     && (! defined (__cplusplus) \
1048	 || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1049
1050/* A type that is properly aligned for any stack member.  */
1051union yyalloc
1052{
1053  short yyss;
1054  YYSTYPE yyvs;
1055# if YYLSP_NEEDED
1056  YYLTYPE yyls;
1057# endif
1058};
1059
1060/* The size of the maximum gap between one aligned stack and the next.  */
1061# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
1062
1063/* The size of an array large to enough to hold all stacks, each with
1064   N elements.  */
1065# if YYLSP_NEEDED
1066#  define YYSTACK_BYTES(N) \
1067     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))	\
1068      + 2 * YYSTACK_GAP_MAX)
1069# else
1070#  define YYSTACK_BYTES(N) \
1071     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
1072      + YYSTACK_GAP_MAX)
1073# endif
1074
1075/* Copy COUNT objects from FROM to TO.  The source and destination do
1076   not overlap.  */
1077# ifndef YYCOPY