Home | History | Annotate | Line # | Download | only in binutils
defparse.c revision 1.5
      1  1.5  christos /* A Bison parser, made by GNU Bison 2.3.  */
      2  1.1  christos 
      3  1.5  christos /* Skeleton implementation for Bison's Yacc-like parsers in C
      4  1.1  christos 
      5  1.5  christos    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
      6  1.5  christos    Free Software Foundation, Inc.
      7  1.1  christos 
      8  1.5  christos    This program is free software; you can redistribute it and/or modify
      9  1.1  christos    it under the terms of the GNU General Public License as published by
     10  1.5  christos    the Free Software Foundation; either version 2, or (at your option)
     11  1.5  christos    any later version.
     12  1.1  christos 
     13  1.1  christos    This program is distributed in the hope that it will be useful,
     14  1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15  1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16  1.1  christos    GNU General Public License for more details.
     17  1.1  christos 
     18  1.1  christos    You should have received a copy of the GNU General Public License
     19  1.5  christos    along with this program; if not, write to the Free Software
     20  1.5  christos    Foundation, Inc., 51 Franklin Street, Fifth Floor,
     21  1.5  christos    Boston, MA 02110-1301, USA.  */
     22  1.1  christos 
     23  1.1  christos /* As a special exception, you may create a larger work that contains
     24  1.1  christos    part or all of the Bison parser skeleton and distribute that work
     25  1.1  christos    under terms of your choice, so long as that work isn't itself a
     26  1.1  christos    parser generator using the skeleton or a modified version thereof
     27  1.1  christos    as a parser skeleton.  Alternatively, if you modify or redistribute
     28  1.1  christos    the parser skeleton itself, you may (at your option) remove this
     29  1.1  christos    special exception, which will cause the skeleton and the resulting
     30  1.1  christos    Bison output files to be licensed under the GNU General Public
     31  1.1  christos    License without this special exception.
     32  1.1  christos 
     33  1.1  christos    This special exception was added by the Free Software Foundation in
     34  1.1  christos    version 2.2 of Bison.  */
     35  1.1  christos 
     36  1.1  christos /* C LALR(1) parser skeleton written by Richard Stallman, by
     37  1.1  christos    simplifying the original so-called "semantic" parser.  */
     38  1.1  christos 
     39  1.1  christos /* All symbols defined below should begin with yy or YY, to avoid
     40  1.1  christos    infringing on user name space.  This should be done even for local
     41  1.1  christos    variables, as they might otherwise be expanded by user macros.
     42  1.1  christos    There are some unavoidable exceptions within include files to
     43  1.1  christos    define necessary library symbols; they are noted "INFRINGES ON
     44  1.1  christos    USER NAME SPACE" below.  */
     45  1.1  christos 
     46  1.1  christos /* Identify Bison output.  */
     47  1.1  christos #define YYBISON 1
     48  1.1  christos 
     49  1.1  christos /* Bison version.  */
     50  1.5  christos #define YYBISON_VERSION "2.3"
     51  1.1  christos 
     52  1.1  christos /* Skeleton name.  */
     53  1.1  christos #define YYSKELETON_NAME "yacc.c"
     54  1.1  christos 
     55  1.1  christos /* Pure parsers.  */
     56  1.1  christos #define YYPURE 0
     57  1.1  christos 
     58  1.5  christos /* Using locations.  */
     59  1.5  christos #define YYLSP_NEEDED 0
     60  1.1  christos 
     61  1.5  christos 
     62  1.5  christos 
     63  1.5  christos /* Tokens.  */
     64  1.5  christos #ifndef YYTOKENTYPE
     65  1.5  christos # define YYTOKENTYPE
     66  1.5  christos    /* Put the tokens into the symbol table, so that GDB and other debuggers
     67  1.5  christos       know about them.  */
     68  1.5  christos    enum yytokentype {
     69  1.5  christos      NAME = 258,
     70  1.5  christos      LIBRARY = 259,
     71  1.5  christos      DESCRIPTION = 260,
     72  1.5  christos      STACKSIZE = 261,
     73  1.5  christos      HEAPSIZE = 262,
     74  1.5  christos      CODE = 263,
     75  1.5  christos      DATA = 264,
     76  1.5  christos      SECTIONS = 265,
     77  1.5  christos      EXPORTS = 266,
     78  1.5  christos      IMPORTS = 267,
     79  1.5  christos      VERSIONK = 268,
     80  1.5  christos      BASE = 269,
     81  1.5  christos      CONSTANT = 270,
     82  1.5  christos      READ = 271,
     83  1.5  christos      WRITE = 272,
     84  1.5  christos      EXECUTE = 273,
     85  1.5  christos      SHARED = 274,
     86  1.5  christos      NONSHARED = 275,
     87  1.5  christos      NONAME = 276,
     88  1.5  christos      PRIVATE = 277,
     89  1.5  christos      SINGLE = 278,
     90  1.5  christos      MULTIPLE = 279,
     91  1.5  christos      INITINSTANCE = 280,
     92  1.5  christos      INITGLOBAL = 281,
     93  1.5  christos      TERMINSTANCE = 282,
     94  1.5  christos      TERMGLOBAL = 283,
     95  1.5  christos      EQUAL = 284,
     96  1.5  christos      ID = 285,
     97  1.5  christos      NUMBER = 286
     98  1.5  christos    };
     99  1.5  christos #endif
    100  1.5  christos /* Tokens.  */
    101  1.5  christos #define NAME 258
    102  1.5  christos #define LIBRARY 259
    103  1.5  christos #define DESCRIPTION 260
    104  1.5  christos #define STACKSIZE 261
    105  1.5  christos #define HEAPSIZE 262
    106  1.5  christos #define CODE 263
    107  1.5  christos #define DATA 264
    108  1.5  christos #define SECTIONS 265
    109  1.5  christos #define EXPORTS 266
    110  1.5  christos #define IMPORTS 267
    111  1.5  christos #define VERSIONK 268
    112  1.5  christos #define BASE 269
    113  1.5  christos #define CONSTANT 270
    114  1.5  christos #define READ 271
    115  1.5  christos #define WRITE 272
    116  1.5  christos #define EXECUTE 273
    117  1.5  christos #define SHARED 274
    118  1.5  christos #define NONSHARED 275
    119  1.5  christos #define NONAME 276
    120  1.5  christos #define PRIVATE 277
    121  1.5  christos #define SINGLE 278
    122  1.5  christos #define MULTIPLE 279
    123  1.5  christos #define INITINSTANCE 280
    124  1.5  christos #define INITGLOBAL 281
    125  1.5  christos #define TERMINSTANCE 282
    126  1.5  christos #define TERMGLOBAL 283
    127  1.5  christos #define EQUAL 284
    128  1.5  christos #define ID 285
    129  1.5  christos #define NUMBER 286
    130  1.1  christos 
    131  1.1  christos 
    132  1.1  christos 
    133  1.1  christos 
    134  1.1  christos /* Copy the first part of user declarations.  */
    135  1.5  christos #line 1 "defparse.y"
    136  1.1  christos  /* defparse.y - parser for .def files */
    137  1.1  christos 
    138  1.5  christos /* Copyright (C) 1995-2016 Free Software Foundation, Inc.
    139  1.3  christos 
    140  1.1  christos    This file is part of GNU Binutils.
    141  1.3  christos 
    142  1.1  christos    This program is free software; you can redistribute it and/or modify
    143  1.1  christos    it under the terms of the GNU General Public License as published by
    144  1.1  christos    the Free Software Foundation; either version 3 of the License, or
    145  1.1  christos    (at your option) any later version.
    146  1.3  christos 
    147  1.1  christos    This program is distributed in the hope that it will be useful,
    148  1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
    149  1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    150  1.1  christos    GNU General Public License for more details.
    151  1.3  christos 
    152  1.1  christos    You should have received a copy of the GNU General Public License
    153  1.1  christos    along with this program; if not, write to the Free Software
    154  1.1  christos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    155  1.1  christos    MA 02110-1301, USA.  */
    156  1.1  christos 
    157  1.1  christos #include "sysdep.h"
    158  1.1  christos #include "bfd.h"
    159  1.1  christos #include "libiberty.h"
    160  1.1  christos #include "dlltool.h"
    161  1.1  christos 
    162  1.1  christos 
    163  1.5  christos /* Enabling traces.  */
    164  1.5  christos #ifndef YYDEBUG
    165  1.5  christos # define YYDEBUG 0
    166  1.5  christos #endif
    167  1.1  christos 
    168  1.1  christos /* Enabling verbose error messages.  */
    169  1.1  christos #ifdef YYERROR_VERBOSE
    170  1.1  christos # undef YYERROR_VERBOSE
    171  1.1  christos # define YYERROR_VERBOSE 1
    172  1.1  christos #else
    173  1.1  christos # define YYERROR_VERBOSE 0
    174  1.1  christos #endif
    175  1.1  christos 
    176  1.5  christos /* Enabling the token table.  */
    177  1.5  christos #ifndef YYTOKEN_TABLE
    178  1.5  christos # define YYTOKEN_TABLE 0
    179  1.1  christos #endif
    180  1.1  christos 
    181  1.1  christos #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    182  1.5  christos typedef union YYSTYPE
    183  1.5  christos #line 28 "defparse.y"
    184  1.1  christos {
    185  1.1  christos   char *id;
    186  1.1  christos   const char *id_const;
    187  1.1  christos   int number;
    188  1.5  christos }
    189  1.5  christos /* Line 193 of yacc.c.  */
    190  1.5  christos #line 191 "defparse.c"
    191  1.5  christos 	YYSTYPE;
    192  1.5  christos # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    193  1.5  christos # define YYSTYPE_IS_DECLARED 1
    194  1.3  christos # define YYSTYPE_IS_TRIVIAL 1
    195  1.1  christos #endif
    196  1.1  christos 
    197  1.1  christos 
    198  1.3  christos 
    199  1.5  christos /* Copy the second part of user declarations.  */
    200  1.3  christos 
    201  1.1  christos 
    202  1.5  christos /* Line 216 of yacc.c.  */
    203  1.5  christos #line 204 "defparse.c"
    204  1.1  christos 
    205  1.1  christos #ifdef short
    206  1.1  christos # undef short
    207  1.1  christos #endif
    208  1.1  christos 
    209  1.1  christos #ifdef YYTYPE_UINT8
    210  1.1  christos typedef YYTYPE_UINT8 yytype_uint8;
    211  1.1  christos #else
    212  1.1  christos typedef unsigned char yytype_uint8;
    213  1.1  christos #endif
    214  1.1  christos 
    215  1.1  christos #ifdef YYTYPE_INT8
    216  1.1  christos typedef YYTYPE_INT8 yytype_int8;
    217  1.5  christos #elif (defined __STDC__ || defined __C99__FUNC__ \
    218  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    219  1.5  christos typedef signed char yytype_int8;
    220  1.3  christos #else
    221  1.5  christos typedef short int yytype_int8;
    222  1.1  christos #endif
    223  1.1  christos 
    224  1.1  christos #ifdef YYTYPE_UINT16
    225  1.1  christos typedef YYTYPE_UINT16 yytype_uint16;
    226  1.1  christos #else
    227  1.1  christos typedef unsigned short int yytype_uint16;
    228  1.1  christos #endif
    229  1.1  christos 
    230  1.1  christos #ifdef YYTYPE_INT16
    231  1.1  christos typedef YYTYPE_INT16 yytype_int16;
    232  1.1  christos #else
    233  1.1  christos typedef short int yytype_int16;
    234  1.1  christos #endif
    235  1.1  christos 
    236  1.1  christos #ifndef YYSIZE_T
    237  1.1  christos # ifdef __SIZE_TYPE__
    238  1.1  christos #  define YYSIZE_T __SIZE_TYPE__
    239  1.1  christos # elif defined size_t
    240  1.1  christos #  define YYSIZE_T size_t
    241  1.5  christos # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
    242  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    243  1.1  christos #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    244  1.1  christos #  define YYSIZE_T size_t
    245  1.1  christos # else
    246  1.1  christos #  define YYSIZE_T unsigned int
    247  1.1  christos # endif
    248  1.1  christos #endif
    249  1.1  christos 
    250  1.1  christos #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
    251  1.1  christos 
    252  1.1  christos #ifndef YY_
    253  1.1  christos # if defined YYENABLE_NLS && YYENABLE_NLS
    254  1.1  christos #  if ENABLE_NLS
    255  1.1  christos #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
    256  1.5  christos #   define YY_(msgid) dgettext ("bison-runtime", msgid)
    257  1.1  christos #  endif
    258  1.1  christos # endif
    259  1.1  christos # ifndef YY_
    260  1.5  christos #  define YY_(msgid) msgid
    261  1.1  christos # endif
    262  1.1  christos #endif
    263  1.1  christos 
    264  1.1  christos /* Suppress unused-variable warnings by "using" E.  */
    265  1.1  christos #if ! defined lint || defined __GNUC__
    266  1.5  christos # define YYUSE(e) ((void) (e))
    267  1.1  christos #else
    268  1.5  christos # define YYUSE(e) /* empty */
    269  1.1  christos #endif
    270  1.1  christos 
    271  1.5  christos /* Identity function, used to suppress warnings about constant conditions.  */
    272  1.5  christos #ifndef lint
    273  1.5  christos # define YYID(n) (n)
    274  1.5  christos #else
    275  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
    276  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    277  1.5  christos static int
    278  1.5  christos YYID (int i)
    279  1.1  christos #else
    280  1.5  christos static int
    281  1.5  christos YYID (i)
    282  1.5  christos     int i;
    283  1.3  christos #endif
    284  1.5  christos {
    285  1.5  christos   return i;
    286  1.5  christos }
    287  1.1  christos #endif
    288  1.3  christos 
    289  1.1  christos #if ! defined yyoverflow || YYERROR_VERBOSE
    290  1.1  christos 
    291  1.1  christos /* The parser invokes alloca or malloc; define the necessary symbols.  */
    292  1.1  christos 
    293  1.1  christos # ifdef YYSTACK_USE_ALLOCA
    294  1.1  christos #  if YYSTACK_USE_ALLOCA
    295  1.1  christos #   ifdef __GNUC__
    296  1.1  christos #    define YYSTACK_ALLOC __builtin_alloca
    297  1.1  christos #   elif defined __BUILTIN_VA_ARG_INCR
    298  1.1  christos #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
    299  1.1  christos #   elif defined _AIX
    300  1.1  christos #    define YYSTACK_ALLOC __alloca
    301  1.1  christos #   elif defined _MSC_VER
    302  1.1  christos #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
    303  1.1  christos #    define alloca _alloca
    304  1.1  christos #   else
    305  1.1  christos #    define YYSTACK_ALLOC alloca
    306  1.5  christos #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
    307  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    308  1.1  christos #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    309  1.5  christos #     ifndef _STDLIB_H
    310  1.5  christos #      define _STDLIB_H 1
    311  1.1  christos #     endif
    312  1.1  christos #    endif
    313  1.1  christos #   endif
    314  1.1  christos #  endif
    315  1.1  christos # endif
    316  1.1  christos 
    317  1.1  christos # ifdef YYSTACK_ALLOC
    318  1.5  christos    /* Pacify GCC's `empty if-body' warning.  */
    319  1.5  christos #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
    320  1.1  christos #  ifndef YYSTACK_ALLOC_MAXIMUM
    321  1.1  christos     /* The OS might guarantee only one guard page at the bottom of the stack,
    322  1.1  christos        and a page size can be as small as 4096 bytes.  So we cannot safely
    323  1.1  christos        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
    324  1.1  christos        to allow for a few compiler-allocated temporary stack slots.  */
    325  1.1  christos #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
    326  1.1  christos #  endif
    327  1.1  christos # else
    328  1.1  christos #  define YYSTACK_ALLOC YYMALLOC
    329  1.1  christos #  define YYSTACK_FREE YYFREE
    330  1.1  christos #  ifndef YYSTACK_ALLOC_MAXIMUM
    331  1.1  christos #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
    332  1.1  christos #  endif
    333  1.5  christos #  if (defined __cplusplus && ! defined _STDLIB_H \
    334  1.1  christos        && ! ((defined YYMALLOC || defined malloc) \
    335  1.5  christos 	     && (defined YYFREE || defined free)))
    336  1.1  christos #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    337  1.5  christos #   ifndef _STDLIB_H
    338  1.5  christos #    define _STDLIB_H 1
    339  1.1  christos #   endif
    340  1.1  christos #  endif
    341  1.1  christos #  ifndef YYMALLOC
    342  1.1  christos #   define YYMALLOC malloc
    343  1.5  christos #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
    344  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    345  1.1  christos void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    346  1.1  christos #   endif
    347  1.1  christos #  endif
    348  1.1  christos #  ifndef YYFREE
    349  1.1  christos #   define YYFREE free
    350  1.5  christos #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
    351  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    352  1.1  christos void free (void *); /* INFRINGES ON USER NAME SPACE */
    353  1.1  christos #   endif
    354  1.1  christos #  endif
    355  1.1  christos # endif
    356  1.1  christos #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
    357  1.1  christos 
    358  1.1  christos 
    359  1.1  christos #if (! defined yyoverflow \
    360  1.1  christos      && (! defined __cplusplus \
    361  1.5  christos 	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    362  1.1  christos 
    363  1.1  christos /* A type that is properly aligned for any stack member.  */
    364  1.1  christos union yyalloc
    365  1.1  christos {
    366  1.5  christos   yytype_int16 yyss;
    367  1.5  christos   YYSTYPE yyvs;
    368  1.5  christos   };
    369  1.1  christos 
    370  1.1  christos /* The size of the maximum gap between one aligned stack and the next.  */
    371  1.1  christos # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
    372  1.1  christos 
    373  1.1  christos /* The size of an array large to enough to hold all stacks, each with
    374  1.1  christos    N elements.  */
    375  1.1  christos # define YYSTACK_BYTES(N) \
    376  1.1  christos      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
    377  1.1  christos       + YYSTACK_GAP_MAXIMUM)
    378  1.1  christos 
    379  1.5  christos /* Copy COUNT objects from FROM to TO.  The source and destination do
    380  1.5  christos    not overlap.  */
    381  1.5  christos # ifndef YYCOPY
    382  1.5  christos #  if defined __GNUC__ && 1 < __GNUC__
    383  1.5  christos #   define YYCOPY(To, From, Count) \
    384  1.5  christos       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    385  1.5  christos #  else
    386  1.5  christos #   define YYCOPY(To, From, Count)		\
    387  1.5  christos       do					\
    388  1.5  christos 	{					\
    389  1.5  christos 	  YYSIZE_T yyi;				\
    390  1.5  christos 	  for (yyi = 0; yyi < (Count); yyi++)	\
    391  1.5  christos 	    (To)[yyi] = (From)[yyi];		\
    392  1.5  christos 	}					\
    393  1.5  christos       while (YYID (0))
    394  1.5  christos #  endif
    395  1.5  christos # endif
    396  1.1  christos 
    397  1.1  christos /* Relocate STACK from its old location to the new one.  The
    398  1.1  christos    local variables YYSIZE and YYSTACKSIZE give the old and new number of
    399  1.1  christos    elements in the stack, and YYPTR gives the new location of the
    400  1.1  christos    stack.  Advance YYPTR to a properly aligned location for the next
    401  1.1  christos    stack.  */
    402  1.5  christos # define YYSTACK_RELOCATE(Stack)					\
    403  1.5  christos     do									\
    404  1.5  christos       {									\
    405  1.5  christos 	YYSIZE_T yynewbytes;						\
    406  1.5  christos 	YYCOPY (&yyptr->Stack, Stack, yysize);				\
    407  1.5  christos 	Stack = &yyptr->Stack;						\
    408  1.5  christos 	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    409  1.5  christos 	yyptr += yynewbytes / sizeof (*yyptr);				\
    410  1.5  christos       }									\
    411  1.5  christos     while (YYID (0))
    412  1.1  christos 
    413  1.1  christos #endif
    414  1.1  christos 
    415  1.1  christos /* YYFINAL -- State number of the termination state.  */
    416  1.1  christos #define YYFINAL  66
    417  1.1  christos /* YYLAST -- Last index in YYTABLE.  */
    418  1.1  christos #define YYLAST   141
    419  1.1  christos 
    420  1.1  christos /* YYNTOKENS -- Number of terminals.  */
    421  1.1  christos #define YYNTOKENS  36
    422  1.1  christos /* YYNNTS -- Number of nonterminals.  */
    423  1.1  christos #define YYNNTS  26
    424  1.1  christos /* YYNRULES -- Number of rules.  */
    425  1.1  christos #define YYNRULES  98
    426  1.5  christos /* YYNRULES -- Number of states.  */
    427  1.1  christos #define YYNSTATES  139
    428  1.1  christos 
    429  1.5  christos /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    430  1.1  christos #define YYUNDEFTOK  2
    431  1.1  christos #define YYMAXUTOK   286
    432  1.1  christos 
    433  1.5  christos #define YYTRANSLATE(YYX)						\
    434  1.1  christos   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    435  1.1  christos 
    436  1.5  christos /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
    437  1.1  christos static const yytype_uint8 yytranslate[] =
    438  1.1  christos {
    439  1.1  christos        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    440  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    441  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    442  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    443  1.1  christos        2,     2,     2,     2,    34,     2,    32,     2,     2,     2,
    444  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    445  1.1  christos        2,    33,     2,     2,    35,     2,     2,     2,     2,     2,
    446  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    447  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    448  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    449  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    450  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    451  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    452  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    453  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    454  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    455  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    456  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    457  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    458  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    459  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    460  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    461  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    462  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    463  1.1  christos        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    464  1.1  christos        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
    465  1.1  christos        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    466  1.1  christos       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    467  1.1  christos       25,    26,    27,    28,    29,    30,    31
    468  1.1  christos };
    469  1.1  christos 
    470  1.1  christos #if YYDEBUG
    471  1.5  christos /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    472  1.5  christos    YYRHS.  */
    473  1.5  christos static const yytype_uint16 yyprhs[] =
    474  1.5  christos {
    475  1.5  christos        0,     0,     3,     6,     8,    12,    17,    20,    23,    27,
    476  1.5  christos       31,    34,    37,    40,    43,    46,    51,    52,    55,    64,
    477  1.5  christos       67,    69,    78,    87,    94,   101,   108,   115,   120,   125,
    478  1.5  christos      128,   130,   133,   137,   139,   141,   142,   145,   146,   148,
    479  1.5  christos      150,   152,   154,   156,   158,   160,   162,   163,   165,   166,
    480  1.5  christos      168,   169,   171,   172,   174,   176,   178,   180,   182,   184,
    481  1.5  christos      186,   188,   190,   192,   194,   196,   198,   200,   202,   204,
    482  1.5  christos      206,   208,   210,   212,   214,   216,   218,   220,   222,   224,
    483  1.5  christos      227,   230,   234,   238,   240,   241,   244,   245,   248,   249,
    484  1.5  christos      252,   253,   257,   258,   259,   263,   265,   267,   269
    485  1.5  christos };
    486  1.5  christos 
    487  1.5  christos /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
    488  1.5  christos static const yytype_int8 yyrhs[] =
    489  1.5  christos {
    490  1.5  christos       37,     0,    -1,    37,    38,    -1,    38,    -1,     3,    55,
    491  1.5  christos       59,    -1,     4,    55,    59,    60,    -1,    11,    39,    -1,
    492  1.5  christos        5,    30,    -1,     6,    31,    47,    -1,     7,    31,    47,
    493  1.5  christos       -1,     8,    45,    -1,     9,    45,    -1,    10,    43,    -1,
    494  1.5  christos       12,    41,    -1,    13,    31,    -1,    13,    31,    32,    31,
    495  1.5  christos       -1,    -1,    39,    40,    -1,    30,    58,    56,    50,    49,
    496  1.5  christos       51,    52,    57,    -1,    41,    42,    -1,    42,    -1,    30,
    497  1.5  christos       33,    30,    32,    30,    32,    30,    57,    -1,    30,    33,
    498  1.5  christos       30,    32,    30,    32,    31,    57,    -1,    30,    33,    30,
    499  1.5  christos       32,    30,    57,    -1,    30,    33,    30,    32,    31,    57,
    500  1.5  christos       -1,    30,    32,    30,    32,    30,    57,    -1,    30,    32,
    501  1.5  christos       30,    32,    31,    57,    -1,    30,    32,    30,    57,    -1,
    502  1.5  christos       30,    32,    31,    57,    -1,    43,    44,    -1,    44,    -1,
    503  1.5  christos       30,    45,    -1,    45,    46,    48,    -1,    48,    -1,    34,
    504  1.5  christos       -1,    -1,    34,    31,    -1,    -1,    16,    -1,    17,    -1,
    505  1.5  christos       18,    -1,    19,    -1,    20,    -1,    23,    -1,    24,    -1,
    506  1.5  christos       15,    -1,    -1,    21,    -1,    -1,     9,    -1,    -1,    22,
    507  1.5  christos       -1,    -1,     3,    -1,     5,    -1,     6,    -1,     7,    -1,
    508  1.5  christos        8,    -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,
    509  1.5  christos       13,    -1,    14,    -1,    15,    -1,    21,    -1,    22,    -1,
    510  1.5  christos       16,    -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,
    511  1.5  christos       23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,
    512  1.5  christos       28,    -1,    30,    -1,    32,    53,    -1,    32,    54,    -1,
    513  1.5  christos       53,    32,    54,    -1,    30,    32,    54,    -1,    54,    -1,
    514  1.5  christos       -1,    35,    31,    -1,    -1,    29,    54,    -1,    -1,    33,
    515  1.5  christos       54,    -1,    -1,    14,    33,    31,    -1,    -1,    -1,    60,
    516  1.5  christos       46,    61,    -1,    25,    -1,    26,    -1,    27,    -1,    28,
    517  1.5  christos       -1
    518  1.5  christos };
    519  1.5  christos 
    520  1.5  christos /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    521  1.1  christos static const yytype_uint8 yyrline[] =
    522  1.1  christos {
    523  1.3  christos        0,    48,    48,    49,    53,    54,    55,    56,    57,    58,
    524  1.3  christos       59,    60,    61,    62,    63,    64,    68,    70,    74,    79,
    525  1.3  christos       80,    84,    86,    88,    90,    92,    94,    96,    98,   103,
    526  1.3  christos      104,   108,   112,   113,   117,   118,   120,   121,   125,   126,
    527  1.3  christos      127,   128,   129,   130,   131,   135,   136,   140,   141,   145,
    528  1.3  christos      146,   150,   151,   154,   159,   160,   161,   162,   163,   164,
    529  1.3  christos      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
    530  1.3  christos      175,   176,   177,   178,   179,   180,   181,   182,   185,   186,
    531  1.3  christos      192,   198,   204,   211,   212,   216,   217,   221,   222,   226,
    532  1.3  christos      227,   230,   231,   234,   236,   240,   241,   242,   243
    533  1.1  christos };
    534  1.1  christos #endif
    535  1.1  christos 
    536  1.5  christos #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
    537  1.1  christos /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    538  1.1  christos    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    539  1.1  christos static const char *const yytname[] =
    540  1.1  christos {
    541  1.1  christos   "$end", "error", "$undefined", "NAME", "LIBRARY", "DESCRIPTION",
    542  1.1  christos   "STACKSIZE", "HEAPSIZE", "CODE", "DATA", "SECTIONS", "EXPORTS",
    543  1.1  christos   "IMPORTS", "VERSIONK", "BASE", "CONSTANT", "READ", "WRITE", "EXECUTE",
    544  1.1  christos   "SHARED", "NONSHARED", "NONAME", "PRIVATE", "SINGLE", "MULTIPLE",
    545  1.1  christos   "INITINSTANCE", "INITGLOBAL", "TERMINSTANCE", "TERMGLOBAL", "EQUAL",
    546  1.1  christos   "ID", "NUMBER", "'.'", "'='", "','", "'@'", "$accept", "start",
    547  1.1  christos   "command", "explist", "expline", "implist", "impline", "seclist",
    548  1.1  christos   "secline", "attr_list", "opt_comma", "opt_number", "attr",
    549  1.1  christos   "opt_CONSTANT", "opt_NONAME", "opt_DATA", "opt_PRIVATE",
    550  1.1  christos   "keyword_as_name", "opt_name2", "opt_name", "opt_ordinal",
    551  1.5  christos   "opt_import_name", "opt_equal_name", "opt_base", "option_list", "option", 0
    552  1.1  christos };
    553  1.1  christos #endif
    554  1.1  christos 
    555  1.1  christos # ifdef YYPRINT
    556  1.5  christos /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    557  1.5  christos    token YYLEX-NUM.  */
    558  1.1  christos static const yytype_uint16 yytoknum[] =
    559  1.1  christos {
    560  1.1  christos        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    561  1.1  christos      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    562  1.1  christos      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    563  1.1  christos      285,   286,    46,    61,    44,    64
    564  1.1  christos };
    565  1.1  christos # endif
    566  1.1  christos 
    567  1.5  christos /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    568  1.5  christos static const yytype_uint8 yyr1[] =
    569  1.5  christos {
    570  1.5  christos        0,    36,    37,    37,    38,    38,    38,    38,    38,    38,
    571  1.5  christos       38,    38,    38,    38,    38,    38,    39,    39,    40,    41,
    572  1.5  christos       41,    42,    42,    42,    42,    42,    42,    42,    42,    43,
    573  1.5  christos       43,    44,    45,    45,    46,    46,    47,    47,    48,    48,
    574  1.5  christos       48,    48,    48,    48,    48,    49,    49,    50,    50,    51,
    575  1.5  christos       51,    52,    52,    53,    53,    53,    53,    53,    53,    53,
    576  1.5  christos       53,    53,    53,    53,    53,    53,    53,    53,    53,    53,
    577  1.5  christos       53,    53,    53,    53,    53,    53,    53,    53,    54,    54,
    578  1.5  christos       54,    54,    54,    55,    55,    56,    56,    57,    57,    58,
    579  1.5  christos       58,    59,    59,    60,    60,    61,    61,    61,    61
    580  1.5  christos };
    581  1.3  christos 
    582  1.5  christos /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    583  1.5  christos static const yytype_uint8 yyr2[] =
    584  1.5  christos {
    585  1.5  christos        0,     2,     2,     1,     3,     4,     2,     2,     3,     3,
    586  1.5  christos        2,     2,     2,     2,     2,     4,     0,     2,     8,     2,
    587  1.5  christos        1,     8,     8,     6,     6,     6,     6,     4,     4,     2,
    588  1.5  christos        1,     2,     3,     1,     1,     0,     2,     0,     1,     1,
    589  1.5  christos        1,     1,     1,     1,     1,     1,     0,     1,     0,     1,
    590  1.5  christos        0,     1,     0,     1,     1,     1,     1,     1,     1,     1,
    591  1.5  christos        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    592  1.5  christos        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
    593  1.5  christos        2,     3,     3,     1,     0,     2,     0,     2,     0,     2,
    594  1.5  christos        0,     3,     0,     0,     3,     1,     1,     1,     1
    595  1.5  christos };
    596  1.3  christos 
    597  1.5  christos /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    598  1.5  christos    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    599  1.5  christos    means the default is an error.  */
    600  1.5  christos static const yytype_uint8 yydefact[] =
    601  1.5  christos {
    602  1.5  christos        0,    84,    84,     0,     0,     0,     0,     0,     0,    16,
    603  1.5  christos        0,     0,     0,     3,    53,    54,    55,    56,    57,    58,
    604  1.5  christos       59,    60,    61,    62,    63,    64,    67,    68,    69,    70,
    605  1.5  christos       71,    65,    66,    72,    73,    74,    75,    76,    77,    78,
    606  1.5  christos        0,     0,    83,    92,    92,     7,    37,    37,    38,    39,
    607  1.5  christos       40,    41,    42,    43,    44,    10,    33,    11,     0,    12,
    608  1.5  christos       30,     6,     0,    13,    20,    14,     1,     2,     0,    79,
    609  1.5  christos       80,     0,     0,     4,    93,     0,     8,     9,    34,     0,
    610  1.5  christos       31,    29,    90,    17,     0,     0,    19,     0,    82,    81,
    611  1.5  christos        0,     5,    36,    32,     0,    86,    88,    88,     0,    15,
    612  1.5  christos       91,     0,    89,     0,    48,     0,     0,    27,    28,     0,
    613  1.5  christos       95,    96,    97,    98,    94,    85,    47,    46,    87,    88,
    614  1.5  christos       88,    88,    88,    45,    50,    25,    26,     0,    23,    24,
    615  1.5  christos       49,    52,    88,    88,    51,    88,    21,    22,    18
    616  1.5  christos };
    617  1.3  christos 
    618  1.5  christos /* YYDEFGOTO[NTERM-NUM].  */
    619  1.5  christos static const yytype_int16 yydefgoto[] =
    620  1.5  christos {
    621  1.5  christos       -1,    12,    13,    61,    83,    63,    64,    59,    60,    55,
    622  1.5  christos       79,    76,    56,   124,   117,   131,   135,    41,    42,    43,
    623  1.5  christos      104,   107,    95,    73,    91,   114
    624  1.5  christos };
    625  1.1  christos 
    626  1.5  christos /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    627  1.5  christos    STATE-NUM.  */
    628  1.5  christos #define YYPACT_NINF -96
    629  1.3  christos static const yytype_int8 yypact[] =
    630  1.1  christos {
    631  1.3  christos       38,    61,    61,   -22,    -1,     8,    39,    39,    -7,   -96,
    632  1.3  christos       23,    59,    92,   -96,   -96,   -96,   -96,   -96,   -96,   -96,
    633  1.3  christos      -96,   -96,   -96,   -96,   -96,   -96,   -96,   -96,   -96,   -96,
    634  1.3  christos      -96,   -96,   -96,   -96,   -96,   -96,   -96,   -96,   -96,    62,
    635  1.3  christos       61,    79,   -96,    96,    96,   -96,    80,    80,   -96,   -96,
    636  1.3  christos      -96,   -96,   -96,   -96,   -96,   -13,   -96,   -13,    39,    -7,
    637  1.3  christos      -96,    82,     1,    23,   -96,    81,   -96,   -96,    61,    79,
    638  1.3  christos      -96,    61,    83,   -96,   -96,    84,   -96,   -96,   -96,    39,
    639  1.3  christos      -13,   -96,    85,   -96,     5,    87,   -96,    88,   -96,   -96,
    640  1.3  christos       89,   -12,   -96,   -96,    61,    86,   -20,    93,    91,   -96,
    641  1.3  christos      -96,    -8,   -96,    94,   103,    61,    30,   -96,   -96,    76,
    642  1.3  christos      -96,   -96,   -96,   -96,   -96,   -96,   -96,   111,   -96,    93,
    643  1.3  christos       93,     0,    93,   -96,   118,   -96,   -96,    78,   -96,   -96,
    644  1.3  christos      -96,   106,    93,    93,   -96,    93,   -96,   -96,   -96
    645  1.1  christos };
    646  1.1  christos 
    647  1.5  christos /* YYPGOTO[NTERM-NUM].  */
    648  1.3  christos static const yytype_int16 yypgoto[] =
    649  1.3  christos {
    650  1.3  christos      -96,   -96,   117,   -96,   -96,   -96,    67,   -96,    72,    -6,
    651  1.3  christos       41,    90,    54,   -96,   -96,   -96,   -96,    95,   -40,   132,
    652  1.3  christos      -96,   -95,   -96,    97,   -96,   -96
    653  1.3  christos };
    654  1.3  christos 
    655  1.5  christos /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    656  1.5  christos    positive, shift that token.  If negative, reduce the rule which
    657  1.5  christos    number is the opposite.  If zero, do what YYDEFACT says.
    658  1.5  christos    If YYTABLE_NINF, syntax error.  */
    659  1.5  christos #define YYTABLE_NINF -36
    660  1.1  christos static const yytype_int16 yytable[] =
    661  1.1  christos {
    662  1.1  christos       70,    57,   108,   -35,   -35,   -35,   -35,   -35,    45,   105,
    663  1.1  christos      -35,   -35,   106,   -35,   -35,   -35,   -35,   110,   111,   112,
    664  1.1  christos      113,    78,    78,    58,   125,   126,   128,   129,    88,   105,
    665  1.1  christos       46,    89,   127,    84,    85,    96,    97,   136,   137,    47,
    666  1.1  christos      138,     1,     2,     3,     4,     5,     6,     7,     8,     9,
    667  1.1  christos       10,    11,    80,    62,   102,    48,    49,    50,    51,    52,
    668  1.1  christos      119,   120,    53,    54,    14,   118,    15,    16,    17,    18,
    669  1.1  christos       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    670  1.1  christos       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
    671  1.1  christos       65,    39,    66,    40,    68,     1,     2,     3,     4,     5,
    672  1.1  christos        6,     7,     8,     9,    10,    11,   121,   122,   132,   133,
    673  1.1  christos       72,    71,    82,    87,    75,    92,    90,    98,    94,    99,
    674  1.1  christos      100,   103,   105,   109,   116,   115,   123,   130,   134,    67,
    675  1.1  christos       86,    81,   101,    93,    44,    69,     0,    77,     0,     0,
    676  1.1  christos        0,    74
    677  1.1  christos };
    678  1.1  christos 
    679  1.1  christos static const yytype_int16 yycheck[] =
    680  1.1  christos {
    681  1.1  christos       40,     7,    97,    16,    17,    18,    19,    20,    30,    29,
    682  1.1  christos       23,    24,    32,    25,    26,    27,    28,    25,    26,    27,
    683  1.1  christos       28,    34,    34,    30,   119,   120,   121,   122,    68,    29,
    684  1.1  christos       31,    71,    32,    32,    33,    30,    31,   132,   133,    31,
    685  1.1  christos      135,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    686  1.1  christos       12,    13,    58,    30,    94,    16,    17,    18,    19,    20,
    687  1.1  christos       30,    31,    23,    24,     3,   105,     5,     6,     7,     8,
    688  1.1  christos        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    689  1.1  christos       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    690  1.1  christos       31,    30,     0,    32,    32,     3,     4,     5,     6,     7,
    691  1.1  christos        8,     9,    10,    11,    12,    13,    30,    31,    30,    31,
    692  1.1  christos       14,    32,    30,    32,    34,    31,    33,    30,    33,    31,
    693  1.1  christos       31,    35,    29,    32,    21,    31,    15,     9,    22,    12,
    694  1.1  christos       63,    59,    91,    79,     2,    40,    -1,    47,    -1,    -1,
    695  1.1  christos       -1,    44
    696  1.1  christos };
    697  1.1  christos 
    698  1.5  christos /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    699  1.5  christos    symbol of state STATE-NUM.  */
    700  1.1  christos static const yytype_uint8 yystos[] =
    701  1.1  christos {
    702  1.1  christos        0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    703  1.1  christos       12,    13,    37,    38,     3,     5,     6,     7,     8,     9,
    704  1.1  christos       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    705  1.1  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    30,
    706  1.1  christos       32,    53,    54,    55,    55,    30,    31,    31,    16,    17,
    707  1.1  christos       18,    19,    20,    23,    24,    45,    48,    45,    30,    43,
    708  1.1  christos       44,    39,    30,    41,    42,    31,     0,    38,    32,    53,
    709  1.1  christos       54,    32,    14,    59,    59,    34,    47,    47,    34,    46,
    710  1.1  christos       45,    44,    30,    40,    32,    33,    42,    32,    54,    54,
    711  1.1  christos       33,    60,    31,    48,    33,    58,    30,    31,    30,    31,
    712  1.1  christos       31,    46,    54,    35,    56,    29,    32,    57,    57,    32,
    713  1.1  christos       25,    26,    27,    28,    61,    31,    21,    50,    54,    30,
    714  1.1  christos       31,    30,    31,    15,    49,    57,    57,    32,    57,    57,
    715  1.1  christos        9,    51,    30,    31,    22,    52,    57,    57,    57
    716  1.1  christos };
    717  1.1  christos 
    718  1.5  christos #define yyerrok		(yyerrstatus = 0)
    719  1.5  christos #define yyclearin	(yychar = YYEMPTY)
    720  1.5  christos #define YYEMPTY		(-2)
    721  1.5  christos #define YYEOF		0
    722  1.1  christos 
    723  1.5  christos #define YYACCEPT	goto yyacceptlab
    724  1.5  christos #define YYABORT		goto yyabortlab
    725  1.5  christos #define YYERROR		goto yyerrorlab
    726  1.1  christos 
    727  1.1  christos 
    728  1.5  christos /* Like YYERROR except do call yyerror.  This remains here temporarily
    729  1.5  christos    to ease the transition to the new meaning of YYERROR, for GCC.
    730  1.5  christos    Once GCC version 2 has supplanted version 1, this can go.  */
    731  1.1  christos 
    732  1.5  christos #define YYFAIL		goto yyerrlab
    733  1.1  christos 
    734  1.1  christos #define YYRECOVERING()  (!!yyerrstatus)
    735  1.1  christos 
    736  1.5  christos #define YYBACKUP(Token, Value)					\
    737  1.5  christos do								\
    738  1.5  christos   if (yychar == YYEMPTY && yylen == 1)				\
    739  1.5  christos     {								\
    740  1.5  christos       yychar = (Token);						\
    741  1.5  christos       yylval = (Value);						\
    742  1.5  christos       yytoken = YYTRANSLATE (yychar);				\
    743  1.5  christos       YYPOPSTACK (1);						\
    744  1.5  christos       goto yybackup;						\
    745  1.5  christos     }								\
    746  1.5  christos   else								\
    747  1.5  christos     {								\
    748  1.1  christos       yyerror (YY_("syntax error: cannot back up")); \
    749  1.5  christos       YYERROR;							\
    750  1.5  christos     }								\
    751  1.5  christos while (YYID (0))
    752  1.5  christos 
    753  1.5  christos 
    754  1.5  christos #define YYTERROR	1
    755  1.5  christos #define YYERRCODE	256
    756  1.5  christos 
    757  1.5  christos 
    758  1.5  christos /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    759  1.5  christos    If N is 0, then set CURRENT to the empty location which ends
    760  1.5  christos    the previous symbol: RHS[0] (always defined).  */
    761  1.5  christos 
    762  1.5  christos #define YYRHSLOC(Rhs, K) ((Rhs)[K])
    763  1.5  christos #ifndef YYLLOC_DEFAULT
    764  1.5  christos # define YYLLOC_DEFAULT(Current, Rhs, N)				\
    765  1.5  christos     do									\
    766  1.5  christos       if (YYID (N))                                                    \
    767  1.5  christos 	{								\
    768  1.5  christos 	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
    769  1.5  christos 	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
    770  1.5  christos 	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
    771  1.5  christos 	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
    772  1.5  christos 	}								\
    773  1.5  christos       else								\
    774  1.5  christos 	{								\
    775  1.5  christos 	  (Current).first_line   = (Current).last_line   =		\
    776  1.5  christos 	    YYRHSLOC (Rhs, 0).last_line;				\
    777  1.5  christos 	  (Current).first_column = (Current).last_column =		\
    778  1.5  christos 	    YYRHSLOC (Rhs, 0).last_column;				\
    779  1.5  christos 	}								\
    780  1.5  christos     while (YYID (0))
    781  1.5  christos #endif
    782  1.5  christos 
    783  1.5  christos 
    784  1.5  christos /* YY_LOCATION_PRINT -- Print the location on the stream.
    785  1.5  christos    This macro was not mandated originally: define only if we know
    786  1.5  christos    we won't break user code: when these are the locations we know.  */
    787  1.5  christos 
    788  1.5  christos #ifndef YY_LOCATION_PRINT
    789  1.5  christos # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
    790  1.5  christos #  define YY_LOCATION_PRINT(File, Loc)			\
    791  1.5  christos      fprintf (File, "%d.%d-%d.%d",			\
    792  1.5  christos 	      (Loc).first_line, (Loc).first_column,	\
    793  1.5  christos 	      (Loc).last_line,  (Loc).last_column)
    794  1.5  christos # else
    795  1.5  christos #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
    796  1.5  christos # endif
    797  1.5  christos #endif
    798  1.1  christos 
    799  1.1  christos 
    800  1.5  christos /* YYLEX -- calling `yylex' with the right arguments.  */
    801  1.5  christos 
    802  1.5  christos #ifdef YYLEX_PARAM
    803  1.5  christos # define YYLEX yylex (YYLEX_PARAM)
    804  1.5  christos #else
    805  1.5  christos # define YYLEX yylex ()
    806  1.5  christos #endif
    807  1.1  christos 
    808  1.1  christos /* Enable debugging if requested.  */
    809  1.1  christos #if YYDEBUG
    810  1.1  christos 
    811  1.1  christos # ifndef YYFPRINTF
    812  1.1  christos #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
    813  1.1  christos #  define YYFPRINTF fprintf
    814  1.1  christos # endif
    815  1.1  christos 
    816  1.5  christos # define YYDPRINTF(Args)			\
    817  1.5  christos do {						\
    818  1.5  christos   if (yydebug)					\
    819  1.5  christos     YYFPRINTF Args;				\
    820  1.5  christos } while (YYID (0))
    821  1.5  christos 
    822  1.5  christos # define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
    823  1.5  christos do {									  \
    824  1.5  christos   if (yydebug)								  \
    825  1.5  christos     {									  \
    826  1.5  christos       YYFPRINTF (stderr, "%s ", Title);					  \
    827  1.5  christos       yy_symbol_print (stderr,						  \
    828  1.5  christos 		  Type, Value); \
    829  1.5  christos       YYFPRINTF (stderr, "\n");						  \
    830  1.5  christos     }									  \
    831  1.5  christos } while (YYID (0))
    832  1.1  christos 
    833  1.1  christos 
    834  1.5  christos /*--------------------------------.
    835  1.5  christos | Print this symbol on YYOUTPUT.  |
    836  1.5  christos `--------------------------------*/
    837  1.1  christos 
    838  1.5  christos /*ARGSUSED*/
    839  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
    840  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    841  1.1  christos static void
    842  1.1  christos yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    843  1.5  christos #else
    844  1.5  christos static void
    845  1.5  christos yy_symbol_value_print (yyoutput, yytype, yyvaluep)
    846  1.5  christos     FILE *yyoutput;
    847  1.5  christos     int yytype;
    848  1.5  christos     YYSTYPE const * const yyvaluep;
    849  1.5  christos #endif
    850  1.1  christos {
    851  1.1  christos   if (!yyvaluep)
    852  1.1  christos     return;
    853  1.1  christos # ifdef YYPRINT
    854  1.1  christos   if (yytype < YYNTOKENS)
    855  1.1  christos     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    856  1.5  christos # else
    857  1.5  christos   YYUSE (yyoutput);
    858  1.1  christos # endif
    859  1.5  christos   switch (yytype)
    860  1.5  christos     {
    861  1.5  christos       default:
    862  1.5  christos 	break;
    863  1.5  christos     }
    864  1.1  christos }
    865  1.1  christos 
    866  1.1  christos 
    867  1.1  christos /*--------------------------------.
    868  1.1  christos | Print this symbol on YYOUTPUT.  |
    869  1.1  christos `--------------------------------*/
    870  1.1  christos 
    871  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
    872  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    873  1.1  christos static void
    874  1.1  christos yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    875  1.5  christos #else
    876  1.5  christos static void
    877  1.5  christos yy_symbol_print (yyoutput, yytype, yyvaluep)
    878  1.5  christos     FILE *yyoutput;
    879  1.5  christos     int yytype;
    880  1.5  christos     YYSTYPE const * const yyvaluep;
    881  1.5  christos #endif
    882  1.1  christos {
    883  1.5  christos   if (yytype < YYNTOKENS)
    884  1.5  christos     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    885  1.5  christos   else
    886  1.5  christos     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    887  1.1  christos 
    888  1.1  christos   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
    889  1.1  christos   YYFPRINTF (yyoutput, ")");
    890  1.1  christos }
    891  1.1  christos 
    892  1.1  christos /*------------------------------------------------------------------.
    893  1.1  christos | yy_stack_print -- Print the state stack from its BOTTOM up to its |
    894  1.1  christos | TOP (included).                                                   |
    895  1.1  christos `------------------------------------------------------------------*/
    896  1.1  christos 
    897  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
    898  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    899  1.5  christos static void
    900  1.5  christos yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
    901  1.5  christos #else
    902  1.1  christos static void
    903  1.5  christos yy_stack_print (bottom, top)
    904  1.5  christos     yytype_int16 *bottom;
    905  1.5  christos     yytype_int16 *top;
    906  1.5  christos #endif
    907  1.1  christos {
    908  1.1  christos   YYFPRINTF (stderr, "Stack now");
    909  1.5  christos   for (; bottom <= top; ++bottom)
    910  1.5  christos     YYFPRINTF (stderr, " %d", *bottom);
    911  1.1  christos   YYFPRINTF (stderr, "\n");
    912  1.1  christos }
    913  1.1  christos 
    914  1.5  christos # define YY_STACK_PRINT(Bottom, Top)				\
    915  1.5  christos do {								\
    916  1.5  christos   if (yydebug)							\
    917  1.5  christos     yy_stack_print ((Bottom), (Top));				\
    918  1.5  christos } while (YYID (0))
    919  1.1  christos 
    920  1.1  christos 
    921  1.1  christos /*------------------------------------------------.
    922  1.1  christos | Report that the YYRULE is going to be reduced.  |
    923  1.1  christos `------------------------------------------------*/
    924  1.1  christos 
    925  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
    926  1.5  christos      || defined __cplusplus || defined _MSC_VER)
    927  1.5  christos static void
    928  1.5  christos yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
    929  1.5  christos #else
    930  1.1  christos static void
    931  1.5  christos yy_reduce_print (yyvsp, yyrule)
    932  1.5  christos     YYSTYPE *yyvsp;
    933  1.5  christos     int yyrule;
    934  1.5  christos #endif
    935  1.1  christos {
    936  1.1  christos   int yynrhs = yyr2[yyrule];
    937  1.1  christos   int yyi;
    938  1.5  christos   unsigned long int yylno = yyrline[yyrule];
    939  1.1  christos   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
    940  1.5  christos 	     yyrule - 1, yylno);
    941  1.1  christos   /* The symbols being reduced.  */
    942  1.1  christos   for (yyi = 0; yyi < yynrhs; yyi++)
    943  1.1  christos     {
    944  1.5  christos       fprintf (stderr, "   $%d = ", yyi + 1);
    945  1.5  christos       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
    946  1.5  christos 		       &(yyvsp[(yyi + 1) - (yynrhs)])
    947  1.5  christos 		       		       );
    948  1.5  christos       fprintf (stderr, "\n");
    949  1.1  christos     }
    950  1.1  christos }
    951  1.1  christos 
    952  1.5  christos # define YY_REDUCE_PRINT(Rule)		\
    953  1.5  christos do {					\
    954  1.5  christos   if (yydebug)				\
    955  1.5  christos     yy_reduce_print (yyvsp, Rule); \
    956  1.5  christos } while (YYID (0))
    957  1.1  christos 
    958  1.1  christos /* Nonzero means print parse trace.  It is left uninitialized so that
    959  1.1  christos    multiple parsers can coexist.  */
    960  1.1  christos int yydebug;
    961  1.1  christos #else /* !YYDEBUG */
    962  1.1  christos # define YYDPRINTF(Args)
    963  1.1  christos # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
    964  1.1  christos # define YY_STACK_PRINT(Bottom, Top)
    965  1.1  christos # define YY_REDUCE_PRINT(Rule)
    966  1.1  christos #endif /* !YYDEBUG */
    967  1.1  christos 
    968  1.1  christos 
    969  1.1  christos /* YYINITDEPTH -- initial size of the parser's stacks.  */
    970  1.5  christos #ifndef	YYINITDEPTH
    971  1.1  christos # define YYINITDEPTH 200
    972  1.1  christos #endif
    973  1.1  christos 
    974  1.1  christos /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    975  1.1  christos    if the built-in stack extension method is used).
    976  1.1  christos 
    977  1.1  christos    Do not make this value too large; the results are undefined if
    978  1.1  christos    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
    979  1.1  christos    evaluated with infinite-precision integer arithmetic.  */
    980  1.1  christos 
    981  1.1  christos #ifndef YYMAXDEPTH
    982  1.1  christos # define YYMAXDEPTH 10000
    983  1.1  christos #endif
    984  1.1  christos 
    985  1.5  christos 
    986  1.1  christos 
    988  1.1  christos #if YYERROR_VERBOSE
    989  1.1  christos 
    990  1.1  christos # ifndef yystrlen
    991  1.1  christos #  if defined __GLIBC__ && defined _STRING_H
    992  1.1  christos #   define yystrlen strlen
    993  1.1  christos #  else
    994  1.5  christos /* Return the length of YYSTR.  */
    995  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
    996  1.1  christos      || defined __cplusplus || defined _MSC_VER)
    997  1.1  christos static YYSIZE_T
    998  1.5  christos yystrlen (const char *yystr)
    999  1.5  christos #else
   1000  1.5  christos static YYSIZE_T
   1001  1.5  christos yystrlen (yystr)
   1002  1.5  christos     const char *yystr;
   1003  1.1  christos #endif
   1004  1.1  christos {
   1005  1.1  christos   YYSIZE_T yylen;
   1006  1.1  christos   for (yylen = 0; yystr[yylen]; yylen++)
   1007  1.1  christos     continue;
   1008  1.1  christos   return yylen;
   1009  1.1  christos }
   1010  1.1  christos #  endif
   1011  1.1  christos # endif
   1012  1.1  christos 
   1013  1.1  christos # ifndef yystpcpy
   1014  1.1  christos #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
   1015  1.1  christos #   define yystpcpy stpcpy
   1016  1.1  christos #  else
   1017  1.1  christos /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
   1018  1.5  christos    YYDEST.  */
   1019  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
   1020  1.1  christos      || defined __cplusplus || defined _MSC_VER)
   1021  1.1  christos static char *
   1022  1.5  christos yystpcpy (char *yydest, const char *yysrc)
   1023  1.5  christos #else
   1024  1.5  christos static char *
   1025  1.5  christos yystpcpy (yydest, yysrc)
   1026  1.5  christos     char *yydest;
   1027  1.5  christos     const char *yysrc;
   1028  1.1  christos #endif
   1029  1.1  christos {
   1030  1.1  christos   char *yyd = yydest;
   1031  1.1  christos   const char *yys = yysrc;
   1032  1.1  christos 
   1033  1.1  christos   while ((*yyd++ = *yys++) != '\0')
   1034  1.1  christos     continue;
   1035  1.1  christos 
   1036  1.1  christos   return yyd - 1;
   1037  1.1  christos }
   1038  1.1  christos #  endif
   1039  1.1  christos # endif
   1040  1.1  christos 
   1041  1.1  christos # ifndef yytnamerr
   1042  1.1  christos /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
   1043  1.1  christos    quotes and backslashes, so that it's suitable for yyerror.  The
   1044  1.1  christos    heuristic is that double-quoting is unnecessary unless the string
   1045  1.1  christos    contains an apostrophe, a comma, or backslash (other than
   1046  1.1  christos    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
   1047  1.1  christos    null, do not copy; instead, return the length of what the result
   1048  1.1  christos    would have been.  */
   1049  1.1  christos static YYSIZE_T
   1050  1.1  christos yytnamerr (char *yyres, const char *yystr)
   1051  1.1  christos {
   1052  1.1  christos   if (*yystr == '"')
   1053  1.1  christos     {
   1054  1.1  christos       YYSIZE_T yyn = 0;
   1055  1.1  christos       char const *yyp = yystr;
   1056  1.1  christos 
   1057  1.5  christos       for (;;)
   1058  1.5  christos 	switch (*++yyp)
   1059  1.5  christos 	  {
   1060  1.5  christos 	  case '\'':
   1061  1.5  christos 	  case ',':
   1062  1.5  christos 	    goto do_not_strip_quotes;
   1063  1.5  christos 
   1064  1.5  christos 	  case '\\':
   1065  1.5  christos 	    if (*++yyp != '\\')
   1066  1.5  christos 	      goto do_not_strip_quotes;
   1067  1.5  christos 	    /* Fall through.  */
   1068  1.5  christos 	  default:
   1069  1.5  christos 	    if (yyres)
   1070  1.5  christos 	      yyres[yyn] = *yyp;
   1071  1.5  christos 	    yyn++;
   1072  1.5  christos 	    break;
   1073  1.5  christos 
   1074  1.5  christos 	  case '"':
   1075  1.5  christos 	    if (yyres)
   1076  1.5  christos 	      yyres[yyn] = '\0';
   1077  1.5  christos 	    return yyn;
   1078  1.1  christos 	  }
   1079  1.1  christos     do_not_strip_quotes: ;
   1080  1.1  christos     }
   1081  1.1  christos 
   1082  1.1  christos   if (! yyres)
   1083  1.1  christos     return yystrlen (yystr);
   1084  1.1  christos 
   1085  1.1  christos   return yystpcpy (yyres, yystr) - yyres;
   1086  1.1  christos }
   1087  1.1  christos # endif
   1088  1.5  christos 
   1089  1.5  christos /* Copy into YYRESULT an error message about the unexpected token
   1090  1.5  christos    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
   1091  1.5  christos    including the terminating null byte.  If YYRESULT is null, do not
   1092  1.5  christos    copy anything; just return the number of bytes that would be
   1093  1.5  christos    copied.  As a special case, return 0 if an ordinary "syntax error"
   1094  1.5  christos    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
   1095  1.5  christos    size calculation.  */
   1096  1.5  christos static YYSIZE_T
   1097  1.1  christos yysyntax_error (char *yyresult, int yystate, int yychar)
   1098  1.5  christos {
   1099  1.1  christos   int yyn = yypact[yystate];
   1100  1.5  christos 
   1101  1.5  christos   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
   1102  1.5  christos     return 0;
   1103  1.1  christos   else
   1104  1.5  christos     {
   1105  1.5  christos       int yytype = YYTRANSLATE (yychar);
   1106  1.5  christos       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
   1107  1.5  christos       YYSIZE_T yysize = yysize0;
   1108  1.5  christos       YYSIZE_T yysize1;
   1109  1.5  christos       int yysize_overflow = 0;
   1110  1.5  christos       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   1111  1.5  christos       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   1112  1.5  christos       int yyx;
   1113  1.5  christos 
   1114  1.5  christos # if 0
   1115  1.5  christos       /* This is so xgettext sees the translatable formats that are
   1116  1.5  christos 	 constructed on the fly.  */
   1117  1.5  christos       YY_("syntax error, unexpected %s");
   1118  1.5  christos       YY_("syntax error, unexpected %s, expecting %s");
   1119  1.5  christos       YY_("syntax error, unexpected %s, expecting %s or %s");
   1120  1.5  christos       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
   1121  1.5  christos       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
   1122  1.5  christos # endif
   1123  1.5  christos       char *yyfmt;
   1124  1.5  christos       char const *yyf;
   1125  1.5  christos       static char const yyunexpected[] = "syntax error, unexpected %s";
   1126  1.5  christos       static char const yyexpecting[] = ", expecting %s";
   1127  1.5  christos       static char const yyor[] = " or %s";
   1128  1.5  christos       char yyformat[sizeof yyunexpected
   1129  1.5  christos 		    + sizeof yyexpecting - 1
   1130  1.5  christos 		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
   1131  1.5  christos 		       * (sizeof yyor - 1))];
   1132  1.5  christos       char const *yyprefix = yyexpecting;
   1133  1.5  christos 
   1134  1.5  christos       /* Start YYX at -YYN if negative to avoid negative indexes in
   1135  1.5  christos 	 YYCHECK.  */
   1136  1.5  christos       int yyxbegin = yyn < 0 ? -yyn : 0;
   1137  1.5  christos 
   1138  1.5  christos       /* Stay within bounds of both yycheck and yytname.  */
   1139  1.5  christos       int yychecklim = YYLAST - yyn + 1;
   1140  1.5  christos       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
   1141  1.5  christos       int yycount = 1;
   1142  1.5  christos 
   1143  1.5  christos       yyarg[0] = yytname[yytype];
   1144  1.5  christos       yyfmt = yystpcpy (yyformat, yyunexpected);
   1145  1.5  christos 
   1146  1.5  christos       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
   1147  1.5  christos 	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
   1148  1.5  christos 	  {
   1149  1.5  christos 	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
   1150  1.5  christos 	      {
   1151  1.5  christos 		yycount = 1;
   1152  1.5  christos 		yysize = yysize0;
   1153  1.5  christos 		yyformat[sizeof yyunexpected - 1] = '\0';
   1154  1.5  christos 		break;
   1155  1.5  christos 	      }
   1156  1.5  christos 	    yyarg[yycount++] = yytname[yyx];
   1157  1.5  christos 	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
   1158  1.5  christos 	    yysize_overflow |= (yysize1 < yysize);
   1159  1.5  christos 	    yysize = yysize1;
   1160  1.5  christos 	    yyfmt = yystpcpy (yyfmt, yyprefix);
   1161  1.5  christos 	    yyprefix = yyor;
   1162  1.1  christos 	  }
   1163  1.5  christos 
   1164  1.5  christos       yyf = YY_(yyformat);
   1165  1.5  christos       yysize1 = yysize + yystrlen (yyf);
   1166  1.5  christos       yysize_overflow |= (yysize1 < yysize);
   1167  1.5  christos       yysize = yysize1;
   1168  1.5  christos 
   1169  1.5  christos       if (yysize_overflow)
   1170  1.5  christos 	return YYSIZE_MAXIMUM;
   1171  1.5  christos 
   1172  1.5  christos       if (yyresult)
   1173  1.5  christos 	{
   1174  1.5  christos 	  /* Avoid sprintf, as that infringes on the user's name space.
   1175  1.5  christos 	     Don't have undefined behavior even if the translation
   1176  1.5  christos 	     produced a string with the wrong number of "%s"s.  */
   1177  1.5  christos 	  char *yyp = yyresult;
   1178  1.5  christos 	  int yyi = 0;
   1179  1.5  christos 	  while ((*yyp = *yyf) != '\0')
   1180  1.5  christos 	    {
   1181  1.5  christos 	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
   1182  1.5  christos 		{
   1183  1.5  christos 		  yyp += yytnamerr (yyp, yyarg[yyi++]);
   1184  1.5  christos 		  yyf += 2;
   1185  1.5  christos 		}
   1186  1.5  christos 	      else
   1187  1.5  christos 		{
   1188  1.5  christos 		  yyp++;
   1189  1.5  christos 		  yyf++;
   1190  1.5  christos 		}
   1191  1.5  christos 	    }
   1192  1.5  christos 	}
   1193  1.1  christos       return yysize;
   1194  1.1  christos     }
   1195  1.1  christos }
   1196  1.5  christos #endif /* YYERROR_VERBOSE */
   1197  1.1  christos 
   1198  1.1  christos 
   1200  1.1  christos /*-----------------------------------------------.
   1201  1.1  christos | Release the memory associated to this symbol.  |
   1202  1.5  christos `-----------------------------------------------*/
   1203  1.5  christos 
   1204  1.5  christos /*ARGSUSED*/
   1205  1.1  christos #if (defined __STDC__ || defined __C99__FUNC__ \
   1206  1.1  christos      || defined __cplusplus || defined _MSC_VER)
   1207  1.5  christos static void
   1208  1.5  christos yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
   1209  1.5  christos #else
   1210  1.5  christos static void
   1211  1.5  christos yydestruct (yymsg, yytype, yyvaluep)
   1212  1.5  christos     const char *yymsg;
   1213  1.5  christos     int yytype;
   1214  1.1  christos     YYSTYPE *yyvaluep;
   1215  1.1  christos #endif
   1216  1.5  christos {
   1217  1.1  christos   YYUSE (yyvaluep);
   1218  1.1  christos 
   1219  1.1  christos   if (!yymsg)
   1220  1.1  christos     yymsg = "Deleting";
   1221  1.5  christos   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
   1222  1.5  christos 
   1223  1.5  christos   switch (yytype)
   1224  1.5  christos     {
   1225  1.5  christos 
   1226  1.5  christos       default:
   1227  1.1  christos 	break;
   1228  1.5  christos     }
   1229  1.5  christos }
   1230  1.5  christos 
   1231  1.1  christos 
   1233  1.5  christos /* Prevent warnings from -Wmissing-prototypes.  */
   1234  1.5  christos 
   1235  1.5  christos #ifdef YYPARSE_PARAM
   1236  1.5  christos #if defined __STDC__ || defined __cplusplus
   1237  1.5  christos int yyparse (void *YYPARSE_PARAM);
   1238  1.5  christos #else
   1239  1.5  christos int yyparse ();
   1240  1.5  christos #endif
   1241  1.5  christos #else /* ! YYPARSE_PARAM */
   1242  1.5  christos #if defined __STDC__ || defined __cplusplus
   1243  1.5  christos int yyparse (void);
   1244  1.5  christos #else
   1245  1.1  christos int yyparse ();
   1246  1.1  christos #endif
   1247  1.1  christos #endif /* ! YYPARSE_PARAM */
   1248  1.5  christos 
   1249  1.1  christos 
   1250  1.1  christos 
   1251  1.5  christos /* The look-ahead symbol.  */
   1252  1.1  christos int yychar;
   1253  1.5  christos 
   1254  1.1  christos /* The semantic value of the look-ahead symbol.  */
   1255  1.1  christos YYSTYPE yylval;
   1256  1.1  christos 
   1257  1.1  christos /* Number of syntax errors so far.  */
   1258  1.5  christos int yynerrs;
   1259  1.1  christos 
   1260  1.1  christos 
   1261  1.1  christos 
   1262  1.1  christos /*----------.
   1263  1.5  christos | yyparse.  |
   1264  1.5  christos `----------*/
   1265  1.5  christos 
   1266  1.5  christos #ifdef YYPARSE_PARAM
   1267  1.5  christos #if (defined __STDC__ || defined __C99__FUNC__ \
   1268  1.5  christos      || defined __cplusplus || defined _MSC_VER)
   1269  1.5  christos int
   1270  1.5  christos yyparse (void *YYPARSE_PARAM)
   1271  1.5  christos #else
   1272  1.5  christos int
   1273  1.5  christos yyparse (YYPARSE_PARAM)
   1274  1.5  christos     void *YYPARSE_PARAM;
   1275  1.5  christos #endif
   1276  1.1  christos #else /* ! YYPARSE_PARAM */
   1277  1.1  christos #if (defined __STDC__ || defined __C99__FUNC__ \
   1278  1.5  christos      || defined __cplusplus || defined _MSC_VER)
   1279  1.5  christos int
   1280  1.5  christos yyparse (void)
   1281  1.5  christos #else
   1282  1.5  christos int
   1283  1.5  christos yyparse ()
   1284  1.3  christos 
   1285  1.5  christos #endif
   1286  1.5  christos #endif
   1287  1.1  christos {
   1288  1.1  christos 
   1289  1.5  christos   int yystate;
   1290  1.5  christos   int yyn;
   1291  1.5  christos   int yyresult;
   1292  1.1  christos   /* Number of tokens to shift before error messages enabled.  */
   1293  1.1  christos   int yyerrstatus;
   1294  1.1  christos   /* Look-ahead token as an internal (translated) token number.  */
   1295  1.1  christos   int yytoken = 0;
   1296  1.1  christos #if YYERROR_VERBOSE
   1297  1.1  christos   /* Buffer for error messages, and its allocated size.  */
   1298  1.1  christos   char yymsgbuf[128];
   1299  1.1  christos   char *yymsg = yymsgbuf;
   1300  1.5  christos   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
   1301  1.5  christos #endif
   1302  1.5  christos 
   1303  1.5  christos   /* Three stacks and their tools:
   1304  1.5  christos      `yyss': related to states,
   1305  1.5  christos      `yyvs': related to semantic values,
   1306  1.5  christos      `yyls': related to locations.
   1307  1.5  christos 
   1308  1.5  christos      Refer to the stacks thru separate pointers, to allow yyoverflow
   1309  1.5  christos      to reallocate them elsewhere.  */
   1310  1.5  christos 
   1311  1.5  christos   /* The state stack.  */
   1312  1.5  christos   yytype_int16 yyssa[YYINITDEPTH];
   1313  1.5  christos   yytype_int16 *yyss = yyssa;
   1314  1.5  christos   yytype_int16 *yyssp;
   1315  1.5  christos 
   1316  1.5  christos   /* The semantic value stack.  */
   1317  1.5  christos   YYSTYPE yyvsa[YYINITDEPTH];
   1318  1.5  christos   YYSTYPE *yyvs = yyvsa;
   1319  1.5  christos   YYSTYPE *yyvsp;
   1320  1.1  christos 
   1321  1.1  christos 
   1322  1.5  christos 
   1323  1.5  christos #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
   1324  1.5  christos 
   1325  1.5  christos   YYSIZE_T yystacksize = YYINITDEPTH;
   1326  1.5  christos 
   1327  1.5  christos   /* The variables used to return semantic value and location from the
   1328  1.5  christos      action routines.  */
   1329  1.1  christos   YYSTYPE yyval;
   1330  1.1  christos 
   1331  1.1  christos 
   1332  1.1  christos   /* The number of symbols on the RHS of the reduced rule.
   1333  1.1  christos      Keep to zero when no symbol should be popped.  */
   1334  1.1  christos   int yylen = 0;
   1335  1.1  christos 
   1336  1.1  christos   YYDPRINTF ((stderr, "Starting parse\n"));
   1337  1.1  christos 
   1338  1.5  christos   yystate = 0;
   1339  1.5  christos   yyerrstatus = 0;
   1340  1.5  christos   yynerrs = 0;
   1341  1.5  christos   yychar = YYEMPTY;		/* Cause a token to be read.  */
   1342  1.5  christos 
   1343  1.5  christos   /* Initialize stack pointers.
   1344  1.5  christos      Waste one element of value and location stack
   1345  1.5  christos      so that they stay on the same level as the state stack.
   1346  1.5  christos      The wasted elements are never initialized.  */
   1347  1.5  christos 
   1348  1.1  christos   yyssp = yyss;
   1349  1.1  christos   yyvsp = yyvs;
   1350  1.1  christos 
   1351  1.1  christos   goto yysetstate;
   1352  1.1  christos 
   1353  1.1  christos /*------------------------------------------------------------.
   1354  1.1  christos | yynewstate -- Push a new state, which is found in yystate.  |
   1355  1.1  christos `------------------------------------------------------------*/
   1356  1.1  christos  yynewstate:
   1357  1.1  christos   /* In all cases, when you get here, the value and location stacks
   1358  1.1  christos      have just been pushed.  So pushing a state here evens the stacks.  */
   1359  1.1  christos   yyssp++;
   1360  1.1  christos 
   1361  1.1  christos  yysetstate:
   1362  1.1  christos   *yyssp = yystate;
   1363  1.1  christos 
   1364  1.1  christos   if (yyss + yystacksize - 1 <= yyssp)
   1365  1.1  christos     {
   1366  1.1  christos       /* Get the current used size of the three stacks, in elements.  */
   1367  1.1  christos       YYSIZE_T yysize = yyssp - yyss + 1;
   1368  1.5  christos 
   1369  1.5  christos #ifdef yyoverflow
   1370  1.5  christos       {
   1371  1.5  christos 	/* Give user a chance to reallocate the stack.  Use copies of
   1372  1.5  christos 	   these so that the &'s don't force the real ones into
   1373  1.5  christos 	   memory.  */
   1374  1.5  christos 	YYSTYPE *yyvs1 = yyvs;
   1375  1.5  christos 	yytype_int16 *yyss1 = yyss;
   1376  1.5  christos 
   1377  1.5  christos 
   1378  1.5  christos 	/* Each stack pointer address is followed by the size of the
   1379  1.5  christos 	   data in use in that stack, in bytes.  This used to be a
   1380  1.5  christos 	   conditional around just the two extra args, but that might
   1381  1.5  christos 	   be undefined if yyoverflow is a macro.  */
   1382  1.1  christos 	yyoverflow (YY_("memory exhausted"),
   1383  1.5  christos 		    &yyss1, yysize * sizeof (*yyssp),
   1384  1.5  christos 		    &yyvs1, yysize * sizeof (*yyvsp),
   1385  1.5  christos 
   1386  1.5  christos 		    &yystacksize);
   1387  1.1  christos 
   1388  1.1  christos 	yyss = yyss1;
   1389  1.1  christos 	yyvs = yyvs1;
   1390  1.1  christos       }
   1391  1.1  christos #else /* no yyoverflow */
   1392  1.1  christos # ifndef YYSTACK_RELOCATE
   1393  1.1  christos       goto yyexhaustedlab;
   1394  1.5  christos # else
   1395  1.1  christos       /* Extend the stack our own way.  */
   1396  1.1  christos       if (YYMAXDEPTH <= yystacksize)
   1397  1.5  christos 	goto yyexhaustedlab;
   1398  1.1  christos       yystacksize *= 2;
   1399  1.1  christos       if (YYMAXDEPTH < yystacksize)
   1400  1.5  christos 	yystacksize = YYMAXDEPTH;
   1401  1.5  christos 
   1402  1.5  christos       {
   1403  1.5  christos 	yytype_int16 *yyss1 = yyss;
   1404  1.5  christos 	union yyalloc *yyptr =
   1405  1.5  christos 	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
   1406  1.5  christos 	if (! yyptr)
   1407  1.5  christos 	  goto yyexhaustedlab;
   1408  1.1  christos 	YYSTACK_RELOCATE (yyss);
   1409  1.5  christos 	YYSTACK_RELOCATE (yyvs);
   1410  1.5  christos 
   1411  1.1  christos #  undef YYSTACK_RELOCATE
   1412  1.1  christos 	if (yyss1 != yyssa)
   1413  1.1  christos 	  YYSTACK_FREE (yyss1);
   1414  1.1  christos       }
   1415  1.1  christos # endif
   1416  1.1  christos #endif /* no yyoverflow */
   1417  1.1  christos 
   1418  1.5  christos       yyssp = yyss + yysize - 1;
   1419  1.1  christos       yyvsp = yyvs + yysize - 1;
   1420  1.5  christos 
   1421  1.1  christos 
   1422  1.1  christos       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
   1423  1.5  christos 		  (unsigned long int) yystacksize));
   1424  1.1  christos 
   1425  1.1  christos       if (yyss + yystacksize - 1 <= yyssp)
   1426  1.1  christos 	YYABORT;
   1427  1.1  christos     }
   1428  1.1  christos 
   1429  1.1  christos   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   1430  1.1  christos 
   1431  1.1  christos   goto yybackup;
   1432  1.1  christos 
   1433  1.1  christos /*-----------.
   1434  1.1  christos | yybackup.  |
   1435  1.1  christos `-----------*/
   1436  1.5  christos yybackup:
   1437  1.1  christos 
   1438  1.5  christos   /* Do appropriate processing given the current state.  Read a
   1439  1.1  christos      look-ahead token if we need one and don't already have one.  */
   1440  1.5  christos 
   1441  1.1  christos   /* First try to decide what to do without reference to look-ahead token.  */
   1442  1.1  christos   yyn = yypact[yystate];
   1443  1.5  christos   if (yyn == YYPACT_NINF)
   1444  1.1  christos     goto yydefault;
   1445  1.5  christos 
   1446  1.1  christos   /* Not known => get a look-ahead token if don't already have one.  */
   1447  1.1  christos 
   1448  1.1  christos   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   1449  1.5  christos   if (yychar == YYEMPTY)
   1450  1.1  christos     {
   1451  1.1  christos       YYDPRINTF ((stderr, "Reading a token: "));
   1452  1.1  christos       yychar = YYLEX;
   1453  1.1  christos     }
   1454  1.1  christos 
   1455  1.1  christos   if (yychar <= YYEOF)
   1456  1.1  christos     {
   1457  1.1  christos       yychar = yytoken = YYEOF;
   1458  1.1  christos       YYDPRINTF ((stderr, "Now at end of input.\n"));
   1459  1.1  christos     }
   1460  1.1  christos   else
   1461  1.1  christos     {
   1462  1.1  christos       yytoken = YYTRANSLATE (yychar);
   1463  1.1  christos       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
   1464  1.1  christos     }
   1465  1.1  christos 
   1466  1.1  christos   /* If the proper action on seeing token YYTOKEN is to reduce or to
   1467  1.1  christos      detect an error, take that action.  */
   1468  1.1  christos   yyn += yytoken;
   1469  1.1  christos   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
   1470  1.1  christos     goto yydefault;
   1471  1.5  christos   yyn = yytable[yyn];
   1472  1.5  christos   if (yyn <= 0)
   1473  1.1  christos     {
   1474  1.1  christos       if (yyn == 0 || yyn == YYTABLE_NINF)
   1475  1.1  christos 	goto yyerrlab;
   1476  1.1  christos       yyn = -yyn;
   1477  1.5  christos       goto yyreduce;
   1478  1.5  christos     }
   1479  1.5  christos 
   1480  1.1  christos   if (yyn == YYFINAL)
   1481  1.1  christos     YYACCEPT;
   1482  1.1  christos 
   1483  1.1  christos   /* Count tokens shifted since error; after three, turn off error
   1484  1.1  christos      status.  */
   1485  1.5  christos   if (yyerrstatus)
   1486  1.1  christos     yyerrstatus--;
   1487  1.1  christos 
   1488  1.5  christos   /* Shift the look-ahead token.  */
   1489  1.5  christos   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
   1490  1.5  christos 
   1491  1.1  christos   /* Discard the shifted token unless it is eof.  */
   1492  1.1  christos   if (yychar != YYEOF)
   1493  1.1  christos     yychar = YYEMPTY;
   1494  1.1  christos 
   1495  1.1  christos   yystate = yyn;
   1496  1.1  christos   *++yyvsp = yylval;
   1497  1.1  christos 
   1498  1.1  christos   goto yynewstate;
   1499  1.1  christos 
   1500  1.1  christos 
   1501  1.1  christos /*-----------------------------------------------------------.
   1502  1.1  christos | yydefault -- do the default action for the current state.  |
   1503  1.1  christos `-----------------------------------------------------------*/
   1504  1.1  christos yydefault:
   1505  1.1  christos   yyn = yydefact[yystate];
   1506  1.1  christos   if (yyn == 0)
   1507  1.1  christos     goto yyerrlab;
   1508  1.1  christos   goto yyreduce;
   1509  1.1  christos 
   1510  1.1  christos 
   1511  1.1  christos /*-----------------------------.
   1512  1.1  christos | yyreduce -- Do a reduction.  |
   1513  1.1  christos `-----------------------------*/
   1514  1.1  christos yyreduce:
   1515  1.1  christos   /* yyn is the number of a rule to reduce with.  */
   1516  1.5  christos   yylen = yyr2[yyn];
   1517  1.1  christos 
   1518  1.1  christos   /* If YYLEN is nonzero, implement the default value of the action:
   1519  1.1  christos      `$$ = $1'.
   1520  1.1  christos 
   1521  1.1  christos      Otherwise, the following line sets YYVAL to garbage.
   1522  1.1  christos      This behavior is undocumented and Bison
   1523  1.1  christos      users should not rely upon it.  Assigning to YYVAL
   1524  1.1  christos      unconditionally makes the parser a bit smaller, and it avoids a
   1525  1.1  christos      GCC warning that YYVAL may be used uninitialized.  */
   1526  1.1  christos   yyval = yyvsp[1-yylen];
   1527  1.1  christos 
   1528  1.1  christos 
   1529  1.1  christos   YY_REDUCE_PRINT (yyn);
   1530  1.5  christos   switch (yyn)
   1531  1.5  christos     {
   1532  1.1  christos         case 4:
   1533  1.1  christos #line 53 "defparse.y"
   1534  1.1  christos     { def_name ((yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].number)); }
   1535  1.5  christos     break;
   1536  1.5  christos 
   1537  1.1  christos   case 5:
   1538  1.1  christos #line 54 "defparse.y"
   1539  1.1  christos     { def_library ((yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].number)); }
   1540  1.5  christos     break;
   1541  1.5  christos 
   1542  1.1  christos   case 7:
   1543  1.1  christos #line 56 "defparse.y"
   1544  1.1  christos     { def_description ((yyvsp[(2) - (2)].id));}
   1545  1.5  christos     break;
   1546  1.5  christos 
   1547  1.1  christos   case 8:
   1548  1.1  christos #line 57 "defparse.y"
   1549  1.1  christos     { def_stacksize ((yyvsp[(2) - (3)].number), (yyvsp[(3) - (3)].number));}
   1550  1.5  christos     break;
   1551  1.5  christos 
   1552  1.1  christos   case 9:
   1553  1.1  christos #line 58 "defparse.y"
   1554  1.1  christos     { def_heapsize ((yyvsp[(2) - (3)].number), (yyvsp[(3) - (3)].number));}
   1555  1.5  christos     break;
   1556  1.5  christos 
   1557  1.1  christos   case 10:
   1558  1.1  christos #line 59 "defparse.y"
   1559  1.1  christos     { def_code ((yyvsp[(2) - (2)].number));}
   1560  1.5  christos     break;
   1561  1.5  christos 
   1562  1.1  christos   case 11:
   1563  1.1  christos #line 60 "defparse.y"
   1564  1.1  christos     { def_data ((yyvsp[(2) - (2)].number));}
   1565  1.5  christos     break;
   1566  1.5  christos 
   1567  1.1  christos   case 14:
   1568  1.1  christos #line 63 "defparse.y"
   1569  1.1  christos     { def_version ((yyvsp[(2) - (2)].number),0);}
   1570  1.5  christos     break;
   1571  1.5  christos 
   1572  1.1  christos   case 15:
   1573  1.1  christos #line 64 "defparse.y"
   1574  1.1  christos     { def_version ((yyvsp[(2) - (4)].number),(yyvsp[(4) - (4)].number));}
   1575  1.5  christos     break;
   1576  1.5  christos 
   1577  1.1  christos   case 18:
   1578  1.1  christos #line 76 "defparse.y"
   1579  1.1  christos     { def_exports ((yyvsp[(1) - (8)].id), (yyvsp[(2) - (8)].id), (yyvsp[(3) - (8)].number), (yyvsp[(4) - (8)].number), (yyvsp[(5) - (8)].number), (yyvsp[(6) - (8)].number), (yyvsp[(7) - (8)].number), (yyvsp[(8) - (8)].id));}
   1580  1.5  christos     break;
   1581  1.5  christos 
   1582  1.1  christos   case 21:
   1583  1.1  christos #line 85 "defparse.y"
   1584  1.1  christos     { def_import ((yyvsp[(1) - (8)].id),(yyvsp[(3) - (8)].id),(yyvsp[(5) - (8)].id),(yyvsp[(7) - (8)].id), 0, (yyvsp[(8) - (8)].id)); }
   1585  1.5  christos     break;
   1586  1.5  christos 
   1587  1.1  christos   case 22:
   1588  1.1  christos #line 87 "defparse.y"
   1589  1.1  christos     { def_import ((yyvsp[(1) - (8)].id),(yyvsp[(3) - (8)].id),(yyvsp[(5) - (8)].id), 0,(yyvsp[(7) - (8)].number), (yyvsp[(8) - (8)].id)); }
   1590  1.5  christos     break;
   1591  1.5  christos 
   1592  1.1  christos   case 23:
   1593  1.1  christos #line 89 "defparse.y"
   1594  1.1  christos     { def_import ((yyvsp[(1) - (6)].id),(yyvsp[(3) - (6)].id), 0,(yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id)); }
   1595  1.5  christos     break;
   1596  1.5  christos 
   1597  1.1  christos   case 24:
   1598  1.1  christos #line 91 "defparse.y"
   1599  1.1  christos     { def_import ((yyvsp[(1) - (6)].id),(yyvsp[(3) - (6)].id), 0, 0,(yyvsp[(5) - (6)].number), (yyvsp[(6) - (6)].id)); }
   1600  1.5  christos     break;
   1601  1.5  christos 
   1602  1.1  christos   case 25:
   1603  1.1  christos #line 93 "defparse.y"
   1604  1.1  christos     { def_import ( 0,(yyvsp[(1) - (6)].id),(yyvsp[(3) - (6)].id),(yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id)); }
   1605  1.5  christos     break;
   1606  1.5  christos 
   1607  1.1  christos   case 26:
   1608  1.1  christos #line 95 "defparse.y"
   1609  1.1  christos     { def_import ( 0,(yyvsp[(1) - (6)].id),(yyvsp[(3) - (6)].id), 0,(yyvsp[(5) - (6)].number), (yyvsp[(6) - (6)].id)); }
   1610  1.5  christos     break;
   1611  1.5  christos 
   1612  1.1  christos   case 27:
   1613  1.1  christos #line 97 "defparse.y"
   1614  1.1  christos     { def_import ( 0,(yyvsp[(1) - (4)].id), 0,(yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id)); }
   1615  1.5  christos     break;
   1616  1.5  christos 
   1617  1.1  christos   case 28:
   1618  1.1  christos #line 99 "defparse.y"
   1619  1.1  christos     { def_import ( 0,(yyvsp[(1) - (4)].id), 0, 0,(yyvsp[(3) - (4)].number), (yyvsp[(4) - (4)].id)); }
   1620  1.5  christos     break;
   1621  1.5  christos 
   1622  1.1  christos   case 31:
   1623  1.1  christos #line 108 "defparse.y"
   1624  1.1  christos     { def_section ((yyvsp[(1) - (2)].id),(yyvsp[(2) - (2)].number));}
   1625  1.5  christos     break;
   1626  1.5  christos 
   1627  1.1  christos   case 36:
   1628  1.1  christos #line 120 "defparse.y"
   1629  1.1  christos     { (yyval.number)=(yyvsp[(2) - (2)].number);}
   1630  1.5  christos     break;
   1631  1.1  christos 
   1632  1.1  christos   case 37:
   1633  1.1  christos #line 121 "defparse.y"
   1634  1.1  christos     { (yyval.number)=-1;}
   1635  1.5  christos     break;
   1636  1.1  christos 
   1637  1.1  christos   case 38:
   1638  1.1  christos #line 125 "defparse.y"
   1639  1.1  christos     { (yyval.number) = 1; }
   1640  1.5  christos     break;
   1641  1.1  christos 
   1642  1.1  christos   case 39:
   1643  1.1  christos #line 126 "defparse.y"
   1644  1.1  christos     { (yyval.number) = 2; }
   1645  1.5  christos     break;
   1646  1.1  christos 
   1647  1.1  christos   case 40:
   1648  1.1  christos #line 127 "defparse.y"
   1649  1.1  christos     { (yyval.number) = 4; }
   1650  1.5  christos     break;
   1651  1.1  christos 
   1652  1.1  christos   case 41:
   1653  1.1  christos #line 128 "defparse.y"
   1654  1.1  christos     { (yyval.number) = 8; }
   1655  1.5  christos     break;
   1656  1.1  christos 
   1657  1.1  christos   case 42:
   1658  1.1  christos #line 129 "defparse.y"
   1659  1.1  christos     { (yyval.number) = 0; }
   1660  1.5  christos     break;
   1661  1.1  christos 
   1662  1.1  christos   case 43:
   1663  1.1  christos #line 130 "defparse.y"
   1664  1.1  christos     { (yyval.number) = 0; }
   1665  1.5  christos     break;
   1666  1.1  christos 
   1667  1.1  christos   case 44:
   1668  1.1  christos #line 131 "defparse.y"
   1669  1.1  christos     { (yyval.number) = 0; }
   1670  1.5  christos     break;
   1671  1.1  christos 
   1672  1.1  christos   case 45:
   1673  1.1  christos #line 135 "defparse.y"
   1674  1.1  christos     {(yyval.number)=1;}
   1675  1.5  christos     break;
   1676  1.1  christos 
   1677  1.1  christos   case 46:
   1678  1.1  christos #line 136 "defparse.y"
   1679  1.1  christos     {(yyval.number)=0;}
   1680  1.5  christos     break;
   1681  1.1  christos 
   1682  1.1  christos   case 47:
   1683  1.1  christos #line 140 "defparse.y"
   1684  1.1  christos     {(yyval.number)=1;}
   1685  1.5  christos     break;
   1686  1.1  christos 
   1687  1.1  christos   case 48:
   1688  1.1  christos #line 141 "defparse.y"
   1689  1.1  christos     {(yyval.number)=0;}
   1690  1.5  christos     break;
   1691  1.1  christos 
   1692  1.1  christos   case 49:
   1693  1.1  christos #line 145 "defparse.y"
   1694  1.1  christos     { (yyval.number) = 1; }
   1695  1.5  christos     break;
   1696  1.1  christos 
   1697  1.1  christos   case 50:
   1698  1.1  christos #line 146 "defparse.y"
   1699  1.1  christos     { (yyval.number) = 0; }
   1700  1.5  christos     break;
   1701  1.1  christos 
   1702  1.1  christos   case 51:
   1703  1.1  christos #line 150 "defparse.y"
   1704  1.1  christos     { (yyval.number) = 1; }
   1705  1.5  christos     break;
   1706  1.1  christos 
   1707  1.1  christos   case 52:
   1708  1.1  christos #line 151 "defparse.y"
   1709  1.1  christos     { (yyval.number) = 0; }
   1710  1.5  christos     break;
   1711  1.1  christos 
   1712  1.1  christos   case 53:
   1713  1.1  christos #line 154 "defparse.y"
   1714  1.1  christos     { (yyval.id_const) = "NAME"; }
   1715  1.5  christos     break;
   1716  1.1  christos 
   1717  1.1  christos   case 54:
   1718  1.1  christos #line 159 "defparse.y"
   1719  1.1  christos     { (yyval.id_const) = "DESCRIPTION"; }
   1720  1.5  christos     break;
   1721  1.1  christos 
   1722  1.1  christos   case 55:
   1723  1.1  christos #line 160 "defparse.y"
   1724  1.1  christos     { (yyval.id_const) = "STACKSIZE"; }
   1725  1.5  christos     break;
   1726  1.1  christos 
   1727  1.1  christos   case 56:
   1728  1.1  christos #line 161 "defparse.y"
   1729  1.1  christos     { (yyval.id_const) = "HEAPSIZE"; }
   1730  1.5  christos     break;
   1731  1.1  christos 
   1732  1.1  christos   case 57:
   1733  1.1  christos #line 162 "defparse.y"
   1734  1.1  christos     { (yyval.id_const) = "CODE"; }
   1735  1.5  christos     break;
   1736  1.1  christos 
   1737  1.1  christos   case 58:
   1738  1.1  christos #line 163 "defparse.y"
   1739  1.1  christos     { (yyval.id_const) = "DATA"; }
   1740  1.5  christos     break;
   1741  1.1  christos 
   1742  1.1  christos   case 59:
   1743  1.1  christos #line 164 "defparse.y"
   1744  1.1  christos     { (yyval.id_const) = "SECTIONS"; }
   1745  1.5  christos     break;
   1746  1.1  christos 
   1747  1.1  christos   case 60:
   1748  1.1  christos #line 165 "defparse.y"
   1749  1.1  christos     { (yyval.id_const) = "EXPORTS"; }
   1750  1.5  christos     break;
   1751  1.1  christos 
   1752  1.1  christos   case 61:
   1753  1.1  christos #line 166 "defparse.y"
   1754  1.1  christos     { (yyval.id_const) = "IMPORTS"; }
   1755  1.5  christos     break;
   1756  1.1  christos 
   1757  1.1  christos   case 62:
   1758  1.1  christos #line 167 "defparse.y"
   1759  1.1  christos     { (yyval.id_const) = "VERSION"; }
   1760  1.5  christos     break;
   1761  1.1  christos 
   1762  1.1  christos   case 63:
   1763  1.1  christos #line 168 "defparse.y"
   1764  1.1  christos     { (yyval.id_const) = "BASE"; }
   1765  1.5  christos     break;
   1766  1.1  christos 
   1767  1.1  christos   case 64:
   1768  1.1  christos #line 169 "defparse.y"
   1769  1.1  christos     { (yyval.id_const) = "CONSTANT"; }
   1770  1.5  christos     break;
   1771  1.1  christos 
   1772  1.1  christos   case 65:
   1773  1.1  christos #line 170 "defparse.y"
   1774  1.1  christos     { (yyval.id_const) = "NONAME"; }
   1775  1.5  christos     break;
   1776  1.1  christos 
   1777  1.1  christos   case 66:
   1778  1.1  christos #line 171 "defparse.y"
   1779  1.1  christos     { (yyval.id_const) = "PRIVATE"; }
   1780  1.5  christos     break;
   1781  1.1  christos 
   1782  1.1  christos   case 67:
   1783  1.1  christos #line 172 "defparse.y"
   1784  1.1  christos     { (yyval.id_const) = "READ"; }
   1785  1.5  christos     break;
   1786  1.1  christos 
   1787  1.1  christos   case 68:
   1788  1.1  christos #line 173 "defparse.y"
   1789  1.1  christos     { (yyval.id_const) = "WRITE"; }
   1790  1.5  christos     break;
   1791  1.1  christos 
   1792  1.1  christos   case 69:
   1793  1.1  christos #line 174 "defparse.y"
   1794  1.1  christos     { (yyval.id_const) = "EXECUTE"; }
   1795  1.5  christos     break;
   1796  1.1  christos 
   1797  1.1  christos   case 70:
   1798  1.1  christos #line 175 "defparse.y"
   1799  1.1  christos     { (yyval.id_const) = "SHARED"; }
   1800  1.5  christos     break;
   1801  1.1  christos 
   1802  1.1  christos   case 71:
   1803  1.1  christos #line 176 "defparse.y"
   1804  1.1  christos     { (yyval.id_const) = "NONSHARED"; }
   1805  1.5  christos     break;
   1806  1.1  christos 
   1807  1.1  christos   case 72:
   1808  1.1  christos #line 177 "defparse.y"
   1809  1.1  christos     { (yyval.id_const) = "SINGLE"; }
   1810  1.5  christos     break;
   1811  1.1  christos 
   1812  1.1  christos   case 73:
   1813  1.1  christos #line 178 "defparse.y"
   1814  1.1  christos     { (yyval.id_const) = "MULTIPLE"; }
   1815  1.5  christos     break;
   1816  1.1  christos 
   1817  1.1  christos   case 74:
   1818  1.1  christos #line 179 "defparse.y"
   1819  1.1  christos     { (yyval.id_const) = "INITINSTANCE"; }
   1820  1.5  christos     break;
   1821  1.1  christos 
   1822  1.1  christos   case 75:
   1823  1.1  christos #line 180 "defparse.y"
   1824  1.1  christos     { (yyval.id_const) = "INITGLOBAL"; }
   1825  1.5  christos     break;
   1826  1.1  christos 
   1827  1.1  christos   case 76:
   1828  1.1  christos #line 181 "defparse.y"
   1829  1.1  christos     { (yyval.id_const) = "TERMINSTANCE"; }
   1830  1.5  christos     break;
   1831  1.1  christos 
   1832  1.1  christos   case 77:
   1833  1.1  christos #line 182 "defparse.y"
   1834  1.1  christos     { (yyval.id_const) = "TERMGLOBAL"; }
   1835  1.5  christos     break;
   1836  1.5  christos 
   1837  1.1  christos   case 78:
   1838  1.1  christos #line 185 "defparse.y"
   1839  1.1  christos     { (yyval.id) = (yyvsp[(1) - (1)].id); }
   1840  1.5  christos     break;
   1841  1.1  christos 
   1842  1.5  christos   case 79:
   1843  1.5  christos #line 187 "defparse.y"
   1844  1.1  christos     {
   1845  1.1  christos 	    char *name = xmalloc (strlen ((yyvsp[(2) - (2)].id_const)) + 2);
   1846  1.1  christos 	    sprintf (name, ".%s", (yyvsp[(2) - (2)].id_const));
   1847  1.1  christos 	    (yyval.id) = name;
   1848  1.1  christos 	  }
   1849  1.5  christos     break;
   1850  1.3  christos 
   1851  1.5  christos   case 80:
   1852  1.5  christos #line 193 "defparse.y"
   1853  1.1  christos     {
   1854  1.1  christos 	    char *name = xmalloc (strlen ((yyvsp[(2) - (2)].id)) + 2);
   1855  1.1  christos 	    sprintf (name, ".%s", (yyvsp[(2) - (2)].id));
   1856  1.1  christos 	    (yyval.id) = name;
   1857  1.1  christos 	  }
   1858  1.5  christos     break;
   1859  1.3  christos 
   1860  1.5  christos   case 81:
   1861  1.5  christos #line 199 "defparse.y"
   1862  1.1  christos     {
   1863  1.1  christos 	    char *name = xmalloc (strlen ((yyvsp[(1) - (3)].id_const)) + 1 + strlen ((yyvsp[(3) - (3)].id)) + 1);
   1864  1.1  christos 	    sprintf (name, "%s.%s", (yyvsp[(1) - (3)].id_const), (yyvsp[(3) - (3)].id));
   1865  1.1  christos 	    (yyval.id) = name;
   1866  1.1  christos 	  }
   1867  1.5  christos     break;
   1868  1.3  christos 
   1869  1.5  christos   case 82:
   1870  1.5  christos #line 205 "defparse.y"
   1871  1.1  christos     {
   1872  1.1  christos 	    char *name = xmalloc (strlen ((yyvsp[(1) - (3)].id)) + 1 + strlen ((yyvsp[(3) - (3)].id)) + 1);
   1873  1.1  christos 	    sprintf (name, "%s.%s", (yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
   1874  1.1  christos 	    (yyval.id) = name;
   1875  1.1  christos 	  }
   1876  1.5  christos     break;
   1877  1.5  christos 
   1878  1.1  christos   case 83:
   1879  1.1  christos #line 211 "defparse.y"
   1880  1.1  christos     { (yyval.id) =(yyvsp[(1) - (1)].id); }
   1881  1.5  christos     break;
   1882  1.1  christos 
   1883  1.1  christos   case 84:
   1884  1.1  christos #line 212 "defparse.y"
   1885  1.1  christos     { (yyval.id)=""; }
   1886  1.5  christos     break;
   1887  1.5  christos 
   1888  1.1  christos   case 85:
   1889  1.1  christos #line 216 "defparse.y"
   1890  1.1  christos     { (yyval.number)=(yyvsp[(2) - (2)].number);}
   1891  1.5  christos     break;
   1892  1.1  christos 
   1893  1.1  christos   case 86:
   1894  1.1  christos #line 217 "defparse.y"
   1895  1.1  christos     { (yyval.number)=-1;}
   1896  1.5  christos     break;
   1897  1.5  christos 
   1898  1.1  christos   case 87:
   1899  1.1  christos #line 221 "defparse.y"
   1900  1.1  christos     { (yyval.id) = (yyvsp[(2) - (2)].id); }
   1901  1.5  christos     break;
   1902  1.1  christos 
   1903  1.1  christos   case 88:
   1904  1.1  christos #line 222 "defparse.y"
   1905  1.1  christos     { (yyval.id) = 0; }
   1906  1.5  christos     break;
   1907  1.5  christos 
   1908  1.1  christos   case 89:
   1909  1.1  christos #line 226 "defparse.y"
   1910  1.1  christos     { (yyval.id) = (yyvsp[(2) - (2)].id); }
   1911  1.5  christos     break;
   1912  1.1  christos 
   1913  1.1  christos   case 90:
   1914  1.1  christos #line 227 "defparse.y"
   1915  1.1  christos     { (yyval.id) =  0; }
   1916  1.5  christos     break;
   1917  1.5  christos 
   1918  1.1  christos   case 91:
   1919  1.1  christos #line 230 "defparse.y"
   1920  1.1  christos     { (yyval.number)= (yyvsp[(3) - (3)].number);}
   1921  1.5  christos     break;
   1922  1.1  christos 
   1923  1.1  christos   case 92:
   1924  1.1  christos #line 231 "defparse.y"
   1925  1.1  christos     { (yyval.number)=-1;}
   1926  1.5  christos     break;
   1927  1.5  christos 
   1928  1.1  christos 
   1929  1.1  christos /* Line 1267 of yacc.c.  */
   1930  1.1  christos #line 1928 "defparse.c"
   1931  1.1  christos       default: break;
   1932  1.1  christos     }
   1933  1.1  christos   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
   1934  1.1  christos 
   1935  1.1  christos   YYPOPSTACK (yylen);
   1936  1.1  christos   yylen = 0;
   1937  1.1  christos   YY_STACK_PRINT (yyss, yyssp);
   1938  1.5  christos 
   1939  1.5  christos   *++yyvsp = yyval;
   1940  1.1  christos 
   1941  1.1  christos 
   1942  1.1  christos   /* Now `shift' the result of the reduction.  Determine what state
   1943  1.1  christos      that goes to, based on the state we popped back to and the rule
   1944  1.1  christos      number reduced by.  */
   1945  1.1  christos 
   1946  1.1  christos   yyn = yyr1[yyn];
   1947  1.1  christos 
   1948  1.1  christos   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
   1949  1.1  christos   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
   1950  1.1  christos     yystate = yytable[yystate];
   1951  1.1  christos   else
   1952  1.1  christos     yystate = yydefgoto[yyn - YYNTOKENS];
   1953  1.1  christos 
   1954  1.5  christos   goto yynewstate;
   1955  1.5  christos 
   1956  1.5  christos 
   1957  1.1  christos /*------------------------------------.
   1958  1.1  christos | yyerrlab -- here on detecting error |
   1959  1.1  christos `------------------------------------*/
   1960  1.1  christos yyerrlab:
   1961  1.1  christos   /* If not already recovering from an error, report this error.  */
   1962  1.1  christos   if (!yyerrstatus)
   1963  1.1  christos     {
   1964  1.1  christos       ++yynerrs;
   1965  1.1  christos #if ! YYERROR_VERBOSE
   1966  1.5  christos       yyerror (YY_("syntax error"));
   1967  1.5  christos #else
   1968  1.5  christos       {
   1969  1.5  christos 	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
   1970  1.5  christos 	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
   1971  1.5  christos 	  {
   1972  1.5  christos 	    YYSIZE_T yyalloc = 2 * yysize;
   1973  1.5  christos 	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
   1974  1.5  christos 	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
   1975  1.5  christos 	    if (yymsg != yymsgbuf)
   1976  1.5  christos 	      YYSTACK_FREE (yymsg);
   1977  1.5  christos 	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
   1978  1.5  christos 	    if (yymsg)
   1979  1.5  christos 	      yymsg_alloc = yyalloc;
   1980  1.5  christos 	    else
   1981  1.5  christos 	      {
   1982  1.5  christos 		yymsg = yymsgbuf;
   1983  1.5  christos 		yymsg_alloc = sizeof yymsgbuf;
   1984  1.5  christos 	      }
   1985  1.5  christos 	  }
   1986  1.5  christos 
   1987  1.5  christos 	if (0 < yysize && yysize <= yymsg_alloc)
   1988  1.5  christos 	  {
   1989  1.5  christos 	    (void) yysyntax_error (yymsg, yystate, yychar);
   1990  1.5  christos 	    yyerror (yymsg);
   1991  1.5  christos 	  }
   1992  1.5  christos 	else
   1993  1.5  christos 	  {
   1994  1.5  christos 	    yyerror (YY_("syntax error"));
   1995  1.1  christos 	    if (yysize != 0)
   1996  1.1  christos 	      goto yyexhaustedlab;
   1997  1.1  christos 	  }
   1998  1.1  christos       }
   1999  1.1  christos #endif
   2000  1.1  christos     }
   2001  1.1  christos 
   2002  1.1  christos 
   2003  1.5  christos 
   2004  1.5  christos   if (yyerrstatus == 3)
   2005  1.1  christos     {
   2006  1.1  christos       /* If just tried and failed to reuse look-ahead token after an
   2007  1.5  christos 	 error, discard it.  */
   2008  1.5  christos 
   2009  1.5  christos       if (yychar <= YYEOF)
   2010  1.5  christos 	{
   2011  1.5  christos 	  /* Return failure if at end of input.  */
   2012  1.1  christos 	  if (yychar == YYEOF)
   2013  1.5  christos 	    YYABORT;
   2014  1.5  christos 	}
   2015  1.5  christos       else
   2016  1.5  christos 	{
   2017  1.5  christos 	  yydestruct ("Error: discarding",
   2018  1.1  christos 		      yytoken, &yylval);
   2019  1.1  christos 	  yychar = YYEMPTY;
   2020  1.5  christos 	}
   2021  1.1  christos     }
   2022  1.1  christos 
   2023  1.1  christos   /* Else will try to reuse look-ahead token after shifting the error
   2024  1.1  christos      token.  */
   2025  1.1  christos   goto yyerrlab1;
   2026  1.1  christos 
   2027  1.1  christos 
   2028  1.1  christos /*---------------------------------------------------.
   2029  1.1  christos | yyerrorlab -- error raised explicitly by YYERROR.  |
   2030  1.1  christos `---------------------------------------------------*/
   2031  1.1  christos yyerrorlab:
   2032  1.1  christos 
   2033  1.1  christos   /* Pacify compilers like GCC when the user code never invokes
   2034  1.1  christos      YYERROR and the label yyerrorlab therefore never appears in user
   2035  1.1  christos      code.  */
   2036  1.5  christos   if (/*CONSTCOND*/ 0)
   2037  1.1  christos      goto yyerrorlab;
   2038  1.1  christos 
   2039  1.1  christos   /* Do not reclaim the symbols of the rule which action triggered
   2040  1.1  christos      this YYERROR.  */
   2041  1.1  christos   YYPOPSTACK (yylen);
   2042  1.1  christos   yylen = 0;
   2043  1.1  christos   YY_STACK_PRINT (yyss, yyssp);
   2044  1.1  christos   yystate = *yyssp;
   2045  1.1  christos   goto yyerrlab1;
   2046  1.1  christos 
   2047  1.1  christos 
   2048  1.1  christos /*-------------------------------------------------------------.
   2049  1.5  christos | yyerrlab1 -- common code for both syntax error and YYERROR.  |
   2050  1.1  christos `-------------------------------------------------------------*/
   2051  1.1  christos yyerrlab1:
   2052  1.1  christos   yyerrstatus = 3;	/* Each real token shifted decrements this.  */
   2053  1.1  christos 
   2054  1.5  christos   for (;;)
   2055  1.5  christos     {
   2056  1.5  christos       yyn = yypact[yystate];
   2057  1.5  christos       if (yyn != YYPACT_NINF)
   2058  1.5  christos 	{
   2059  1.5  christos 	  yyn += YYTERROR;
   2060  1.5  christos 	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
   2061  1.5  christos 	    {
   2062  1.5  christos 	      yyn = yytable[yyn];
   2063  1.5  christos 	      if (0 < yyn)
   2064  1.1  christos 		break;
   2065  1.1  christos 	    }
   2066  1.1  christos 	}
   2067  1.5  christos 
   2068  1.1  christos       /* Pop the current state because it cannot handle the error token.  */
   2069  1.1  christos       if (yyssp == yyss)
   2070  1.1  christos 	YYABORT;
   2071  1.5  christos 
   2072  1.1  christos 
   2073  1.1  christos       yydestruct ("Error: popping",
   2074  1.1  christos 		  yystos[yystate], yyvsp);
   2075  1.1  christos       YYPOPSTACK (1);
   2076  1.1  christos       yystate = *yyssp;
   2077  1.5  christos       YY_STACK_PRINT (yyss, yyssp);
   2078  1.5  christos     }
   2079  1.5  christos 
   2080  1.1  christos   if (yyn == YYFINAL)
   2081  1.1  christos     YYACCEPT;
   2082  1.1  christos 
   2083  1.1  christos   *++yyvsp = yylval;
   2084  1.1  christos 
   2085  1.1  christos 
   2086  1.1  christos   /* Shift the error token.  */
   2087  1.1  christos   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
   2088  1.1  christos 
   2089  1.1  christos   yystate = yyn;
   2090  1.1  christos   goto yynewstate;
   2091  1.1  christos 
   2092  1.1  christos 
   2093  1.1  christos /*-------------------------------------.
   2094  1.1  christos | yyacceptlab -- YYACCEPT comes here.  |
   2095  1.1  christos `-------------------------------------*/
   2096  1.1  christos yyacceptlab:
   2097  1.1  christos   yyresult = 0;
   2098  1.1  christos   goto yyreturn;
   2099  1.1  christos 
   2100  1.1  christos /*-----------------------------------.
   2101  1.1  christos | yyabortlab -- YYABORT comes here.  |
   2102  1.1  christos `-----------------------------------*/
   2103  1.1  christos yyabortlab:
   2104  1.5  christos   yyresult = 1;
   2105  1.1  christos   goto yyreturn;
   2106  1.1  christos 
   2107  1.1  christos #ifndef yyoverflow
   2108  1.1  christos /*-------------------------------------------------.
   2109  1.1  christos | yyexhaustedlab -- memory exhaustion comes here.  |
   2110  1.1  christos `-------------------------------------------------*/
   2111  1.1  christos yyexhaustedlab:
   2112  1.1  christos   yyerror (YY_("memory exhausted"));
   2113  1.1  christos   yyresult = 2;
   2114  1.1  christos   /* Fall through.  */
   2115  1.5  christos #endif
   2116  1.5  christos 
   2117  1.5  christos yyreturn:
   2118  1.5  christos   if (yychar != YYEOF && yychar != YYEMPTY)
   2119  1.1  christos      yydestruct ("Cleanup: discarding lookahead",
   2120  1.1  christos 		 yytoken, &yylval);
   2121  1.1  christos   /* Do not reclaim the symbols of the rule which action triggered
   2122  1.1  christos      this YYABORT or YYACCEPT.  */
   2123  1.1  christos   YYPOPSTACK (yylen);
   2124  1.1  christos   YY_STACK_PRINT (yyss, yyssp);
   2125  1.5  christos   while (yyssp != yyss)
   2126  1.1  christos     {
   2127  1.1  christos       yydestruct ("Cleanup: popping",
   2128  1.1  christos 		  yystos[*yyssp], yyvsp);
   2129  1.1  christos       YYPOPSTACK (1);
   2130  1.1  christos     }
   2131  1.1  christos #ifndef yyoverflow
   2132  1.1  christos   if (yyss != yyssa)
   2133  1.1  christos     YYSTACK_FREE (yyss);
   2134  1.1  christos #endif
   2135  1.1  christos #if YYERROR_VERBOSE
   2136  1.5  christos   if (yymsg != yymsgbuf)
   2137  1.5  christos     YYSTACK_FREE (yymsg);
   2138  1.1  christos #endif
   2139  1.5  christos   /* Make sure YYID is used.  */
   2140  1.5  christos   return YYID (yyresult);
   2141  1.5  christos }
   2142                
   2143                
   2144                
   2145