]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
binutils/
authorCarlos O'Donell <carlos@codesourcery.com>
Thu, 16 Mar 2006 20:02:33 +0000 (20:02 +0000)
committerCarlos O'Donell <carlos@codesourcery.com>
Thu, 16 Mar 2006 20:02:33 +0000 (20:02 +0000)
2006-03-16  Carlos O'Donell  <carlos@codesourcery.com>

* rcparse.c: Remove generated file.
* rcparse.h: Likewise.
* nlmheader.c: Likewise.
* nlmheader.h: Likewise.
* arparse.c: Likewise.
* arparse.h: Likewise.
* sysinfo.c: Likewise.
* sysinfo.h: Likewise.
* defparse.c: Likewise.
* defparse.h: Likewise.
* rclex.c: Likewise.
* syslex.c: Likewise.
* deflex.c: Likewise.
* arlex: Likewise.

gas/

2006-03-16  Carlos O'Donell  <carlos@codesourcery.com>

* itbl-parse.c: Remove generated file.
* itbl-parse.h: Likewise.
* m68k-parse.c: Likewise.
* itbl-lex.c: Likewise.

ld/

2006-03-16  Carlos O'Donell  <carlos@codesourcery.com>

* ldgram.c: Remove generated file.
* ldgram.h: Likewise.
* ldlex.c: Likewise.

21 files changed:
binutils/arlex.c [deleted file]
binutils/arparse.c [deleted file]
binutils/arparse.h [deleted file]
binutils/deflex.c [deleted file]
binutils/defparse.c [deleted file]
binutils/defparse.h [deleted file]
binutils/nlmheader.c [deleted file]
binutils/nlmheader.h [deleted file]
binutils/rclex.c [deleted file]
binutils/rcparse.c [deleted file]
binutils/rcparse.h [deleted file]
binutils/sysinfo.c [deleted file]
binutils/sysinfo.h [deleted file]
binutils/syslex.c [deleted file]
gas/itbl-lex.c [deleted file]
gas/itbl-parse.c [deleted file]
gas/itbl-parse.h [deleted file]
gas/m68k-parse.c [deleted file]
ld/ldgram.c [deleted file]
ld/ldgram.h [deleted file]
ld/ldlex.c [deleted file]

diff --git a/binutils/arlex.c b/binutils/arlex.c
deleted file mode 100644 (file)
index 7f7ae85..0000000
+++ /dev/null
@@ -1,1856 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-#include <errno.h>
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- *     if ( condition_holds )
- *             yyless( 5 );
- *     else
- *             do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               *yy_cp = yy_hold_char; \
-               YY_RESTORE_YY_MORE_OFFSET \
-               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
-
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
-       {
-       FILE *yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
-
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
-
-       int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
-#define YY_BUFFER_EOF_PENDING 2
-       };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;                /* whether we need to initialize */
-static int yy_start = 0;       /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_is_interactive = is_interactive; \
-       }
-
-#define yy_set_bol(at_bol) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_at_bol = at_bol; \
-       }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-       yytext_ptr = yy_bp; \
-       yyleng = (int) (yy_cp - yy_bp); \
-       yy_hold_char = *yy_cp; \
-       *yy_cp = '\0'; \
-       yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 40
-#define YY_END_OF_BUFFER 41
-static yyconst short int yy_accept[177] =
-    {   0,
-        0,    0,   41,   40,   39,   38,   35,   32,   33,   36,
-       40,   34,   37,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   36,   31,   37,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,    7,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   22,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-
-       35,   35,   35,   10,   11,   12,   35,   15,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   25,   26,   27,
-       35,   30,   35,   35,   35,    3,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   18,   35,   35,   35,   35,
-       35,   35,   35,    1,    2,    4,    5,   35,   35,   35,
-       35,   35,   16,   17,   19,   20,   35,   35,   35,   35,
-       35,   35,    8,    9,   13,   14,   35,   23,   24,   28,
-       29,   35,   35,    6,   21,    0
-    } ;
-
-static yyconst int yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    3,    1,    1,    1,    4,    1,    1,    1,    5,
-        6,    7,    8,    9,    4,    4,    4,    4,    4,    4,
-        4,    4,    4,    4,    4,    4,    4,    4,   10,    1,
-        1,    1,    1,    1,   11,   12,   13,   14,   15,   16,
-        4,   17,   18,    4,    4,   19,   20,   21,   22,   23,
-        4,   24,   25,   26,   27,   28,    4,   29,   30,    4,
-        1,    4,    1,    1,    4,    1,   31,   32,   33,   34,
-
-       35,   36,    4,   37,   38,    4,    4,   39,   40,   41,
-       42,   43,    4,   44,   45,   46,   47,   48,    4,   49,
-       50,    4,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst int yy_meta[51] =
-    {   0,
-        1,    2,    1,    3,    1,    1,    1,    1,    1,    1,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3
-    } ;
-
-static yyconst short int yy_base[180] =
-    {   0,
-        0,    0,  193,  194,  194,  194,    0,  194,  194,    0,
-      190,  194,    0,  177,   32,   37,   32,  163,  174,  170,
-      164,  171,  174,  169,  149,   15,   22,   17,  135,  146,
-      142,  136,  143,  146,  141,    0,    0,  194,    0,  161,
-      159,  158,  153,  147,  156,  143,  149,  148,  141,  150,
-      141,  135,  138,  127,  125,  124,  119,  113,  122,  109,
-      115,  114,  107,  116,  107,  101,  104,   43,  136,  135,
-      130,  129,    0,  119,  123,  118,  114,  118,  119,  122,
-      124,   25,  104,  103,   98,   97,    0,   87,   91,   86,
-       82,   86,   87,   90,   92,  105,  100,   97,   94,   93,
-
-      105,  106,  102,    0,    0,    0,  104,    0,   92,   75,
-       70,   67,   64,   63,   75,   76,   72,    0,    0,    0,
-       74,    0,   62,   91,   88,    0,   86,   85,   73,   85,
-       79,   83,   70,   62,   59,    0,   57,   56,   44,   56,
-       50,   54,   41,    0,    0,    0,    0,   63,   58,   59,
-       67,   66,    0,    0,    0,    0,   38,   33,   34,   42,
-       41,   51,    0,    0,    0,    0,   30,    0,    0,    0,
-        0,   43,   21,    0,    0,  194,   65,   66,   69
-    } ;
-
-static yyconst short int yy_def[180] =
-    {   0,
-      176,    1,  176,  176,  176,  176,  177,  176,  176,  178,
-      176,  176,  179,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  178,  176,  179,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
-      177,  177,  177,  177,  177,    0,  176,  176,  176
-    } ;
-
-static yyconst short int yy_nxt[245] =
-    {   0,
-        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,    7,   15,   16,   17,   18,   19,    7,   20,    7,
-        7,   21,    7,   22,   23,    7,    7,   24,    7,    7,
-       25,    7,   26,   27,   28,   29,   30,    7,   31,    7,
-        7,   32,    7,   33,   34,    7,    7,   35,    7,    7,
-       41,   43,   45,   55,   44,   42,   57,   59,   56,   58,
-       46,   96,   97,  110,  111,   60,   37,   36,   37,   39,
-      175,   39,  174,  173,  172,  171,  170,  169,  168,  167,
-      166,  165,  164,  163,  162,  161,  160,  159,  158,  157,
-      156,  155,  154,  153,  152,  151,  150,  149,  148,  147,
-
-      146,  145,  144,  143,  142,  141,  140,  139,  138,  137,
-      136,  135,  134,  133,  132,  131,  130,  129,  128,  127,
-      126,  125,  124,  123,  122,  121,  120,  119,  118,  117,
-      116,  115,  114,  113,  112,  109,  108,  107,  106,  105,
-      104,  103,  102,  101,  100,   99,   98,   95,   94,   93,
-       92,   91,   90,   89,   88,   87,   86,   85,   84,   83,
-       82,   81,   80,   79,   78,   77,   76,   75,   74,   73,
-       72,   71,   70,   69,   68,   67,   66,   65,   64,   63,
-       62,   61,   54,   53,   52,   51,   50,   49,   48,   47,
-       40,   38,  176,    3,  176,  176,  176,  176,  176,  176,
-
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176
-    } ;
-
-static yyconst short int yy_chk[245] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-       15,   16,   17,   26,   16,   15,   27,   28,   26,   27,
-       17,   68,   68,   82,   82,   28,  178,  177,  178,  179,
-      173,  179,  172,  167,  162,  161,  160,  159,  158,  157,
-      152,  151,  150,  149,  148,  143,  142,  141,  140,  139,
-      138,  137,  135,  134,  133,  132,  131,  130,  129,  128,
-
-      127,  125,  124,  123,  121,  117,  116,  115,  114,  113,
-      112,  111,  110,  109,  107,  103,  102,  101,  100,   99,
-       98,   97,   96,   95,   94,   93,   92,   91,   90,   89,
-       88,   86,   85,   84,   83,   81,   80,   79,   78,   77,
-       76,   75,   74,   72,   71,   70,   69,   67,   66,   65,
-       64,   63,   62,   61,   60,   59,   58,   57,   56,   55,
-       54,   53,   52,   51,   50,   49,   48,   47,   46,   45,
-       44,   43,   42,   41,   40,   35,   34,   33,   32,   31,
-       30,   29,   25,   24,   23,   22,   21,   20,   19,   18,
-       14,   11,    3,  176,  176,  176,  176,  176,  176,  176,
-
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
-      176,  176,  176,  176
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "arlex.l"
-#define INITIAL 0
-#line 2 "arlex.l"
-/* arlex.l - Strange script language lexer */
-
-/* Copyright 1992, 1997, 2000, 2001, 2002, 2003, 2004
-   Free Software Foundation, Inc.
-
-This file is part of GNU Binutils.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-
-/* Contributed by Steve Chamberlain <sac@cygnus.com>.  */
-
-#define DONTDECLARE_MALLOC
-#include "ansidecl.h"
-#include "libiberty.h"
-#include "arparse.h"
-
-#define YY_NO_UNPUT
-
-extern int yylex (void);
-
-int linenumber;
-#line 511 "lex.yy.c"
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) \
-               { \
-               int c = '*', n; \
-               for ( n = 0; n < max_size && \
-                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-                       buf[n] = (char) c; \
-               if ( c == '\n' ) \
-                       buf[n++] = (char) c; \
-               if ( c == EOF && ferror( yyin ) ) \
-                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               result = n; \
-               } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(yyin); \
-                       } \
-               }
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-       YY_USER_ACTION
-
-YY_DECL
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-
-#line 41 "arlex.l"
-
-
-#line 676 "lex.yy.c"
-
-       if ( yy_init )
-               {
-               yy_init = 0;
-
-#ifdef YY_USER_INIT
-               YY_USER_INIT;
-#endif
-
-               if ( ! yy_start )
-                       yy_start = 1;   /* first start state */
-
-               if ( ! yyin )
-                       yyin = stdin;
-
-               if ( ! yyout )
-                       yyout = stdout;
-
-               if ( ! yy_current_buffer )
-                       yy_current_buffer =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-
-               yy_load_buffer_state();
-               }
-
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = yy_c_buf_p;
-
-               /* Support of yytext. */
-               *yy_cp = yy_hold_char;
-
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
-
-               yy_current_state = yy_start;
-yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               yy_last_accepting_state = yy_current_state;
-                               yy_last_accepting_cpos = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 177 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 194 );
-
-yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-
-do_action:     /* This label is used only to access EOF actions. */
-
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = yy_hold_char;
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 43 "arlex.l"
-{ return ADDLIB; }
-       YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 44 "arlex.l"
-{ return ADDMOD; }
-       YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 45 "arlex.l"
-{ return CLEAR; }
-       YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 46 "arlex.l"
-{ return CREATE; }
-       YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 47 "arlex.l"
-{ return DELETE; }
-       YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 48 "arlex.l"
-{ return DIRECTORY; }
-       YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 49 "arlex.l"
-{ return END; }
-       YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 50 "arlex.l"
-{ return EXTRACT; }
-       YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 51 "arlex.l"
-{ return FULLDIR; }
-       YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 52 "arlex.l"
-{ return HELP; }
-       YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 53 "arlex.l"
-{ return LIST; }
-       YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 54 "arlex.l"
-{ return OPEN; }
-       YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 55 "arlex.l"
-{ return REPLACE; }
-       YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 56 "arlex.l"
-{ return VERBOSE; }
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 57 "arlex.l"
-{ return SAVE; }
-       YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 58 "arlex.l"
-{ return ADDLIB; }
-       YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 59 "arlex.l"
-{ return ADDMOD; }
-       YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 60 "arlex.l"
-{ return CLEAR; }
-       YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 61 "arlex.l"
-{ return CREATE; }
-       YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 62 "arlex.l"
-{ return DELETE; }
-       YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 63 "arlex.l"
-{ return DIRECTORY; }
-       YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 64 "arlex.l"
-{ return END; }
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 65 "arlex.l"
-{ return EXTRACT; }
-       YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 66 "arlex.l"
-{ return FULLDIR; }
-       YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 67 "arlex.l"
-{ return HELP; }
-       YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 68 "arlex.l"
-{ return LIST; }
-       YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 69 "arlex.l"
-{ return OPEN; }
-       YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 70 "arlex.l"
-{ return REPLACE; }
-       YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 71 "arlex.l"
-{ return VERBOSE; }
-       YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 72 "arlex.l"
-{ return SAVE; }
-       YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 73 "arlex.l"
-{ linenumber ++; }
-       YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 74 "arlex.l"
-{ return '('; }
-       YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 75 "arlex.l"
-{ return ')'; }
-       YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 76 "arlex.l"
-{ return ','; }
-       YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 77 "arlex.l"
-{      
-               yylval.name =  xstrdup (yytext);
-               return FILENAME;
-               }
-       YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 81 "arlex.l"
-{ }
-       YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 82 "arlex.l"
-{ }
-       YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 83 "arlex.l"
-{ }
-       YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 84 "arlex.l"
-{ linenumber ++; return NEWLINE; }     
-       YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 86 "arlex.l"
-ECHO;
-       YY_BREAK
-#line 962 "lex.yy.c"
-case YY_STATE_EOF(INITIAL):
-       yyterminate();
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = yy_hold_char;
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between yy_current_buffer and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       yy_n_chars = yy_current_buffer->yy_n_chars;
-                       yy_current_buffer->yy_input_file = yyin;
-                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state();
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++yy_c_buf_p;
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = yy_c_buf_p;
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer() )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               yy_did_buffer_switch_on_eof = 0;
-
-                               if ( yywrap() )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               yy_c_buf_p =
-                                       yytext_ptr + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               yy_c_buf_p =
-                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
-       } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-       {
-       register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr;
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( yy_current_buffer->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-       else
-               {
-               int num_to_read =
-                       yy_current_buffer->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-                       YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = yy_current_buffer;
-
-                       int yy_c_buf_p_offset =
-                               (int) (yy_c_buf_p - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                        b->yy_buf_size + 2 );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = yy_current_buffer->yy_buf_size -
-                                               number_to_move - 1;
-#endif
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-                       yy_n_chars, num_to_read );
-
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       if ( yy_n_chars == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       yy_current_buffer->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       yy_n_chars += number_to_move;
-       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
-       return ret_val;
-       }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-
-       yy_current_state = yy_start;
-
-       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       yy_last_accepting_state = yy_current_state;
-                       yy_last_accepting_cpos = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 177 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
-       }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-       {
-       register int yy_is_jam;
-       register char *yy_cp = yy_c_buf_p;
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               yy_last_accepting_state = yy_current_state;
-               yy_last_accepting_cpos = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 177 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 176);
-
-       return yy_is_jam ? 0 : yy_current_state;
-       }
-
-
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-       {
-       register char *yy_cp = yy_c_buf_p;
-
-       /* undo effects of setting up yytext */
-       *yy_cp = yy_hold_char;
-
-       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = yy_n_chars + 2;
-               register char *dest = &yy_current_buffer->yy_ch_buf[
-                                       yy_current_buffer->yy_buf_size + 2];
-               register char *source =
-                               &yy_current_buffer->yy_ch_buf[number_to_move];
-
-               while ( source > yy_current_buffer->yy_ch_buf )
-                       *--dest = *--source;
-
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               yy_current_buffer->yy_n_chars =
-                       yy_n_chars = yy_current_buffer->yy_buf_size;
-
-               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
-
-       *--yy_cp = (char) c;
-
-
-       yytext_ptr = yy_bp;
-       yy_hold_char = *yy_cp;
-       yy_c_buf_p = yy_cp;
-       }
-#endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-       {
-       int c;
-
-       *yy_c_buf_p = yy_hold_char;
-
-       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       /* This was really a NUL. */
-                       *yy_c_buf_p = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = yy_c_buf_p - yytext_ptr;
-                       ++yy_c_buf_p;
-
-                       switch ( yy_get_next_buffer() )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /* fall through */
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap() )
-                                               return EOF;
-
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
-                                       return input();
-#endif
-                                       }
-
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       yy_c_buf_p = yytext_ptr + offset;
-                                       break;
-                               }
-                       }
-               }
-
-       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
-       *yy_c_buf_p = '\0';     /* preserve yytext */
-       yy_hold_char = *++yy_c_buf_p;
-
-
-       return c;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-       {
-       if ( ! yy_current_buffer )
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-       yy_init_buffer( yy_current_buffer, input_file );
-       yy_load_buffer_state();
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-       {
-       if ( yy_current_buffer == new_buffer )
-               return;
-
-       if ( yy_current_buffer )
-               {
-               /* Flush out information for old buffer. */
-               *yy_c_buf_p = yy_hold_char;
-               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       yy_current_buffer = new_buffer;
-       yy_load_buffer_state();
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       yy_did_buffer_switch_on_eof = 1;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-       {
-       yy_n_chars = yy_current_buffer->yy_n_chars;
-       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-       yyin = yy_current_buffer->yy_input_file;
-       yy_hold_char = *yy_c_buf_p;
-       }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_buf_size = size;
-
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_is_our_buffer = 1;
-
-       yy_init_buffer( b, file );
-
-       return b;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-       {
-       if ( ! b )
-               return;
-
-       if ( b == yy_current_buffer )
-               yy_current_buffer = (YY_BUFFER_STATE) 0;
-
-       if ( b->yy_is_our_buffer )
-               yy_flex_free( (void *) b->yy_ch_buf );
-
-       yy_flex_free( (void *) b );
-       }
-
-
-#ifndef _WIN32
-#include <unistd.h>
-#else
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
-       {
-       yy_flush_buffer( b );
-
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
-       b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-       b->yy_is_interactive = 0;
-#else
-       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
-       {
-       if ( ! b )
-               return;
-
-       b->yy_n_chars = 0;
-
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-       b->yy_buf_pos = &b->yy_ch_buf[0];
-
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       if ( b == yy_current_buffer )
-               yy_load_buffer_state();
-       }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       if ( size < 2 ||
-            base[size-2] != YY_END_OF_BUFFER_CHAR ||
-            base[size-1] != YY_END_OF_BUFFER_CHAR )
-               /* They forgot to leave room for the EOB's. */
-               return 0;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
-       b->yy_buf_pos = b->yy_ch_buf = base;
-       b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
-       b->yy_n_chars = b->yy_buf_size;
-       b->yy_is_interactive = 0;
-       b->yy_at_bol = 1;
-       b->yy_fill_buffer = 0;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       yy_switch_to_buffer( b );
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-       {
-       int len;
-       for ( len = 0; yy_str[len]; ++len )
-               ;
-
-       return yy_scan_bytes( yy_str, len );
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-       {
-       YY_BUFFER_STATE b;
-       char *buf;
-       yy_size_t n;
-       int i;
-
-       /* Get memory for full buffer, including space for trailing EOB's. */
-       n = len + 2;
-       buf = (char *) yy_flex_alloc( n );
-       if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-       for ( i = 0; i < len; ++i )
-               buf[i] = bytes[i];
-
-       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-       b = yy_scan_buffer( buf, n );
-       if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-       /* It's okay to grow etc. this buffer, and we should throw it
-        * away when we're done.
-        */
-       b->yy_is_our_buffer = 1;
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
-       {
-       if ( yy_start_stack_ptr >= yy_start_stack_depth )
-               {
-               yy_size_t new_size;
-
-               yy_start_stack_depth += YY_START_STACK_INCR;
-               new_size = yy_start_stack_depth * sizeof( int );
-
-               if ( ! yy_start_stack )
-                       yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-               else
-                       yy_start_stack = (int *) yy_flex_realloc(
-                                       (void *) yy_start_stack, new_size );
-
-               if ( ! yy_start_stack )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
-
-       yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
-       BEGIN(new_state);
-       }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-       {
-       if ( --yy_start_stack_ptr < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
-
-       BEGIN(yy_start_stack[yy_start_stack_ptr]);
-       }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-       {
-       return yy_start_stack[yy_start_stack_ptr - 1];
-       }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-       {
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-       }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               yytext[yyleng] = yy_hold_char; \
-               yy_c_buf_p = yytext + n; \
-               yy_hold_char = *yy_c_buf_p; \
-               *yy_c_buf_p = '\0'; \
-               yyleng = n; \
-               } \
-       while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-       {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
-       }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-       {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
-
-       return n;
-       }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-       {
-       return (void *) malloc( size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-       {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-       {
-       free( ptr );
-       }
-
-#if YY_MAIN
-int main()
-       {
-       yylex();
-       return 0;
-       }
-#endif
-#line 86 "arlex.l"
-
-#ifndef yywrap
-/* Needed for lex, though not flex. */
-int yywrap(void) { return 1; }
-#endif
diff --git a/binutils/arparse.c b/binutils/arparse.c
deleted file mode 100644 (file)
index fccd831..0000000
+++ /dev/null
@@ -1,1291 +0,0 @@
-/* A Bison parser, made from arparse.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       NEWLINE 257
-# define       VERBOSE 258
-# define       FILENAME        259
-# define       ADDLIB  260
-# define       LIST    261
-# define       ADDMOD  262
-# define       CLEAR   263
-# define       CREATE  264
-# define       DELETE  265
-# define       DIRECTORY       266
-# define       END     267
-# define       EXTRACT 268
-# define       FULLDIR 269
-# define       HELP    270
-# define       QUIT    271
-# define       REPLACE 272
-# define       SAVE    273
-# define       OPEN    274
-
-#line 1 "arparse.y"
-
-/* arparse.y - Stange script language parser */
-
-/*   Copyright 1992, 1993, 1995, 1997, 1999, 2002, 2003
-     Free Software Foundation, Inc.
-
-This file is part of GNU Binutils.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-
-/* Contributed by Steve Chamberlain
-                 sac@cygnus.com
-
-*/
-#define DONTDECLARE_MALLOC
-#include "bfd.h"
-#include "bucomm.h"
-#include "arsup.h"
-extern int verbose;
-extern int yylex (void);
-static int yyerror (const char *);
-
-#line 37 "arparse.y"
-#ifndef YYSTYPE
-typedef union {
-  char *name;
-struct list *list ;
-
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         53
-#define        YYFLAG          -32768
-#define        YYNTBASE        24
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 274 ? yytranslate[x] : 45)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-      21,    22,     2,     2,    23,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     1,     4,     7,     8,    11,    13,    15,    17,
-      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
-      39,    41,    42,    45,    48,    50,    53,    56,    58,    60,
-      63,    66,    70,    75,    77,    78,    82,    83,    87,    88,
-      90,    91
-};
-static const short yyrhs[] =
-{
-      -1,    25,    26,     0,    26,    27,     0,     0,    28,     3,
-       0,    36,     0,    37,     0,    44,     0,    39,     0,    38,
-       0,    31,     0,    33,     0,    35,     0,    29,     0,    30,
-       0,    32,     0,    34,     0,    13,     0,     1,     0,     5,
-       0,     0,    14,    42,     0,    18,    42,     0,     9,     0,
-      11,    42,     0,     8,    42,     0,     7,     0,    19,     0,
-      20,     5,     0,    10,     5,     0,     6,     5,    41,     0,
-      12,     5,    41,    40,     0,     5,     0,     0,    21,    42,
-      22,     0,     0,    42,    43,     5,     0,     0,    23,     0,
-       0,     4,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,    67,    67,    71,    73,    76,    80,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,   100,   105,   110,   115,   119,   124,   129,   136,
-     141,   147,   151,   158,   161,   164,   167,   171,   178,   182,
-     184,   188
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "NEWLINE", "VERBOSE", "FILENAME", "ADDLIB", 
-  "LIST", "ADDMOD", "CLEAR", "CREATE", "DELETE", "DIRECTORY", "END", 
-  "EXTRACT", "FULLDIR", "HELP", "QUIT", "REPLACE", "SAVE", "OPEN", "'('", 
-  "')'", "','", "start", "@1", "session", "command_line", "command", 
-  "extract_command", "replace_command", "clear_command", "delete_command", 
-  "addmod_command", "list_command", "save_command", "open_command", 
-  "create_command", "addlib_command", "directory_command", 
-  "optional_filename", "modulelist", "modulename", "optcomma", 
-  "verbose_command", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    25,    24,    26,    26,    27,    28,    28,    28,    28,
-      28,    28,    28,    28,    28,    28,    28,    28,    28,    28,
-      28,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    40,    41,    41,    42,    42,    43,
-      43,    44
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     0,     2,     2,     0,     2,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     2,     2,     1,     2,     2,     1,     1,     2,
-       2,     3,     4,     1,     0,     3,     0,     3,     0,     1,
-       0,     1
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       1,     4,     0,    19,    41,    20,     0,    27,    38,    24,
-       0,    38,     0,    18,    38,    38,    28,     0,     3,     0,
-      14,    15,    11,    16,    12,    17,    13,     6,     7,    10,
-       9,     8,    36,    26,    30,    25,    36,    22,    23,    29,
-       5,    38,    31,    39,     0,    34,    40,    37,    33,    32,
-      35,     0,     0,     0
-};
-
-static const short yydefgoto[] =
-{
-      51,     1,     2,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    49,    42,    33,    44,
-      31
-};
-
-static const short yypact[] =
-{
-  -32768,-32768,     5,-32768,-32768,-32768,    -4,-32768,-32768,-32768,
-       2,-32768,    21,-32768,-32768,-32768,-32768,    22,-32768,    25,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,     8,    -3,-32768,    -3,     8,    -3,    -3,-32768,
-  -32768,-32768,-32768,-32768,    26,    27,    -1,-32768,-32768,-32768,
-  -32768,    33,    34,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,     0,   -11,-32768,
-  -32768
-};
-
-
-#define        YYLAST          36
-
-
-static const short yytable[] =
-{
-      35,    32,   -40,    37,    38,    -2,     3,    34,   -21,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      43,    50,    43,    15,    16,    17,    36,    39,    40,    41,
-      46,    47,    48,    52,    53,     0,    45
-};
-
-static const short yycheck[] =
-{
-      11,     5,     5,    14,    15,     0,     1,     5,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      23,    22,    23,    18,    19,    20,     5,     5,     3,    21,
-      41,     5,     5,     0,     0,    -1,    36
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 1:
-#line 68 "arparse.y"
-{ prompt(); }
-    break;
-case 5:
-#line 77 "arparse.y"
-{ prompt(); }
-    break;
-case 18:
-#line 93 "arparse.y"
-{ ar_end(); return 0; }
-    break;
-case 20:
-#line 95 "arparse.y"
-{ yyerror("foo"); }
-    break;
-case 22:
-#line 102 "arparse.y"
-{ ar_extract(yyvsp[0].list); }
-    break;
-case 23:
-#line 107 "arparse.y"
-{ ar_replace(yyvsp[0].list); }
-    break;
-case 24:
-#line 112 "arparse.y"
-{ ar_clear(); }
-    break;
-case 25:
-#line 117 "arparse.y"
-{ ar_delete(yyvsp[0].list); }
-    break;
-case 26:
-#line 121 "arparse.y"
-{ ar_addmod(yyvsp[0].list); }
-    break;
-case 27:
-#line 126 "arparse.y"
-{ ar_list(); }
-    break;
-case 28:
-#line 131 "arparse.y"
-{ ar_save(); }
-    break;
-case 29:
-#line 138 "arparse.y"
-{ ar_open(yyvsp[0].name,0); }
-    break;
-case 30:
-#line 143 "arparse.y"
-{ ar_open(yyvsp[0].name,1); }
-    break;
-case 31:
-#line 149 "arparse.y"
-{ ar_addlib(yyvsp[-1].name,yyvsp[0].list); }
-    break;
-case 32:
-#line 153 "arparse.y"
-{ ar_directory(yyvsp[-2].name, yyvsp[-1].list, yyvsp[0].name); }
-    break;
-case 33:
-#line 160 "arparse.y"
-{ yyval.name = yyvsp[0].name; }
-    break;
-case 34:
-#line 161 "arparse.y"
-{ yyval.name = 0; }
-    break;
-case 35:
-#line 166 "arparse.y"
-{ yyval.list = yyvsp[-1].list; }
-    break;
-case 36:
-#line 168 "arparse.y"
-{ yyval.list = 0; }
-    break;
-case 37:
-#line 173 "arparse.y"
-{      struct list *n  = (struct list *) malloc(sizeof(struct list));
-                       n->next = yyvsp[-2].list; 
-                       n->name = yyvsp[0].name;
-                       yyval.list = n;
-                }
-    break;
-case 38:
-#line 178 "arparse.y"
-{ yyval.list = 0; }
-    break;
-case 41:
-#line 190 "arparse.y"
-{ verbose = !verbose; }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 194 "arparse.y"
-
-
-static int
-yyerror (const char *x ATTRIBUTE_UNUSED)
-{
-  extern int linenumber;
-
-  printf (_("Syntax error in archive script, line %d\n"), linenumber + 1);
-  return 0;
-}
diff --git a/binutils/arparse.h b/binutils/arparse.h
deleted file mode 100644 (file)
index 0b9c3fd..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union {
-  char *name;
-struct list *list ;
-
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       NEWLINE 257
-# define       VERBOSE 258
-# define       FILENAME        259
-# define       ADDLIB  260
-# define       LIST    261
-# define       ADDMOD  262
-# define       CLEAR   263
-# define       CREATE  264
-# define       DELETE  265
-# define       DIRECTORY       266
-# define       END     267
-# define       EXTRACT 268
-# define       FULLDIR 269
-# define       HELP    270
-# define       QUIT    271
-# define       REPLACE 272
-# define       SAVE    273
-# define       OPEN    274
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/binutils/deflex.c b/binutils/deflex.c
deleted file mode 100644 (file)
index c1ab5eb..0000000
+++ /dev/null
@@ -1,1876 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-#include <errno.h>
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- *     if ( condition_holds )
- *             yyless( 5 );
- *     else
- *             do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               *yy_cp = yy_hold_char; \
-               YY_RESTORE_YY_MORE_OFFSET \
-               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
-
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
-       {
-       FILE *yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
-
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
-
-       int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
-#define YY_BUFFER_EOF_PENDING 2
-       };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;                /* whether we need to initialize */
-static int yy_start = 0;       /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_is_interactive = is_interactive; \
-       }
-
-#define yy_set_bol(at_bol) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_at_bol = at_bol; \
-       }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-       yytext_ptr = yy_bp; \
-       yyleng = (int) (yy_cp - yy_bp); \
-       yy_hold_char = *yy_cp; \
-       *yy_cp = '\0'; \
-       yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 40
-#define YY_END_OF_BUFFER 41
-static yyconst short int yy_accept[197] =
-    {   0,
-        0,    0,   41,   40,   34,   35,   33,   40,   28,   40,
-       31,   39,   37,   27,   32,   36,   38,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,    0,   29,   28,    0,   30,   31,   27,   32,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   12,    6,   28,    7,   28,
-       28,   28,   28,   28,   28,   28,   28,    1,   28,   28,
-
-       28,   16,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   17,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       14,   28,   28,   28,   19,   21,   28,   28,   28,   28,
-       28,   28,   18,    9,   28,   10,   28,   28,    2,   28,
-       28,   15,   28,   28,   28,   28,   11,   13,   28,    5,
-       28,   28,   22,   28,    8,   28,   28,   28,   28,   28,
-       28,   20,    4,   28,   28,   28,   24,   28,   26,   28,
-        3,   28,   28,   23,   25,    0
-
-    } ;
-
-static yyconst int yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    1,    5,    1,    6,    1,    1,    7,    1,
-        1,    8,    1,    9,    6,   10,   11,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,    6,   13,    1,
-       14,    1,    6,   15,   16,   17,   18,   19,   20,   21,
-       22,   23,   24,    6,   25,   26,   27,   28,   29,   30,
-        6,   31,   32,   33,   34,   35,   36,   37,   38,   39,
-        1,    1,    1,    1,    6,    1,   21,   21,   21,   21,
-
-       21,   21,    6,    6,    6,    6,    6,    6,    6,    6,
-        6,    6,    6,    6,    6,    6,    6,    6,    6,   21,
-        6,    6,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst int yy_meta[40] =
-    {   0,
-        1,    1,    2,    1,    1,    3,    1,    1,    1,    1,
-        4,    5,    1,    1,    4,    6,    6,    6,    6,    6,
-        6,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3
-    } ;
-
-static yyconst short int yy_base[204] =
-    {   0,
-        0,    0,  228,  229,  229,  229,  229,  222,    0,  219,
-        0,  229,  229,    0,    0,  229,    0,  209,  195,   24,
-      186,  202,   14,  197,  186,   27,  188,  198,   25,  197,
-      196,  184,  209,  229,    0,  206,  229,    0,    0,    0,
-        0,  180,   27,  178,  178,   27,  193,  178,  183,  189,
-      179,  177,  175,  178,  185,  182,  183,  170,  181,  165,
-      164,  170,  173,  172,  159,  174,  171,  170,  158,  156,
-      156,  151,  152,  149,  161,   34,  145,  160,  145,  146,
-      154,  157,  147,  141,  139,    0,    0,  138,    0,  139,
-      135,  137,  135,  135,   29,  149,  140,    0,  136,  139,
-
-      145,    0,  136,  139,  132,  132,   30,  132,  135,  138,
-      129,  119,  118,  126,  116,  122,  119,  115,  115,  124,
-      127,  109,  112,  121,  119,  106,  111,  108,  106,    0,
-      106,  103,  112,   99,   91,   97,   99,   95,   88,   99,
-        0,   93,  103,   94,    0,    0,   97,   91,   87,   90,
-       84,   83,    0,    0,   95,    0,   97,   80,    0,   92,
-       91,    0,   78,   70,   91,   74,    0,    0,   82,    0,
-       89,   88,    0,   84,    0,   82,   85,   83,   69,   66,
-       56,    0,    0,   39,   36,   35,    0,   44,    0,   43,
-        0,   40,   39,    0,    0,  229,   66,   70,   76,   82,
-
-       84,   90,   94
-    } ;
-
-static yyconst short int yy_def[204] =
-    {   0,
-      196,    1,  196,  196,  196,  196,  196,  197,  198,  199,
-      200,  196,  196,  201,  202,  196,  203,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  197,  196,  198,  199,  196,  200,  201,  202,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  198,  198,  198,    0,  196,  196,  196,  196,
-
-      196,  196,  196
-    } ;
-
-static yyconst short int yy_nxt[269] =
-    {   0,
-        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-        4,   14,   15,   16,   17,    9,   18,   19,   20,   21,
-        9,    9,   22,   23,    9,   24,   25,   26,    9,   27,
-       28,   29,   30,    9,   31,   32,    9,    9,    9,   44,
-       48,   49,   52,   45,   56,   64,   68,   57,   58,   99,
-      116,  127,  117,  128,   65,   53,   69,   59,  195,  194,
-      193,  192,  191,  190,  189,  100,   33,   33,   33,   33,
-       33,   33,   35,   35,   35,   35,   36,   36,   36,   36,
-       36,   36,   38,  188,   38,   38,   38,   38,   39,   39,
-       40,  187,   40,   40,   40,   40,   41,  186,  185,   41,
-
-      184,  183,  182,  181,  180,  179,  178,  177,  176,  175,
-      174,  173,  172,  171,  170,  169,  168,  167,  166,  165,
-      164,  163,  162,  161,  160,  159,  158,  157,  156,  155,
-      154,  153,  152,  151,  150,  149,  148,  147,  146,  145,
-      144,  143,  142,  141,  140,  139,  138,  137,  136,  135,
-      134,  133,  132,  131,  130,  129,  126,  125,  124,  123,
-      122,  121,  120,  119,  118,  115,  114,  113,  112,  111,
-      110,  109,  108,  107,  106,  105,  104,  103,  102,  101,
-       98,   97,   96,   95,   94,   93,   92,   91,   90,   89,
-       88,   87,   86,   85,   84,   83,   82,   81,   80,   79,
-
-       78,   77,   76,   75,   74,   73,   72,   71,   70,   67,
-       66,   63,   37,   34,   62,   61,   60,   55,   54,   51,
-       50,   47,   46,   43,   42,   37,   34,  196,    3,  196,
-      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196
-    } ;
-
-static yyconst short int yy_chk[269] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,   20,
-       23,   23,   26,   20,   29,   43,   46,   29,   29,   76,
-       95,  107,   95,  107,   43,   26,   46,   29,  193,  192,
-      190,  188,  186,  185,  184,   76,  197,  197,  197,  197,
-      197,  197,  198,  198,  198,  198,  199,  199,  199,  199,
-      199,  199,  200,  181,  200,  200,  200,  200,  201,  201,
-      202,  180,  202,  202,  202,  202,  203,  179,  178,  203,
-
-      177,  176,  174,  172,  171,  169,  166,  165,  164,  163,
-      161,  160,  158,  157,  155,  152,  151,  150,  149,  148,
-      147,  144,  143,  142,  140,  139,  138,  137,  136,  135,
-      134,  133,  132,  131,  129,  128,  127,  126,  125,  124,
-      123,  122,  121,  120,  119,  118,  117,  116,  115,  114,
-      113,  112,  111,  110,  109,  108,  106,  105,  104,  103,
-      101,  100,   99,   97,   96,   94,   93,   92,   91,   90,
-       88,   85,   84,   83,   82,   81,   80,   79,   78,   77,
-       75,   74,   73,   72,   71,   70,   69,   68,   67,   66,
-       65,   64,   63,   62,   61,   60,   59,   58,   57,   56,
-
-       55,   54,   53,   52,   51,   50,   49,   48,   47,   45,
-       44,   42,   36,   33,   32,   31,   30,   28,   27,   25,
-       24,   22,   21,   19,   18,   10,    8,    3,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
-      196,  196,  196,  196,  196,  196,  196,  196
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "deflex.l"
-#define INITIAL 0
-#line 2 "deflex.l"
-
-/*  Copyright 1995, 1997, 1998, 1999, 2002, 2003, 2004, 2005
-    Free Software Foundation, Inc.
-
-    This file is part of GNU Binutils.
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-
-/* Contributed by Steve Chamberlain: sac@cygnus.com  */
-
-#define DONTDECLARE_MALLOC
-#include "libiberty.h"
-#include "defparse.h"
-#include "dlltool.h"
-
-#define YY_NO_UNPUT
-
-int linenumber;
-
-#line 523 "lex.yy.c"
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) \
-               { \
-               int c = '*', n; \
-               for ( n = 0; n < max_size && \
-                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-                       buf[n] = (char) c; \
-               if ( c == '\n' ) \
-                       buf[n++] = (char) c; \
-               if ( c == EOF && ferror( yyin ) ) \
-                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               result = n; \
-               } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(yyin); \
-                       } \
-               }
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-       YY_USER_ACTION
-
-YY_DECL
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-
-#line 35 "deflex.l"
-
-#line 687 "lex.yy.c"
-
-       if ( yy_init )
-               {
-               yy_init = 0;
-
-#ifdef YY_USER_INIT
-               YY_USER_INIT;
-#endif
-
-               if ( ! yy_start )
-                       yy_start = 1;   /* first start state */
-
-               if ( ! yyin )
-                       yyin = stdin;
-
-               if ( ! yyout )
-                       yyout = stdout;
-
-               if ( ! yy_current_buffer )
-                       yy_current_buffer =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-
-               yy_load_buffer_state();
-               }
-
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = yy_c_buf_p;
-
-               /* Support of yytext. */
-               *yy_cp = yy_hold_char;
-
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
-
-               yy_current_state = yy_start;
-yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               yy_last_accepting_state = yy_current_state;
-                               yy_last_accepting_cpos = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 197 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 229 );
-
-yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-
-do_action:     /* This label is used only to access EOF actions. */
-
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = yy_hold_char;
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 36 "deflex.l"
-{ return NAME;}
-       YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 37 "deflex.l"
-{ return LIBRARY;}
-       YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 38 "deflex.l"
-{ return DESCRIPTION;}
-       YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 39 "deflex.l"
-{ return STACKSIZE;}
-       YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 40 "deflex.l"
-{ return HEAPSIZE;}
-       YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 41 "deflex.l"
-{ return CODE;}
-       YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 42 "deflex.l"
-{ return DATA;}
-       YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 43 "deflex.l"
-{ return SECTIONS;}
-       YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 44 "deflex.l"
-{ return EXPORTS;}
-       YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 45 "deflex.l"
-{ return IMPORTS;}
-       YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 46 "deflex.l"
-{ return VERSIONK;}
-       YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 47 "deflex.l"
-{ return BASE;}
-       YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 48 "deflex.l"
-{ return CONSTANT; }
-       YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 49 "deflex.l"
-{ return NONAME; }
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 50 "deflex.l"
-{ return PRIVATE; }
-       YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 51 "deflex.l"
-{ return READ;}
-       YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 52 "deflex.l"
-{ return WRITE;}
-       YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 53 "deflex.l"
-{ return EXECUTE;}
-       YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 54 "deflex.l"
-{ return SHARED;}
-       YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 55 "deflex.l"
-{ return NONSHARED;}
-       YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 56 "deflex.l"
-{ return SINGLE;}
-       YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 57 "deflex.l"
-{ return MULTIPLE;}
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 58 "deflex.l"
-{ return INITINSTANCE;}
-       YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 59 "deflex.l"
-{ return INITGLOBAL;}
-       YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 60 "deflex.l"
-{ return TERMINSTANCE;}
-       YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 61 "deflex.l"
-{ return TERMGLOBAL;}
-       YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 63 "deflex.l"
-{ yylval.number = strtol (yytext,0,0); 
-               return NUMBER; }
-       YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 66 "deflex.l"
-{      
-               yylval.id =  xstrdup (yytext);
-               return ID;
-               }
-       YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 71 "deflex.l"
-{
-               yylval.id = xstrdup (yytext+1);
-               yylval.id[yyleng-2] = 0;
-               return ID;
-               }
-       YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 77 "deflex.l"
-{
-               yylval.id = xstrdup (yytext+1);
-               yylval.id[yyleng-2] = 0;
-               return ID;
-               }
-       YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 82 "deflex.l"
-{ }
-       YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 83 "deflex.l"
-{ }
-       YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 84 "deflex.l"
-{ }
-       YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 85 "deflex.l"
-{ }
-       YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 86 "deflex.l"
-{ linenumber ++ ;}
-       YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 87 "deflex.l"
-{ return '=';}
-       YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 88 "deflex.l"
-{ return '.';}
-       YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 89 "deflex.l"
-{ return '@';}
-       YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 90 "deflex.l"
-{ return ',';}
-       YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 91 "deflex.l"
-ECHO;
-       YY_BREAK
-#line 982 "lex.yy.c"
-case YY_STATE_EOF(INITIAL):
-       yyterminate();
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = yy_hold_char;
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between yy_current_buffer and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       yy_n_chars = yy_current_buffer->yy_n_chars;
-                       yy_current_buffer->yy_input_file = yyin;
-                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state();
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++yy_c_buf_p;
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = yy_c_buf_p;
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer() )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               yy_did_buffer_switch_on_eof = 0;
-
-                               if ( yywrap() )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               yy_c_buf_p =
-                                       yytext_ptr + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               yy_c_buf_p =
-                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
-       } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-       {
-       register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr;
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( yy_current_buffer->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-       else
-               {
-               int num_to_read =
-                       yy_current_buffer->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-                       YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = yy_current_buffer;
-
-                       int yy_c_buf_p_offset =
-                               (int) (yy_c_buf_p - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                        b->yy_buf_size + 2 );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = yy_current_buffer->yy_buf_size -
-                                               number_to_move - 1;
-#endif
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-                       yy_n_chars, num_to_read );
-
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       if ( yy_n_chars == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       yy_current_buffer->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       yy_n_chars += number_to_move;
-       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
-       return ret_val;
-       }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-
-       yy_current_state = yy_start;
-
-       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       yy_last_accepting_state = yy_current_state;
-                       yy_last_accepting_cpos = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 197 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
-       }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-       {
-       register int yy_is_jam;
-       register char *yy_cp = yy_c_buf_p;
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               yy_last_accepting_state = yy_current_state;
-               yy_last_accepting_cpos = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 197 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 196);
-
-       return yy_is_jam ? 0 : yy_current_state;
-       }
-
-
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-       {
-       register char *yy_cp = yy_c_buf_p;
-
-       /* undo effects of setting up yytext */
-       *yy_cp = yy_hold_char;
-
-       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = yy_n_chars + 2;
-               register char *dest = &yy_current_buffer->yy_ch_buf[
-                                       yy_current_buffer->yy_buf_size + 2];
-               register char *source =
-                               &yy_current_buffer->yy_ch_buf[number_to_move];
-
-               while ( source > yy_current_buffer->yy_ch_buf )
-                       *--dest = *--source;
-
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               yy_current_buffer->yy_n_chars =
-                       yy_n_chars = yy_current_buffer->yy_buf_size;
-
-               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
-
-       *--yy_cp = (char) c;
-
-
-       yytext_ptr = yy_bp;
-       yy_hold_char = *yy_cp;
-       yy_c_buf_p = yy_cp;
-       }
-#endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-       {
-       int c;
-
-       *yy_c_buf_p = yy_hold_char;
-
-       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       /* This was really a NUL. */
-                       *yy_c_buf_p = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = yy_c_buf_p - yytext_ptr;
-                       ++yy_c_buf_p;
-
-                       switch ( yy_get_next_buffer() )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /* fall through */
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap() )
-                                               return EOF;
-
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
-                                       return input();
-#endif
-                                       }
-
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       yy_c_buf_p = yytext_ptr + offset;
-                                       break;
-                               }
-                       }
-               }
-
-       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
-       *yy_c_buf_p = '\0';     /* preserve yytext */
-       yy_hold_char = *++yy_c_buf_p;
-
-
-       return c;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-       {
-       if ( ! yy_current_buffer )
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-       yy_init_buffer( yy_current_buffer, input_file );
-       yy_load_buffer_state();
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-       {
-       if ( yy_current_buffer == new_buffer )
-               return;
-
-       if ( yy_current_buffer )
-               {
-               /* Flush out information for old buffer. */
-               *yy_c_buf_p = yy_hold_char;
-               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       yy_current_buffer = new_buffer;
-       yy_load_buffer_state();
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       yy_did_buffer_switch_on_eof = 1;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-       {
-       yy_n_chars = yy_current_buffer->yy_n_chars;
-       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-       yyin = yy_current_buffer->yy_input_file;
-       yy_hold_char = *yy_c_buf_p;
-       }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_buf_size = size;
-
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_is_our_buffer = 1;
-
-       yy_init_buffer( b, file );
-
-       return b;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-       {
-       if ( ! b )
-               return;
-
-       if ( b == yy_current_buffer )
-               yy_current_buffer = (YY_BUFFER_STATE) 0;
-
-       if ( b->yy_is_our_buffer )
-               yy_flex_free( (void *) b->yy_ch_buf );
-
-       yy_flex_free( (void *) b );
-       }
-
-
-#ifndef _WIN32
-#include <unistd.h>
-#else
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
-       {
-       yy_flush_buffer( b );
-
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
-       b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-       b->yy_is_interactive = 0;
-#else
-       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
-       {
-       if ( ! b )
-               return;
-
-       b->yy_n_chars = 0;
-
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-       b->yy_buf_pos = &b->yy_ch_buf[0];
-
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       if ( b == yy_current_buffer )
-               yy_load_buffer_state();
-       }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       if ( size < 2 ||
-            base[size-2] != YY_END_OF_BUFFER_CHAR ||
-            base[size-1] != YY_END_OF_BUFFER_CHAR )
-               /* They forgot to leave room for the EOB's. */
-               return 0;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
-       b->yy_buf_pos = b->yy_ch_buf = base;
-       b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
-       b->yy_n_chars = b->yy_buf_size;
-       b->yy_is_interactive = 0;
-       b->yy_at_bol = 1;
-       b->yy_fill_buffer = 0;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       yy_switch_to_buffer( b );
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-       {
-       int len;
-       for ( len = 0; yy_str[len]; ++len )
-               ;
-
-       return yy_scan_bytes( yy_str, len );
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-       {
-       YY_BUFFER_STATE b;
-       char *buf;
-       yy_size_t n;
-       int i;
-
-       /* Get memory for full buffer, including space for trailing EOB's. */
-       n = len + 2;
-       buf = (char *) yy_flex_alloc( n );
-       if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-       for ( i = 0; i < len; ++i )
-               buf[i] = bytes[i];
-
-       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-       b = yy_scan_buffer( buf, n );
-       if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-       /* It's okay to grow etc. this buffer, and we should throw it
-        * away when we're done.
-        */
-       b->yy_is_our_buffer = 1;
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
-       {
-       if ( yy_start_stack_ptr >= yy_start_stack_depth )
-               {
-               yy_size_t new_size;
-
-               yy_start_stack_depth += YY_START_STACK_INCR;
-               new_size = yy_start_stack_depth * sizeof( int );
-
-               if ( ! yy_start_stack )
-                       yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-               else
-                       yy_start_stack = (int *) yy_flex_realloc(
-                                       (void *) yy_start_stack, new_size );
-
-               if ( ! yy_start_stack )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
-
-       yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
-       BEGIN(new_state);
-       }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-       {
-       if ( --yy_start_stack_ptr < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
-
-       BEGIN(yy_start_stack[yy_start_stack_ptr]);
-       }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-       {
-       return yy_start_stack[yy_start_stack_ptr - 1];
-       }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-       {
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-       }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               yytext[yyleng] = yy_hold_char; \
-               yy_c_buf_p = yytext + n; \
-               yy_hold_char = *yy_c_buf_p; \
-               *yy_c_buf_p = '\0'; \
-               yyleng = n; \
-               } \
-       while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-       {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
-       }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-       {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
-
-       return n;
-       }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-       {
-       return (void *) malloc( size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-       {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-       {
-       free( ptr );
-       }
-
-#if YY_MAIN
-int main()
-       {
-       yylex();
-       return 0;
-       }
-#endif
-#line 91 "deflex.l"
-
-#ifndef yywrap
-/* Needed for lex, though not flex. */
-int yywrap(void) { return 1; }
-#endif
diff --git a/binutils/defparse.c b/binutils/defparse.c
deleted file mode 100644 (file)
index 7c59a81..0000000
+++ /dev/null
@@ -1,1424 +0,0 @@
-/* A Bison parser, made from defparse.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       NAME    257
-# define       LIBRARY 258
-# define       DESCRIPTION     259
-# define       STACKSIZE       260
-# define       HEAPSIZE        261
-# define       CODE    262
-# define       DATA    263
-# define       SECTIONS        264
-# define       EXPORTS 265
-# define       IMPORTS 266
-# define       VERSIONK        267
-# define       BASE    268
-# define       CONSTANT        269
-# define       READ    270
-# define       WRITE   271
-# define       EXECUTE 272
-# define       SHARED  273
-# define       NONSHARED       274
-# define       NONAME  275
-# define       PRIVATE 276
-# define       SINGLE  277
-# define       MULTIPLE        278
-# define       INITINSTANCE    279
-# define       INITGLOBAL      280
-# define       TERMINSTANCE    281
-# define       TERMGLOBAL      282
-# define       ID      283
-# define       NUMBER  284
-
-#line 1 "defparse.y"
- /* defparse.y - parser for .def files */
-
-/*  Copyright 1995, 1997, 1998, 1999, 2001, 2004
-    Free Software Foundation, Inc.
-
-    This file is part of GNU Binutils.
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#include "bfd.h"
-#include "bucomm.h"
-#include "dlltool.h"
-
-#line 27 "defparse.y"
-#ifndef YYSTYPE
-typedef union {
-  char *id;
-  int number;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         98
-#define        YYFLAG          -32768
-#define        YYNTBASE        35
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 284 ? yytranslate[x] : 57)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    33,     2,    31,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    32,     2,     2,    34,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     3,     5,     9,    14,    17,    20,    24,    28,
-      31,    34,    37,    40,    43,    48,    49,    52,    60,    63,
-      65,    73,    81,    87,    93,    99,   105,   109,   113,   116,
-     118,   121,   125,   127,   129,   130,   133,   134,   136,   138,
-     140,   142,   144,   146,   148,   150,   151,   153,   154,   156,
-     157,   159,   160,   162,   166,   167,   170,   171,   174,   179,
-     180,   184,   185,   186,   190,   192,   194,   196
-};
-static const short yyrhs[] =
-{
-      35,    36,     0,    36,     0,     3,    51,    54,     0,     4,
-      51,    54,    55,     0,    11,    37,     0,     5,    29,     0,
-       6,    30,    45,     0,     7,    30,    45,     0,     8,    43,
-       0,     9,    43,     0,    10,    41,     0,    12,    39,     0,
-      13,    30,     0,    13,    30,    31,    30,     0,     0,    37,
-      38,     0,    29,    53,    52,    48,    47,    49,    50,     0,
-      39,    40,     0,    40,     0,    29,    32,    29,    31,    29,
-      31,    29,     0,    29,    32,    29,    31,    29,    31,    30,
-       0,    29,    32,    29,    31,    29,     0,    29,    32,    29,
-      31,    30,     0,    29,    31,    29,    31,    29,     0,    29,
-      31,    29,    31,    30,     0,    29,    31,    29,     0,    29,
-      31,    30,     0,    41,    42,     0,    42,     0,    29,    43,
-       0,    43,    44,    46,     0,    46,     0,    33,     0,     0,
-      33,    30,     0,     0,    16,     0,    17,     0,    18,     0,
-      19,     0,    20,     0,    23,     0,    24,     0,    15,     0,
-       0,    21,     0,     0,     9,     0,     0,    22,     0,     0,
-      29,     0,    29,    31,    29,     0,     0,    34,    30,     0,
-       0,    32,    29,     0,    32,    29,    31,    29,     0,     0,
-      14,    32,    30,     0,     0,     0,    55,    44,    56,     0,
-      25,     0,    26,     0,    27,     0,    28,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,    44,    45,    48,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    64,    66,    69,    73,    75,
-      78,    80,    81,    82,    83,    84,    85,    86,    89,    91,
-      94,    98,   100,   103,   105,   107,   108,   111,   113,   114,
-     115,   116,   117,   118,   121,   123,   126,   128,   131,   133,
-     136,   138,   141,   142,   148,   151,   153,   156,   158,   164,
-     167,   168,   171,   173,   176,   178,   179,   180
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "NAME", "LIBRARY", "DESCRIPTION", 
-  "STACKSIZE", "HEAPSIZE", "CODE", "DATA", "SECTIONS", "EXPORTS", 
-  "IMPORTS", "VERSIONK", "BASE", "CONSTANT", "READ", "WRITE", "EXECUTE", 
-  "SHARED", "NONSHARED", "NONAME", "PRIVATE", "SINGLE", "MULTIPLE", 
-  "INITINSTANCE", "INITGLOBAL", "TERMINSTANCE", "TERMGLOBAL", "ID", 
-  "NUMBER", "'.'", "'='", "','", "'@'", "start", "command", "explist", 
-  "expline", "implist", "impline", "seclist", "secline", "attr_list", 
-  "opt_comma", "opt_number", "attr", "opt_CONSTANT", "opt_NONAME", 
-  "opt_DATA", "opt_PRIVATE", "opt_name", "opt_ordinal", "opt_equal_name", 
-  "opt_base", "option_list", "option", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    35,    35,    36,    36,    36,    36,    36,    36,    36,
-      36,    36,    36,    36,    36,    37,    37,    38,    39,    39,
-      40,    40,    40,    40,    40,    40,    40,    40,    41,    41,
-      42,    43,    43,    44,    44,    45,    45,    46,    46,    46,
-      46,    46,    46,    46,    47,    47,    48,    48,    49,    49,
-      50,    50,    51,    51,    51,    52,    52,    53,    53,    53,
-      54,    54,    55,    55,    56,    56,    56,    56
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     2,     1,     3,     4,     2,     2,     3,     3,     2,
-       2,     2,     2,     2,     4,     0,     2,     7,     2,     1,
-       7,     7,     5,     5,     5,     5,     3,     3,     2,     1,
-       2,     3,     1,     1,     0,     2,     0,     1,     1,     1,
-       1,     1,     1,     1,     1,     0,     1,     0,     1,     0,
-       1,     0,     1,     3,     0,     2,     0,     2,     4,     0,
-       3,     0,     0,     3,     1,     1,     1,     1
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       0,    54,    54,     0,     0,     0,     0,     0,     0,    15,
-       0,     0,     0,     2,    52,    61,    61,     6,    36,    36,
-      37,    38,    39,    40,    41,    42,    43,     9,    32,    10,
-       0,    11,    29,     5,     0,    12,    19,    13,     1,     0,
-       0,     3,    62,     0,     7,     8,    33,     0,    30,    28,
-      59,    16,     0,     0,    18,     0,    53,     0,     4,    35,
-      31,     0,    56,    26,    27,     0,    14,    60,     0,    57,
-       0,    47,     0,     0,    64,    65,    66,    67,    63,     0,
-      55,    46,    45,    24,    25,    22,    23,    58,    44,    49,
-       0,    48,    51,    20,    21,    50,    17,     0,     0
-};
-
-static const short yydefgoto[] =
-{
-      12,    13,    33,    51,    35,    36,    31,    32,    27,    47,
-      44,    28,    89,    82,    92,    96,    15,    71,    62,    41,
-      58,    78
-};
-
-static const short yypact[] =
-{
-      32,   -12,   -12,    17,    -8,    33,    -4,    -4,    35,-32768,
-      36,    37,    21,-32768,    38,    48,    48,-32768,    39,    39,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,   -15,-32768,   -15,
-      -4,    35,-32768,    41,   -25,    36,-32768,    40,-32768,    44,
-      34,-32768,-32768,    45,-32768,-32768,-32768,    -4,   -15,-32768,
-      42,-32768,   -19,    47,-32768,    49,-32768,    50,    22,-32768,
-  -32768,    52,    43,    51,-32768,    53,-32768,-32768,    26,    54,
-      56,    57,    27,    29,-32768,-32768,-32768,-32768,-32768,    58,
-  -32768,-32768,    68,-32768,-32768,    59,-32768,-32768,-32768,    79,
-      31,-32768,    46,-32768,-32768,-32768,-32768,    89,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,    80,-32768,-32768,-32768,    60,-32768,    62,    -7,    55,
-      72,    61,-32768,-32768,-32768,-32768,    92,-32768,-32768,    81,
-  -32768,-32768
-};
-
-
-#define        YYLAST          113
-
-
-static const short yytable[] =
-{
-      29,   -34,   -34,   -34,   -34,   -34,    52,    53,   -34,   -34,
-      63,    64,    20,    21,    22,    23,    24,    14,    46,    25,
-      26,    97,    18,    48,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,     1,     2,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    17,   -34,   -34,   -34,
-     -34,    74,    75,    76,    77,    46,    83,    84,    85,    86,
-      93,    94,    40,    19,    30,    34,    57,    37,    95,    39,
-      50,    55,    43,    56,    61,    59,    65,    70,    81,    66,
-      67,    69,    72,    88,    73,    79,    80,    87,    91,    98,
-      90,    45,    38,    49,    16,    54,     0,    42,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    60,     0,
-       0,     0,     0,    68
-};
-
-static const short yycheck[] =
-{
-       7,    16,    17,    18,    19,    20,    31,    32,    23,    24,
-      29,    30,    16,    17,    18,    19,    20,    29,    33,    23,
-      24,     0,    30,    30,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    29,    25,    26,    27,
-      28,    25,    26,    27,    28,    33,    29,    30,    29,    30,
-      29,    30,    14,    30,    29,    29,    32,    30,    22,    31,
-      29,    31,    33,    29,    32,    30,    29,    34,    21,    30,
-      30,    29,    31,    15,    31,    31,    30,    29,     9,     0,
-      31,    19,    12,    31,     2,    35,    -1,    16,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,    -1,
-      -1,    -1,    -1,    58
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 3:
-#line 49 "defparse.y"
-{ def_name (yyvsp[-1].id, yyvsp[0].number); }
-    break;
-case 4:
-#line 50 "defparse.y"
-{ def_library (yyvsp[-2].id, yyvsp[-1].number); }
-    break;
-case 6:
-#line 52 "defparse.y"
-{ def_description (yyvsp[0].id);}
-    break;
-case 7:
-#line 53 "defparse.y"
-{ def_stacksize (yyvsp[-1].number, yyvsp[0].number);}
-    break;
-case 8:
-#line 54 "defparse.y"
-{ def_heapsize (yyvsp[-1].number, yyvsp[0].number);}
-    break;
-case 9:
-#line 55 "defparse.y"
-{ def_code (yyvsp[0].number);}
-    break;
-case 10:
-#line 56 "defparse.y"
-{ def_data (yyvsp[0].number);}
-    break;
-case 13:
-#line 59 "defparse.y"
-{ def_version (yyvsp[0].number,0);}
-    break;
-case 14:
-#line 60 "defparse.y"
-{ def_version (yyvsp[-2].number,yyvsp[0].number);}
-    break;
-case 17:
-#line 71 "defparse.y"
-{ def_exports (yyvsp[-6].id, yyvsp[-5].id, yyvsp[-4].number, yyvsp[-3].number, yyvsp[-2].number, yyvsp[-1].number, yyvsp[0].number);}
-    break;
-case 20:
-#line 79 "defparse.y"
-{ def_import (yyvsp[-6].id,yyvsp[-4].id,yyvsp[-2].id,yyvsp[0].id, 0); }
-    break;
-case 21:
-#line 80 "defparse.y"
-{ def_import (yyvsp[-6].id,yyvsp[-4].id,yyvsp[-2].id, 0,yyvsp[0].number); }
-    break;
-case 22:
-#line 81 "defparse.y"
-{ def_import (yyvsp[-4].id,yyvsp[-2].id, 0,yyvsp[0].id, 0); }
-    break;
-case 23:
-#line 82 "defparse.y"
-{ def_import (yyvsp[-4].id,yyvsp[-2].id, 0, 0,yyvsp[0].number); }
-    break;
-case 24:
-#line 83 "defparse.y"
-{ def_import ( 0,yyvsp[-4].id,yyvsp[-2].id,yyvsp[0].id, 0); }
-    break;
-case 25:
-#line 84 "defparse.y"
-{ def_import ( 0,yyvsp[-4].id,yyvsp[-2].id, 0,yyvsp[0].number); }
-    break;
-case 26:
-#line 85 "defparse.y"
-{ def_import ( 0,yyvsp[-2].id, 0,yyvsp[0].id, 0); }
-    break;
-case 27:
-#line 86 "defparse.y"
-{ def_import ( 0,yyvsp[-2].id, 0, 0,yyvsp[0].number); }
-    break;
-case 30:
-#line 95 "defparse.y"
-{ def_section (yyvsp[-1].id,yyvsp[0].number);}
-    break;
-case 35:
-#line 107 "defparse.y"
-{ yyval.number=yyvsp[0].number;}
-    break;
-case 36:
-#line 108 "defparse.y"
-{ yyval.number=-1;}
-    break;
-case 37:
-#line 112 "defparse.y"
-{ yyval.number = 1; }
-    break;
-case 38:
-#line 113 "defparse.y"
-{ yyval.number = 2; }
-    break;
-case 39:
-#line 114 "defparse.y"
-{ yyval.number = 4; }
-    break;
-case 40:
-#line 115 "defparse.y"
-{ yyval.number = 8; }
-    break;
-case 41:
-#line 116 "defparse.y"
-{ yyval.number = 0; }
-    break;
-case 42:
-#line 117 "defparse.y"
-{ yyval.number = 0; }
-    break;
-case 43:
-#line 118 "defparse.y"
-{ yyval.number = 0; }
-    break;
-case 44:
-#line 122 "defparse.y"
-{yyval.number=1;}
-    break;
-case 45:
-#line 123 "defparse.y"
-{yyval.number=0;}
-    break;
-case 46:
-#line 127 "defparse.y"
-{yyval.number=1;}
-    break;
-case 47:
-#line 128 "defparse.y"
-{yyval.number=0;}
-    break;
-case 48:
-#line 132 "defparse.y"
-{ yyval.number = 1; }
-    break;
-case 49:
-#line 133 "defparse.y"
-{ yyval.number = 0; }
-    break;
-case 50:
-#line 137 "defparse.y"
-{ yyval.number = 1; }
-    break;
-case 51:
-#line 138 "defparse.y"
-{ yyval.number = 0; }
-    break;
-case 52:
-#line 141 "defparse.y"
-{ yyval.id =yyvsp[0].id; }
-    break;
-case 53:
-#line 143 "defparse.y"
-{ 
-           char *name = xmalloc (strlen (yyvsp[-2].id) + 1 + strlen (yyvsp[0].id) + 1);
-           sprintf (name, "%s.%s", yyvsp[-2].id, yyvsp[0].id);
-           yyval.id = name;
-         }
-    break;
-case 54:
-#line 148 "defparse.y"
-{ yyval.id=""; }
-    break;
-case 55:
-#line 152 "defparse.y"
-{ yyval.number=yyvsp[0].number;}
-    break;
-case 56:
-#line 153 "defparse.y"
-{ yyval.number=-1;}
-    break;
-case 57:
-#line 157 "defparse.y"
-{ yyval.id = yyvsp[0].id; }
-    break;
-case 58:
-#line 159 "defparse.y"
-{ 
-           char *name = xmalloc (strlen (yyvsp[-2].id) + 1 + strlen (yyvsp[0].id) + 1);
-           sprintf (name, "%s.%s", yyvsp[-2].id, yyvsp[0].id);
-           yyval.id = name;
-         }
-    break;
-case 59:
-#line 164 "defparse.y"
-{ yyval.id =  0; }
-    break;
-case 60:
-#line 167 "defparse.y"
-{ yyval.number= yyvsp[0].number;}
-    break;
-case 61:
-#line 168 "defparse.y"
-{ yyval.number=-1;}
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 182 "defparse.y"
diff --git a/binutils/defparse.h b/binutils/defparse.h
deleted file mode 100644 (file)
index 71a8275..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union {
-  char *id;
-  int number;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       NAME    257
-# define       LIBRARY 258
-# define       DESCRIPTION     259
-# define       STACKSIZE       260
-# define       HEAPSIZE        261
-# define       CODE    262
-# define       DATA    263
-# define       SECTIONS        264
-# define       EXPORTS 265
-# define       IMPORTS 266
-# define       VERSIONK        267
-# define       BASE    268
-# define       CONSTANT        269
-# define       READ    270
-# define       WRITE   271
-# define       EXECUTE 272
-# define       SHARED  273
-# define       NONSHARED       274
-# define       NONAME  275
-# define       PRIVATE 276
-# define       SINGLE  277
-# define       MULTIPLE        278
-# define       INITINSTANCE    279
-# define       INITGLOBAL      280
-# define       TERMINSTANCE    281
-# define       TERMGLOBAL      282
-# define       ID      283
-# define       NUMBER  284
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/binutils/nlmheader.c b/binutils/nlmheader.c
deleted file mode 100644 (file)
index 82add88..0000000
+++ /dev/null
@@ -1,2172 +0,0 @@
-/* A Bison parser, made from nlmheader.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       CHECK   257
-# define       CODESTART       258
-# define       COPYRIGHT       259
-# define       CUSTOM  260
-# define       DATE    261
-# define       DEBUG   262
-# define       DESCRIPTION     263
-# define       EXIT    264
-# define       EXPORT  265
-# define       FLAG_ON 266
-# define       FLAG_OFF        267
-# define       FULLMAP 268
-# define       HELP    269
-# define       IMPORT  270
-# define       INPUT   271
-# define       MAP     272
-# define       MESSAGES        273
-# define       MODULE  274
-# define       MULTIPLE        275
-# define       OS_DOMAIN       276
-# define       OUTPUT  277
-# define       PSEUDOPREEMPTION        278
-# define       REENTRANT       279
-# define       SCREENNAME      280
-# define       SHARELIB        281
-# define       STACK   282
-# define       START   283
-# define       SYNCHRONIZE     284
-# define       THREADNAME      285
-# define       TYPE    286
-# define       VERBOSE 287
-# define       VERSIONK        288
-# define       XDCDATA 289
-# define       STRING  290
-# define       QUOTED_STRING   291
-
-#line 1 "nlmheader.y"
-/* nlmheader.y - parse NLM header specification keywords.
-     Copyright 1993, 1994, 1995, 1997, 1998, 2001, 2002, 2003
-     Free Software Foundation, Inc.
-
-This file is part of GNU Binutils.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-/* Written by Ian Lance Taylor <ian@cygnus.com>.
-
-   This bison file parses the commands recognized by the NetWare NLM
-   linker, except for lists of object files.  It stores the
-   information in global variables.
-
-   This implementation is based on the description in the NetWare Tool
-   Maker Specification manual, edition 1.0.  */
-
-#include "ansidecl.h"
-#include <stdio.h>
-#include "safe-ctype.h"
-#include "bfd.h"
-#include "bucomm.h"
-#include "nlm/common.h"
-#include "nlm/internal.h"
-#include "nlmconv.h"
-
-/* Information is stored in the structures pointed to by these
-   variables.  */
-
-Nlm_Internal_Fixed_Header *fixed_hdr;
-Nlm_Internal_Variable_Header *var_hdr;
-Nlm_Internal_Version_Header *version_hdr;
-Nlm_Internal_Copyright_Header *copyright_hdr;
-Nlm_Internal_Extended_Header *extended_hdr;
-
-/* Procedure named by CHECK.  */
-char *check_procedure;
-/* File named by CUSTOM.  */
-char *custom_file;
-/* Whether to generate debugging information (DEBUG).  */
-bfd_boolean debug_info;
-/* Procedure named by EXIT.  */
-char *exit_procedure;
-/* Exported symbols (EXPORT).  */
-struct string_list *export_symbols;
-/* List of files from INPUT.  */
-struct string_list *input_files;
-/* Map file name (MAP, FULLMAP).  */
-char *map_file;
-/* Whether a full map has been requested (FULLMAP).  */
-bfd_boolean full_map;
-/* File named by HELP.  */
-char *help_file;
-/* Imported symbols (IMPORT).  */
-struct string_list *import_symbols;
-/* File named by MESSAGES.  */
-char *message_file;
-/* Autoload module list (MODULE).  */
-struct string_list *modules;
-/* File named by OUTPUT.  */
-char *output_file;
-/* File named by SHARELIB.  */
-char *sharelib_file;
-/* Start procedure name (START).  */
-char *start_procedure;
-/* VERBOSE.  */
-bfd_boolean verbose;
-/* RPC description file (XDCDATA).  */
-char *rpc_file;
-
-/* The number of serious errors that have occurred.  */
-int parse_errors;
-
-/* The current symbol prefix when reading a list of import or export
-   symbols.  */
-static char *symbol_prefix;
-
-/* Parser error message handler.  */
-#define yyerror(msg) nlmheader_error (msg);
-
-/* Local functions.  */
-static int yylex (void);
-static void nlmlex_file_push (const char *);
-static bfd_boolean nlmlex_file_open (const char *);
-static int nlmlex_buf_init (void);
-static char nlmlex_buf_add (int);
-static long nlmlex_get_number (const char *);
-static void nlmheader_identify (void);
-static void nlmheader_warn (const char *, int);
-static void nlmheader_error (const char *);
-static struct string_list * string_list_cons (char *, struct string_list *);
-static struct string_list * string_list_append (struct string_list *,
-                                               struct string_list *);
-static struct string_list * string_list_append1 (struct string_list *,
-                                                char *);
-static char *xstrdup (const char *);
-
-
-#line 112 "nlmheader.y"
-#ifndef YYSTYPE
-typedef union
-{
-  char *string;
-  struct string_list *list;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         82
-#define        YYFLAG          -32768
-#define        YYNTBASE        40
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 291 ? yytranslate[x] : 50)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-      38,    39,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     2,     3,     6,     9,    12,    15,    18,    23,
-      25,    28,    31,    32,    36,    39,    42,    44,    47,    50,
-      51,    55,    58,    60,    63,    66,    69,    71,    73,    76,
-      78,    80,    83,    86,    89,    92,    94,    97,   100,   102,
-     107,   111,   114,   115,   117,   119,   121,   124,   127,   131,
-     133,   134
-};
-static const short yyrhs[] =
-{
-      41,     0,     0,    42,    41,     0,     3,    36,     0,     4,
-      36,     0,     5,    37,     0,     6,    36,     0,     7,    36,
-      36,    36,     0,     8,     0,     9,    37,     0,    10,    36,
-       0,     0,    11,    43,    45,     0,    12,    36,     0,    13,
-      36,     0,    14,     0,    14,    36,     0,    15,    36,     0,
-       0,    16,    44,    45,     0,    17,    49,     0,    18,     0,
-      18,    36,     0,    19,    36,     0,    20,    49,     0,    21,
-       0,    22,     0,    23,    36,     0,    24,     0,    25,     0,
-      26,    37,     0,    27,    36,     0,    28,    36,     0,    29,
-      36,     0,    30,     0,    31,    37,     0,    32,    36,     0,
-      33,     0,    34,    36,    36,    36,     0,    34,    36,    36,
-       0,    35,    36,     0,     0,    46,     0,    48,     0,    47,
-       0,    46,    48,     0,    46,    47,     0,    38,    36,    39,
-       0,    36,     0,     0,    36,    49,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,   143,   149,   151,   156,   161,   166,   183,   187,   205,
-     209,   225,   229,   229,   237,   242,   247,   252,   257,   261,
-     261,   269,   273,   277,   281,   285,   289,   293,   297,   304,
-     308,   312,   328,   332,   337,   341,   345,   361,   366,   370,
-     394,   410,   418,   423,   433,   438,   442,   446,   454,   465,
-     481,   486
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "CHECK", "CODESTART", "COPYRIGHT", "CUSTOM", 
-  "DATE", "DEBUG", "DESCRIPTION", "EXIT", "EXPORT", "FLAG_ON", "FLAG_OFF", 
-  "FULLMAP", "HELP", "IMPORT", "INPUT", "MAP", "MESSAGES", "MODULE", 
-  "MULTIPLE", "OS_DOMAIN", "OUTPUT", "PSEUDOPREEMPTION", "REENTRANT", 
-  "SCREENNAME", "SHARELIB", "STACK", "START", "SYNCHRONIZE", "THREADNAME", 
-  "TYPE", "VERBOSE", "VERSIONK", "XDCDATA", "STRING", "QUOTED_STRING", 
-  "'('", "')'", "file", "commands", "command", "@1", "@2", 
-  "symbol_list_opt", "symbol_list", "symbol_prefix", "symbol", 
-  "string_list", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    40,    41,    41,    42,    42,    42,    42,    42,    42,
-      42,    42,    43,    42,    42,    42,    42,    42,    42,    44,
-      42,    42,    42,    42,    42,    42,    42,    42,    42,    42,
-      42,    42,    42,    42,    42,    42,    42,    42,    42,    42,
-      42,    42,    45,    45,    46,    46,    46,    46,    47,    48,
-      49,    49
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     1,     0,     2,     2,     2,     2,     2,     4,     1,
-       2,     2,     0,     3,     2,     2,     1,     2,     2,     0,
-       3,     2,     1,     2,     2,     2,     1,     1,     2,     1,
-       1,     2,     2,     2,     2,     1,     2,     2,     1,     4,
-       3,     2,     0,     1,     1,     1,     2,     2,     3,     1,
-       0,     2
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       2,     0,     0,     0,     0,     0,     9,     0,     0,    12,
-       0,     0,    16,     0,    19,    50,    22,     0,    50,    26,
-      27,     0,    29,    30,     0,     0,     0,     0,    35,     0,
-       0,    38,     0,     0,     1,     2,     4,     5,     6,     7,
-       0,    10,    11,    42,    14,    15,    17,    18,    42,    50,
-      21,    23,    24,    25,    28,    31,    32,    33,    34,    36,
-      37,     0,    41,     3,     0,    49,     0,    13,    43,    45,
-      44,    20,    51,    40,     8,     0,    47,    46,    39,    48,
-       0,     0,     0
-};
-
-static const short yydefgoto[] =
-{
-      80,    34,    35,    43,    48,    67,    68,    69,    70,    50
-};
-
-static const short yypact[] =
-{
-      -3,    -1,     1,     2,     4,     5,-32768,     6,     8,-32768,
-       9,    10,    11,    12,-32768,    13,    14,    16,    13,-32768,
-  -32768,    17,-32768,-32768,    18,    20,    21,    22,-32768,    23,
-      25,-32768,    26,    27,-32768,    -3,-32768,-32768,-32768,-32768,
-      29,-32768,-32768,    -2,-32768,-32768,-32768,-32768,    -2,    13,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,    30,-32768,-32768,    31,-32768,    32,-32768,    -2,-32768,
-  -32768,-32768,-32768,    33,-32768,     3,-32768,-32768,-32768,-32768,
-      38,    51,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,    19,-32768,-32768,-32768,    24,-32768,    -9,     7,    15
-};
-
-
-#define        YYLAST          75
-
-
-static const short yytable[] =
-{
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    53,    65,    36,    66,    37,    81,    38,
-      39,    40,    79,    41,    42,    44,    45,    46,    47,    49,
-      51,    82,    52,    54,    63,    55,    56,    57,    58,    76,
-      59,    60,    61,    62,    72,    64,    73,    74,    75,    78,
-       0,     0,    71,     0,     0,    77
-};
-
-static const short yycheck[] =
-{
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    18,    36,    36,    38,    36,     0,    37,
-      36,    36,    39,    37,    36,    36,    36,    36,    36,    36,
-      36,     0,    36,    36,    35,    37,    36,    36,    36,    68,
-      37,    36,    36,    36,    49,    36,    36,    36,    36,    36,
-      -1,    -1,    48,    -1,    -1,    68
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 4:
-#line 158 "nlmheader.y"
-{
-           check_procedure = yyvsp[0].string;
-         }
-    break;
-case 5:
-#line 162 "nlmheader.y"
-{
-           nlmheader_warn (_("CODESTART is not implemented; sorry"), -1);
-           free (yyvsp[0].string);
-         }
-    break;
-case 6:
-#line 167 "nlmheader.y"
-{
-           int len;
-
-           strncpy (copyright_hdr->stamp, "CoPyRiGhT=", 10);
-           len = strlen (yyvsp[0].string);
-           if (len >= NLM_MAX_COPYRIGHT_MESSAGE_LENGTH)
-             {
-               nlmheader_warn (_("copyright string is too long"),
-                               NLM_MAX_COPYRIGHT_MESSAGE_LENGTH - 1);
-               len = NLM_MAX_COPYRIGHT_MESSAGE_LENGTH - 1;
-             }
-           copyright_hdr->copyrightMessageLength = len;
-           strncpy (copyright_hdr->copyrightMessage, yyvsp[0].string, len);
-           copyright_hdr->copyrightMessage[len] = '\0';
-           free (yyvsp[0].string);
-         }
-    break;
-case 7:
-#line 184 "nlmheader.y"
-{
-           custom_file = yyvsp[0].string;
-         }
-    break;
-case 8:
-#line 188 "nlmheader.y"
-{
-           /* We don't set the version stamp here, because we use the
-              version stamp to detect whether the required VERSION
-              keyword was given.  */
-           version_hdr->month = nlmlex_get_number (yyvsp[-2].string);
-           version_hdr->day = nlmlex_get_number (yyvsp[-1].string);
-           version_hdr->year = nlmlex_get_number (yyvsp[0].string);
-           free (yyvsp[-2].string);
-           free (yyvsp[-1].string);
-           free (yyvsp[0].string);
-           if (version_hdr->month < 1 || version_hdr->month > 12)
-             nlmheader_warn (_("illegal month"), -1);
-           if (version_hdr->day < 1 || version_hdr->day > 31)
-             nlmheader_warn (_("illegal day"), -1);
-           if (version_hdr->year < 1900 || version_hdr->year > 3000)
-             nlmheader_warn (_("illegal year"), -1);
-         }
-    break;
-case 9:
-#line 206 "nlmheader.y"
-{
-           debug_info = TRUE;
-         }
-    break;
-case 10:
-#line 210 "nlmheader.y"
-{
-           int len;
-
-           len = strlen (yyvsp[0].string);
-           if (len > NLM_MAX_DESCRIPTION_LENGTH)
-             {
-               nlmheader_warn (_("description string is too long"),
-                               NLM_MAX_DESCRIPTION_LENGTH);
-               len = NLM_MAX_DESCRIPTION_LENGTH;
-             }
-           var_hdr->descriptionLength = len;
-           strncpy (var_hdr->descriptionText, yyvsp[0].string, len);
-           var_hdr->descriptionText[len] = '\0';
-           free (yyvsp[0].string);
-         }
-    break;
-case 11:
-#line 226 "nlmheader.y"
-{
-           exit_procedure = yyvsp[0].string;
-         }
-    break;
-case 12:
-#line 230 "nlmheader.y"
-{
-           symbol_prefix = NULL;
-         }
-    break;
-case 13:
-#line 234 "nlmheader.y"
-{
-           export_symbols = string_list_append (export_symbols, yyvsp[0].list);
-         }
-    break;
-case 14:
-#line 238 "nlmheader.y"
-{
-           fixed_hdr->flags |= nlmlex_get_number (yyvsp[0].string);
-           free (yyvsp[0].string);
-         }
-    break;
-case 15:
-#line 243 "nlmheader.y"
-{
-           fixed_hdr->flags &=~ nlmlex_get_number (yyvsp[0].string);
-           free (yyvsp[0].string);
-         }
-    break;
-case 16:
-#line 248 "nlmheader.y"
-{
-           map_file = "";
-           full_map = TRUE;
-         }
-    break;
-case 17:
-#line 253 "nlmheader.y"
-{
-           map_file = yyvsp[0].string;
-           full_map = TRUE;
-         }
-    break;
-case 18:
-#line 258 "nlmheader.y"
-{
-           help_file = yyvsp[0].string;
-         }
-    break;
-case 19:
-#line 262 "nlmheader.y"
-{
-           symbol_prefix = NULL;
-         }
-    break;
-case 20:
-#line 266 "nlmheader.y"
-{
-           import_symbols = string_list_append (import_symbols, yyvsp[0].list);
-         }
-    break;
-case 21:
-#line 270 "nlmheader.y"
-{
-           input_files = string_list_append (input_files, yyvsp[0].list);
-         }
-    break;
-case 22:
-#line 274 "nlmheader.y"
-{
-           map_file = "";
-         }
-    break;
-case 23:
-#line 278 "nlmheader.y"
-{
-           map_file = yyvsp[0].string;
-         }
-    break;
-case 24:
-#line 282 "nlmheader.y"
-{
-           message_file = yyvsp[0].string;
-         }
-    break;
-case 25:
-#line 286 "nlmheader.y"
-{
-           modules = string_list_append (modules, yyvsp[0].list);
-         }
-    break;
-case 26:
-#line 290 "nlmheader.y"
-{
-           fixed_hdr->flags |= 0x2;
-         }
-    break;
-case 27:
-#line 294 "nlmheader.y"
-{
-           fixed_hdr->flags |= 0x10;
-         }
-    break;
-case 28:
-#line 298 "nlmheader.y"
-{
-           if (output_file == NULL)
-             output_file = yyvsp[0].string;
-           else
-             nlmheader_warn (_("ignoring duplicate OUTPUT statement"), -1);
-         }
-    break;
-case 29:
-#line 305 "nlmheader.y"
-{
-           fixed_hdr->flags |= 0x8;
-         }
-    break;
-case 30:
-#line 309 "nlmheader.y"
-{
-           fixed_hdr->flags |= 0x1;
-         }
-    break;
-case 31:
-#line 313 "nlmheader.y"
-{
-           int len;
-
-           len = strlen (yyvsp[0].string);
-           if (len >= NLM_MAX_SCREEN_NAME_LENGTH)
-             {
-               nlmheader_warn (_("screen name is too long"),
-                               NLM_MAX_SCREEN_NAME_LENGTH);
-               len = NLM_MAX_SCREEN_NAME_LENGTH;
-             }
-           var_hdr->screenNameLength = len;
-           strncpy (var_hdr->screenName, yyvsp[0].string, len);
-           var_hdr->screenName[NLM_MAX_SCREEN_NAME_LENGTH] = '\0';
-           free (yyvsp[0].string);
-         }
-    break;
-case 32:
-#line 329 "nlmheader.y"
-{
-           sharelib_file = yyvsp[0].string;
-         }
-    break;
-case 33:
-#line 333 "nlmheader.y"
-{
-           var_hdr->stackSize = nlmlex_get_number (yyvsp[0].string);
-           free (yyvsp[0].string);
-         }
-    break;
-case 34:
-#line 338 "nlmheader.y"
-{
-           start_procedure = yyvsp[0].string;
-         }
-    break;
-case 35:
-#line 342 "nlmheader.y"
-{
-           fixed_hdr->flags |= 0x4;
-         }
-    break;
-case 36:
-#line 346 "nlmheader.y"
-{
-           int len;
-
-           len = strlen (yyvsp[0].string);
-           if (len >= NLM_MAX_THREAD_NAME_LENGTH)
-             {
-               nlmheader_warn (_("thread name is too long"),
-                               NLM_MAX_THREAD_NAME_LENGTH);
-               len = NLM_MAX_THREAD_NAME_LENGTH;
-             }
-           var_hdr->threadNameLength = len;
-           strncpy (var_hdr->threadName, yyvsp[0].string, len);
-           var_hdr->threadName[len] = '\0';
-           free (yyvsp[0].string);
-         }
-    break;
-case 37:
-#line 362 "nlmheader.y"
-{
-           fixed_hdr->moduleType = nlmlex_get_number (yyvsp[0].string);
-           free (yyvsp[0].string);
-         }
-    break;
-case 38:
-#line 367 "nlmheader.y"
-{
-           verbose = TRUE;
-         }
-    break;
-case 39:
-#line 371 "nlmheader.y"
-{
-           long val;
-
-           strncpy (version_hdr->stamp, "VeRsIoN#", 8);
-           version_hdr->majorVersion = nlmlex_get_number (yyvsp[-2].string);
-           val = nlmlex_get_number (yyvsp[-1].string);
-           if (val < 0 || val > 99)
-             nlmheader_warn (_("illegal minor version number (must be between 0 and 99)"),
-                             -1);
-           else
-             version_hdr->minorVersion = val;
-           val = nlmlex_get_number (yyvsp[0].string);
-           if (val < 0)
-             nlmheader_warn (_("illegal revision number (must be between 0 and 26)"),
-                             -1);
-           else if (val > 26)
-             version_hdr->revision = 0;
-           else
-             version_hdr->revision = val;
-           free (yyvsp[-2].string);
-           free (yyvsp[-1].string);
-           free (yyvsp[0].string);
-         }
-    break;
-case 40:
-#line 395 "nlmheader.y"
-{
-           long val;
-
-           strncpy (version_hdr->stamp, "VeRsIoN#", 8);
-           version_hdr->majorVersion = nlmlex_get_number (yyvsp[-1].string);
-           val = nlmlex_get_number (yyvsp[0].string);
-           if (val < 0 || val > 99)
-             nlmheader_warn (_("illegal minor version number (must be between 0 and 99)"),
-                             -1);
-           else
-             version_hdr->minorVersion = val;
-           version_hdr->revision = 0;
-           free (yyvsp[-1].string);
-           free (yyvsp[0].string);
-         }
-    break;
-case 41:
-#line 411 "nlmheader.y"
-{
-           rpc_file = yyvsp[0].string;
-         }
-    break;
-case 42:
-#line 420 "nlmheader.y"
-{
-           yyval.list = NULL;
-         }
-    break;
-case 43:
-#line 424 "nlmheader.y"
-{
-           yyval.list = yyvsp[0].list;
-         }
-    break;
-case 44:
-#line 435 "nlmheader.y"
-{
-           yyval.list = string_list_cons (yyvsp[0].string, NULL);
-         }
-    break;
-case 45:
-#line 439 "nlmheader.y"
-{
-           yyval.list = NULL;
-         }
-    break;
-case 46:
-#line 443 "nlmheader.y"
-{
-           yyval.list = string_list_append1 (yyvsp[-1].list, yyvsp[0].string);
-         }
-    break;
-case 47:
-#line 447 "nlmheader.y"
-{
-           yyval.list = yyvsp[-1].list;
-         }
-    break;
-case 48:
-#line 456 "nlmheader.y"
-{
-           if (symbol_prefix != NULL)
-             free (symbol_prefix);
-           symbol_prefix = yyvsp[-1].string;
-         }
-    break;
-case 49:
-#line 467 "nlmheader.y"
-{
-           if (symbol_prefix == NULL)
-             yyval.string = yyvsp[0].string;
-           else
-             {
-               yyval.string = xmalloc (strlen (symbol_prefix) + strlen (yyvsp[0].string) + 2);
-               sprintf (yyval.string, "%s@%s", symbol_prefix, yyvsp[0].string);
-               free (yyvsp[0].string);
-             }
-         }
-    break;
-case 50:
-#line 483 "nlmheader.y"
-{
-           yyval.list = NULL;
-         }
-    break;
-case 51:
-#line 487 "nlmheader.y"
-{
-           yyval.list = string_list_cons (yyvsp[-1].string, yyvsp[0].list);
-         }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 492 "nlmheader.y"
-
-
-/* If strerror is just a macro, we want to use the one from libiberty
-   since it will handle undefined values.  */
-#undef strerror
-extern char *strerror PARAMS ((int));
-
-/* The lexer is simple, too simple for flex.  Keywords are only
-   recognized at the start of lines.  Everything else must be an
-   argument.  A comma is treated as whitespace.  */
-
-/* The states the lexer can be in.  */
-
-enum lex_state
-{
-  /* At the beginning of a line.  */
-  BEGINNING_OF_LINE,
-  /* In the middle of a line.  */
-  IN_LINE
-};
-
-/* We need to keep a stack of files to handle file inclusion.  */
-
-struct input
-{
-  /* The file to read from.  */
-  FILE *file;
-  /* The name of the file.  */
-  char *name;
-  /* The current line number.  */
-  int lineno;
-  /* The current state.  */
-  enum lex_state state;
-  /* The next file on the stack.  */
-  struct input *next;
-};
-
-/* The current input file.  */
-
-static struct input current;
-
-/* The character which introduces comments.  */
-#define COMMENT_CHAR '#'
-\f
-/* Start the lexer going on the main input file.  */
-
-bfd_boolean
-nlmlex_file (const char *name)
-{
-  current.next = NULL;
-  return nlmlex_file_open (name);
-}
-
-/* Start the lexer going on a subsidiary input file.  */
-
-static void
-nlmlex_file_push (const char *name)
-{
-  struct input *push;
-
-  push = (struct input *) xmalloc (sizeof (struct input));
-  *push = current;
-  if (nlmlex_file_open (name))
-    current.next = push;
-  else
-    {
-      current = *push;
-      free (push);
-    }
-}
-
-/* Start lexing from a file.  */
-
-static bfd_boolean
-nlmlex_file_open (const char *name)
-{
-  current.file = fopen (name, "r");
-  if (current.file == NULL)
-    {
-      fprintf (stderr, "%s:%s: %s\n", program_name, name, strerror (errno));
-      ++parse_errors;
-      return FALSE;
-    }
-  current.name = xstrdup (name);
-  current.lineno = 1;
-  current.state = BEGINNING_OF_LINE;
-  return TRUE;
-}
-\f
-/* Table used to turn keywords into tokens.  */
-
-struct keyword_tokens_struct
-{
-  const char *keyword;
-  int token;
-};
-
-struct keyword_tokens_struct keyword_tokens[] =
-{
-  { "CHECK", CHECK },
-  { "CODESTART", CODESTART },
-  { "COPYRIGHT", COPYRIGHT },
-  { "CUSTOM", CUSTOM },
-  { "DATE", DATE },
-  { "DEBUG", DEBUG },
-  { "DESCRIPTION", DESCRIPTION },
-  { "EXIT", EXIT },
-  { "EXPORT", EXPORT },
-  { "FLAG_ON", FLAG_ON },
-  { "FLAG_OFF", FLAG_OFF },
-  { "FULLMAP", FULLMAP },
-  { "HELP", HELP },
-  { "IMPORT", IMPORT },
-  { "INPUT", INPUT },
-  { "MAP", MAP },
-  { "MESSAGES", MESSAGES },
-  { "MODULE", MODULE },
-  { "MULTIPLE", MULTIPLE },
-  { "OS_DOMAIN", OS_DOMAIN },
-  { "OUTPUT", OUTPUT },
-  { "PSEUDOPREEMPTION", PSEUDOPREEMPTION },
-  { "REENTRANT", REENTRANT },
-  { "SCREENNAME", SCREENNAME },
-  { "SHARELIB", SHARELIB },
-  { "STACK", STACK },
-  { "STACKSIZE", STACK },
-  { "START", START },
-  { "SYNCHRONIZE", SYNCHRONIZE },
-  { "THREADNAME", THREADNAME },
-  { "TYPE", TYPE },
-  { "VERBOSE", VERBOSE },
-  { "VERSION", VERSIONK },
-  { "XDCDATA", XDCDATA }
-};
-
-#define KEYWORD_COUNT (sizeof (keyword_tokens) / sizeof (keyword_tokens[0]))
-\f
-/* The lexer accumulates strings in these variables.  */
-static char *lex_buf;
-static int lex_size;
-static int lex_pos;
-
-/* Start accumulating strings into the buffer.  */
-#define BUF_INIT() \
-  ((void) (lex_buf != NULL ? lex_pos = 0 : nlmlex_buf_init ()))
-
-static int
-nlmlex_buf_init (void)
-{
-  lex_size = 10;
-  lex_buf = xmalloc (lex_size + 1);
-  lex_pos = 0;
-  return 0;
-}
-
-/* Finish a string in the buffer.  */
-#define BUF_FINISH() ((void) (lex_buf[lex_pos] = '\0'))
-
-/* Accumulate a character into the buffer.  */
-#define BUF_ADD(c) \
-  ((void) (lex_pos < lex_size \
-          ? lex_buf[lex_pos++] = (c) \
-          : nlmlex_buf_add (c)))
-
-static char
-nlmlex_buf_add (int c)
-{
-  if (lex_pos >= lex_size)
-    {
-      lex_size *= 2;
-      lex_buf = xrealloc (lex_buf, lex_size + 1);
-    }
-
-  return lex_buf[lex_pos++] = c;
-}
-\f
-/* The lexer proper.  This is called by the bison generated parsing
-   code.  */
-
-static int
-yylex (void)
-{
-  int c;
-
-tail_recurse:
-
-  c = getc (current.file);
-
-  /* Commas are treated as whitespace characters.  */
-  while (ISSPACE (c) || c == ',')
-    {
-      current.state = IN_LINE;
-      if (c == '\n')
-       {
-         ++current.lineno;
-         current.state = BEGINNING_OF_LINE;
-       }
-      c = getc (current.file);
-    }
-
-  /* At the end of the file we either pop to the previous file or
-     finish up.  */
-  if (c == EOF)
-    {
-      fclose (current.file);
-      free (current.name);
-      if (current.next == NULL)
-       return 0;
-      else
-       {
-         struct input *next;
-
-         next = current.next;
-         current = *next;
-         free (next);
-         goto tail_recurse;
-       }
-    }
-
-  /* A comment character always means to drop everything until the
-     next newline.  */
-  if (c == COMMENT_CHAR)
-    {
-      do
-       {
-         c = getc (current.file);
-       }
-      while (c != '\n');
-      ++current.lineno;
-      current.state = BEGINNING_OF_LINE;
-      goto tail_recurse;
-    }
-
-  /* An '@' introduces an include file.  */
-  if (c == '@')
-    {
-      do
-       {
-         c = getc (current.file);
-         if (c == '\n')
-           ++current.lineno;
-       }
-      while (ISSPACE (c));
-      BUF_INIT ();
-      while (! ISSPACE (c) && c != EOF)
-       {
-         BUF_ADD (c);
-         c = getc (current.file);
-       }
-      BUF_FINISH ();
-
-      ungetc (c, current.file);
-
-      nlmlex_file_push (lex_buf);
-      goto tail_recurse;
-    }
-
-  /* A non-space character at the start of a line must be the start of
-     a keyword.  */
-  if (current.state == BEGINNING_OF_LINE)
-    {
-      BUF_INIT ();
-      while (ISALNUM (c) || c == '_')
-       {
-         BUF_ADD (TOUPPER (c));
-         c = getc (current.file);
-       }
-      BUF_FINISH ();
-
-      if (c != EOF && ! ISSPACE (c) && c != ',')
-       {
-         nlmheader_identify ();
-         fprintf (stderr, _("%s:%d: illegal character in keyword: %c\n"),
-                  current.name, current.lineno, c);
-       }
-      else
-       {
-         unsigned int i;
-
-         for (i = 0; i < KEYWORD_COUNT; i++)
-           {
-             if (lex_buf[0] == keyword_tokens[i].keyword[0]
-                 && strcmp (lex_buf, keyword_tokens[i].keyword) == 0)
-               {
-                 /* Pushing back the final whitespace avoids worrying
-                    about \n here.  */
-                 ungetc (c, current.file);
-                 current.state = IN_LINE;
-                 return keyword_tokens[i].token;
-               }
-           }
-
-         nlmheader_identify ();
-         fprintf (stderr, _("%s:%d: unrecognized keyword: %s\n"),
-                  current.name, current.lineno, lex_buf);
-       }
-
-      ++parse_errors;
-      /* Treat the rest of this line as a comment.  */
-      ungetc (COMMENT_CHAR, current.file);
-      goto tail_recurse;
-    }
-
-  /* Parentheses just represent themselves.  */
-  if (c == '(' || c == ')')
-    return c;
-
-  /* Handle quoted strings.  */
-  if (c == '"' || c == '\'')
-    {
-      int quote;
-      int start_lineno;
-
-      quote = c;
-      start_lineno = current.lineno;
-
-      c = getc (current.file);
-      BUF_INIT ();
-      while (c != quote && c != EOF)
-       {
-         BUF_ADD (c);
-         if (c == '\n')
-           ++current.lineno;
-         c = getc (current.file);
-       }
-      BUF_FINISH ();
-
-      if (c == EOF)
-       {
-         nlmheader_identify ();
-         fprintf (stderr, _("%s:%d: end of file in quoted string\n"),
-                  current.name, start_lineno);
-         ++parse_errors;
-       }
-
-      /* FIXME: Possible memory leak.  */
-      yylval.string = xstrdup (lex_buf);
-      return QUOTED_STRING;
-    }
-
-  /* Gather a generic argument.  */
-  BUF_INIT ();
-  while (! ISSPACE (c)
-        && c != ','
-        && c != COMMENT_CHAR
-        && c != '('
-        && c != ')')
-    {
-      BUF_ADD (c);
-      c = getc (current.file);
-    }
-  BUF_FINISH ();
-
-  ungetc (c, current.file);
-
-  /* FIXME: Possible memory leak.  */
-  yylval.string = xstrdup (lex_buf);
-  return STRING;
-}
-\f
-/* Get a number from a string.  */
-
-static long
-nlmlex_get_number (const char *s)
-{
-  long ret;
-  char *send;
-
-  ret = strtol (s, &send, 10);
-  if (*send != '\0')
-    nlmheader_warn (_("bad number"), -1);
-  return ret;
-}
-
-/* Prefix the nlmconv warnings with a note as to where they come from.
-   We don't use program_name on every warning, because then some
-   versions of the emacs next-error function can't recognize the line
-   number.  */
-
-static void
-nlmheader_identify (void)
-{
-  static int done;
-
-  if (! done)
-    {
-      fprintf (stderr, _("%s: problems in NLM command language input:\n"),
-              program_name);
-      done = 1;
-    }
-}
-
-/* Issue a warning.  */
-
-static void
-nlmheader_warn (const char *s, int imax)
-{
-  nlmheader_identify ();
-  fprintf (stderr, "%s:%d: %s", current.name, current.lineno, s);
-  if (imax != -1)
-    fprintf (stderr, " (max %d)", imax);
-  fprintf (stderr, "\n");
-}
-
-/* Report an error.  */
-
-static void
-nlmheader_error (const char *s)
-{
-  nlmheader_warn (s, -1);
-  ++parse_errors;
-}
-
-/* Add a string to a string list.  */
-
-static struct string_list *
-string_list_cons (char *s, struct string_list *l)
-{
-  struct string_list *ret;
-
-  ret = (struct string_list *) xmalloc (sizeof (struct string_list));
-  ret->next = l;
-  ret->string = s;
-  return ret;
-}
-
-/* Append a string list to another string list.  */
-
-static struct string_list *
-string_list_append (struct string_list *l1, struct string_list *l2)
-{
-  register struct string_list **pp;
-
-  for (pp = &l1; *pp != NULL; pp = &(*pp)->next)
-    ;
-  *pp = l2;
-  return l1;
-}
-
-/* Append a string to a string list.  */
-
-static struct string_list *
-string_list_append1 (struct string_list *l, char *s)
-{
-  struct string_list *n;
-  register struct string_list **pp;
-
-  n = (struct string_list *) xmalloc (sizeof (struct string_list));
-  n->next = NULL;
-  n->string = s;
-  for (pp = &l; *pp != NULL; pp = &(*pp)->next)
-    ;
-  *pp = n;
-  return l;
-}
-
-/* Duplicate a string in memory.  */
-
-static char *
-xstrdup (const char *s)
-{
-  unsigned long len;
-  char *ret;
-
-  len = strlen (s);
-  ret = xmalloc (len + 1);
-  strcpy (ret, s);
-  return ret;
-}
diff --git a/binutils/nlmheader.h b/binutils/nlmheader.h
deleted file mode 100644 (file)
index df88072..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union
-{
-  char *string;
-  struct string_list *list;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       CHECK   257
-# define       CODESTART       258
-# define       COPYRIGHT       259
-# define       CUSTOM  260
-# define       DATE    261
-# define       DEBUG   262
-# define       DESCRIPTION     263
-# define       EXIT    264
-# define       EXPORT  265
-# define       FLAG_ON 266
-# define       FLAG_OFF        267
-# define       FULLMAP 268
-# define       HELP    269
-# define       IMPORT  270
-# define       INPUT   271
-# define       MAP     272
-# define       MESSAGES        273
-# define       MODULE  274
-# define       MULTIPLE        275
-# define       OS_DOMAIN       276
-# define       OUTPUT  277
-# define       PSEUDOPREEMPTION        278
-# define       REENTRANT       279
-# define       SCREENNAME      280
-# define       SHARELIB        281
-# define       STACK   282
-# define       START   283
-# define       SYNCHRONIZE     284
-# define       THREADNAME      285
-# define       TYPE    286
-# define       VERBOSE 287
-# define       VERSIONK        288
-# define       XDCDATA 289
-# define       STRING  290
-# define       QUOTED_STRING   291
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/binutils/rclex.c b/binutils/rclex.c
deleted file mode 100644 (file)
index 8832dd0..0000000
+++ /dev/null
@@ -1,2610 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-#include <errno.h>
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- *     if ( condition_holds )
- *             yyless( 5 );
- *     else
- *             do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               *yy_cp = yy_hold_char; \
-               YY_RESTORE_YY_MORE_OFFSET \
-               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
-
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
-       {
-       FILE *yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
-
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
-
-       int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
-#define YY_BUFFER_EOF_PENDING 2
-       };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;                /* whether we need to initialize */
-static int yy_start = 0;       /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_is_interactive = is_interactive; \
-       }
-
-#define yy_set_bol(at_bol) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_at_bol = at_bol; \
-       }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-       yytext_ptr = yy_bp; \
-       yyleng = (int) (yy_cp - yy_bp); \
-       yy_hold_char = *yy_cp; \
-       *yy_cp = '\0'; \
-       yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 86
-#define YY_END_OF_BUFFER 87
-static yyconst short int yy_accept[470] =
-    {   0,
-        0,    0,   87,   85,   84,   83,   85,   78,   80,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,    2,    4,   84,
-        0,   81,   78,   80,   79,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   81,    0,   82,   11,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-
-       82,   82,   82,   82,   82,    3,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   76,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   41,   82,   82,
-       82,   53,   42,   82,   82,   82,   82,   82,   82,   82,
-       46,   82,   82,   82,   82,   82,   82,   71,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-
-       82,   82,   82,    7,   82,   82,   82,   38,    1,   82,
-       82,   82,   82,   82,   18,   82,   82,   25,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   70,
-       82,   82,   39,   40,   82,   82,   82,   82,   82,   30,
-       82,   82,   82,   82,   82,   82,   50,   82,   82,   82,
-       82,   82,   34,   82,   82,    9,   82,   82,   19,   82,
-       68,   82,   82,   82,   82,   82,   82,   12,    0,   82,
-       82,   82,   82,   82,   82,   82,   13,   82,   14,   82,
-       82,   82,   82,   65,   82,   82,   82,   52,   82,   72,
-       82,   82,   82,   82,   82,   82,   47,   82,   82,   82,
-
-       82,   82,   82,   82,   82,   82,   58,   82,   82,   36,
-       82,   82,   82,   82,   82,   82,   82,   82,    0,   82,
-        0,   77,   17,   82,   82,   51,   82,   10,   82,   82,
-       82,   82,   16,   82,   82,   82,   82,   82,   82,   82,
-       29,   82,   82,   82,   82,   82,   82,   82,   73,   82,
-       31,   82,   82,   82,   82,   82,   82,   45,    6,   82,
-       82,   82,   82,   77,   82,   23,   24,   82,   15,   82,
-       27,   82,   82,   66,   82,   28,   54,   43,   82,   82,
-       82,   48,   82,   69,    8,   82,   82,   82,   82,   82,
-       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
-
-       64,   82,   82,   82,   82,   56,   82,   82,   82,   82,
-       35,   49,   82,   82,   82,   82,   20,   82,   82,   82,
-       82,   82,   82,   82,   82,   74,   82,   82,   82,   32,
-       82,   82,   37,   82,   82,   82,   82,   82,   82,   75,
-       82,   67,   61,   82,   82,   82,   33,   59,   60,    5,
-       21,   82,   82,   82,   82,   55,   57,   82,   82,   82,
-       26,   63,   82,   82,   82,   62,   22,   44,    0
-    } ;
-
-static yyconst int yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
-        1,    1,    1,    7,    1,    1,    1,    8,    8,    8,
-        9,    8,    8,    8,    8,    8,    8,    1,    1,    1,
-        1,    1,    1,    1,   10,   11,   12,   13,   14,   15,
-       16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
-       19,   26,   27,   28,   29,   30,   19,   31,   32,   19,
-        1,    1,    1,    1,    1,    1,   33,   33,   33,   33,
-
-       33,   33,   19,   19,   19,   19,   19,   19,   19,   19,
-       19,   19,   19,   19,   19,   19,   19,   19,   19,   33,
-       19,   19,   34,    1,   35,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst int yy_meta[36] =
-    {   0,
-        1,    2,    3,    2,    1,    4,    2,    5,    5,    5,
-        5,    5,    5,    5,    5,    1,    1,    1,    1,    1,
-        5,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    5,    1,    1
-    } ;
-
-static yyconst short int yy_base[476] =
-    {   0,
-        0,    0,  517,  518,   34,  518,  511,    0,  494,   25,
-       26,   45,   25,   28,   24,  488,  499,   49,    0,   40,
-       43,  488,   51,   66,   67,  484,   35,  518,  518,   81,
-      505,   84,    0,  488,  518,    0,  496,  479,  494,  477,
-       75,  476,  479,  477,   46,  491,   70,  486,  473,  483,
-       55,  479,  483,  468,   69,  471,   86,   84,  469,  479,
-      466,  480,  466,  461,  477,  472,   75,  455,   81,  459,
-       87,   77,  470,  469,  467,  454,  454,  460,   96,  463,
-      455,  449,  448,  110,  468,  458,    0,  453,  446,  451,
-      450,  445,  454,  437,  438,  451,  435,  450,  432,  428,
-
-      431,  432,  435,  443,  426,    0,  425,  438,  437,  422,
-      417,  419,  429,  421,  422,  426,  414,  430,  425,  412,
-      426,  407,  408,  409,  421,  411,    0,  404,  411,  418,
-      416,  412,  410,  417,  395,  401,  414,  408,  394,  403,
-      399,  393,  389,  390,  388,  394,  396,  105,  385,  389,
-      401,  390,  391,  398,  387,  379,  381,  378,  375,  378,
-      372,  376,  389,  370,  365,  105,  383,    0,  381,  369,
-      365,    0,    0,  364,  365,  362,  360,  377,  363,  358,
-      105,  375,  374,  353,  357,  357,  351,    0,  368,  354,
-      349,  348,  354,  348,  345,  358,  348,  356,  358,  354,
-
-      349,  346,  351,    0,  337,  346,  352,    0,    0,  336,
-      122,  336,  347,  107,    0,  347,  333,    0,  330,  328,
-      338,  327,  338,  330,  329,  322,  319,  315,  332,    0,
-      332,  333,    0,    0,  329,  324,  331,  316,  316,    0,
-      116,  307,  309,  320,  324,  320,    0,  323,  320,  110,
-      320,  320,    0,  308,  318,    0,  318,  310,    0,  296,
-        0,  300,  309,  296,  293,  306,  306,    0,  135,  139,
-      295,  289,  292,  302,  290,  292,    0,  295,  297,  297,
-      278,  294,  297,    0,  295,  280,  278,    0,  279,    0,
-      272,  285,  269,  287,  272,  283,    0,  282,  281,  273,
-
-      267,  279,  263,  259,  261,  259,    0,  276,  258,    0,
-      257,  256,  260,  250,  271,  270,  267,  260,  272,  145,
-      271,  151,    0,  261,  243,    0,  242,    0,  261,  240,
-      260,  241,    0,  252,  239,  252,  238,  233,  249,  248,
-        0,  251,  249,  249,  236,  229,  242,  227,    0,  224,
-        0,  225,  224,  241,  226,  239,  220,  229,    0,  218,
-      217,  224,  219,  237,  215,    0,    0,  211,    0,  228,
-        0,  211,  205,    0,  218,    0,    0,    0,  214,  208,
-      213,    0,  222,    0,    0,  217,  206,  201,  202,  201,
-      215,  201,  201,  199,  208,  210,  209,  201,  190,  196,
-
-      194,  190,  190,  192,  198,    0,  200,  184,  186,  184,
-        0,    0,  186,  183,  190,  178,    0,  179,  173,  174,
-      172,  185,  188,  183,  173,    0,  185,  173,  166,    0,
-      169,  177,    0,  166,  162,  157,  159,  158,  161,    0,
-      157,    0,    0,  162,  167,  158,    0,    0,    0,    0,
-        0,  143,  152,  143,  141,    0,    0,  130,  124,  124,
-        0,    0,  107,   85,   80,    0,    0,    0,  518,  158,
-      163,   65,  168,  173,  178
-    } ;
-
-static yyconst short int yy_def[476] =
-    {   0,
-      469,    1,  469,  469,  469,  469,  470,  471,  472,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  469,  469,  469,
-      470,  469,  471,  472,  469,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  469,  470,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  469,  474,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  475,  474,
-      475,  474,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  475,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
-      473,  473,  473,  473,  473,  473,  473,  473,    0,  469,
-      469,  469,  469,  469,  469
-    } ;
-
-static yyconst short int yy_nxt[554] =
-    {   0,
-        4,    5,    6,    5,    7,    8,    4,    9,    9,   10,
-       11,   12,   13,   14,   15,   16,   17,   18,   19,   19,
-       20,   21,   22,   19,   23,   24,   25,   19,   26,   27,
-       19,   19,   19,   28,   29,   30,   37,   30,   50,   41,
-       52,   55,   51,   42,   81,   38,   43,   56,   82,   63,
-       53,   39,   83,   40,   44,   95,   67,   64,   54,   96,
-       59,   45,   60,   65,  103,   46,   68,   66,   47,   34,
-       61,   62,   48,   49,   70,   73,   71,   74,   76,   72,
-       77,  104,   30,   78,   30,   84,   84,   90,   85,  108,
-       91,   98,   99,   75,   79,  111,  113,  123,  126,  109,
-
-      129,  124,  131,  132,  114,  139,  468,  467,  127,  112,
-      130,   84,   84,  205,   85,  241,  206,  273,  242,  225,
-      274,  140,  243,  269,  269,  295,  270,  141,  226,  466,
-      207,  227,  228,  304,  229,  465,  269,  269,  305,  319,
-      321,  296,  321,  322,   36,  321,  321,  464,  321,  322,
-       36,  321,  321,  463,  321,  322,   36,  321,   31,   31,
-      462,   31,   31,   33,   33,  461,   33,   33,   36,  460,
-      459,   36,   36,  320,  320,  458,  320,  320,  321,  321,
-      457,  456,  321,  455,  454,  453,  452,  451,  450,  449,
-      448,  447,  446,  445,  444,  443,  442,  441,  440,  439,
-
-      438,  437,  436,  435,  434,  433,  432,  431,  430,  429,
-      428,  427,  426,  425,  424,  423,  422,  421,  420,  419,
-      418,  417,  416,  415,  414,  413,  412,  411,  410,  409,
-      408,  407,  406,  405,  404,  403,  402,  401,  400,  399,
-      398,  364,  397,  396,  395,  394,  393,  392,  391,  390,
-      389,  388,  387,  386,  385,  384,  383,  382,  381,  380,
-      379,  378,  377,  376,  375,  374,  373,  372,  371,  370,
-      369,  368,  367,  366,  365,  364,  364,  363,  362,  361,
-      360,  359,  358,  357,  356,  355,  354,  353,  352,  351,
-      350,  349,  348,  347,  346,  345,  344,  343,  342,  341,
-
-      340,  339,  338,  337,  336,  335,  334,  333,  332,  331,
-      330,  329,  328,  327,  326,  325,  324,  323,  318,  317,
-      316,  315,  314,  313,  312,  311,  310,  309,  308,  307,
-      306,  303,  302,  301,  300,  299,  298,  297,  294,  293,
-      292,  291,  290,  289,  288,  287,  286,  285,  284,  283,
-      282,  281,  280,  279,  278,  277,  276,  275,  272,  271,
-      268,  267,  266,  265,  264,  263,  262,  261,  260,  259,
-      258,  257,  256,  255,  254,  253,  252,  251,  250,  249,
-      248,  247,  246,  245,  244,  240,  239,  238,  237,  236,
-      235,  234,  233,  232,  231,  230,  224,  223,  222,  221,
-
-      220,  219,  218,  217,  216,  215,  214,  213,  212,  211,
-      210,  209,  208,  204,  203,  202,  201,  200,  199,  198,
-      197,  196,  195,  194,  193,  192,  191,  190,  189,  188,
-      187,  186,  185,  184,  183,  182,  181,  180,  179,  178,
-      177,  176,  175,  174,  173,  172,  171,  170,  169,  168,
-      167,  166,  165,  164,  163,  162,  161,  160,  159,  158,
-      157,  156,  155,  154,  153,  152,  151,  150,  149,  148,
-      147,  146,   32,  145,  144,  143,  142,  138,  137,  136,
-      135,  134,  133,  128,  125,  122,  121,  120,  119,  118,
-      117,  116,  115,  110,  107,  106,  105,  102,  101,  100,
-
-       97,   94,   93,   92,   89,   88,   87,   86,   35,   32,
-       80,   69,   58,   57,   35,   32,  469,    3,  469,  469,
-      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
-      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
-      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
-      469,  469,  469
-    } ;
-
-static yyconst short int yy_chk[554] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    5,   10,    5,   13,   11,
-       14,   15,   13,   11,   27,   10,   11,   15,   27,   20,
-       14,   10,   27,   10,   12,   45,   21,   20,   14,   45,
-       18,   12,   18,   20,   51,   12,   21,   20,   12,  472,
-       18,   18,   12,   12,   23,   24,   23,   24,   25,   23,
-       25,   51,   30,   25,   30,   32,   32,   41,   32,   55,
-       41,   47,   47,   24,   25,   57,   58,   67,   69,   55,
-
-       71,   67,   72,   72,   58,   79,  465,  464,   69,   57,
-       71,   84,   84,  148,   84,  181,  148,  214,  181,  166,
-      214,   79,  181,  211,  211,  241,  211,   79,  166,  463,
-      148,  166,  166,  250,  166,  460,  269,  269,  250,  269,
-      270,  241,  270,  270,  270,  270,  320,  459,  320,  320,
-      320,  320,  322,  458,  322,  322,  322,  322,  470,  470,
-      455,  470,  470,  471,  471,  454,  471,  471,  473,  453,
-      452,  473,  473,  474,  474,  446,  474,  474,  475,  475,
-      445,  444,  475,  441,  439,  438,  437,  436,  435,  434,
-      432,  431,  429,  428,  427,  425,  424,  423,  422,  421,
-
-      420,  419,  418,  416,  415,  414,  413,  410,  409,  408,
-      407,  405,  404,  403,  402,  401,  400,  399,  398,  397,
-      396,  395,  394,  393,  392,  391,  390,  389,  388,  387,
-      386,  383,  381,  380,  379,  375,  373,  372,  370,  368,
-      365,  364,  363,  362,  361,  360,  358,  357,  356,  355,
-      354,  353,  352,  350,  348,  347,  346,  345,  344,  343,
-      342,  340,  339,  338,  337,  336,  335,  334,  332,  331,
-      330,  329,  327,  325,  324,  321,  319,  318,  317,  316,
-      315,  314,  313,  312,  311,  309,  308,  306,  305,  304,
-      303,  302,  301,  300,  299,  298,  296,  295,  294,  293,
-
-      292,  291,  289,  287,  286,  285,  283,  282,  281,  280,
-      279,  278,  276,  275,  274,  273,  272,  271,  267,  266,
-      265,  264,  263,  262,  260,  258,  257,  255,  254,  252,
-      251,  249,  248,  246,  245,  244,  243,  242,  239,  238,
-      237,  236,  235,  232,  231,  229,  228,  227,  226,  225,
-      224,  223,  222,  221,  220,  219,  217,  216,  213,  212,
-      210,  207,  206,  205,  203,  202,  201,  200,  199,  198,
-      197,  196,  195,  194,  193,  192,  191,  190,  189,  187,
-      186,  185,  184,  183,  182,  180,  179,  178,  177,  176,
-      175,  174,  171,  170,  169,  167,  165,  164,  163,  162,
-
-      161,  160,  159,  158,  157,  156,  155,  154,  153,  152,
-      151,  150,  149,  147,  146,  145,  144,  143,  142,  141,
-      140,  139,  138,  137,  136,  135,  134,  133,  132,  131,
-      130,  129,  128,  126,  125,  124,  123,  122,  121,  120,
-      119,  118,  117,  116,  115,  114,  113,  112,  111,  110,
-      109,  108,  107,  105,  104,  103,  102,  101,  100,   99,
-       98,   97,   96,   95,   94,   93,   92,   91,   90,   89,
-       88,   86,   85,   83,   82,   81,   80,   78,   77,   76,
-       75,   74,   73,   70,   68,   66,   65,   64,   63,   62,
-       61,   60,   59,   56,   54,   53,   52,   50,   49,   48,
-
-       46,   44,   43,   42,   40,   39,   38,   37,   34,   31,
-       26,   22,   17,   16,    9,    7,    3,  469,  469,  469,
-      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
-      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
-      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
-      469,  469,  469
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "rclex.l"
-#define INITIAL 0
-#line 2 "rclex.l"
-/* Copyright 1997, 1998, 1999, 2001, 2002, 2003, 2005
-   Free Software Foundation, Inc.
-   Written by Ian Lance Taylor, Cygnus Support.
-
-   This file is part of GNU Binutils.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
-
-/* This is a lex input file which generates a lexer used by the
-   Windows rc file parser.  It basically just recognized a bunch of
-   keywords.  */
-
-#include "bfd.h"
-#include "bucomm.h"
-#include "libiberty.h"
-#include "safe-ctype.h"
-#include "windres.h"
-#include "rcparse.h"
-
-#include <assert.h>
-
-#define YY_NO_UNPUT
-
-/* Whether we are in rcdata mode, in which we returns the lengths of
-   strings.  */
-
-static int rcdata_mode;
-
-/* Whether we are supressing lines from cpp (including windows.h or
-   headers from your C sources may bring in externs and typedefs).
-   When active, we return IGNORED_TOKEN, which lets us ignore these
-   outside of resource constructs.  Thus, it isn't required to protect
-   all the non-preprocessor lines in your header files with #ifdef
-   RC_INVOKED.  It also means your RC file can't include other RC
-   files if they're named "*.h".  Sorry.  Name them *.rch or whatever.  */
-
-static int suppress_cpp_data;
-
-#define MAYBE_RETURN(x) return suppress_cpp_data ? IGNORED_TOKEN : (x)
-
-/* The first filename we detect in the cpp output.  We use this to
-   tell included files from the original file.  */
-
-static char *initial_fn;
-
-/* List of allocated strings.  */
-
-struct alloc_string
-{
-  struct alloc_string *next;
-  char *s;
-};
-
-static struct alloc_string *strings;
-
-/* Local functions.  */
-
-static void cpp_line (const char *);
-static char *handle_quotes (const char *, unsigned long *);
-static char *get_string (int);
-
-#line 716 "lex.yy.c"
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) \
-               { \
-               int c = '*', n; \
-               for ( n = 0; n < max_size && \
-                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-                       buf[n] = (char) c; \
-               if ( c == '\n' ) \
-                       buf[n++] = (char) c; \
-               if ( c == EOF && ferror( yyin ) ) \
-                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               result = n; \
-               } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(yyin); \
-                       } \
-               }
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-       YY_USER_ACTION
-
-YY_DECL
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-
-#line 78 "rclex.l"
-
-
-#line 881 "lex.yy.c"
-
-       if ( yy_init )
-               {
-               yy_init = 0;
-
-#ifdef YY_USER_INIT
-               YY_USER_INIT;
-#endif
-
-               if ( ! yy_start )
-                       yy_start = 1;   /* first start state */
-
-               if ( ! yyin )
-                       yyin = stdin;
-
-               if ( ! yyout )
-                       yyout = stdout;
-
-               if ( ! yy_current_buffer )
-                       yy_current_buffer =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-
-               yy_load_buffer_state();
-               }
-
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = yy_c_buf_p;
-
-               /* Support of yytext. */
-               *yy_cp = yy_hold_char;
-
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
-
-               yy_current_state = yy_start;
-yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               yy_last_accepting_state = yy_current_state;
-                               yy_last_accepting_cpos = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 470 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 518 );
-
-yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-
-do_action:     /* This label is used only to access EOF actions. */
-
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = yy_hold_char;
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 80 "rclex.l"
-{ MAYBE_RETURN (BEG); }
-       YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 81 "rclex.l"
-{ MAYBE_RETURN (BEG); }
-       YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 82 "rclex.l"
-{ MAYBE_RETURN (END); }
-       YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 83 "rclex.l"
-{ MAYBE_RETURN (END); }
-       YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 84 "rclex.l"
-{ MAYBE_RETURN (ACCELERATORS); }
-       YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 85 "rclex.l"
-{ MAYBE_RETURN (VIRTKEY); }
-       YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 86 "rclex.l"
-{ MAYBE_RETURN (ASCII); }
-       YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 87 "rclex.l"
-{ MAYBE_RETURN (NOINVERT); }
-       YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 88 "rclex.l"
-{ MAYBE_RETURN (SHIFT); }
-       YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 89 "rclex.l"
-{ MAYBE_RETURN (CONTROL); }
-       YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 90 "rclex.l"
-{ MAYBE_RETURN (ALT); }
-       YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 91 "rclex.l"
-{ MAYBE_RETURN (BITMAP); }
-       YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 92 "rclex.l"
-{ MAYBE_RETURN (CURSOR); }
-       YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 93 "rclex.l"
-{ MAYBE_RETURN (DIALOG); }
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 94 "rclex.l"
-{ MAYBE_RETURN (DIALOGEX); }
-       YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 95 "rclex.l"
-{ MAYBE_RETURN (EXSTYLE); }
-       YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 96 "rclex.l"
-{ MAYBE_RETURN (CAPTION); }
-       YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 97 "rclex.l"
-{ MAYBE_RETURN (CLASS); }
-       YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 98 "rclex.l"
-{ MAYBE_RETURN (STYLE); }
-       YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 99 "rclex.l"
-{ MAYBE_RETURN (AUTO3STATE); }
-       YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 100 "rclex.l"
-{ MAYBE_RETURN (AUTOCHECKBOX); }
-       YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 101 "rclex.l"
-{ MAYBE_RETURN (AUTORADIOBUTTON); }
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 102 "rclex.l"
-{ MAYBE_RETURN (CHECKBOX); }
-       YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 103 "rclex.l"
-{ MAYBE_RETURN (COMBOBOX); }
-       YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 104 "rclex.l"
-{ MAYBE_RETURN (CTEXT); }
-       YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 105 "rclex.l"
-{ MAYBE_RETURN (DEFPUSHBUTTON); }
-       YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 106 "rclex.l"
-{ MAYBE_RETURN (EDITTEXT); }
-       YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 107 "rclex.l"
-{ MAYBE_RETURN (GROUPBOX); }
-       YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 108 "rclex.l"
-{ MAYBE_RETURN (LISTBOX); }
-       YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 109 "rclex.l"
-{ MAYBE_RETURN (LTEXT); }
-       YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 110 "rclex.l"
-{ MAYBE_RETURN (PUSHBOX); }
-       YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 111 "rclex.l"
-{ MAYBE_RETURN (PUSHBUTTON); }
-       YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 112 "rclex.l"
-{ MAYBE_RETURN (RADIOBUTTON); }
-       YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 113 "rclex.l"
-{ MAYBE_RETURN (RTEXT); }
-       YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 114 "rclex.l"
-{ MAYBE_RETURN (SCROLLBAR); }
-       YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 115 "rclex.l"
-{ MAYBE_RETURN (STATE3); }
-       YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 116 "rclex.l"
-{ MAYBE_RETURN (USERBUTTON); }
-       YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 117 "rclex.l"
-{ MAYBE_RETURN (BEDIT); }
-       YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 118 "rclex.l"
-{ MAYBE_RETURN (HEDIT); }
-       YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 119 "rclex.l"
-{ MAYBE_RETURN (IEDIT); }
-       YY_BREAK
-case 41:
-YY_RULE_SETUP
-#line 120 "rclex.l"
-{ MAYBE_RETURN (FONT); }
-       YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 121 "rclex.l"
-{ MAYBE_RETURN (ICON); }
-       YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 122 "rclex.l"
-{ MAYBE_RETURN (LANGUAGE); }
-       YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 123 "rclex.l"
-{ MAYBE_RETURN (CHARACTERISTICS); }
-       YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 124 "rclex.l"
-{ MAYBE_RETURN (VERSIONK); }
-       YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 125 "rclex.l"
-{ MAYBE_RETURN (MENU); }
-       YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 126 "rclex.l"
-{ MAYBE_RETURN (MENUEX); }
-       YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 127 "rclex.l"
-{ MAYBE_RETURN (MENUITEM); }
-       YY_BREAK
-case 49:
-YY_RULE_SETUP
-#line 128 "rclex.l"
-{ MAYBE_RETURN (SEPARATOR); }
-       YY_BREAK
-case 50:
-YY_RULE_SETUP
-#line 129 "rclex.l"
-{ MAYBE_RETURN (POPUP); }
-       YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 130 "rclex.l"
-{ MAYBE_RETURN (CHECKED); }
-       YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 131 "rclex.l"
-{ MAYBE_RETURN (GRAYED); }
-       YY_BREAK
-case 53:
-YY_RULE_SETUP
-#line 132 "rclex.l"
-{ MAYBE_RETURN (HELP); }
-       YY_BREAK
-case 54:
-YY_RULE_SETUP
-#line 133 "rclex.l"
-{ MAYBE_RETURN (INACTIVE); }
-       YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 134 "rclex.l"
-{ MAYBE_RETURN (MENUBARBREAK); }
-       YY_BREAK
-case 56:
-YY_RULE_SETUP
-#line 135 "rclex.l"
-{ MAYBE_RETURN (MENUBREAK); }
-       YY_BREAK
-case 57:
-YY_RULE_SETUP
-#line 136 "rclex.l"
-{ MAYBE_RETURN (MESSAGETABLE); }
-       YY_BREAK
-case 58:
-YY_RULE_SETUP
-#line 137 "rclex.l"
-{ MAYBE_RETURN (RCDATA); }
-       YY_BREAK
-case 59:
-YY_RULE_SETUP
-#line 138 "rclex.l"
-{ MAYBE_RETURN (STRINGTABLE); }
-       YY_BREAK
-case 60:
-YY_RULE_SETUP
-#line 139 "rclex.l"
-{ MAYBE_RETURN (VERSIONINFO); }
-       YY_BREAK
-case 61:
-YY_RULE_SETUP
-#line 140 "rclex.l"
-{ MAYBE_RETURN (FILEVERSION); }
-       YY_BREAK
-case 62:
-YY_RULE_SETUP
-#line 141 "rclex.l"
-{ MAYBE_RETURN (PRODUCTVERSION); }
-       YY_BREAK
-case 63:
-YY_RULE_SETUP
-#line 142 "rclex.l"
-{ MAYBE_RETURN (FILEFLAGSMASK); }
-       YY_BREAK
-case 64:
-YY_RULE_SETUP
-#line 143 "rclex.l"
-{ MAYBE_RETURN (FILEFLAGS); }
-       YY_BREAK
-case 65:
-YY_RULE_SETUP
-#line 144 "rclex.l"
-{ MAYBE_RETURN (FILEOS); }
-       YY_BREAK
-case 66:
-YY_RULE_SETUP
-#line 145 "rclex.l"
-{ MAYBE_RETURN (FILETYPE); }
-       YY_BREAK
-case 67:
-YY_RULE_SETUP
-#line 146 "rclex.l"
-{ MAYBE_RETURN (FILESUBTYPE); }
-       YY_BREAK
-case 68:
-YY_RULE_SETUP
-#line 147 "rclex.l"
-{ MAYBE_RETURN (VALUE); }
-       YY_BREAK
-case 69:
-YY_RULE_SETUP
-#line 148 "rclex.l"
-{ MAYBE_RETURN (MOVEABLE); }
-       YY_BREAK
-case 70:
-YY_RULE_SETUP
-#line 149 "rclex.l"
-{ MAYBE_RETURN (FIXED); }
-       YY_BREAK
-case 71:
-YY_RULE_SETUP
-#line 150 "rclex.l"
-{ MAYBE_RETURN (PURE); }
-       YY_BREAK
-case 72:
-YY_RULE_SETUP
-#line 151 "rclex.l"
-{ MAYBE_RETURN (IMPURE); }
-       YY_BREAK
-case 73:
-YY_RULE_SETUP
-#line 152 "rclex.l"
-{ MAYBE_RETURN (PRELOAD); }
-       YY_BREAK
-case 74:
-YY_RULE_SETUP
-#line 153 "rclex.l"
-{ MAYBE_RETURN (LOADONCALL); }
-       YY_BREAK
-case 75:
-YY_RULE_SETUP
-#line 154 "rclex.l"
-{ MAYBE_RETURN (DISCARDABLE); }
-       YY_BREAK
-case 76:
-YY_RULE_SETUP
-#line 155 "rclex.l"
-{ MAYBE_RETURN (NOT); }
-       YY_BREAK
-case 77:
-YY_RULE_SETUP
-#line 157 "rclex.l"
-{
-                         char *s, *send;
-
-                         /* This is a hack to let us parse version
-                             information easily.  */
-
-                         s = strchr (yytext, '"');
-                         ++s;
-                         send = strchr (s, '"');
-                         if (strncmp (s, "StringFileInfo",
-                                      sizeof "StringFileInfo" - 1) == 0
-                             && s + sizeof "StringFileInfo" - 1 == send)
-                           MAYBE_RETURN (BLOCKSTRINGFILEINFO);
-                         else if (strncmp (s, "VarFileInfo",
-                                           sizeof "VarFileInfo" - 1) == 0
-                                  && s + sizeof "VarFileInfo" - 1 == send)
-                           MAYBE_RETURN (BLOCKVARFILEINFO);
-                         else
-                           {
-                             char *r;
-
-                             r = get_string (send - s + 1);
-                             strncpy (r, s, send - s);
-                             r[send - s] = '\0';
-                             yylval.s = r;
-                             MAYBE_RETURN (BLOCK);
-                           }
-                       }
-       YY_BREAK
-case 78:
-YY_RULE_SETUP
-#line 186 "rclex.l"
-{
-                         cpp_line (yytext);
-                       }
-       YY_BREAK
-case 79:
-YY_RULE_SETUP
-#line 190 "rclex.l"
-{
-                         yylval.i.val = strtoul (yytext, 0, 0);
-                         yylval.i.dword = 1;
-                         MAYBE_RETURN (NUMBER);
-                       }
-       YY_BREAK
-case 80:
-YY_RULE_SETUP
-#line 196 "rclex.l"
-{
-                         yylval.i.val = strtoul (yytext, 0, 0);
-                         yylval.i.dword = 0;
-                         MAYBE_RETURN (NUMBER);
-                       }
-       YY_BREAK
-case 81:
-YY_RULE_SETUP
-#line 202 "rclex.l"
-{
-                         char *s;
-                         unsigned long length;
-
-                         s = handle_quotes (yytext, &length);
-                         if (! rcdata_mode)
-                           {
-                             yylval.s = s;
-                             MAYBE_RETURN (QUOTEDSTRING);
-                           }
-                         else
-                           {
-                             yylval.ss.length = length;
-                             yylval.ss.s = s;
-                             MAYBE_RETURN (SIZEDSTRING);
-                           }
-                       }
-       YY_BREAK
-case 82:
-YY_RULE_SETUP
-#line 220 "rclex.l"
-{
-                         char *s;
-
-                         /* I rejected comma in a string in order to
-                            handle VIRTKEY, CONTROL in an accelerator
-                            resource.  This means that an unquoted
-                            file name can not contain a comma.  I
-                            don't know what rc permits.  */
-
-                         s = get_string (strlen (yytext) + 1);
-                         strcpy (s, yytext);
-                         yylval.s = s;
-                         MAYBE_RETURN (STRING);
-                       }
-       YY_BREAK
-case 83:
-YY_RULE_SETUP
-#line 235 "rclex.l"
-{ ++rc_lineno; }
-       YY_BREAK
-case 84:
-YY_RULE_SETUP
-#line 236 "rclex.l"
-{ /* ignore whitespace */ }
-       YY_BREAK
-case 85:
-YY_RULE_SETUP
-#line 237 "rclex.l"
-{ MAYBE_RETURN (*yytext); }
-       YY_BREAK
-case 86:
-YY_RULE_SETUP
-#line 239 "rclex.l"
-ECHO;
-       YY_BREAK
-#line 1460 "lex.yy.c"
-case YY_STATE_EOF(INITIAL):
-       yyterminate();
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = yy_hold_char;
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between yy_current_buffer and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       yy_n_chars = yy_current_buffer->yy_n_chars;
-                       yy_current_buffer->yy_input_file = yyin;
-                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state();
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++yy_c_buf_p;
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = yy_c_buf_p;
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer() )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               yy_did_buffer_switch_on_eof = 0;
-
-                               if ( yywrap() )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               yy_c_buf_p =
-                                       yytext_ptr + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               yy_c_buf_p =
-                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
-       } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-       {
-       register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr;
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( yy_current_buffer->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-       else
-               {
-               int num_to_read =
-                       yy_current_buffer->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-                       YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = yy_current_buffer;
-
-                       int yy_c_buf_p_offset =
-                               (int) (yy_c_buf_p - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                        b->yy_buf_size + 2 );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = yy_current_buffer->yy_buf_size -
-                                               number_to_move - 1;
-#endif
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-                       yy_n_chars, num_to_read );
-
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       if ( yy_n_chars == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       yy_current_buffer->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       yy_n_chars += number_to_move;
-       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
-       return ret_val;
-       }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-
-       yy_current_state = yy_start;
-
-       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       yy_last_accepting_state = yy_current_state;
-                       yy_last_accepting_cpos = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 470 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
-       }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-       {
-       register int yy_is_jam;
-       register char *yy_cp = yy_c_buf_p;
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               yy_last_accepting_state = yy_current_state;
-               yy_last_accepting_cpos = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 470 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 469);
-
-       return yy_is_jam ? 0 : yy_current_state;
-       }
-
-
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-       {
-       register char *yy_cp = yy_c_buf_p;
-
-       /* undo effects of setting up yytext */
-       *yy_cp = yy_hold_char;
-
-       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = yy_n_chars + 2;
-               register char *dest = &yy_current_buffer->yy_ch_buf[
-                                       yy_current_buffer->yy_buf_size + 2];
-               register char *source =
-                               &yy_current_buffer->yy_ch_buf[number_to_move];
-
-               while ( source > yy_current_buffer->yy_ch_buf )
-                       *--dest = *--source;
-
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               yy_current_buffer->yy_n_chars =
-                       yy_n_chars = yy_current_buffer->yy_buf_size;
-
-               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
-
-       *--yy_cp = (char) c;
-
-
-       yytext_ptr = yy_bp;
-       yy_hold_char = *yy_cp;
-       yy_c_buf_p = yy_cp;
-       }
-#endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-       {
-       int c;
-
-       *yy_c_buf_p = yy_hold_char;
-
-       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       /* This was really a NUL. */
-                       *yy_c_buf_p = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = yy_c_buf_p - yytext_ptr;
-                       ++yy_c_buf_p;
-
-                       switch ( yy_get_next_buffer() )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /* fall through */
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap() )
-                                               return EOF;
-
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
-                                       return input();
-#endif
-                                       }
-
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       yy_c_buf_p = yytext_ptr + offset;
-                                       break;
-                               }
-                       }
-               }
-
-       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
-       *yy_c_buf_p = '\0';     /* preserve yytext */
-       yy_hold_char = *++yy_c_buf_p;
-
-
-       return c;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-       {
-       if ( ! yy_current_buffer )
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-       yy_init_buffer( yy_current_buffer, input_file );
-       yy_load_buffer_state();
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-       {
-       if ( yy_current_buffer == new_buffer )
-               return;
-
-       if ( yy_current_buffer )
-               {
-               /* Flush out information for old buffer. */
-               *yy_c_buf_p = yy_hold_char;
-               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       yy_current_buffer = new_buffer;
-       yy_load_buffer_state();
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       yy_did_buffer_switch_on_eof = 1;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-       {
-       yy_n_chars = yy_current_buffer->yy_n_chars;
-       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-       yyin = yy_current_buffer->yy_input_file;
-       yy_hold_char = *yy_c_buf_p;
-       }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_buf_size = size;
-
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_is_our_buffer = 1;
-
-       yy_init_buffer( b, file );
-
-       return b;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-       {
-       if ( ! b )
-               return;
-
-       if ( b == yy_current_buffer )
-               yy_current_buffer = (YY_BUFFER_STATE) 0;
-
-       if ( b->yy_is_our_buffer )
-               yy_flex_free( (void *) b->yy_ch_buf );
-
-       yy_flex_free( (void *) b );
-       }
-
-
-#ifndef _WIN32
-#include <unistd.h>
-#else
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
-       {
-       yy_flush_buffer( b );
-
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
-       b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-       b->yy_is_interactive = 0;
-#else
-       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
-       {
-       if ( ! b )
-               return;
-
-       b->yy_n_chars = 0;
-
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-       b->yy_buf_pos = &b->yy_ch_buf[0];
-
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       if ( b == yy_current_buffer )
-               yy_load_buffer_state();
-       }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       if ( size < 2 ||
-            base[size-2] != YY_END_OF_BUFFER_CHAR ||
-            base[size-1] != YY_END_OF_BUFFER_CHAR )
-               /* They forgot to leave room for the EOB's. */
-               return 0;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
-       b->yy_buf_pos = b->yy_ch_buf = base;
-       b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
-       b->yy_n_chars = b->yy_buf_size;
-       b->yy_is_interactive = 0;
-       b->yy_at_bol = 1;
-       b->yy_fill_buffer = 0;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       yy_switch_to_buffer( b );
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-       {
-       int len;
-       for ( len = 0; yy_str[len]; ++len )
-               ;
-
-       return yy_scan_bytes( yy_str, len );
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-       {
-       YY_BUFFER_STATE b;
-       char *buf;
-       yy_size_t n;
-       int i;
-
-       /* Get memory for full buffer, including space for trailing EOB's. */
-       n = len + 2;
-       buf = (char *) yy_flex_alloc( n );
-       if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-       for ( i = 0; i < len; ++i )
-               buf[i] = bytes[i];
-
-       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-       b = yy_scan_buffer( buf, n );
-       if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-       /* It's okay to grow etc. this buffer, and we should throw it
-        * away when we're done.
-        */
-       b->yy_is_our_buffer = 1;
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
-       {
-       if ( yy_start_stack_ptr >= yy_start_stack_depth )
-               {
-               yy_size_t new_size;
-
-               yy_start_stack_depth += YY_START_STACK_INCR;
-               new_size = yy_start_stack_depth * sizeof( int );
-
-               if ( ! yy_start_stack )
-                       yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-               else
-                       yy_start_stack = (int *) yy_flex_realloc(
-                                       (void *) yy_start_stack, new_size );
-
-               if ( ! yy_start_stack )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
-
-       yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
-       BEGIN(new_state);
-       }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-       {
-       if ( --yy_start_stack_ptr < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
-
-       BEGIN(yy_start_stack[yy_start_stack_ptr]);
-       }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-       {
-       return yy_start_stack[yy_start_stack_ptr - 1];
-       }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-       {
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-       }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               yytext[yyleng] = yy_hold_char; \
-               yy_c_buf_p = yytext + n; \
-               yy_hold_char = *yy_c_buf_p; \
-               *yy_c_buf_p = '\0'; \
-               yyleng = n; \
-               } \
-       while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-       {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
-       }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-       {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
-
-       return n;
-       }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-       {
-       return (void *) malloc( size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-       {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-       {
-       free( ptr );
-       }
-
-#if YY_MAIN
-int main()
-       {
-       yylex();
-       return 0;
-       }
-#endif
-#line 239 "rclex.l"
-
-#ifndef yywrap
-/* This is needed for some versions of lex.  */
-int yywrap (void)
-{
-  return 1;
-}
-#endif
-
-/* Handle a C preprocessor line.  */
-
-static void
-cpp_line (const char *s)
-{
-  int line;
-  char *send, *fn;
-
-  ++s;
-  while (ISSPACE (*s))
-    ++s;
-  
-  line = strtol (s, &send, 0);
-  if (*send != '\0' && ! ISSPACE (*send))
-    return;
-
-  /* Subtract 1 because we are about to count the newline.  */
-  rc_lineno = line - 1;
-
-  s = send;
-  while (ISSPACE (*s))
-    ++s;
-
-  if (*s != '"')
-    return;
-
-  ++s;
-  send = strchr (s, '"');
-  if (send == NULL)
-    return;
-
-  fn = (char *) xmalloc (send - s + 1);
-  strncpy (fn, s, send - s);
-  fn[send - s] = '\0';
-
-  free (rc_filename);
-  rc_filename = fn;
-
-  if (!initial_fn)
-    {
-      initial_fn = xmalloc (strlen (fn) + 1);
-      strcpy (initial_fn, fn);
-    }
-
-  /* Allow the initial file, regardless of name.  Suppress all other
-     files if they end in ".h" (this allows included "*.rc").  */
-  if (strcmp (initial_fn, fn) == 0
-      || strcmp (fn + strlen (fn) - 2, ".h") != 0)
-    suppress_cpp_data = 0;
-  else
-    suppress_cpp_data = 1;
-}
-
-/* Handle a quoted string.  The quotes are stripped.  A pair of quotes
-   in a string are turned into a single quote.  Adjacent strings are
-   merged separated by whitespace are merged, as in C.  */
-
-static char *
-handle_quotes (const char *input, unsigned long *len)
-{
-  char *ret, *s;
-  const char *t;
-  int ch;
-
-  ret = get_string (strlen (input) + 1);
-
-  s = ret;
-  t = input;
-  if (*t == '"')
-    ++t;
-  while (*t != '\0')
-    {
-      if (*t == '\\')
-       {
-         ++t;
-         switch (*t)
-           {
-           case '\0':
-             rcparse_warning ("backslash at end of string");
-             break;
-
-           case '\"':
-             rcparse_warning ("use \"\" to put \" in a string");
-             break;
-
-           case 'a':
-             *s++ = ESCAPE_B; /* Strange, but true...  */
-             ++t;
-             break;
-
-           case 'b':
-             *s++ = ESCAPE_B;
-             ++t;
-             break;
-
-           case 'f':
-             *s++ = ESCAPE_F;
-             ++t;
-             break;
-
-           case 'n':
-             *s++ = ESCAPE_N;
-             ++t;
-             break;
-
-           case 'r':
-             *s++ = ESCAPE_R;
-             ++t;
-             break;
-
-           case 't':
-             *s++ = ESCAPE_T;
-             ++t;
-             break;
-
-           case 'v':
-             *s++ = ESCAPE_V;
-             ++t;
-             break;
-
-           case '\\':
-             *s++ = *t++;
-             break;
-
-           case '0': case '1': case '2': case '3':
-           case '4': case '5': case '6': case '7':
-             ch = *t - '0';
-             ++t;
-             if (*t >= '0' && *t <= '7')
-               {
-                 ch = (ch << 3) | (*t - '0');
-                 ++t;
-                 if (*t >= '0' && *t <= '7')
-                   {
-                     ch = (ch << 3) | (*t - '0');
-                     ++t;
-                   }
-               }
-             *s++ = ch;
-             break;
-
-           case 'x':
-             ++t;
-             ch = 0;
-             while (1)
-               {
-                 if (*t >= '0' && *t <= '9')
-                   ch = (ch << 4) | (*t - '0');
-                 else if (*t >= 'a' && *t <= 'f')
-                   ch = (ch << 4) | (*t - 'a' + 10);
-                 else if (*t >= 'A' && *t <= 'F')
-                   ch = (ch << 4) | (*t - 'A' + 10);
-                 else
-                   break;
-                 ++t;
-               }
-             *s++ = ch;
-             break;
-
-           default:
-             rcparse_warning ("unrecognized escape sequence");
-             *s++ = '\\';
-             *s++ = *t++;
-             break;
-           }
-       }
-      else if (*t != '"')
-       *s++ = *t++;
-      else if (t[1] == '\0')
-       break;
-      else if (t[1] == '"')
-       {
-         *s++ = '"';
-         t += 2;
-       }
-      else
-       {
-         ++t;
-         assert (ISSPACE (*t));
-         while (ISSPACE (*t))
-           {
-             if ((*t) == '\n')
-               ++rc_lineno;
-             ++t;
-           }
-         if (*t == '\0')
-           break;
-         assert (*t == '"');
-         ++t;
-       }
-    }
-
-  *s = '\0';
-
-  *len = s - ret;
-
-  return ret;
-}
-
-/* Allocate a string of a given length.  */
-
-static char *
-get_string (int len)
-{
-  struct alloc_string *as;
-
-  as = (struct alloc_string *) xmalloc (sizeof *as);
-  as->s = xmalloc (len);
-
-  as->next = strings;
-  strings = as;
-
-  return as->s;
-}
-
-/* Discard all the strings we have allocated.  The parser calls this
-   when it no longer needs them.  */
-
-void
-rcparse_discard_strings (void)
-{
-  struct alloc_string *as;
-
-  as = strings;
-  while (as != NULL)
-    {
-      struct alloc_string *n;
-
-      free (as->s);
-      n = as->next;
-      free (as);
-      as = n;
-    }
-
-  strings = NULL;
-}
-
-/* Enter rcdata mode.  */
-
-void
-rcparse_rcdata (void)
-{
-  rcdata_mode = 1;
-}
-
-/* Go back to normal mode from rcdata mode.  */
-
-void
-rcparse_normal (void)
-{
-  rcdata_mode = 0;
-}
diff --git a/binutils/rcparse.c b/binutils/rcparse.c
deleted file mode 100644 (file)
index 89116ed..0000000
+++ /dev/null
@@ -1,3513 +0,0 @@
-/* A Bison parser, made from rcparse.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       BEG     257
-# define       END     258
-# define       ACCELERATORS    259
-# define       VIRTKEY 260
-# define       ASCII   261
-# define       NOINVERT        262
-# define       SHIFT   263
-# define       CONTROL 264
-# define       ALT     265
-# define       BITMAP  266
-# define       CURSOR  267
-# define       DIALOG  268
-# define       DIALOGEX        269
-# define       EXSTYLE 270
-# define       CAPTION 271
-# define       CLASS   272
-# define       STYLE   273
-# define       AUTO3STATE      274
-# define       AUTOCHECKBOX    275
-# define       AUTORADIOBUTTON 276
-# define       CHECKBOX        277
-# define       COMBOBOX        278
-# define       CTEXT   279
-# define       DEFPUSHBUTTON   280
-# define       EDITTEXT        281
-# define       GROUPBOX        282
-# define       LISTBOX 283
-# define       LTEXT   284
-# define       PUSHBOX 285
-# define       PUSHBUTTON      286
-# define       RADIOBUTTON     287
-# define       RTEXT   288
-# define       SCROLLBAR       289
-# define       STATE3  290
-# define       USERBUTTON      291
-# define       BEDIT   292
-# define       HEDIT   293
-# define       IEDIT   294
-# define       FONT    295
-# define       ICON    296
-# define       LANGUAGE        297
-# define       CHARACTERISTICS 298
-# define       VERSIONK        299
-# define       MENU    300
-# define       MENUEX  301
-# define       MENUITEM        302
-# define       SEPARATOR       303
-# define       POPUP   304
-# define       CHECKED 305
-# define       GRAYED  306
-# define       HELP    307
-# define       INACTIVE        308
-# define       MENUBARBREAK    309
-# define       MENUBREAK       310
-# define       MESSAGETABLE    311
-# define       RCDATA  312
-# define       STRINGTABLE     313
-# define       VERSIONINFO     314
-# define       FILEVERSION     315
-# define       PRODUCTVERSION  316
-# define       FILEFLAGSMASK   317
-# define       FILEFLAGS       318
-# define       FILEOS  319
-# define       FILETYPE        320
-# define       FILESUBTYPE     321
-# define       BLOCKSTRINGFILEINFO     322
-# define       BLOCKVARFILEINFO        323
-# define       VALUE   324
-# define       BLOCK   325
-# define       MOVEABLE        326
-# define       FIXED   327
-# define       PURE    328
-# define       IMPURE  329
-# define       PRELOAD 330
-# define       LOADONCALL      331
-# define       DISCARDABLE     332
-# define       NOT     333
-# define       QUOTEDSTRING    334
-# define       STRING  335
-# define       NUMBER  336
-# define       SIZEDSTRING     337
-# define       IGNORED_TOKEN   338
-# define       NEG     339
-
-#line 1 "rcparse.y"
- /* rcparse.y -- parser for Windows rc files
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
-   Free Software Foundation, Inc.
-   Written by Ian Lance Taylor, Cygnus Support.
-
-   This file is part of GNU Binutils.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
-
-/* This is a parser for Windows rc files.  It is based on the parser
-   by Gunther Ebert <gunther.ebert@ixos-leipzig.de>.  */
-
-#include "bfd.h"
-#include "bucomm.h"
-#include "libiberty.h"
-#include "windres.h"
-#include "safe-ctype.h"
-
-/* The current language.  */
-
-static unsigned short language;
-
-/* The resource information during a sub statement.  */
-
-static struct res_res_info sub_res_info;
-
-/* Dialog information.  This is built by the nonterminals styles and
-   controls.  */
-
-static struct dialog dialog;
-
-/* This is used when building a style.  It is modified by the
-   nonterminal styleexpr.  */
-
-static unsigned long style;
-
-/* These are used when building a control.  They are set before using
-   control_params.  */
-
-static unsigned long base_style;
-static unsigned long default_style;
-static unsigned long class;
-static struct res_id res_text_field;
-static unichar null_unichar;
-
-/* This is used for COMBOBOX, LISTBOX and EDITTEXT which
-   do not allow resource 'text' field in control definition. */
-static const struct res_id res_null_text = { 1, {{0, &null_unichar}}};
-
-
-#line 65 "rcparse.y"
-#ifndef YYSTYPE
-typedef union
-{
-  struct accelerator acc;
-  struct accelerator *pacc;
-  struct dialog_control *dialog_control;
-  struct menuitem *menuitem;
-  struct
-  {
-    struct rcdata_item *first;
-    struct rcdata_item *last;
-  } rcdata;
-  struct rcdata_item *rcdata_item;
-  struct stringtable_data *stringtable;
-  struct fixed_versioninfo *fixver;
-  struct ver_info *verinfo;
-  struct ver_stringinfo *verstring;
-  struct ver_varinfo *vervar;
-  struct res_id id;
-  struct res_res_info res_info;
-  struct
-  {
-    unsigned short on;
-    unsigned short off;
-  } memflags;
-  struct
-  {
-    unsigned long val;
-    /* Nonzero if this number was explicitly specified as long.  */
-    int dword;
-  } i;
-  unsigned long il;
-  unsigned short is;
-  const char *s;
-  struct
-  {
-    unsigned long length;
-    const char *s;
-  } ss;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         500
-#define        YYFLAG          -32768
-#define        YYNTBASE        99
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 189)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,    92,    87,     2,
-      97,    98,    90,    88,    95,    89,     2,    91,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    96,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    86,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    85,     2,    93,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    94
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     1,     4,     7,    10,    13,    16,    19,    22,
-      25,    28,    31,    34,    37,    40,    43,    46,    53,    54,
-      57,    60,    65,    67,    69,    71,    75,    78,    80,    82,
-      84,    86,    88,    90,    95,   100,   101,   115,   116,   130,
-     131,   146,   147,   151,   152,   156,   160,   164,   168,   172,
-     178,   185,   193,   202,   206,   210,   215,   219,   220,   223,
-     224,   229,   230,   235,   236,   241,   242,   247,   248,   253,
-     254,   258,   270,   283,   296,   310,   311,   316,   317,   322,
-     323,   327,   328,   333,   334,   339,   346,   355,   366,   378,
-     379,   384,   385,   389,   390,   395,   396,   401,   402,   407,
-     408,   413,   414,   419,   420,   424,   425,   430,   431,   447,
-     454,   463,   473,   474,   477,   479,   482,   483,   487,   488,
-     492,   493,   497,   498,   502,   507,   512,   516,   523,   524,
-     527,   532,   535,   542,   543,   547,   550,   552,   554,   556,
-     558,   560,   562,   569,   570,   573,   576,   580,   586,   589,
-     595,   602,   610,   620,   625,   632,   637,   638,   641,   642,
-     644,   646,   648,   652,   656,   657,   664,   665,   669,   674,
-     681,   686,   693,   694,   701,   708,   712,   716,   720,   724,
-     728,   729,   738,   746,   747,   753,   754,   758,   760,   762,
-     764,   767,   770,   773,   775,   776,   779,   783,   788,   792,
-     793,   796,   797,   800,   802,   804,   806,   808,   810,   812,
-     814,   816,   818,   820,   823,   827,   832,   834,   838,   839,
-     841,   844,   846,   848,   852,   855,   858,   862,   866,   870,
-     874,   878,   882,   886,   890,   893,   895,   897,   901,   904,
-     908,   912,   916,   920,   924,   928,   932
-};
-static const short yyrhs[] =
-{
-      -1,    99,   100,     0,    99,   106,     0,    99,   107,     0,
-      99,   108,     0,    99,   146,     0,    99,   147,     0,    99,
-     148,     0,    99,   149,     0,    99,   154,     0,    99,   157,
-       0,    99,   158,     0,    99,   163,     0,    99,   166,     0,
-      99,   167,     0,    99,    84,     0,   172,     5,   175,     3,
-     101,     4,     0,     0,   101,   102,     0,   103,   186,     0,
-     103,   186,    95,   104,     0,    80,     0,   187,     0,   105,
-       0,   104,    95,   105,     0,   104,   105,     0,     6,     0,
-       7,     0,     8,     0,     9,     0,    10,     0,    11,     0,
-     172,    12,   177,   179,     0,   172,    13,   176,   179,     0,
-       0,   172,    14,   177,   112,   187,   183,   183,   183,   109,
-     113,     3,   114,     4,     0,     0,   172,    15,   177,   112,
-     187,   183,   183,   183,   110,   113,     3,   114,     4,     0,
-       0,   172,    15,   177,   112,   187,   183,   183,   183,   183,
-     111,   113,     3,   114,     4,     0,     0,    16,    96,   184,
-       0,     0,   113,    17,    80,     0,   113,    18,   172,     0,
-     113,    19,   180,     0,   113,    16,   184,     0,   113,    18,
-      80,     0,   113,    41,   184,    95,    80,     0,   113,    41,
-     184,    95,    80,   183,     0,   113,    41,   184,    95,    80,
-     183,   183,     0,   113,    41,   184,    95,    80,   183,   183,
-     183,     0,   113,    46,   172,     0,   113,    44,   184,     0,
-     113,    43,   184,   183,     0,   113,    45,   184,     0,     0,
-     114,   115,     0,     0,    20,   138,   116,   137,     0,     0,
-      21,   138,   117,   137,     0,     0,    22,   138,   118,   137,
-       0,     0,    38,   138,   119,   137,     0,     0,    23,   138,
-     120,   137,     0,     0,    24,   121,   137,     0,    10,   138,
-     184,   183,   140,   183,   183,   183,   183,   182,   139,     0,
-      10,   138,   184,   183,   140,   183,   183,   183,   183,   183,
-     183,   139,     0,    10,   138,   184,    95,    80,   140,   183,
-     183,   183,   183,   182,   139,     0,    10,   138,   184,    95,
-      80,   140,   183,   183,   183,   183,   183,   183,   139,     0,
-       0,    25,   138,   122,   137,     0,     0,    26,   138,   123,
-     137,     0,     0,    27,   124,   137,     0,     0,    28,   138,
-     125,   137,     0,     0,    39,   138,   126,   137,     0,    42,
-     174,   184,   183,   183,   139,     0,    42,   174,   184,   183,
-     183,   183,   183,   139,     0,    42,   174,   184,   183,   183,
-     183,   183,   142,   182,   139,     0,    42,   174,   184,   183,
-     183,   183,   183,   142,   183,   183,   139,     0,     0,    40,
-     138,   127,   137,     0,     0,    29,   128,   137,     0,     0,
-      30,   138,   129,   137,     0,     0,    31,   138,   130,   137,
-       0,     0,    32,   138,   131,   137,     0,     0,    33,   138,
-     132,   137,     0,     0,    34,   138,   133,   137,     0,     0,
-      35,   134,   137,     0,     0,    36,   138,   135,   137,     0,
-       0,    37,   174,   184,    95,   184,    95,   184,    95,   184,
-      95,   184,    95,   136,   180,   182,     0,   184,   183,   183,
-     183,   183,   139,     0,   184,   183,   183,   183,   183,   144,
-     182,   139,     0,   184,   183,   183,   183,   183,   144,   183,
-     183,   139,     0,     0,   187,    95,     0,    80,     0,    80,
-      95,     0,     0,     3,   159,     4,     0,     0,    95,   141,
-     180,     0,     0,    95,   143,   180,     0,     0,    95,   145,
-     180,     0,   172,    41,   176,   179,     0,   172,    42,   176,
-     179,     0,    43,   184,   183,     0,   172,    46,   175,     3,
-     150,     4,     0,     0,   150,   151,     0,    48,    80,   183,
-     152,     0,    48,    49,     0,    50,    80,   152,     3,   150,
-       4,     0,     0,   152,    95,   153,     0,   152,   153,     0,
-      51,     0,    52,     0,    53,     0,    54,     0,    55,     0,
-      56,     0,   172,    47,   175,     3,   155,     4,     0,     0,
-     155,   156,     0,    48,    80,     0,    48,    80,   183,     0,
-      48,    80,   183,   183,   182,     0,    48,    49,     0,    50,
-      80,     3,   155,     4,     0,    50,    80,   183,     3,   155,
-       4,     0,    50,    80,   183,   183,     3,   155,     4,     0,
-      50,    80,   183,   183,   183,   182,     3,   155,     4,     0,
-     172,    57,   177,   179,     0,   172,    58,   175,     3,   159,
-       4,     0,   172,    58,   175,   179,     0,     0,   160,   161,
-       0,     0,   162,     0,    83,     0,   185,     0,   162,    95,
-      83,     0,   162,    95,   185,     0,     0,    59,   175,     3,
-     164,   165,     4,     0,     0,   165,   184,    80,     0,   165,
-     184,    95,    80,     0,   172,   172,   175,     3,   159,     4,
-       0,   172,   172,   175,   179,     0,   172,    60,   168,     3,
-     169,     4,     0,     0,   168,    61,   184,   183,   183,   183,
-       0,   168,    62,   184,   183,   183,   183,     0,   168,    63,
-     184,     0,   168,    64,   184,     0,   168,    65,   184,     0,
-     168,    66,   184,     0,   168,    67,   184,     0,     0,   169,
-      68,     3,    71,     3,   170,     4,     4,     0,   169,    69,
-       3,    70,    80,   171,     4,     0,     0,   170,    70,    80,
-      95,    80,     0,     0,   171,   183,   183,     0,   187,     0,
-      81,     0,    80,     0,    80,    95,     0,    81,    95,     0,
-     187,    95,     0,   173,     0,     0,   175,   178,     0,   175,
-      44,   184,     0,   175,    43,   184,   183,     0,   175,    45,
-     184,     0,     0,   176,   178,     0,     0,   177,   178,     0,
-      72,     0,    73,     0,    74,     0,    75,     0,    76,     0,
-      77,     0,    78,     0,    80,     0,    81,     0,   181,     0,
-      79,   181,     0,   180,    85,   181,     0,   180,    85,    79,
-     181,     0,    82,     0,    97,   184,    98,     0,     0,   183,
-       0,    95,   184,     0,   185,     0,    82,     0,    97,   185,
-      98,     0,    93,   185,     0,    89,   185,     0,   185,    90,
-     185,     0,   185,    91,   185,     0,   185,    92,   185,     0,
-     185,    88,   185,     0,   185,    89,   185,     0,   185,    87,
-     185,     0,   185,    86,   185,     0,   185,    85,   185,     0,
-      95,   187,     0,   188,     0,    82,     0,    97,   185,    98,
-       0,    93,   185,     0,   188,    90,   185,     0,   188,    91,
-     185,     0,   188,    92,   185,     0,   188,    88,   185,     0,
-     188,    89,   185,     0,   188,    87,   185,     0,   188,    86,
-     185,     0,   188,    85,   185,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,   161,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   182,   192,   197,
-     217,   223,   234,   256,   265,   270,   275,   281,   286,   291,
-     295,   299,   303,   311,   323,   335,   335,   361,   361,   388,
-     388,   418,   423,   429,   431,   437,   441,   446,   450,   454,
-     467,   482,   497,   512,   516,   520,   524,   530,   532,   542,
-     542,   554,   554,   565,   565,   576,   576,   590,   590,   601,
-     601,   614,   625,   634,   647,   658,   658,   669,   669,   680,
-     680,   691,   691,   702,   702,   716,   721,   727,   733,   739,
-     739,   753,   753,   764,   764,   775,   775,   785,   785,   796,
-     796,   807,   807,   818,   818,   829,   829,   840,   840,   857,
-     869,   880,   891,   896,   901,   905,   911,   916,   924,   924,
-     930,   930,   936,   936,   944,   956,   969,   978,   988,   993,
-    1009,  1014,  1018,  1024,  1029,  1033,  1039,  1044,  1048,  1052,
-    1056,  1060,  1068,  1078,  1083,  1099,  1104,  1108,  1112,  1116,
-    1120,  1124,  1128,  1137,  1149,  1157,  1169,  1169,  1180,  1186,
-    1192,  1201,  1209,  1218,  1231,  1231,  1237,  1239,  1246,  1258,
-    1266,  1277,  1287,  1294,  1300,  1306,  1311,  1316,  1321,  1326,
-    1339,  1344,  1348,  1354,  1359,  1365,  1370,  1378,  1384,  1399,
-    1404,  1408,  1415,  1421,  1437,  1445,  1451,  1456,  1461,  1470,
-    1477,  1487,  1494,  1505,  1511,  1516,  1521,  1526,  1531,  1536,
-    1545,  1550,  1566,  1571,  1575,  1579,  1585,  1590,  1598,  1603,
-    1611,  1620,  1629,  1634,  1638,  1643,  1648,  1653,  1658,  1663,
-    1668,  1673,  1678,  1683,  1693,  1702,  1713,  1718,  1722,  1727,
-    1732,  1737,  1742,  1747,  1752,  1757,  1762
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "BEG", "END", "ACCELERATORS", "VIRTKEY", 
-  "ASCII", "NOINVERT", "SHIFT", "CONTROL", "ALT", "BITMAP", "CURSOR", 
-  "DIALOG", "DIALOGEX", "EXSTYLE", "CAPTION", "CLASS", "STYLE", 
-  "AUTO3STATE", "AUTOCHECKBOX", "AUTORADIOBUTTON", "CHECKBOX", "COMBOBOX", 
-  "CTEXT", "DEFPUSHBUTTON", "EDITTEXT", "GROUPBOX", "LISTBOX", "LTEXT", 
-  "PUSHBOX", "PUSHBUTTON", "RADIOBUTTON", "RTEXT", "SCROLLBAR", "STATE3", 
-  "USERBUTTON", "BEDIT", "HEDIT", "IEDIT", "FONT", "ICON", "LANGUAGE", 
-  "CHARACTERISTICS", "VERSIONK", "MENU", "MENUEX", "MENUITEM", 
-  "SEPARATOR", "POPUP", "CHECKED", "GRAYED", "HELP", "INACTIVE", 
-  "MENUBARBREAK", "MENUBREAK", "MESSAGETABLE", "RCDATA", "STRINGTABLE", 
-  "VERSIONINFO", "FILEVERSION", "PRODUCTVERSION", "FILEFLAGSMASK", 
-  "FILEFLAGS", "FILEOS", "FILETYPE", "FILESUBTYPE", "BLOCKSTRINGFILEINFO", 
-  "BLOCKVARFILEINFO", "VALUE", "BLOCK", "MOVEABLE", "FIXED", "PURE", 
-  "IMPURE", "PRELOAD", "LOADONCALL", "DISCARDABLE", "NOT", "QUOTEDSTRING", 
-  "STRING", "NUMBER", "SIZEDSTRING", "IGNORED_TOKEN", "'|'", "'^'", "'&'", 
-  "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "NEG", "','", "'='", "'('", 
-  "')'", "input", "accelerator", "acc_entries", "acc_entry", "acc_event", 
-  "acc_options", "acc_option", "bitmap", "cursor", "dialog", "@1", "@2", 
-  "@3", "exstyle", "styles", "controls", "control", "@4", "@5", "@6", 
-  "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", 
-  "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", 
-  "control_params", "optresidc", "opt_control_data", "control_styleexpr", 
-  "@25", "icon_styleexpr", "@26", "control_params_styleexpr", "@27", 
-  "font", "icon", "language", "menu", "menuitems", "menuitem", 
-  "menuitem_flags", "menuitem_flag", "menuex", "menuexitems", 
-  "menuexitem", "messagetable", "rcdata", "optrcdata_data", "@28", 
-  "optrcdata_data_int", "rcdata_data", "stringtable", "@29", 
-  "string_data", "user", "versioninfo", "fixedverinfo", "verblocks", 
-  "vervals", "vertrans", "id", "resname", "resref", "suboptions", 
-  "memflags_move_discard", "memflags_move", "memflag", "file_name", 
-  "styleexpr", "parennumber", "optcnumexpr", "cnumexpr", "numexpr", 
-  "sizednumexpr", "cposnumexpr", "posnumexpr", "sizedposnumexpr", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    99,    99,    99,    99,    99,    99,    99,    99,    99,
-      99,    99,    99,    99,    99,    99,    99,   100,   101,   101,
-     102,   102,   103,   103,   104,   104,   104,   105,   105,   105,
-     105,   105,   105,   106,   107,   109,   108,   110,   108,   111,
-     108,   112,   112,   113,   113,   113,   113,   113,   113,   113,
-     113,   113,   113,   113,   113,   113,   113,   114,   114,   116,
-     115,   117,   115,   118,   115,   119,   115,   120,   115,   121,
-     115,   115,   115,   115,   115,   122,   115,   123,   115,   124,
-     115,   125,   115,   126,   115,   115,   115,   115,   115,   127,
-     115,   128,   115,   129,   115,   130,   115,   131,   115,   132,
-     115,   133,   115,   134,   115,   135,   115,   136,   115,   137,
-     137,   137,   138,   138,   138,   138,   139,   139,   141,   140,
-     143,   142,   145,   144,   146,   147,   148,   149,   150,   150,
-     151,   151,   151,   152,   152,   152,   153,   153,   153,   153,
-     153,   153,   154,   155,   155,   156,   156,   156,   156,   156,
-     156,   156,   156,   157,   158,   158,   160,   159,   161,   161,
-     162,   162,   162,   162,   164,   163,   165,   165,   165,   166,
-     166,   167,   168,   168,   168,   168,   168,   168,   168,   168,
-     169,   169,   169,   170,   170,   171,   171,   172,   172,   173,
-     173,   173,   174,   174,   175,   175,   175,   175,   175,   176,
-     176,   177,   177,   178,   178,   178,   178,   178,   178,   178,
-     179,   179,   180,   180,   180,   180,   181,   181,   182,   182,
-     183,   184,   185,   185,   185,   185,   185,   185,   185,   185,
-     185,   185,   185,   185,   186,   187,   188,   188,   188,   188,
-     188,   188,   188,   188,   188,   188,   188
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     0,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     6,     0,     2,
-       2,     4,     1,     1,     1,     3,     2,     1,     1,     1,
-       1,     1,     1,     4,     4,     0,    13,     0,    13,     0,
-      14,     0,     3,     0,     3,     3,     3,     3,     3,     5,
-       6,     7,     8,     3,     3,     4,     3,     0,     2,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       3,    11,    12,    12,    13,     0,     4,     0,     4,     0,
-       3,     0,     4,     0,     4,     6,     8,    10,    11,     0,
-       4,     0,     3,     0,     4,     0,     4,     0,     4,     0,
-       4,     0,     4,     0,     3,     0,     4,     0,    15,     6,
-       8,     9,     0,     2,     1,     2,     0,     3,     0,     3,
-       0,     3,     0,     3,     4,     4,     3,     6,     0,     2,
-       4,     2,     6,     0,     3,     2,     1,     1,     1,     1,
-       1,     1,     6,     0,     2,     2,     3,     5,     2,     5,
-       6,     7,     9,     4,     6,     4,     0,     2,     0,     1,
-       1,     1,     3,     3,     0,     6,     0,     3,     4,     6,
-       4,     6,     0,     6,     6,     3,     3,     3,     3,     3,
-       0,     8,     7,     0,     5,     0,     3,     1,     1,     1,
-       2,     2,     2,     1,     0,     2,     3,     4,     3,     0,
-       2,     0,     2,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     2,     3,     4,     1,     3,     0,     1,
-       2,     1,     1,     3,     2,     2,     3,     3,     3,     3,
-       3,     3,     3,     3,     2,     1,     1,     3,     2,     3,
-       3,     3,     3,     3,     3,     3,     3
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       1,     0,     0,   194,   188,   236,    16,     0,     0,     2,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,     0,   187,   235,   222,     0,     0,     0,
-       0,   221,     0,   238,     0,   194,   201,   199,   201,   201,
-     199,   199,   194,   194,   201,   194,   172,   194,     0,     0,
-       0,     0,     0,     0,     0,     0,   225,   224,     0,     0,
-     126,     0,     0,     0,     0,     0,     0,     0,     0,   164,
-       0,     0,     0,   203,   204,   205,   206,   207,   208,   209,
-     195,   237,     0,     0,     0,    41,    41,     0,     0,     0,
-       0,     0,     0,     0,     0,   246,   245,   244,   242,   243,
-     239,   240,   241,   223,   220,   233,   232,   231,   229,   230,
-     226,   227,   228,   166,     0,   196,   198,    18,   210,   211,
-     202,    33,   200,    34,     0,     0,     0,   124,   125,   128,
-     143,   153,   156,   155,   180,     0,     0,     0,     0,     0,
-       0,     0,   156,   170,     0,   197,     0,     0,     0,     0,
-       0,     0,     0,   158,     0,     0,     0,   175,   176,   177,
-     178,   179,     0,   165,     0,    17,    22,    19,     0,    23,
-      42,     0,     0,   127,     0,     0,   129,   142,     0,     0,
-     144,   154,   160,   157,   159,   161,   171,     0,     0,     0,
-       0,   169,   167,     0,     0,    20,     0,     0,   131,     0,
-     133,   148,   145,     0,     0,     0,     0,     0,     0,   168,
-     234,     0,    35,    37,   133,     0,   146,   143,     0,   162,
-     163,     0,     0,   173,   174,    27,    28,    29,    30,    31,
-      32,    21,    24,    43,    43,    39,   130,   128,   136,   137,
-     138,   139,   140,   141,     0,   135,   218,     0,   143,     0,
-     183,   185,     0,    26,     0,     0,    43,     0,   134,   147,
-     219,   149,     0,   143,   218,     0,     0,    25,    57,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    57,     0,
-     132,   150,     0,     0,     0,     0,   182,     0,     0,    47,
-      44,    48,    45,     0,   216,     0,    46,   212,     0,     0,
-      54,    56,    53,     0,    57,   151,   143,   181,     0,   186,
-      36,   112,   112,   112,   112,   112,    69,   112,   112,    79,
-     112,    91,   112,   112,   112,   112,   112,   103,   112,     0,
-     112,   112,   112,     0,    58,   213,     0,     0,     0,    55,
-      38,     0,     0,     0,   114,     0,     0,    59,    61,    63,
-      67,     0,    75,    77,     0,    81,     0,    93,    95,    97,
-      99,   101,     0,   105,   189,     0,   193,     0,     0,    65,
-      83,    89,     0,   217,     0,   214,    49,    40,   152,   184,
-     115,     0,   113,     0,     0,     0,     0,    70,     0,     0,
-       0,    80,     0,    92,     0,     0,     0,     0,     0,   104,
-       0,   190,   191,     0,   192,     0,     0,     0,     0,   215,
-      50,     0,     0,    60,    62,    64,    68,     0,    76,    78,
-      82,    94,    96,    98,   100,   102,   106,     0,    66,    84,
-      90,     0,    51,     0,   118,     0,     0,     0,   116,    52,
-       0,     0,     0,     0,     0,   156,    85,     0,     0,   119,
-       0,   116,     0,     0,   116,     0,     0,   122,   109,   218,
-       0,   117,   120,    86,   218,     0,   218,     0,   116,   219,
-       0,     0,   116,   219,   218,   116,   219,   123,   110,   116,
-       0,   121,    87,   116,   116,   219,    71,   116,   111,     0,
-      88,    73,   116,    72,   107,    74,     0,   218,   108,     0,
-       0
-};
-
-static const short yydefgoto[] =
-{
-       1,     9,   146,   167,   168,   231,   232,    10,    11,    12,
-     233,   234,   256,   125,   254,   288,   334,   383,   384,   385,
-     405,   386,   351,   389,   390,   354,   392,   406,   407,   356,
-     394,   395,   396,   397,   398,   362,   400,   496,   387,   345,
-     446,   435,   441,   464,   471,   459,   467,    13,    14,    15,
-      16,   150,   176,   215,   245,    17,   151,   180,    18,    19,
-     152,   153,   183,   184,    20,   113,   144,    21,    22,    93,
-     154,   265,   266,    23,   366,   367,    32,    84,    83,    80,
-     121,   296,   297,   259,   260,   388,    31,   195,   346,    25
-};
-
-static const short yypact[] =
-{
-  -32768,    13,   287,-32768,-32768,-32768,-32768,   287,   287,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,   106,-32768,   585,-32768,   287,   287,   287,
-     -71,   675,    83,-32768,   637,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   287,   287,
-     287,   287,   287,   287,   287,   287,-32768,-32768,   651,   287,
-  -32768,   287,   287,   287,   287,   287,   287,   287,   287,-32768,
-     287,   287,   287,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,   286,   678,   678,   188,   188,   678,   678,   323,
-     375,   678,   210,   128,   274,   682,   688,   642,   -37,   -37,
-  -32768,-32768,-32768,-32768,-32768,   682,   688,   642,   -37,   -37,
-  -32768,-32768,-32768,-32768,   -71,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,   -49,   141,   141,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,   287,   287,   287,   287,   287,
-     287,   287,-32768,-32768,    -1,-32768,     5,   287,   -71,   -71,
-      34,    96,    47,   373,    39,   -71,   -71,-32768,-32768,-32768,
-  -32768,-32768,    54,-32768,   -46,-32768,-32768,-32768,   -12,-32768,
-  -32768,   -71,   -71,-32768,   -43,    10,-32768,-32768,   -35,    32,
-  -32768,-32768,-32768,-32768,    28,   675,-32768,   113,   121,   -71,
-     -71,-32768,-32768,    52,   141,    46,   -71,   -71,-32768,   -71,
-  -32768,-32768,   -71,     8,   454,    97,   112,   -71,   -71,-32768,
-  -32768,   775,-32768,   -71,-32768,   119,   -71,-32768,     9,-32768,
-     675,   151,    87,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,    22,-32768,-32768,-32768,-32768,   245,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,   736,-32768,   -71,   101,-32768,    14,
-  -32768,-32768,   775,-32768,   370,   512,-32768,   158,-32768,-32768,
-  -32768,-32768,   172,-32768,   -71,    21,     6,-32768,-32768,   287,
-     116,   227,   133,   287,   287,   287,   287,   260,-32768,   523,
-  -32768,-32768,   179,   183,    95,   125,-32768,   -71,   584,-32768,
-  -32768,-32768,-32768,    43,-32768,   287,   126,-32768,   115,   -71,
-  -32768,-32768,-32768,   621,-32768,-32768,-32768,-32768,   138,-32768,
-  -32768,   297,   297,   297,   297,   297,-32768,   297,   297,-32768,
-     297,-32768,   297,   297,   297,   297,   297,-32768,   297,   230,
-     297,   297,   297,   230,-32768,-32768,   137,   142,   164,-32768,
-  -32768,   658,   193,   166,   153,   287,   154,-32768,-32768,-32768,
-  -32768,   287,-32768,-32768,   287,-32768,   287,-32768,-32768,-32768,
-  -32768,-32768,   287,-32768,   163,   173,-32768,   287,   174,-32768,
-  -32768,-32768,   287,-32768,    43,-32768,   -71,-32768,-32768,-32768,
-  -32768,   175,-32768,   287,   287,   287,   287,-32768,   -71,   287,
-     287,-32768,   287,-32768,   287,   287,   287,   287,   287,-32768,
-     287,-32768,-32768,   181,-32768,   287,   287,   287,   -71,-32768,
-     -71,   341,   184,-32768,-32768,-32768,-32768,   -71,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,   287,-32768,-32768,
-  -32768,   -71,   -71,   184,-32768,   -71,   -71,   185,    18,-32768,
-     -71,   133,   -71,   -71,   287,-32768,-32768,   -71,   -71,   126,
-     -71,    19,   197,   255,    20,   -71,   -71,-32768,-32768,   -71,
-     287,-32768,-32768,-32768,   -71,   -71,   -71,   133,   291,   -71,
-     207,   133,   291,   -71,   -71,   291,   -71,   126,-32768,   291,
-     287,   126,-32768,   291,   291,   -71,-32768,   291,-32768,   208,
-  -32768,-32768,   291,-32768,-32768,-32768,   133,    84,-32768,   305,
-  -32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,-32768,-32768,-32768,-32768,-32768,  -216,-32768,-32768,-32768,
-  -32768,-32768,-32768,   220,  -208,  -260,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   127,   389,
-     108,  -120,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,    77,-32768,   107,    71,-32768,  -213,-32768,-32768,-32768,
-    -141,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,   -21,-32768,   -11,   398,   140,   213,   549,
-     487,  -425,  -285,  -257,    29,    -2,    12,-32768,     4,-32768
-};
-
-
-#define        YYLAST          792
-
-
-static const short yytable[] =
-{
-      30,   162,    47,   163,   247,    24,   198,   283,   335,   165,
-     286,   217,   248,   499,   201,   253,   449,   263,   303,    33,
-      34,   445,   445,   445,    59,   284,   255,    24,   225,   226,
-     227,   228,   229,   230,   192,   262,   267,   199,   173,    56,
-      57,    58,   477,   186,   341,   202,   481,   147,   279,   193,
-     282,   181,   375,    66,    67,    68,     2,   104,   191,    60,
-      95,    96,    97,    98,    99,   100,   101,   102,   114,   115,
-     116,   497,     3,   105,   106,   107,   108,   109,   110,   111,
-     112,    26,   174,   194,   175,   166,    69,     5,    27,   409,
-     200,   285,    28,   342,     4,     5,    29,     6,     7,   307,
-     177,    59,     8,    59,    59,   261,     7,   187,   188,    59,
-       8,    35,   203,    59,   457,   462,   205,   252,    36,    37,
-      38,    39,   237,   204,   206,   294,    70,    71,    72,   148,
-     149,   134,   209,   155,   156,   157,   158,   159,   160,   161,
-     295,   211,   164,   145,   178,   170,   179,    40,    41,   178,
-     169,   179,    42,    43,   250,    73,    74,    75,    76,    77,
-      78,    79,   280,    44,    45,   185,    46,   251,   221,   337,
-     238,   239,   240,   241,   242,   243,   281,   171,   172,    59,
-      87,    88,   222,   305,   189,   190,   306,     4,     5,   135,
-     136,   137,   138,   139,   140,   141,   290,   378,   210,     7,
-     196,   197,   468,     8,   124,   308,   174,   472,   175,   475,
-     338,   337,   293,   132,   244,   294,   220,   484,   207,   208,
-     178,   374,   179,     5,   294,   212,   213,   178,   214,   179,
-     295,   216,   218,   343,     7,   373,   223,   224,     8,   295,
-     498,   178,   235,   179,   376,   246,   379,   249,   380,   382,
-     292,    85,    86,    70,    71,    72,   302,    91,   401,   461,
-      73,    74,    75,    76,    77,    78,    79,   289,   402,   404,
-     411,   298,   299,   300,   301,    24,   427,   142,   264,   434,
-     444,    24,    73,    74,    75,    76,    77,    78,    79,   117,
-     118,   119,   460,   336,   445,   287,   238,   239,   240,   241,
-     242,   243,   480,   494,   453,   500,   126,   291,     4,     5,
-     364,   365,     5,   440,   257,   258,   309,    70,    71,    72,
-       7,   236,   372,     7,     8,     0,   129,     8,   339,    70,
-      71,    72,     0,   368,     0,     0,     0,   368,     0,     0,
-     244,     4,     5,   381,     0,     0,    73,    74,    75,    76,
-      77,    78,    79,     7,   118,   119,     0,     8,    73,    74,
-      75,    76,    77,    78,    79,   403,    70,    71,    72,    26,
-     408,     0,     0,   268,     0,     0,    27,   344,   130,     5,
-      28,     0,     0,     0,    29,     0,   269,   270,   271,   272,
-       7,     0,     0,     0,     8,    73,    74,    75,    76,    77,
-      78,    79,     0,     0,     0,   410,     0,     0,     0,   104,
-     412,   273,     0,   274,   275,   276,   277,   417,    70,    71,
-      72,   433,     0,    26,     0,   437,     0,     0,     0,     0,
-      27,     0,     0,    82,    28,     0,     0,   431,    29,   432,
-      89,    90,   452,    92,     0,    94,   436,    73,    74,    75,
-      76,    77,    78,    79,     0,    26,   182,     0,   470,     0,
-     438,   439,    27,     0,   442,   443,    28,   447,     0,   448,
-      29,   450,   451,     0,     0,     0,   454,   455,   489,   456,
-       0,   391,     0,   393,   465,   466,     0,     0,   469,   399,
-       0,     0,     0,   473,   474,   476,     0,     0,   479,     0,
-       0,     0,   483,   485,     0,   487,     0,     0,     0,     0,
-     413,   414,   415,   416,   492,   278,   418,   419,     0,   420,
-       0,   421,   422,   423,   424,   425,   304,   426,   269,   270,
-     271,   272,   428,   429,   430,     0,    26,   219,     0,   269,
-     270,   271,   272,    27,     0,     0,     0,    28,     0,     0,
-       0,    29,     0,   273,     0,   274,   275,   276,   277,   458,
-       0,     0,   463,     0,   273,     0,   274,   275,   276,   277,
-       0,   123,     0,     0,   127,   128,   478,     0,   131,   133,
-     482,   143,     0,   486,     0,     0,     0,   488,   310,     0,
-       0,   490,   491,     0,   311,   493,     0,     0,     0,     0,
-     495,     0,     0,     0,   312,   313,   314,   315,   316,   317,
-     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
-     328,   329,   330,   331,   332,   340,   333,     0,     0,     0,
-       0,   311,   120,   122,   120,   120,   122,   122,     0,     0,
-     120,   312,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
-     331,   332,   377,   333,     0,     0,     0,     0,   311,     0,
-      48,    49,    50,    51,    52,    53,    54,    55,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,     0,
-     333,   347,   348,   349,   350,     0,   352,   353,     0,   355,
-       0,   357,   358,   359,   360,   361,     0,   363,     0,   369,
-     370,   371,    61,    62,    63,    64,    65,    66,    67,    68,
-      64,    65,    66,    67,    68,    81,    61,    62,    63,    64,
-      65,    66,    67,    68,     0,     0,     0,     0,     0,   103,
-      73,    74,    75,    76,    77,    78,    79,     0,   118,   119,
-      61,    62,    63,    64,    65,    66,    67,    68,    62,    63,
-      64,    65,    66,    67,    68,    63,    64,    65,    66,    67,
-      68,   225,   226,   227,   228,   229,   230,   238,   239,   240,
-     241,   242,   243
-};
-
-static const short yycheck[] =
-{
-       2,   142,    23,     4,   217,     1,    49,   264,   293,     4,
-       4,     3,     3,     0,    49,   231,   441,     3,   278,     7,
-       8,     3,     3,     3,    95,     4,   234,    23,     6,     7,
-       8,     9,    10,    11,    80,   248,   252,    80,     4,    27,
-      28,    29,   467,     4,   304,    80,   471,    96,   256,    95,
-     263,     4,   337,    90,    91,    92,    43,    59,     4,    30,
-      48,    49,    50,    51,    52,    53,    54,    55,    70,    71,
-      72,   496,    59,    61,    62,    63,    64,    65,    66,    67,
-      68,    82,    48,    95,    50,    80,     3,    82,    89,   374,
-      80,    70,    93,   306,    81,    82,    97,    84,    93,     4,
-       4,    95,    97,    95,    95,     4,    93,    68,    69,    95,
-      97,     5,    80,    95,    95,    95,     3,    95,    12,    13,
-      14,    15,     3,    95,     3,    82,    43,    44,    45,   125,
-     126,     3,    80,   135,   136,   137,   138,   139,   140,   141,
-      97,    95,   144,   114,    48,   147,    50,    41,    42,    48,
-     146,    50,    46,    47,     3,    72,    73,    74,    75,    76,
-      77,    78,     4,    57,    58,   153,    60,    80,    71,    85,
-      51,    52,    53,    54,    55,    56,     4,   148,   149,    95,
-      40,    41,    70,     4,   155,   156,     3,    81,    82,    61,
-      62,    63,    64,    65,    66,    67,    80,     4,   194,    93,
-     171,   172,   459,    97,    16,    80,    48,   464,    50,   466,
-      95,    85,    79,     3,    95,    82,   204,   474,   189,   190,
-      48,    79,    50,    82,    82,   196,   197,    48,   199,    50,
-      97,   202,   203,    95,    93,    98,   207,   208,    97,    97,
-     497,    48,   213,    50,    80,   216,    80,   218,    95,    95,
-     271,    38,    39,    43,    44,    45,   277,    44,    95,     4,
-      72,    73,    74,    75,    76,    77,    78,   269,    95,    95,
-      95,   273,   274,   275,   276,   271,    95,     3,   249,    95,
-      95,   277,    72,    73,    74,    75,    76,    77,    78,     3,
-      80,    81,    95,   295,     3,   266,    51,    52,    53,    54,
-      55,    56,    95,    95,   445,     0,    86,    80,    81,    82,
-      80,    81,    82,   433,   237,   244,   287,    43,    44,    45,
-      93,   214,   333,    93,    97,    -1,     3,    97,   299,    43,
-      44,    45,    -1,   329,    -1,    -1,    -1,   333,    -1,    -1,
-      95,    81,    82,   345,    -1,    -1,    72,    73,    74,    75,
-      76,    77,    78,    93,    80,    81,    -1,    97,    72,    73,
-      74,    75,    76,    77,    78,   367,    43,    44,    45,    82,
-     372,    -1,    -1,     3,    -1,    -1,    89,    80,     3,    82,
-      93,    -1,    -1,    -1,    97,    -1,    16,    17,    18,    19,
-      93,    -1,    -1,    -1,    97,    72,    73,    74,    75,    76,
-      77,    78,    -1,    -1,    -1,   376,    -1,    -1,    -1,   411,
-     381,    41,    -1,    43,    44,    45,    46,   388,    43,    44,
-      45,    80,    -1,    82,    -1,   427,    -1,    -1,    -1,    -1,
-      89,    -1,    -1,    35,    93,    -1,    -1,   408,    97,   410,
-      42,    43,   444,    45,    -1,    47,   417,    72,    73,    74,
-      75,    76,    77,    78,    -1,    82,    83,    -1,   460,    -1,
-     431,   432,    89,    -1,   435,   436,    93,   438,    -1,   440,
-      97,   442,   443,    -1,    -1,    -1,   447,   448,   480,   450,
-      -1,   354,    -1,   356,   455,   456,    -1,    -1,   459,   362,
-      -1,    -1,    -1,   464,   465,   466,    -1,    -1,   469,    -1,
-      -1,    -1,   473,   474,    -1,   476,    -1,    -1,    -1,    -1,
-     383,   384,   385,   386,   485,     3,   389,   390,    -1,   392,
-      -1,   394,   395,   396,   397,   398,     3,   400,    16,    17,
-      18,    19,   405,   406,   407,    -1,    82,    83,    -1,    16,
-      17,    18,    19,    89,    -1,    -1,    -1,    93,    -1,    -1,
-      -1,    97,    -1,    41,    -1,    43,    44,    45,    46,   451,
-      -1,    -1,   454,    -1,    41,    -1,    43,    44,    45,    46,
-      -1,    84,    -1,    -1,    87,    88,   468,    -1,    91,    92,
-     472,    94,    -1,   475,    -1,    -1,    -1,   479,     4,    -1,
-      -1,   483,   484,    -1,    10,   487,    -1,    -1,    -1,    -1,
-     492,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,     4,    42,    -1,    -1,    -1,
-      -1,    10,    83,    84,    85,    86,    87,    88,    -1,    -1,
-      91,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,     4,    42,    -1,    -1,    -1,    -1,    10,    -1,
-      85,    86,    87,    88,    89,    90,    91,    92,    20,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    -1,
-      42,   312,   313,   314,   315,    -1,   317,   318,    -1,   320,
-      -1,   322,   323,   324,   325,   326,    -1,   328,    -1,   330,
-     331,   332,    85,    86,    87,    88,    89,    90,    91,    92,
-      88,    89,    90,    91,    92,    98,    85,    86,    87,    88,
-      89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    98,
-      72,    73,    74,    75,    76,    77,    78,    -1,    80,    81,
-      85,    86,    87,    88,    89,    90,    91,    92,    86,    87,
-      88,    89,    90,    91,    92,    87,    88,    89,    90,    91,
-      92,     6,     7,     8,     9,    10,    11,    51,    52,    53,
-      54,    55,    56
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 17:
-#line 184 "rcparse.y"
-{
-           define_accelerator (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].pacc);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 18:
-#line 194 "rcparse.y"
-{
-           yyval.pacc = NULL;
-         }
-    break;
-case 19:
-#line 198 "rcparse.y"
-{
-           struct accelerator *a;
-
-           a = (struct accelerator *) res_alloc (sizeof *a);
-           *a = yyvsp[0].acc;
-           if (yyvsp[-1].pacc == NULL)
-             yyval.pacc = a;
-           else
-             {
-               struct accelerator **pp;
-
-               for (pp = &yyvsp[-1].pacc->next; *pp != NULL; pp = &(*pp)->next)
-                 ;
-               *pp = a;
-               yyval.pacc = yyvsp[-1].pacc;
-             }
-         }
-    break;
-case 20:
-#line 219 "rcparse.y"
-{
-           yyval.acc = yyvsp[-1].acc;
-           yyval.acc.id = yyvsp[0].il;
-         }
-    break;
-case 21:
-#line 224 "rcparse.y"
-{
-           yyval.acc = yyvsp[-3].acc;
-           yyval.acc.id = yyvsp[-2].il;
-           yyval.acc.flags |= yyvsp[0].is;
-           if ((yyval.acc.flags & ACC_VIRTKEY) == 0
-               && (yyval.acc.flags & (ACC_SHIFT | ACC_CONTROL)) != 0)
-             rcparse_warning (_("inappropriate modifiers for non-VIRTKEY"));
-         }
-    break;
-case 22:
-#line 236 "rcparse.y"
-{
-           const char *s = yyvsp[0].s;
-           char ch;
-
-           yyval.acc.next = NULL;
-           yyval.acc.id = 0;
-           ch = *s;
-           if (ch != '^')
-             yyval.acc.flags = 0;
-           else
-             {
-               yyval.acc.flags = ACC_CONTROL | ACC_VIRTKEY;
-               ++s;
-               ch = *s;
-               ch = TOUPPER (ch);
-             }
-           yyval.acc.key = ch;
-           if (s[1] != '\0')
-             rcparse_warning (_("accelerator should only be one character"));
-         }
-    break;
-case 23:
-#line 257 "rcparse.y"
-{
-           yyval.acc.next = NULL;
-           yyval.acc.flags = 0;
-           yyval.acc.id = 0;
-           yyval.acc.key = yyvsp[0].il;
-         }
-    break;
-case 24:
-#line 267 "rcparse.y"
-{
-           yyval.is = yyvsp[0].is;
-         }
-    break;
-case 25:
-#line 271 "rcparse.y"
-{
-           yyval.is = yyvsp[-2].is | yyvsp[0].is;
-         }
-    break;
-case 26:
-#line 276 "rcparse.y"
-{
-           yyval.is = yyvsp[-1].is | yyvsp[0].is;
-         }
-    break;
-case 27:
-#line 283 "rcparse.y"
-{
-           yyval.is = ACC_VIRTKEY;
-         }
-    break;
-case 28:
-#line 287 "rcparse.y"
-{
-           /* This is just the absence of VIRTKEY.  */
-           yyval.is = 0;
-         }
-    break;
-case 29:
-#line 292 "rcparse.y"
-{
-           yyval.is = ACC_NOINVERT;
-         }
-    break;
-case 30:
-#line 296 "rcparse.y"
-{
-           yyval.is = ACC_SHIFT;
-         }
-    break;
-case 31:
-#line 300 "rcparse.y"
-{
-           yyval.is = ACC_CONTROL;
-         }
-    break;
-case 32:
-#line 304 "rcparse.y"
-{
-           yyval.is = ACC_ALT;
-         }
-    break;
-case 33:
-#line 313 "rcparse.y"
-{
-           define_bitmap (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 34:
-#line 325 "rcparse.y"
-{
-           define_cursor (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 35:
-#line 338 "rcparse.y"
-{
-             memset (&dialog, 0, sizeof dialog);
-             dialog.x = yyvsp[-3].il;
-             dialog.y = yyvsp[-2].il;
-             dialog.width = yyvsp[-1].il;
-             dialog.height = yyvsp[0].il;
-             dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU;
-             dialog.exstyle = yyvsp[-4].il;
-             dialog.menu.named = 1;
-             dialog.class.named = 1;
-             dialog.font = NULL;
-             dialog.ex = NULL;
-             dialog.controls = NULL;
-             sub_res_info = yyvsp[-5].res_info;
-             style = 0;
-           }
-    break;
-case 36:
-#line 355 "rcparse.y"
-{
-           define_dialog (yyvsp[-12].id, &sub_res_info, &dialog);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 37:
-#line 363 "rcparse.y"
-{
-             memset (&dialog, 0, sizeof dialog);
-             dialog.x = yyvsp[-3].il;
-             dialog.y = yyvsp[-2].il;
-             dialog.width = yyvsp[-1].il;
-             dialog.height = yyvsp[0].il;
-             dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU;
-             dialog.exstyle = yyvsp[-4].il;
-             dialog.menu.named = 1;
-             dialog.class.named = 1;
-             dialog.font = NULL;
-             dialog.ex = ((struct dialog_ex *)
-                          res_alloc (sizeof (struct dialog_ex)));
-             memset (dialog.ex, 0, sizeof (struct dialog_ex));
-             dialog.controls = NULL;
-             sub_res_info = yyvsp[-5].res_info;
-             style = 0;
-           }
-    break;
-case 38:
-#line 382 "rcparse.y"
-{
-           define_dialog (yyvsp[-12].id, &sub_res_info, &dialog);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 39:
-#line 390 "rcparse.y"
-{
-             memset (&dialog, 0, sizeof dialog);
-             dialog.x = yyvsp[-4].il;
-             dialog.y = yyvsp[-3].il;
-             dialog.width = yyvsp[-2].il;
-             dialog.height = yyvsp[-1].il;
-             dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU;
-             dialog.exstyle = yyvsp[-5].il;
-             dialog.menu.named = 1;
-             dialog.class.named = 1;
-             dialog.font = NULL;
-             dialog.ex = ((struct dialog_ex *)
-                          res_alloc (sizeof (struct dialog_ex)));
-             memset (dialog.ex, 0, sizeof (struct dialog_ex));
-             dialog.ex->help = yyvsp[0].il;
-             dialog.controls = NULL;
-             sub_res_info = yyvsp[-6].res_info;
-             style = 0;
-           }
-    break;
-case 40:
-#line 410 "rcparse.y"
-{
-           define_dialog (yyvsp[-13].id, &sub_res_info, &dialog);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 41:
-#line 420 "rcparse.y"
-{
-           yyval.il = 0;
-         }
-    break;
-case 42:
-#line 424 "rcparse.y"
-{
-           yyval.il = yyvsp[0].il;
-         }
-    break;
-case 44:
-#line 432 "rcparse.y"
-{
-           dialog.style |= WS_CAPTION;
-           style |= WS_CAPTION;
-           unicode_from_ascii ((int *) NULL, &dialog.caption, yyvsp[0].s);
-         }
-    break;
-case 45:
-#line 438 "rcparse.y"
-{
-           dialog.class = yyvsp[0].id;
-         }
-    break;
-case 46:
-#line 443 "rcparse.y"
-{
-           dialog.style = style;
-         }
-    break;
-case 47:
-#line 447 "rcparse.y"
-{
-           dialog.exstyle = yyvsp[0].il;
-         }
-    break;
-case 48:
-#line 451 "rcparse.y"
-{
-           res_string_to_id (& dialog.class, yyvsp[0].s);
-         }
-    break;
-case 49:
-#line 455 "rcparse.y"
-{
-           dialog.style |= DS_SETFONT;
-           style |= DS_SETFONT;
-           dialog.pointsize = yyvsp[-2].il;
-           unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[0].s);
-           if (dialog.ex != NULL)
-             {
-               dialog.ex->weight = 0;
-               dialog.ex->italic = 0;
-               dialog.ex->charset = 1;
-             }
-         }
-    break;
-case 50:
-#line 468 "rcparse.y"
-{
-           dialog.style |= DS_SETFONT;
-           style |= DS_SETFONT;
-           dialog.pointsize = yyvsp[-3].il;
-           unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[-1].s);
-           if (dialog.ex == NULL)
-             rcparse_warning (_("extended FONT requires DIALOGEX"));
-           else
-             {
-               dialog.ex->weight = yyvsp[0].il;
-               dialog.ex->italic = 0;
-               dialog.ex->charset = 1;
-             }
-         }
-    break;
-case 51:
-#line 483 "rcparse.y"
-{
-           dialog.style |= DS_SETFONT;
-           style |= DS_SETFONT;
-           dialog.pointsize = yyvsp[-4].il;
-           unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[-2].s);
-           if (dialog.ex == NULL)
-             rcparse_warning (_("extended FONT requires DIALOGEX"));
-           else
-             {
-               dialog.ex->weight = yyvsp[-1].il;
-               dialog.ex->italic = yyvsp[0].il;
-               dialog.ex->charset = 1;
-             }
-         }
-    break;
-case 52:
-#line 498 "rcparse.y"
-{
-           dialog.style |= DS_SETFONT;
-           style |= DS_SETFONT;
-           dialog.pointsize = yyvsp[-5].il;
-           unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[-3].s);
-           if (dialog.ex == NULL)
-             rcparse_warning (_("extended FONT requires DIALOGEX"));
-           else
-             {
-               dialog.ex->weight = yyvsp[-2].il;
-               dialog.ex->italic = yyvsp[-1].il;
-               dialog.ex->charset = yyvsp[0].il;
-             }
-         }
-    break;
-case 53:
-#line 513 "rcparse.y"
-{
-           dialog.menu = yyvsp[0].id;
-         }
-    break;
-case 54:
-#line 517 "rcparse.y"
-{
-           sub_res_info.characteristics = yyvsp[0].il;
-         }
-    break;
-case 55:
-#line 521 "rcparse.y"
-{
-           sub_res_info.language = yyvsp[-1].il | (yyvsp[0].il << SUBLANG_SHIFT);
-         }
-    break;
-case 56:
-#line 525 "rcparse.y"
-{
-           sub_res_info.version = yyvsp[0].il;
-         }
-    break;
-case 58:
-#line 533 "rcparse.y"
-{
-           struct dialog_control **pp;
-
-           for (pp = &dialog.controls; *pp != NULL; pp = &(*pp)->next)
-             ;
-           *pp = yyvsp[0].dialog_control;
-         }
-    break;
-case 59:
-#line 544 "rcparse.y"
-{
-             default_style = BS_AUTO3STATE | WS_TABSTOP;
-             base_style = BS_AUTO3STATE;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 60:
-#line 551 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 61:
-#line 555 "rcparse.y"
-{
-             default_style = BS_AUTOCHECKBOX | WS_TABSTOP;
-             base_style = BS_AUTOCHECKBOX;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 62:
-#line 562 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 63:
-#line 566 "rcparse.y"
-{
-             default_style = BS_AUTORADIOBUTTON | WS_TABSTOP;
-             base_style = BS_AUTORADIOBUTTON;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 64:
-#line 573 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 65:
-#line 577 "rcparse.y"
-{
-             default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             class = CTL_EDIT;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 66:
-#line 584 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-           if (dialog.ex == NULL)
-             rcparse_warning (_("BEDIT requires DIALOGEX"));
-           res_string_to_id (&yyval.dialog_control->class, "BEDIT");
-         }
-    break;
-case 67:
-#line 591 "rcparse.y"
-{
-             default_style = BS_CHECKBOX | WS_TABSTOP;
-             base_style = BS_CHECKBOX | WS_TABSTOP;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 68:
-#line 598 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 69:
-#line 602 "rcparse.y"
-{
-             /* This is as per MSDN documentation.  With some (???)
-                versions of MS rc.exe their is no default style.  */
-             default_style = CBS_SIMPLE | WS_TABSTOP;
-             base_style = 0;
-             class = CTL_COMBOBOX;
-             res_text_field = res_null_text;   
-           }
-    break;
-case 70:
-#line 611 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 71:
-#line 616 "rcparse.y"
-{
-           yyval.dialog_control = define_control (yyvsp[-9].id, yyvsp[-8].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-2].il, yyvsp[-7].il, style, yyvsp[-1].il);
-           if (yyvsp[0].rcdata_item != NULL)
-             {
-               if (dialog.ex == NULL)
-                 rcparse_warning (_("control data requires DIALOGEX"));
-               yyval.dialog_control->data = yyvsp[0].rcdata_item;
-             }
-         }
-    break;
-case 72:
-#line 627 "rcparse.y"
-{
-           yyval.dialog_control = define_control (yyvsp[-10].id, yyvsp[-9].il, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-8].il, style, yyvsp[-2].il);
-           if (dialog.ex == NULL)
-             rcparse_warning (_("help ID requires DIALOGEX"));
-           yyval.dialog_control->help = yyvsp[-1].il;
-           yyval.dialog_control->data = yyvsp[0].rcdata_item;
-         }
-    break;
-case 73:
-#line 636 "rcparse.y"
-{
-           yyval.dialog_control = define_control (yyvsp[-10].id, yyvsp[-9].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-2].il, 0, style, yyvsp[-1].il);
-           if (yyvsp[0].rcdata_item != NULL)
-             {
-               if (dialog.ex == NULL)
-                 rcparse_warning ("control data requires DIALOGEX");
-               yyval.dialog_control->data = yyvsp[0].rcdata_item;
-             }
-           yyval.dialog_control->class.named = 1;
-           unicode_from_ascii (&yyval.dialog_control->class.u.n.length, &yyval.dialog_control->class.u.n.name, yyvsp[-7].s);
-         }
-    break;
-case 74:
-#line 649 "rcparse.y"
-{
-           yyval.dialog_control = define_control (yyvsp[-11].id, yyvsp[-10].il, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, 0, style, yyvsp[-2].il);
-           if (dialog.ex == NULL)
-             rcparse_warning ("help ID requires DIALOGEX");
-           yyval.dialog_control->help = yyvsp[-1].il;
-           yyval.dialog_control->data = yyvsp[0].rcdata_item;
-           yyval.dialog_control->class.named = 1;
-           unicode_from_ascii (&yyval.dialog_control->class.u.n.length, &yyval.dialog_control->class.u.n.name, yyvsp[-8].s);
-         }
-    break;
-case 75:
-#line 659 "rcparse.y"
-{
-             default_style = SS_CENTER | WS_GROUP;
-             base_style = SS_CENTER;
-             class = CTL_STATIC;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 76:
-#line 666 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 77:
-#line 670 "rcparse.y"
-{
-             default_style = BS_DEFPUSHBUTTON | WS_TABSTOP;
-             base_style = BS_DEFPUSHBUTTON | WS_TABSTOP;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 78:
-#line 677 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 79:
-#line 681 "rcparse.y"
-{
-             default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             class = CTL_EDIT;
-             res_text_field = res_null_text;   
-           }
-    break;
-case 80:
-#line 688 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 81:
-#line 692 "rcparse.y"
-{
-             default_style = BS_GROUPBOX;
-             base_style = BS_GROUPBOX;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 82:
-#line 699 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 83:
-#line 703 "rcparse.y"
-{
-             default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             class = CTL_EDIT;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 84:
-#line 710 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-           if (dialog.ex == NULL)
-             rcparse_warning (_("IEDIT requires DIALOGEX"));
-           res_string_to_id (&yyval.dialog_control->class, "HEDIT");
-         }
-    break;
-case 85:
-#line 717 "rcparse.y"
-{
-           yyval.dialog_control = define_icon_control (yyvsp[-4].id, yyvsp[-3].il, yyvsp[-2].il, yyvsp[-1].il, 0, 0, 0, yyvsp[0].rcdata_item,
-                                     dialog.ex);
-          }
-    break;
-case 86:
-#line 723 "rcparse.y"
-{
-           yyval.dialog_control = define_icon_control (yyvsp[-6].id, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, 0, 0, 0, yyvsp[0].rcdata_item,
-                                     dialog.ex);
-          }
-    break;
-case 87:
-#line 729 "rcparse.y"
-{
-           yyval.dialog_control = define_icon_control (yyvsp[-8].id, yyvsp[-7].il, yyvsp[-6].il, yyvsp[-5].il, style, yyvsp[-1].il, 0, yyvsp[0].rcdata_item,
-                                     dialog.ex);
-          }
-    break;
-case 88:
-#line 735 "rcparse.y"
-{
-           yyval.dialog_control = define_icon_control (yyvsp[-9].id, yyvsp[-8].il, yyvsp[-7].il, yyvsp[-6].il, style, yyvsp[-2].il, yyvsp[-1].il, yyvsp[0].rcdata_item,
-                                     dialog.ex);
-          }
-    break;
-case 89:
-#line 740 "rcparse.y"
-{
-             default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
-             class = CTL_EDIT;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 90:
-#line 747 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-           if (dialog.ex == NULL)
-             rcparse_warning (_("IEDIT requires DIALOGEX"));
-           res_string_to_id (&yyval.dialog_control->class, "IEDIT");
-         }
-    break;
-case 91:
-#line 754 "rcparse.y"
-{
-             default_style = LBS_NOTIFY | WS_BORDER;
-             base_style = LBS_NOTIFY | WS_BORDER;
-             class = CTL_LISTBOX;
-             res_text_field = res_null_text;   
-           }
-    break;
-case 92:
-#line 761 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 93:
-#line 765 "rcparse.y"
-{
-             default_style = SS_LEFT | WS_GROUP;
-             base_style = SS_LEFT;
-             class = CTL_STATIC;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 94:
-#line 772 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 95:
-#line 776 "rcparse.y"
-{
-             default_style = BS_PUSHBOX | WS_TABSTOP;
-             base_style = BS_PUSHBOX;
-             class = CTL_BUTTON;
-           }
-    break;
-case 96:
-#line 782 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 97:
-#line 786 "rcparse.y"
-{
-             default_style = BS_PUSHBUTTON | WS_TABSTOP;
-             base_style = BS_PUSHBUTTON | WS_TABSTOP;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 98:
-#line 793 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 99:
-#line 797 "rcparse.y"
-{
-             default_style = BS_RADIOBUTTON | WS_TABSTOP;
-             base_style = BS_RADIOBUTTON;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 100:
-#line 804 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 101:
-#line 808 "rcparse.y"
-{
-             default_style = SS_RIGHT | WS_GROUP;
-             base_style = SS_RIGHT;
-             class = CTL_STATIC;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 102:
-#line 815 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 103:
-#line 819 "rcparse.y"
-{
-             default_style = SBS_HORZ;
-             base_style = 0;
-             class = CTL_SCROLLBAR;
-             res_text_field = res_null_text;   
-           }
-    break;
-case 104:
-#line 826 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 105:
-#line 830 "rcparse.y"
-{
-             default_style = BS_3STATE | WS_TABSTOP;
-             base_style = BS_3STATE;
-             class = CTL_BUTTON;
-             res_text_field = yyvsp[0].id;     
-           }
-    break;
-case 106:
-#line 837 "rcparse.y"
-{
-           yyval.dialog_control = yyvsp[0].dialog_control;
-         }
-    break;
-case 107:
-#line 842 "rcparse.y"
-{ style = WS_CHILD | WS_VISIBLE; }
-    break;
-case 108:
-#line 844 "rcparse.y"
-{
-           yyval.dialog_control = define_control (yyvsp[-13].id, yyvsp[-12].il, yyvsp[-10].il, yyvsp[-8].il, yyvsp[-6].il, yyvsp[-4].il, CTL_BUTTON,
-                                style, yyvsp[0].il);
-         }
-    break;
-case 109:
-#line 859 "rcparse.y"
-{
-           yyval.dialog_control = define_control (res_text_field, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-2].il, yyvsp[-1].il, class,
-                                default_style | WS_CHILD | WS_VISIBLE, 0);
-           if (yyvsp[0].rcdata_item != NULL)
-             {
-               if (dialog.ex == NULL)
-                 rcparse_warning (_("control data requires DIALOGEX"));
-               yyval.dialog_control->data = yyvsp[0].rcdata_item;
-             }
-         }
-    break;
-case 110:
-#line 871 "rcparse.y"
-{
-           yyval.dialog_control = define_control (res_text_field, yyvsp[-7].il, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, class, style, yyvsp[-1].il);
-           if (yyvsp[0].rcdata_item != NULL)
-             {
-               if (dialog.ex == NULL)
-                 rcparse_warning (_("control data requires DIALOGEX"));
-               yyval.dialog_control->data = yyvsp[0].rcdata_item;
-             }
-         }
-    break;
-case 111:
-#line 882 "rcparse.y"
-{
-           yyval.dialog_control = define_control (res_text_field, yyvsp[-8].il, yyvsp[-7].il, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, class, style, yyvsp[-2].il);
-           if (dialog.ex == NULL)
-             rcparse_warning (_("help ID requires DIALOGEX"));
-           yyval.dialog_control->help = yyvsp[-1].il;
-           yyval.dialog_control->data = yyvsp[0].rcdata_item;
-         }
-    break;
-case 112:
-#line 893 "rcparse.y"
-{
-           res_string_to_id (&yyval.id, "");
-         }
-    break;
-case 113:
-#line 897 "rcparse.y"
-{
-           yyval.id.named = 0;
-           yyval.id.u.id = yyvsp[-1].il;
-         }
-    break;
-case 114:
-#line 902 "rcparse.y"
-{
-           res_string_to_id (&yyval.id, yyvsp[0].s);
-         }
-    break;
-case 115:
-#line 906 "rcparse.y"
-{
-           res_string_to_id (&yyval.id, yyvsp[-1].s);
-         }
-    break;
-case 116:
-#line 913 "rcparse.y"
-{
-           yyval.rcdata_item = NULL;
-         }
-    break;
-case 117:
-#line 917 "rcparse.y"
-{
-           yyval.rcdata_item = yyvsp[-1].rcdata.first;
-         }
-    break;
-case 118:
-#line 926 "rcparse.y"
-{ style = WS_CHILD | WS_VISIBLE; }
-    break;
-case 120:
-#line 932 "rcparse.y"
-{ style = SS_ICON | WS_CHILD | WS_VISIBLE; }
-    break;
-case 122:
-#line 938 "rcparse.y"
-{ style = base_style | WS_CHILD | WS_VISIBLE; }
-    break;
-case 124:
-#line 946 "rcparse.y"
-{
-           define_font (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 125:
-#line 958 "rcparse.y"
-{
-           define_icon (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 126:
-#line 971 "rcparse.y"
-{
-           language = yyvsp[-1].il | (yyvsp[0].il << SUBLANG_SHIFT);
-         }
-    break;
-case 127:
-#line 980 "rcparse.y"
-{
-           define_menu (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].menuitem);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 128:
-#line 990 "rcparse.y"
-{
-           yyval.menuitem = NULL;
-         }
-    break;
-case 129:
-#line 994 "rcparse.y"
-{
-           if (yyvsp[-1].menuitem == NULL)
-             yyval.menuitem = yyvsp[0].menuitem;
-           else
-             {
-               struct menuitem **pp;
-
-               for (pp = &yyvsp[-1].menuitem->next; *pp != NULL; pp = &(*pp)->next)
-                 ;
-               *pp = yyvsp[0].menuitem;
-               yyval.menuitem = yyvsp[-1].menuitem;
-             }
-         }
-    break;
-case 130:
-#line 1011 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-2].s, yyvsp[-1].il, yyvsp[0].is, 0, 0, NULL);
-         }
-    break;
-case 131:
-#line 1015 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (NULL, 0, 0, 0, 0, NULL);
-         }
-    break;
-case 132:
-#line 1019 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-4].s, 0, yyvsp[-3].is, 0, 0, yyvsp[-1].menuitem);
-         }
-    break;
-case 133:
-#line 1026 "rcparse.y"
-{
-           yyval.is = 0;
-         }
-    break;
-case 134:
-#line 1030 "rcparse.y"
-{
-           yyval.is = yyvsp[-2].is | yyvsp[0].is;
-         }
-    break;
-case 135:
-#line 1034 "rcparse.y"
-{
-           yyval.is = yyvsp[-1].is | yyvsp[0].is;
-         }
-    break;
-case 136:
-#line 1041 "rcparse.y"
-{
-           yyval.is = MENUITEM_CHECKED;
-         }
-    break;
-case 137:
-#line 1045 "rcparse.y"
-{
-           yyval.is = MENUITEM_GRAYED;
-         }
-    break;
-case 138:
-#line 1049 "rcparse.y"
-{
-           yyval.is = MENUITEM_HELP;
-         }
-    break;
-case 139:
-#line 1053 "rcparse.y"
-{
-           yyval.is = MENUITEM_INACTIVE;
-         }
-    break;
-case 140:
-#line 1057 "rcparse.y"
-{
-           yyval.is = MENUITEM_MENUBARBREAK;
-         }
-    break;
-case 141:
-#line 1061 "rcparse.y"
-{
-           yyval.is = MENUITEM_MENUBREAK;
-         }
-    break;
-case 142:
-#line 1070 "rcparse.y"
-{
-           define_menu (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].menuitem);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 143:
-#line 1080 "rcparse.y"
-{
-           yyval.menuitem = NULL;
-         }
-    break;
-case 144:
-#line 1084 "rcparse.y"
-{
-           if (yyvsp[-1].menuitem == NULL)
-             yyval.menuitem = yyvsp[0].menuitem;
-           else
-             {
-               struct menuitem **pp;
-
-               for (pp = &yyvsp[-1].menuitem->next; *pp != NULL; pp = &(*pp)->next)
-                 ;
-               *pp = yyvsp[0].menuitem;
-               yyval.menuitem = yyvsp[-1].menuitem;
-             }
-         }
-    break;
-case 145:
-#line 1101 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[0].s, 0, 0, 0, 0, NULL);
-         }
-    break;
-case 146:
-#line 1105 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-1].s, yyvsp[0].il, 0, 0, 0, NULL);
-         }
-    break;
-case 147:
-#line 1109 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-3].s, yyvsp[-2].il, yyvsp[-1].il, yyvsp[0].il, 0, NULL);
-         }
-    break;
-case 148:
-#line 1113 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (NULL, 0, 0, 0, 0, NULL);
-         }
-    break;
-case 149:
-#line 1117 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-3].s, 0, 0, 0, 0, yyvsp[-1].menuitem);
-         }
-    break;
-case 150:
-#line 1121 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-4].s, yyvsp[-3].il, 0, 0, 0, yyvsp[-1].menuitem);
-         }
-    break;
-case 151:
-#line 1125 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-5].s, yyvsp[-4].il, yyvsp[-3].il, 0, 0, yyvsp[-1].menuitem);
-         }
-    break;
-case 152:
-#line 1130 "rcparse.y"
-{
-           yyval.menuitem = define_menuitem (yyvsp[-7].s, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-1].menuitem);
-         }
-    break;
-case 153:
-#line 1139 "rcparse.y"
-{
-           define_messagetable (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 154:
-#line 1151 "rcparse.y"
-{
-           define_rcdata (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].rcdata.first);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 155:
-#line 1158 "rcparse.y"
-{
-           define_rcdata_file (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 156:
-#line 1170 "rcparse.y"
-{
-           rcparse_rcdata ();
-         }
-    break;
-case 157:
-#line 1174 "rcparse.y"
-{
-           rcparse_normal ();
-           yyval.rcdata = yyvsp[0].rcdata;
-         }
-    break;
-case 158:
-#line 1182 "rcparse.y"
-{
-           yyval.rcdata.first = NULL;
-           yyval.rcdata.last = NULL;
-         }
-    break;
-case 159:
-#line 1187 "rcparse.y"
-{
-           yyval.rcdata = yyvsp[0].rcdata;
-         }
-    break;
-case 160:
-#line 1194 "rcparse.y"
-{
-           struct rcdata_item *ri;
-
-           ri = define_rcdata_string (yyvsp[0].ss.s, yyvsp[0].ss.length);
-           yyval.rcdata.first = ri;
-           yyval.rcdata.last = ri;
-         }
-    break;
-case 161:
-#line 1202 "rcparse.y"
-{
-           struct rcdata_item *ri;
-
-           ri = define_rcdata_number (yyvsp[0].i.val, yyvsp[0].i.dword);
-           yyval.rcdata.first = ri;
-           yyval.rcdata.last = ri;
-         }
-    break;
-case 162:
-#line 1210 "rcparse.y"
-{
-           struct rcdata_item *ri;
-
-           ri = define_rcdata_string (yyvsp[0].ss.s, yyvsp[0].ss.length);
-           yyval.rcdata.first = yyvsp[-2].rcdata.first;
-           yyvsp[-2].rcdata.last->next = ri;
-           yyval.rcdata.last = ri;
-         }
-    break;
-case 163:
-#line 1219 "rcparse.y"
-{
-           struct rcdata_item *ri;
-
-           ri = define_rcdata_number (yyvsp[0].i.val, yyvsp[0].i.dword);
-           yyval.rcdata.first = yyvsp[-2].rcdata.first;
-           yyvsp[-2].rcdata.last->next = ri;
-           yyval.rcdata.last = ri;
-         }
-    break;
-case 164:
-#line 1233 "rcparse.y"
-{ sub_res_info = yyvsp[-1].res_info; }
-    break;
-case 167:
-#line 1240 "rcparse.y"
-{
-           define_stringtable (&sub_res_info, yyvsp[-1].il, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 168:
-#line 1247 "rcparse.y"
-{
-           define_stringtable (&sub_res_info, yyvsp[-2].il, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 169:
-#line 1260 "rcparse.y"
-{
-           define_user_data (yyvsp[-5].id, yyvsp[-4].id, &yyvsp[-3].res_info, yyvsp[-1].rcdata.first);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 170:
-#line 1267 "rcparse.y"
-{
-           define_user_file (yyvsp[-3].id, yyvsp[-2].id, &yyvsp[-1].res_info, yyvsp[0].s);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 171:
-#line 1279 "rcparse.y"
-{
-           define_versioninfo (yyvsp[-5].id, language, yyvsp[-3].fixver, yyvsp[-1].verinfo);
-           if (yychar != YYEMPTY)
-             YYERROR;
-           rcparse_discard_strings ();
-         }
-    break;
-case 172:
-#line 1289 "rcparse.y"
-{
-           yyval.fixver = ((struct fixed_versioninfo *)
-                 res_alloc (sizeof (struct fixed_versioninfo)));
-           memset (yyval.fixver, 0, sizeof (struct fixed_versioninfo));
-         }
-    break;
-case 173:
-#line 1295 "rcparse.y"
-{
-           yyvsp[-5].fixver->file_version_ms = (yyvsp[-3].il << 16) | yyvsp[-2].il;
-           yyvsp[-5].fixver->file_version_ls = (yyvsp[-1].il << 16) | yyvsp[0].il;
-           yyval.fixver = yyvsp[-5].fixver;
-         }
-    break;
-case 174:
-#line 1301 "rcparse.y"
-{
-           yyvsp[-5].fixver->product_version_ms = (yyvsp[-3].il << 16) | yyvsp[-2].il;
-           yyvsp[-5].fixver->product_version_ls = (yyvsp[-1].il << 16) | yyvsp[0].il;
-           yyval.fixver = yyvsp[-5].fixver;
-         }
-    break;
-case 175:
-#line 1307 "rcparse.y"
-{
-           yyvsp[-2].fixver->file_flags_mask = yyvsp[0].il;
-           yyval.fixver = yyvsp[-2].fixver;
-         }
-    break;
-case 176:
-#line 1312 "rcparse.y"
-{
-           yyvsp[-2].fixver->file_flags = yyvsp[0].il;
-           yyval.fixver = yyvsp[-2].fixver;
-         }
-    break;
-case 177:
-#line 1317 "rcparse.y"
-{
-           yyvsp[-2].fixver->file_os = yyvsp[0].il;
-           yyval.fixver = yyvsp[-2].fixver;
-         }
-    break;
-case 178:
-#line 1322 "rcparse.y"
-{
-           yyvsp[-2].fixver->file_type = yyvsp[0].il;
-           yyval.fixver = yyvsp[-2].fixver;
-         }
-    break;
-case 179:
-#line 1327 "rcparse.y"
-{
-           yyvsp[-2].fixver->file_subtype = yyvsp[0].il;
-           yyval.fixver = yyvsp[-2].fixver;
-         }
-    break;
-case 180:
-#line 1341 "rcparse.y"
-{
-           yyval.verinfo = NULL;
-         }
-    break;
-case 181:
-#line 1345 "rcparse.y"
-{
-           yyval.verinfo = append_ver_stringfileinfo (yyvsp[-7].verinfo, yyvsp[-4].s, yyvsp[-2].verstring);
-         }
-    break;
-case 182:
-#line 1349 "rcparse.y"
-{
-           yyval.verinfo = append_ver_varfileinfo (yyvsp[-6].verinfo, yyvsp[-2].s, yyvsp[-1].vervar);
-         }
-    break;
-case 183:
-#line 1356 "rcparse.y"
-{
-           yyval.verstring = NULL;
-         }
-    break;
-case 184:
-#line 1360 "rcparse.y"
-{
-           yyval.verstring = append_verval (yyvsp[-4].verstring, yyvsp[-2].s, yyvsp[0].s);
-         }
-    break;
-case 185:
-#line 1367 "rcparse.y"
-{
-           yyval.vervar = NULL;
-         }
-    break;
-case 186:
-#line 1371 "rcparse.y"
-{
-           yyval.vervar = append_vertrans (yyvsp[-2].vervar, yyvsp[-1].il, yyvsp[0].il);
-         }
-    break;
-case 187:
-#line 1380 "rcparse.y"
-{
-           yyval.id.named = 0;
-           yyval.id.u.id = yyvsp[0].il;
-         }
-    break;
-case 188:
-#line 1385 "rcparse.y"
-{
-           char *copy, *s;
-
-           /* It seems that resource ID's are forced to upper case.  */
-           copy = xstrdup (yyvsp[0].s);
-           for (s = copy; *s != '\0'; s++)
-             *s = TOUPPER (*s);
-           res_string_to_id (&yyval.id, copy);
-           free (copy);
-         }
-    break;
-case 189:
-#line 1401 "rcparse.y"
-{
-           yyval.s = yyvsp[0].s;
-         }
-    break;
-case 190:
-#line 1405 "rcparse.y"
-{
-           yyval.s = yyvsp[-1].s;
-         }
-    break;
-case 191:
-#line 1409 "rcparse.y"
-{
-           yyval.s = yyvsp[-1].s;
-         }
-    break;
-case 192:
-#line 1417 "rcparse.y"
-{
-           yyval.id.named = 0;
-           yyval.id.u.id = yyvsp[-1].il;
-         }
-    break;
-case 193:
-#line 1422 "rcparse.y"
-{
-           char *copy, *s;
-
-           /* It seems that resource ID's are forced to upper case.  */
-           copy = xstrdup (yyvsp[0].s);
-           for (s = copy; *s != '\0'; s++)
-             *s = TOUPPER (*s);
-           res_string_to_id (&yyval.id, copy);
-           free (copy);
-         }
-    break;
-case 194:
-#line 1439 "rcparse.y"
-{
-           memset (&yyval.res_info, 0, sizeof (struct res_res_info));
-           yyval.res_info.language = language;
-           /* FIXME: Is this the right default?  */
-           yyval.res_info.memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE;
-         }
-    break;
-case 195:
-#line 1446 "rcparse.y"
-{
-           yyval.res_info = yyvsp[-1].res_info;
-           yyval.res_info.memflags |= yyvsp[0].memflags.on;
-           yyval.res_info.memflags &=~ yyvsp[0].memflags.off;
-         }
-    break;
-case 196:
-#line 1452 "rcparse.y"
-{
-           yyval.res_info = yyvsp[-2].res_info;
-           yyval.res_info.characteristics = yyvsp[0].il;
-         }
-    break;
-case 197:
-#line 1457 "rcparse.y"
-{
-           yyval.res_info = yyvsp[-3].res_info;
-           yyval.res_info.language = yyvsp[-1].il | (yyvsp[0].il << SUBLANG_SHIFT);
-         }
-    break;
-case 198:
-#line 1462 "rcparse.y"
-{
-           yyval.res_info = yyvsp[-2].res_info;
-           yyval.res_info.version = yyvsp[0].il;
-         }
-    break;
-case 199:
-#line 1472 "rcparse.y"
-{
-           memset (&yyval.res_info, 0, sizeof (struct res_res_info));
-           yyval.res_info.language = language;
-           yyval.res_info.memflags = MEMFLAG_MOVEABLE | MEMFLAG_DISCARDABLE;
-         }
-    break;
-case 200:
-#line 1478 "rcparse.y"
-{
-           yyval.res_info = yyvsp[-1].res_info;
-           yyval.res_info.memflags |= yyvsp[0].memflags.on;
-           yyval.res_info.memflags &=~ yyvsp[0].memflags.off;
-         }
-    break;
-case 201:
-#line 1489 "rcparse.y"
-{
-           memset (&yyval.res_info, 0, sizeof (struct res_res_info));
-           yyval.res_info.language = language;
-           yyval.res_info.memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE;
-         }
-    break;
-case 202:
-#line 1495 "rcparse.y"
-{
-           yyval.res_info = yyvsp[-1].res_info;
-           yyval.res_info.memflags |= yyvsp[0].memflags.on;
-           yyval.res_info.memflags &=~ yyvsp[0].memflags.off;
-         }
-    break;
-case 203:
-#line 1507 "rcparse.y"
-{
-           yyval.memflags.on = MEMFLAG_MOVEABLE;
-           yyval.memflags.off = 0;
-         }
-    break;
-case 204:
-#line 1512 "rcparse.y"
-{
-           yyval.memflags.on = 0;
-           yyval.memflags.off = MEMFLAG_MOVEABLE;
-         }
-    break;
-case 205:
-#line 1517 "rcparse.y"
-{
-           yyval.memflags.on = MEMFLAG_PURE;
-           yyval.memflags.off = 0;
-         }
-    break;
-case 206:
-#line 1522 "rcparse.y"
-{
-           yyval.memflags.on = 0;
-           yyval.memflags.off = MEMFLAG_PURE;
-         }
-    break;
-case 207:
-#line 1527 "rcparse.y"
-{
-           yyval.memflags.on = MEMFLAG_PRELOAD;
-           yyval.memflags.off = 0;
-         }
-    break;
-case 208:
-#line 1532 "rcparse.y"
-{
-           yyval.memflags.on = 0;
-           yyval.memflags.off = MEMFLAG_PRELOAD;
-         }
-    break;
-case 209:
-#line 1537 "rcparse.y"
-{
-           yyval.memflags.on = MEMFLAG_DISCARDABLE;
-           yyval.memflags.off = 0;
-         }
-    break;
-case 210:
-#line 1547 "rcparse.y"
-{
-           yyval.s = yyvsp[0].s;
-         }
-    break;
-case 211:
-#line 1551 "rcparse.y"
-{
-           yyval.s = yyvsp[0].s;
-         }
-    break;
-case 212:
-#line 1568 "rcparse.y"
-{
-           style |= yyvsp[0].il;
-         }
-    break;
-case 213:
-#line 1572 "rcparse.y"
-{
-           style &=~ yyvsp[0].il;
-         }
-    break;
-case 214:
-#line 1576 "rcparse.y"
-{
-           style |= yyvsp[0].il;
-         }
-    break;
-case 215:
-#line 1580 "rcparse.y"
-{
-           style &=~ yyvsp[0].il;
-         }
-    break;
-case 216:
-#line 1587 "rcparse.y"
-{
-           yyval.il = yyvsp[0].i.val;
-         }
-    break;
-case 217:
-#line 1591 "rcparse.y"
-{
-           yyval.il = yyvsp[-1].il;
-         }
-    break;
-case 218:
-#line 1600 "rcparse.y"
-{
-           yyval.il = 0;
-         }
-    break;
-case 219:
-#line 1604 "rcparse.y"
-{
-           yyval.il = yyvsp[0].il;
-         }
-    break;
-case 220:
-#line 1613 "rcparse.y"
-{
-           yyval.il = yyvsp[0].il;
-         }
-    break;
-case 221:
-#line 1622 "rcparse.y"
-{
-           yyval.il = yyvsp[0].i.val;
-         }
-    break;
-case 222:
-#line 1631 "rcparse.y"
-{
-           yyval.i = yyvsp[0].i;
-         }
-    break;
-case 223:
-#line 1635 "rcparse.y"
-{
-           yyval.i = yyvsp[-1].i;
-         }
-    break;
-case 224:
-#line 1639 "rcparse.y"
-{
-           yyval.i.val = ~ yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[0].i.dword;
-         }
-    break;
-case 225:
-#line 1644 "rcparse.y"
-{
-           yyval.i.val = - yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[0].i.dword;
-         }
-    break;
-case 226:
-#line 1649 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val * yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 227:
-#line 1654 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val / yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 228:
-#line 1659 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val % yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 229:
-#line 1664 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val + yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 230:
-#line 1669 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val - yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 231:
-#line 1674 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val & yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 232:
-#line 1679 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val ^ yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 233:
-#line 1684 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val | yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 234:
-#line 1695 "rcparse.y"
-{
-           yyval.il = yyvsp[0].il;
-         }
-    break;
-case 235:
-#line 1704 "rcparse.y"
-{
-           yyval.il = yyvsp[0].i.val;
-         }
-    break;
-case 236:
-#line 1715 "rcparse.y"
-{
-           yyval.i = yyvsp[0].i;
-         }
-    break;
-case 237:
-#line 1719 "rcparse.y"
-{
-           yyval.i = yyvsp[-1].i;
-         }
-    break;
-case 238:
-#line 1723 "rcparse.y"
-{
-           yyval.i.val = ~ yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[0].i.dword;
-         }
-    break;
-case 239:
-#line 1728 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val * yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 240:
-#line 1733 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val / yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 241:
-#line 1738 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val % yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 242:
-#line 1743 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val + yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 243:
-#line 1748 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val - yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 244:
-#line 1753 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val & yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 245:
-#line 1758 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val ^ yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-case 246:
-#line 1763 "rcparse.y"
-{
-           yyval.i.val = yyvsp[-2].i.val | yyvsp[0].i.val;
-           yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword;
-         }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 1769 "rcparse.y"
-
-
-/* Set the language from the command line.  */
-
-void
-rcparse_set_language (int lang)
-{
-  language = lang;
-}
diff --git a/binutils/rcparse.h b/binutils/rcparse.h
deleted file mode 100644 (file)
index 3ad5fd3..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union
-{
-  struct accelerator acc;
-  struct accelerator *pacc;
-  struct dialog_control *dialog_control;
-  struct menuitem *menuitem;
-  struct
-  {
-    struct rcdata_item *first;
-    struct rcdata_item *last;
-  } rcdata;
-  struct rcdata_item *rcdata_item;
-  struct stringtable_data *stringtable;
-  struct fixed_versioninfo *fixver;
-  struct ver_info *verinfo;
-  struct ver_stringinfo *verstring;
-  struct ver_varinfo *vervar;
-  struct res_id id;
-  struct res_res_info res_info;
-  struct
-  {
-    unsigned short on;
-    unsigned short off;
-  } memflags;
-  struct
-  {
-    unsigned long val;
-    /* Nonzero if this number was explicitly specified as long.  */
-    int dword;
-  } i;
-  unsigned long il;
-  unsigned short is;
-  const char *s;
-  struct
-  {
-    unsigned long length;
-    const char *s;
-  } ss;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       BEG     257
-# define       END     258
-# define       ACCELERATORS    259
-# define       VIRTKEY 260
-# define       ASCII   261
-# define       NOINVERT        262
-# define       SHIFT   263
-# define       CONTROL 264
-# define       ALT     265
-# define       BITMAP  266
-# define       CURSOR  267
-# define       DIALOG  268
-# define       DIALOGEX        269
-# define       EXSTYLE 270
-# define       CAPTION 271
-# define       CLASS   272
-# define       STYLE   273
-# define       AUTO3STATE      274
-# define       AUTOCHECKBOX    275
-# define       AUTORADIOBUTTON 276
-# define       CHECKBOX        277
-# define       COMBOBOX        278
-# define       CTEXT   279
-# define       DEFPUSHBUTTON   280
-# define       EDITTEXT        281
-# define       GROUPBOX        282
-# define       LISTBOX 283
-# define       LTEXT   284
-# define       PUSHBOX 285
-# define       PUSHBUTTON      286
-# define       RADIOBUTTON     287
-# define       RTEXT   288
-# define       SCROLLBAR       289
-# define       STATE3  290
-# define       USERBUTTON      291
-# define       BEDIT   292
-# define       HEDIT   293
-# define       IEDIT   294
-# define       FONT    295
-# define       ICON    296
-# define       LANGUAGE        297
-# define       CHARACTERISTICS 298
-# define       VERSIONK        299
-# define       MENU    300
-# define       MENUEX  301
-# define       MENUITEM        302
-# define       SEPARATOR       303
-# define       POPUP   304
-# define       CHECKED 305
-# define       GRAYED  306
-# define       HELP    307
-# define       INACTIVE        308
-# define       MENUBARBREAK    309
-# define       MENUBREAK       310
-# define       MESSAGETABLE    311
-# define       RCDATA  312
-# define       STRINGTABLE     313
-# define       VERSIONINFO     314
-# define       FILEVERSION     315
-# define       PRODUCTVERSION  316
-# define       FILEFLAGSMASK   317
-# define       FILEFLAGS       318
-# define       FILEOS  319
-# define       FILETYPE        320
-# define       FILESUBTYPE     321
-# define       BLOCKSTRINGFILEINFO     322
-# define       BLOCKVARFILEINFO        323
-# define       VALUE   324
-# define       BLOCK   325
-# define       MOVEABLE        326
-# define       FIXED   327
-# define       PURE    328
-# define       IMPURE  329
-# define       PRELOAD 330
-# define       LOADONCALL      331
-# define       DISCARDABLE     332
-# define       NOT     333
-# define       QUOTEDSTRING    334
-# define       STRING  335
-# define       NUMBER  336
-# define       SIZEDSTRING     337
-# define       IGNORED_TOKEN   338
-# define       NEG     339
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/binutils/sysinfo.c b/binutils/sysinfo.c
deleted file mode 100644 (file)
index 75b1687..0000000
+++ /dev/null
@@ -1,1518 +0,0 @@
-/* A Bison parser, made from sysinfo.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       COND    257
-# define       REPEAT  258
-# define       TYPE    259
-# define       NAME    260
-# define       NUMBER  261
-# define       UNIT    262
-
-#line 20 "sysinfo.y"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-extern char *word;
-extern char writecode;
-extern int number;
-extern int unit;
-char nice_name[1000];
-char *it;
-int sofar;
-int width;
-int code;
-char * repeat;
-char *oldrepeat;
-char *name;
-int rdepth;
-char *loop [] = {"","n","m","/*BAD*/"};
-char *names[] = {" ","[n]","[n][m]"};
-char *pnames[]= {"","*","**"};
-
-static int yyerror (char *s);
-extern int yylex (void);
-
-#line 46 "sysinfo.y"
-#ifndef YYSTYPE
-typedef union {
- int i;
- char *s;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         55
-#define        YYFLAG          -32768
-#define        YYNTBASE        11
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 262 ? yytranslate[x] : 29)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       5,     6,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     7,
-       8,     9,    10
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     1,     4,     7,     8,     9,    16,    19,    22,
-      25,    26,    27,    34,    35,    42,    43,    54,    56,    57,
-      61,    64,    68,    69,    70,    74,    75
-};
-static const short yyrhs[] =
-{
-      -1,    12,    13,     0,    14,    13,     0,     0,     0,     5,
-       8,     9,    15,    16,     6,     0,    21,    16,     0,    19,
-      16,     0,    17,    16,     0,     0,     0,     5,     4,     8,
-      18,    16,     6,     0,     0,     5,     3,     8,    20,    16,
-       6,     0,     0,     5,    24,     5,    23,    25,     6,    26,
-      22,    27,     6,     0,     7,     0,     0,     5,     8,     6,
-       0,     9,    10,     0,     5,     8,     6,     0,     0,     0,
-       5,    28,     6,     0,     0,    28,     5,     8,     8,     6,
-       0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,    60,    60,    98,    99,   102,   102,   180,   182,   183,
-     184,   187,   187,   234,   234,   260,   260,   368,   370,   373,
-     378,   384,   386,   389,   390,   392,   393
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "COND", "REPEAT", "'('", "')'", "TYPE", 
-  "NAME", "NUMBER", "UNIT", "top", "@1", "it_list", "it", "@2", 
-  "it_field_list", "repeat_it_field", "@3", "cond_it_field", "@4", 
-  "it_field", "@5", "attr_type", "attr_desc", "attr_size", "attr_id", 
-  "enums", "enum_list", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    12,    11,    13,    13,    15,    14,    16,    16,    16,
-      16,    18,    17,    20,    19,    22,    21,    23,    23,    24,
-      25,    26,    26,    27,    27,    28,    28
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     0,     2,     2,     0,     0,     6,     2,     2,     2,
-       0,     0,     6,     0,     6,     0,    10,     1,     0,     3,
-       2,     3,     0,     0,     3,     0,     5
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       1,     4,     0,     2,     4,     0,     3,     5,    10,     0,
-       0,    10,    10,    10,     0,     0,     0,     0,     6,     9,
-       8,     7,    13,    11,     0,    18,    10,    10,    19,    17,
-       0,     0,     0,     0,     0,    14,    12,    20,    22,     0,
-      15,     0,    23,    21,    25,     0,     0,    16,     0,    24,
-       0,     0,    26,     0,     0,     0
-};
-
-static const short yydefgoto[] =
-{
-      53,     1,     3,     4,     8,    10,    11,    27,    12,    26,
-      13,    42,    30,    17,    34,    40,    45,    46
-};
-
-static const short yypact[] =
-{
-  -32768,     3,     2,-32768,     3,     4,-32768,-32768,     6,     0,
-       8,     6,     6,     6,     9,    10,    11,     7,-32768,-32768,
-  -32768,-32768,-32768,-32768,    14,    15,     6,     6,-32768,-32768,
-      12,    17,    18,    -1,    19,-32768,-32768,-32768,    21,    20,
-  -32768,    23,    22,-32768,-32768,    24,     1,-32768,    25,-32768,
-      26,    29,-32768,    31,    32,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,-32768,    33,-32768,-32768,   -11,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768
-};
-
-
-#define        YYLAST          37
-
-
-static const short yytable[] =
-{
-      19,    20,    21,    14,    15,    16,    48,    49,     2,    37,
-       5,     9,    25,     7,    18,    31,    32,    22,    23,    24,
-      28,    33,    29,    35,    36,    38,    39,    44,    41,    43,
-      47,    54,    55,    50,    51,    52,     0,     6
-};
-
-static const short yycheck[] =
-{
-      11,    12,    13,     3,     4,     5,     5,     6,     5,    10,
-       8,     5,     5,     9,     6,    26,    27,     8,     8,     8,
-       6,     9,     7,     6,     6,     6,     5,     5,     8,     6,
-       6,     0,     0,     8,     8,     6,    -1,     4
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 1:
-#line 60 "sysinfo.y"
-{
-  switch (writecode)
-    {
-    case 'i':
-      printf("#ifdef SYSROFF_SWAP_IN\n");
-      break; 
-    case 'p':
-      printf("#ifdef SYSROFF_p\n");
-      break; 
-    case 'd':
-      break;
-    case 'g':
-      printf("#ifdef SYSROFF_SWAP_OUT\n");
-      break;
-    case 'c':
-      printf("#ifdef SYSROFF_PRINT\n");
-      printf("#include <stdio.h>\n");
-      printf("#include <stdlib.h>\n");
-      printf("#include <ansidecl.h>\n");
-      break;
-    }
- }
-    break;
-case 2:
-#line 82 "sysinfo.y"
-{
-  switch (writecode) {
-  case 'i':
-  case 'p':
-  case 'g':
-  case 'c':
-    printf("#endif\n");
-    break; 
-  case 'd':
-    break;
-  }
-}
-    break;
-case 5:
-#line 104 "sysinfo.y"
-{
-       it = yyvsp[-1].s; code = yyvsp[0].i;
-       switch (writecode) 
-         {
-         case 'd':
-           printf("\n\n\n#define IT_%s_CODE 0x%x\n", it,code);
-           printf("struct IT_%s;\n", it);
-           printf("extern void sysroff_swap_%s_in PARAMS ((struct IT_%s *));\n",
-                  yyvsp[-1].s, it);
-           printf("extern void sysroff_swap_%s_out PARAMS ((FILE *, struct IT_%s *));\n",
-                  yyvsp[-1].s, it);
-           printf("extern void sysroff_print_%s_out PARAMS ((struct IT_%s *));\n",
-                  yyvsp[-1].s, it);
-           printf("struct IT_%s { \n", it);
-           break;
-         case 'i':
-           printf("void sysroff_swap_%s_in(ptr)\n",yyvsp[-1].s);
-           printf("struct IT_%s *ptr;\n", it);
-           printf("{\n");
-           printf("unsigned char raw[255];\n");
-           printf("\tint idx = 0 ;\n");
-           printf("\tint size;\n");
-           printf("memset(raw,0,255);\n");     
-           printf("memset(ptr,0,sizeof(*ptr));\n");
-           printf("size = fillup(raw);\n");
-           break;
-         case 'g':
-           printf("void sysroff_swap_%s_out(file,ptr)\n",yyvsp[-1].s);
-           printf("FILE * file;\n");
-           printf("struct IT_%s *ptr;\n", it);
-           printf("{\n");
-           printf("\tunsigned char raw[255];\n");
-           printf("\tint idx = 16 ;\n");
-           printf("\tmemset (raw, 0, 255);\n");
-           printf("\tcode = IT_%s_CODE;\n", it);
-           break;
-         case 'o':
-           printf("void sysroff_swap_%s_out(abfd,ptr)\n",yyvsp[-1].s);
-           printf("bfd * abfd;\n");
-           printf("struct IT_%s *ptr;\n",it);
-           printf("{\n");
-           printf("int idx = 0 ;\n");
-           break;
-         case 'c':
-           printf("void sysroff_print_%s_out(ptr)\n",yyvsp[-1].s);
-           printf("struct IT_%s *ptr;\n", it);
-           printf("{\n");
-           printf("itheader(\"%s\", IT_%s_CODE);\n",yyvsp[-1].s,yyvsp[-1].s);
-           break;
-
-         case 't':
-           break;
-         }
-
-      }
-    break;
-case 6:
-#line 161 "sysinfo.y"
-{
-  switch (writecode) {
-  case 'd': 
-    printf("};\n");
-    break;
-  case 'g':
-    printf("\tchecksum(file,raw, idx, IT_%s_CODE);\n", it);
-    
-  case 'i':
-
-  case 'o':
-  case 'c':
-    printf("}\n");
-  }
-}
-    break;
-case 11:
-#line 188 "sysinfo.y"
-{
-         rdepth++;
-         switch (writecode) 
-           {
-           case 'c':
-             if (rdepth==1)
-             printf("\tprintf(\"repeat %%d\\n\", %s);\n",yyvsp[0].s);
-             if (rdepth==2)
-             printf("\tprintf(\"repeat %%d\\n\", %s[n]);\n",yyvsp[0].s);
-           case 'i':
-           case 'g':
-           case 'o':
-
-             if (rdepth==1) 
-               {
-             printf("\t{ int n; for (n = 0; n < %s; n++) {\n",    yyvsp[0].s);
-           }
-             if (rdepth == 2) {
-             printf("\t{ int m; for (m = 0; m < %s[n]; m++) {\n",    yyvsp[0].s);
-           }           
-
-             break;
-           }
-
-         oldrepeat = repeat;
-         repeat = yyvsp[0].s;
-       }
-    break;
-case 12:
-#line 218 "sysinfo.y"
-{
-         repeat = oldrepeat;
-         oldrepeat =0;
-         rdepth--;
-         switch (writecode)
-           {
-           case 'i':
-           case 'g':
-           case 'o':
-           case 'c':
-         printf("\t}}\n");
-       }
-       }
-    break;
-case 13:
-#line 235 "sysinfo.y"
-{
-         switch (writecode) 
-           {
-           case 'i':
-           case 'g':
-           case 'o':
-           case 'c':
-             printf("\tif (%s) {\n", yyvsp[0].s);
-             break;
-           }
-       }
-    break;
-case 14:
-#line 248 "sysinfo.y"
-{
-         switch (writecode)
-           {
-           case 'i':
-           case 'g':
-           case 'o':
-           case 'c':
-         printf("\t}\n");
-       }
-       }
-    break;
-case 15:
-#line 262 "sysinfo.y"
-{name = yyvsp[0].s; }
-    break;
-case 16:
-#line 264 "sysinfo.y"
-{
-         char *desc = yyvsp[-8].s;
-         char *type = yyvsp[-6].s;
-         int size = yyvsp[-5].i;
-         char *id = yyvsp[-3].s;
-char *p = names[rdepth];
-char *ptr = pnames[rdepth];
-         switch (writecode) 
-           {
-           case 'g':
-             if (size % 8) 
-               {
-                 
-                 printf("\twriteBITS(ptr->%s%s,raw,&idx,%d);\n",
-                        id,
-                        names[rdepth], size);
-
-               }
-             else {
-               printf("\twrite%s(ptr->%s%s,raw,&idx,%d,file);\n",
-                      type,
-                      id,
-                      names[rdepth],size/8);
-               }
-             break;          
-           case 'i':
-             {
-
-               if (rdepth >= 1)
-
-                 {
-                   printf("if (!ptr->%s) ptr->%s = (%s*)xcalloc(%s, sizeof(ptr->%s[0]));\n", 
-                          id, 
-                          id,
-                          type,
-                          repeat,
-                          id);
-                 }
-
-               if (rdepth == 2)
-                 {
-                   printf("if (!ptr->%s[n]) ptr->%s[n] = (%s**)xcalloc(%s[n], sizeof(ptr->%s[n][0]));\n", 
-                          id, 
-                          id,
-                          type,
-                          repeat,
-                          id);
-                 }
-
-             }
-
-             if (size % 8) 
-               {
-                 printf("\tptr->%s%s = getBITS(raw,&idx, %d,size);\n",
-                        id,
-                        names[rdepth], 
-                        size);
-               }
-             else {
-               printf("\tptr->%s%s = get%s(raw,&idx, %d,size);\n",
-                      id,
-                      names[rdepth],
-                      type,
-                      size/8);
-               }
-             break;
-           case 'o':
-             printf("\tput%s(raw,%d,%d,&idx,ptr->%s%s);\n", type,size/8,size%8,id,names[rdepth]);
-             break;
-           case 'd':
-             if (repeat) 
-               printf("\t/* repeat %s */\n", repeat);
-
-                 if (type[0] == 'I') {
-                 printf("\tint %s%s; \t/* %s */\n",ptr,id, desc);
-               }
-                 else if (type[0] =='C') {
-                 printf("\tchar %s*%s;\t /* %s */\n",ptr,id, desc);
-               }
-             else {
-               printf("\tbarray %s%s;\t /* %s */\n",ptr,id, desc);
-             }
-                 break;
-               case 'c':
-             printf("tabout();\n");
-                 printf("\tprintf(\"/*%-30s*/ ptr->%s = \");\n", desc, id);
-
-                 if (type[0] == 'I')
-                 printf("\tprintf(\"%%d\\n\",ptr->%s%s);\n", id,p);
-                 else   if (type[0] == 'C')
-                 printf("\tprintf(\"%%s\\n\",ptr->%s%s);\n", id,p);
-
-                 else   if (type[0] == 'B') 
-                   {
-                 printf("\tpbarray(&ptr->%s%s);\n", id,p);
-               }
-             else abort();
-                 break;
-               }
-       }
-    break;
-case 17:
-#line 369 "sysinfo.y"
-{ yyval.s = yyvsp[0].s; }
-    break;
-case 18:
-#line 370 "sysinfo.y"
-{ yyval.s = "INT";}
-    break;
-case 19:
-#line 375 "sysinfo.y"
-{ yyval.s = yyvsp[-1].s; }
-    break;
-case 20:
-#line 380 "sysinfo.y"
-{ yyval.i = yyvsp[-1].i * yyvsp[0].i; }
-    break;
-case 21:
-#line 385 "sysinfo.y"
-{ yyval.s = yyvsp[-1].s; }
-    break;
-case 22:
-#line 386 "sysinfo.y"
-{ yyval.s = "dummy";}
-    break;
-case 26:
-#line 394 "sysinfo.y"
-{ 
-         switch (writecode) 
-           {
-           case 'd':
-             printf("#define %s %s\n", yyvsp[-2].s,yyvsp[-1].s);
-             break;
-           case 'c':
-               printf("if (ptr->%s%s == %s) { tabout(); printf(\"%s\\n\");}\n", name, names[rdepth],yyvsp[-1].s,yyvsp[-2].s);
-           }
-       }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 409 "sysinfo.y"
-
-/* four modes
-
-   -d write structure definitions for sysroff in host format
-   -i write functions to swap into sysroff format in
-   -o write functions to swap into sysroff format out
-   -c write code to print info in human form */
-
-int yydebug;
-char writecode;
-
-int 
-main (int ac, char **av)
-{
-  expandargv (&ac, &av);
-
-  yydebug=0;
-  if (ac > 1)
-    writecode = av[1][1];
-if (writecode == 'd')
-  {
-    printf("typedef struct { unsigned char *data; int len; } barray; \n");
-    printf("typedef  int INT;\n");
-    printf("typedef  char * CHARS;\n");
-
-  }
-  yyparse();
-return 0;
-}
-
-static int
-yyerror (char *s)
-{
-  fprintf(stderr, "%s\n" , s);
-  return 0;
-}
diff --git a/binutils/sysinfo.h b/binutils/sysinfo.h
deleted file mode 100644 (file)
index 6030f15..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union {
- int i;
- char *s;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       COND    257
-# define       REPEAT  258
-# define       TYPE    259
-# define       NAME    260
-# define       NUMBER  261
-# define       UNIT    262
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/binutils/syslex.c b/binutils/syslex.c
deleted file mode 100644 (file)
index a1ef562..0000000
+++ /dev/null
@@ -1,1732 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-#include <errno.h>
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- *     if ( condition_holds )
- *             yyless( 5 );
- *     else
- *             do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               *yy_cp = yy_hold_char; \
-               YY_RESTORE_YY_MORE_OFFSET \
-               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
-
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
-       {
-       FILE *yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
-
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
-
-       int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
-#define YY_BUFFER_EOF_PENDING 2
-       };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;                /* whether we need to initialize */
-static int yy_start = 0;       /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_is_interactive = is_interactive; \
-       }
-
-#define yy_set_bol(at_bol) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_at_bol = at_bol; \
-       }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-       yytext_ptr = yy_bp; \
-       yyleng = (int) (yy_cp - yy_bp); \
-       yy_hold_char = *yy_cp; \
-       *yy_cp = '\0'; \
-       yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 25
-#define YY_END_OF_BUFFER 26
-static yyconst short int yy_accept[81] =
-    {   0,
-        0,    0,   26,   25,    7,    8,    5,   25,    1,    2,
-       11,   11,    6,    3,    4,   25,   25,   25,   25,   25,
-       25,   25,    0,    9,   11,    0,    6,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   10,    0,    0,
-       13,    0,    0,    0,    0,   16,    0,    0,    0,    0,
-        0,   12,   15,    0,   23,    0,    0,    0,    0,    0,
-        0,   14,   18,    0,    0,    0,    0,    0,   17,    0,
-       24,    0,    0,    0,   20,   22,    0,   21,   19,    0
-    } ;
-
-static yyconst int yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    1,    5,    1,    1,    1,    1,    1,    6,
-        7,    1,    1,    1,    1,    1,    1,    8,    9,    9,
-        9,    9,    9,    9,    9,    9,    9,    1,   10,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-       11,    1,   12,    1,    1,    1,   13,   14,   15,   16,
-
-       17,   18,   19,   20,   21,    1,    1,   22,    1,   23,
-       24,   25,    1,   26,   27,   28,   29,   30,    1,   31,
-       32,   33,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst int yy_meta[34] =
-    {   0,
-        1,    1,    2,    1,    1,    1,    1,    3,    3,    1,
-        1,    1,    3,    3,    3,    3,    3,    3,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1
-    } ;
-
-static yyconst short int yy_base[84] =
-    {   0,
-        0,    0,  100,  101,  101,  101,  101,   94,  101,  101,
-       26,   28,    0,  101,  101,   82,   26,   18,   74,   79,
-       78,   81,   88,  101,   32,    0,    0,   76,   65,   62,
-       61,   75,   20,   59,   61,   66,   58,    0,   57,   56,
-       54,   63,   53,   62,   54,  101,   59,   48,   53,   46,
-       59,  101,   44,   43,  101,   41,   55,   46,   53,   44,
-       31,  101,  101,   39,   27,   21,   39,   19,  101,   35,
-      101,   33,   26,   29,  101,  101,   28,  101,  101,  101,
-       58,   61,   41
-    } ;
-
-static yyconst short int yy_def[84] =
-    {   0,
-       80,    1,   80,   80,   80,   80,   80,   81,   80,   80,
-       80,   80,   82,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   81,   80,   80,   83,   82,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   83,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,    0,
-       80,   80,   80
-    } ;
-
-static yyconst short int yy_nxt[135] =
-    {   0,
-        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,   15,   16,   17,   18,    4,    4,    4,    4,    4,
-       19,    4,    4,    4,    4,   20,   21,    4,    4,   22,
-        4,    4,    4,   25,   25,   25,   25,   32,   29,   25,
-       25,   33,   44,   38,   79,   78,   30,   77,   45,   76,
-       75,   74,   73,   72,   71,   70,   26,   31,   23,   23,
-       23,   27,   69,   27,   68,   67,   66,   65,   64,   63,
-       62,   61,   60,   59,   58,   57,   56,   55,   54,   53,
-       52,   51,   50,   49,   48,   47,   46,   43,   42,   41,
-       40,   39,   24,   37,   36,   35,   34,   28,   24,   80,
-
-        3,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80
-    } ;
-
-static yyconst short int yy_chk[135] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,   11,   11,   12,   12,   18,   17,   25,
-       25,   18,   33,   83,   77,   74,   17,   73,   33,   72,
-       70,   68,   67,   66,   65,   64,   11,   17,   81,   81,
-       81,   82,   61,   82,   60,   59,   58,   57,   56,   54,
-       53,   51,   50,   49,   48,   47,   45,   44,   43,   42,
-       41,   40,   39,   37,   36,   35,   34,   32,   31,   30,
-       29,   28,   23,   22,   21,   20,   19,   16,    8,    3,
-
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-       80,   80,   80,   80
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "syslex.l"
-#define INITIAL 0
-#line 2 "syslex.l"
-/* Copyright 2001, 2003, 2005 Free Software Foundation, Inc.
-
-This file is part of GLD, the Gnu Linker.
-
-GLD is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GLD is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GLD; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
-
-#include "config.h"
-#ifdef HAVE_STRING_H
-#include <string.h>
-#else
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-#endif
-#include "sysinfo.h"
-char *word;
-int number;
-int unit;
-
-#define YY_NO_UNPUT
-
-#ifndef yywrap
-static int yywrap (void) { return 1; }
-#endif
-
-extern int yylex (void);
-#line 460 "lex.yy.c"
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) \
-               { \
-               int c = '*', n; \
-               for ( n = 0; n < max_size && \
-                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-                       buf[n] = (char) c; \
-               if ( c == '\n' ) \
-                       buf[n++] = (char) c; \
-               if ( c == EOF && ferror( yyin ) ) \
-                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               result = n; \
-               } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(yyin); \
-                       } \
-               }
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-       YY_USER_ACTION
-
-YY_DECL
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-
-#line 42 "syslex.l"
-
-#line 624 "lex.yy.c"
-
-       if ( yy_init )
-               {
-               yy_init = 0;
-
-#ifdef YY_USER_INIT
-               YY_USER_INIT;
-#endif
-
-               if ( ! yy_start )
-                       yy_start = 1;   /* first start state */
-
-               if ( ! yyin )
-                       yyin = stdin;
-
-               if ( ! yyout )
-                       yyout = stdout;
-
-               if ( ! yy_current_buffer )
-                       yy_current_buffer =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-
-               yy_load_buffer_state();
-               }
-
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = yy_c_buf_p;
-
-               /* Support of yytext. */
-               *yy_cp = yy_hold_char;
-
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
-
-               yy_current_state = yy_start;
-yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               yy_last_accepting_state = yy_current_state;
-                               yy_last_accepting_cpos = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 81 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 101 );
-
-yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-
-do_action:     /* This label is used only to access EOF actions. */
-
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = yy_hold_char;
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 43 "syslex.l"
-{ return '(';}
-       YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 44 "syslex.l"
-{ return ')';}
-       YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 45 "syslex.l"
-{ return '[';}
-       YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 46 "syslex.l"
-{ return ']';}
-       YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 47 "syslex.l"
-{ ; }
-       YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 48 "syslex.l"
-{ ; } 
-       YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 49 "syslex.l"
-{ ; }
-       YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 50 "syslex.l"
-{ ; }
-       YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 51 "syslex.l"
-{
-       yylval.s = malloc (yyleng - 1);
-       memcpy (yylval.s, yytext + 1, yyleng - 2);
-       yylval.s[yyleng - 2] = '\0';
-        return NAME;
-       }
-       YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 58 "syslex.l"
-{
-        yylval.i = strtol(yytext,0,16);
-       return  NUMBER;
-       }
-       YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 63 "syslex.l"
-{
-        yylval.i = atoi(yytext);
-       return  NUMBER;
-       }
-       YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 69 "syslex.l"
-{ yylval.i =1 ;return UNIT;}
-       YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 70 "syslex.l"
-{ yylval.i = 1; return UNIT;}
-       YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 71 "syslex.l"
-{ yylval.i= 8; return UNIT;}
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 72 "syslex.l"
-{ yylval.i = 8; return UNIT;}
-       YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 74 "syslex.l"
-{ yylval.s = "INT"; return TYPE;}
-       YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 75 "syslex.l"
-{ yylval.s = "BARRAY"; return TYPE;}
-       YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 76 "syslex.l"
-{ yylval.s = "CHARS"; return TYPE;}
-       YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 77 "syslex.l"
-{ yylval.i = 0; return NUMBER;}
-       YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 78 "syslex.l"
-{ yylval.i = -4; return NUMBER;}
-       YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 79 "syslex.l"
-{ yylval.i = -2; return NUMBER; }
-       YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 80 "syslex.l"
-{ yylval.i = -1; return NUMBER; }
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 81 "syslex.l"
-{ return COND;}
-       YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 82 "syslex.l"
-{ return REPEAT;}
-       YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 83 "syslex.l"
-ECHO;
-       YY_BREAK
-#line 843 "lex.yy.c"
-case YY_STATE_EOF(INITIAL):
-       yyterminate();
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = yy_hold_char;
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between yy_current_buffer and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       yy_n_chars = yy_current_buffer->yy_n_chars;
-                       yy_current_buffer->yy_input_file = yyin;
-                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state();
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++yy_c_buf_p;
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = yy_c_buf_p;
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer() )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               yy_did_buffer_switch_on_eof = 0;
-
-                               if ( yywrap() )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               yy_c_buf_p =
-                                       yytext_ptr + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               yy_c_buf_p =
-                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
-       } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-       {
-       register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr;
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( yy_current_buffer->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-       else
-               {
-               int num_to_read =
-                       yy_current_buffer->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-                       YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = yy_current_buffer;
-
-                       int yy_c_buf_p_offset =
-                               (int) (yy_c_buf_p - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                        b->yy_buf_size + 2 );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = yy_current_buffer->yy_buf_size -
-                                               number_to_move - 1;
-#endif
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-                       yy_n_chars, num_to_read );
-
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       if ( yy_n_chars == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       yy_current_buffer->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       yy_n_chars += number_to_move;
-       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
-       return ret_val;
-       }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-
-       yy_current_state = yy_start;
-
-       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       yy_last_accepting_state = yy_current_state;
-                       yy_last_accepting_cpos = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 81 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
-       }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-       {
-       register int yy_is_jam;
-       register char *yy_cp = yy_c_buf_p;
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               yy_last_accepting_state = yy_current_state;
-               yy_last_accepting_cpos = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 81 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 80);
-
-       return yy_is_jam ? 0 : yy_current_state;
-       }
-
-
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-       {
-       register char *yy_cp = yy_c_buf_p;
-
-       /* undo effects of setting up yytext */
-       *yy_cp = yy_hold_char;
-
-       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = yy_n_chars + 2;
-               register char *dest = &yy_current_buffer->yy_ch_buf[
-                                       yy_current_buffer->yy_buf_size + 2];
-               register char *source =
-                               &yy_current_buffer->yy_ch_buf[number_to_move];
-
-               while ( source > yy_current_buffer->yy_ch_buf )
-                       *--dest = *--source;
-
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               yy_current_buffer->yy_n_chars =
-                       yy_n_chars = yy_current_buffer->yy_buf_size;
-
-               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
-
-       *--yy_cp = (char) c;
-
-
-       yytext_ptr = yy_bp;
-       yy_hold_char = *yy_cp;
-       yy_c_buf_p = yy_cp;
-       }
-#endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-       {
-       int c;
-
-       *yy_c_buf_p = yy_hold_char;
-
-       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       /* This was really a NUL. */
-                       *yy_c_buf_p = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = yy_c_buf_p - yytext_ptr;
-                       ++yy_c_buf_p;
-
-                       switch ( yy_get_next_buffer() )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /* fall through */
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap() )
-                                               return EOF;
-
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
-                                       return input();
-#endif
-                                       }
-
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       yy_c_buf_p = yytext_ptr + offset;
-                                       break;
-                               }
-                       }
-               }
-
-       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
-       *yy_c_buf_p = '\0';     /* preserve yytext */
-       yy_hold_char = *++yy_c_buf_p;
-
-
-       return c;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-       {
-       if ( ! yy_current_buffer )
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-       yy_init_buffer( yy_current_buffer, input_file );
-       yy_load_buffer_state();
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-       {
-       if ( yy_current_buffer == new_buffer )
-               return;
-
-       if ( yy_current_buffer )
-               {
-               /* Flush out information for old buffer. */
-               *yy_c_buf_p = yy_hold_char;
-               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       yy_current_buffer = new_buffer;
-       yy_load_buffer_state();
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       yy_did_buffer_switch_on_eof = 1;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-       {
-       yy_n_chars = yy_current_buffer->yy_n_chars;
-       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-       yyin = yy_current_buffer->yy_input_file;
-       yy_hold_char = *yy_c_buf_p;
-       }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_buf_size = size;
-
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_is_our_buffer = 1;
-
-       yy_init_buffer( b, file );
-
-       return b;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-       {
-       if ( ! b )
-               return;
-
-       if ( b == yy_current_buffer )
-               yy_current_buffer = (YY_BUFFER_STATE) 0;
-
-       if ( b->yy_is_our_buffer )
-               yy_flex_free( (void *) b->yy_ch_buf );
-
-       yy_flex_free( (void *) b );
-       }
-
-
-#ifndef _WIN32
-#include <unistd.h>
-#else
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
-       {
-       yy_flush_buffer( b );
-
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
-       b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-       b->yy_is_interactive = 0;
-#else
-       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
-       {
-       if ( ! b )
-               return;
-
-       b->yy_n_chars = 0;
-
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-       b->yy_buf_pos = &b->yy_ch_buf[0];
-
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       if ( b == yy_current_buffer )
-               yy_load_buffer_state();
-       }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       if ( size < 2 ||
-            base[size-2] != YY_END_OF_BUFFER_CHAR ||
-            base[size-1] != YY_END_OF_BUFFER_CHAR )
-               /* They forgot to leave room for the EOB's. */
-               return 0;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
-       b->yy_buf_pos = b->yy_ch_buf = base;
-       b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
-       b->yy_n_chars = b->yy_buf_size;
-       b->yy_is_interactive = 0;
-       b->yy_at_bol = 1;
-       b->yy_fill_buffer = 0;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       yy_switch_to_buffer( b );
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-       {
-       int len;
-       for ( len = 0; yy_str[len]; ++len )
-               ;
-
-       return yy_scan_bytes( yy_str, len );
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-       {
-       YY_BUFFER_STATE b;
-       char *buf;
-       yy_size_t n;
-       int i;
-
-       /* Get memory for full buffer, including space for trailing EOB's. */
-       n = len + 2;
-       buf = (char *) yy_flex_alloc( n );
-       if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-       for ( i = 0; i < len; ++i )
-               buf[i] = bytes[i];
-
-       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-       b = yy_scan_buffer( buf, n );
-       if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-       /* It's okay to grow etc. this buffer, and we should throw it
-        * away when we're done.
-        */
-       b->yy_is_our_buffer = 1;
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
-       {
-       if ( yy_start_stack_ptr >= yy_start_stack_depth )
-               {
-               yy_size_t new_size;
-
-               yy_start_stack_depth += YY_START_STACK_INCR;
-               new_size = yy_start_stack_depth * sizeof( int );
-
-               if ( ! yy_start_stack )
-                       yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-               else
-                       yy_start_stack = (int *) yy_flex_realloc(
-                                       (void *) yy_start_stack, new_size );
-
-               if ( ! yy_start_stack )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
-
-       yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
-       BEGIN(new_state);
-       }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-       {
-       if ( --yy_start_stack_ptr < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
-
-       BEGIN(yy_start_stack[yy_start_stack_ptr]);
-       }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-       {
-       return yy_start_stack[yy_start_stack_ptr - 1];
-       }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-       {
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-       }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               yytext[yyleng] = yy_hold_char; \
-               yy_c_buf_p = yytext + n; \
-               yy_hold_char = *yy_c_buf_p; \
-               *yy_c_buf_p = '\0'; \
-               yyleng = n; \
-               } \
-       while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-       {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
-       }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-       {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
-
-       return n;
-       }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-       {
-       return (void *) malloc( size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-       {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-       {
-       free( ptr );
-       }
-
-#if YY_MAIN
-int main()
-       {
-       yylex();
-       return 0;
-       }
-#endif
-#line 83 "syslex.l"
diff --git a/gas/itbl-lex.c b/gas/itbl-lex.c
deleted file mode 100644 (file)
index 2381aea..0000000
+++ /dev/null
@@ -1,1713 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-#include <errno.h>
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- *     if ( condition_holds )
- *             yyless( 5 );
- *     else
- *             do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               *yy_cp = yy_hold_char; \
-               YY_RESTORE_YY_MORE_OFFSET \
-               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
-
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
-       {
-       FILE *yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
-
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
-
-       int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
-#define YY_BUFFER_EOF_PENDING 2
-       };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;                /* whether we need to initialize */
-static int yy_start = 0;       /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_is_interactive = is_interactive; \
-       }
-
-#define yy_set_bol(at_bol) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_at_bol = at_bol; \
-       }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-       yytext_ptr = yy_bp; \
-       yyleng = (int) (yy_cp - yy_bp); \
-       yy_hold_char = *yy_cp; \
-       *yy_cp = '\0'; \
-       yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 15
-#define YY_END_OF_BUFFER 16
-static yyconst short int yy_accept[60] =
-    {   0,
-        0,    0,   16,   14,   13,   12,   11,    8,    8,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,    8,    0,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,    7,    9,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-        5,    1,    2,    3,   10,    6,   10,    4,    0
-    } ;
-
-static yyconst int yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    1,    1,    5,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    6,    7,    7,
-        7,    7,    7,    7,    7,    7,    7,    1,    8,    1,
-        1,    1,    1,    1,    9,   10,   11,   12,   13,   10,
-       14,   15,   16,   15,   15,   15,   17,   18,   15,   15,
-       15,   19,   20,   15,   15,   15,   15,   15,   15,   15,
-        1,    1,    1,    1,   15,    1,   21,   10,   22,   23,
-
-       24,   10,   25,   15,   26,   15,   15,   15,   27,   28,
-       15,   29,   15,   30,   31,   15,   15,   15,   15,   32,
-       15,   15,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst int yy_meta[33] =
-    {   0,
-        1,    1,    1,    1,    1,    2,    2,    1,    2,    2,
-        2,    2,    2,    3,    3,    3,    3,    3,    3,    3,
-        2,    2,    2,    2,    3,    3,    3,    3,    3,    3,
-        3,    3
-    } ;
-
-static yyconst short int yy_base[62] =
-    {   0,
-        0,    0,   83,   84,   84,   84,   84,   27,   29,   70,
-        0,   62,   61,   60,   20,   55,   47,   46,   45,   12,
-       35,   37,    0,    0,   62,   60,   59,   58,   53,   49,
-       45,   43,   42,   41,   37,   32,    0,    0,   43,   44,
-       43,   42,   42,   36,   23,   27,   26,   25,   25,   20,
-        0,    0,    0,    0,   35,    0,   23,    0,   84,   58,
-       43
-    } ;
-
-static yyconst short int yy_def[62] =
-    {   0,
-       59,    1,   59,   59,   59,   59,   59,   59,   59,   60,
-       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
-       60,   59,   61,   60,   60,   60,   60,   60,   60,   60,
-       60,   60,   60,   60,   60,   60,   60,   61,   60,   60,
-       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
-       60,   60,   60,   60,   60,   60,   60,   60,    0,   59,
-       59
-    } ;
-
-static yyconst short int yy_nxt[117] =
-    {   0,
-        4,    5,    6,    5,    7,    8,    9,    7,   10,   11,
-       12,   13,   11,   14,   11,   15,   11,   11,   11,   11,
-       16,   17,   18,   11,   19,   20,   11,   11,   21,   11,
-       11,   11,   22,   22,   22,   22,   29,   30,   35,   36,
-       37,   37,   22,   22,   38,   58,   58,   56,   57,   54,
-       53,   52,   51,   56,   55,   54,   53,   52,   23,   24,
-       24,   51,   50,   49,   48,   47,   46,   45,   44,   43,
-       42,   41,   40,   39,   34,   33,   32,   31,   28,   27,
-       26,   25,   59,    3,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59
-    } ;
-
-static yyconst short int yy_chk[117] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    8,    8,    9,    9,   15,   15,   20,   20,
-       21,   21,   22,   22,   61,   57,   55,   50,   49,   48,
-       47,   46,   45,   44,   43,   42,   41,   40,    8,   60,
-       60,   39,   36,   35,   34,   33,   32,   31,   30,   29,
-       28,   27,   26,   25,   19,   18,   17,   16,   14,   13,
-       12,   10,    3,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "itbl-lex.l"
-#define INITIAL 0
-/* itbl-lex.l
-   Copyright 1997, 1998, 2001, 2002, 2005 Free Software Foundation, Inc.
-
-   This file is part of GAS, the GNU Assembler.
-
-   GAS is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   GAS is distributed in the hope that it will be useful, 
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GAS; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
-#line 22 "itbl-lex.l"
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "itbl-lex.h"
-#include <itbl-parse.h>
-
-#ifdef DEBUG
-#define DBG(x) printf x
-#define MDBG(x) printf x
-#else
-#define DBG(x)
-#define MDBG(x)
-#endif
-
-int insntbl_line = 1;
-#line 446 "itbl-lex.c"
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) \
-               { \
-               int c = '*', n; \
-               for ( n = 0; n < max_size && \
-                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-                       buf[n] = (char) c; \
-               if ( c == '\n' ) \
-                       buf[n++] = (char) c; \
-               if ( c == EOF && ferror( yyin ) ) \
-                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               result = n; \
-               } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(yyin); \
-                       } \
-               }
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-       YY_USER_ACTION
-
-YY_DECL
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-
-#line 45 "itbl-lex.l"
-
-
-#line 611 "itbl-lex.c"
-
-       if ( yy_init )
-               {
-               yy_init = 0;
-
-#ifdef YY_USER_INIT
-               YY_USER_INIT;
-#endif
-
-               if ( ! yy_start )
-                       yy_start = 1;   /* first start state */
-
-               if ( ! yyin )
-                       yyin = stdin;
-
-               if ( ! yyout )
-                       yyout = stdout;
-
-               if ( ! yy_current_buffer )
-                       yy_current_buffer =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-
-               yy_load_buffer_state();
-               }
-
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = yy_c_buf_p;
-
-               /* Support of yytext. */
-               *yy_cp = yy_hold_char;
-
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
-
-               yy_current_state = yy_start;
-yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               yy_last_accepting_state = yy_current_state;
-                               yy_last_accepting_cpos = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 60 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 84 );
-
-yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-
-do_action:     /* This label is used only to access EOF actions. */
-
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = yy_hold_char;
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 47 "itbl-lex.l"
-{
-    return CREG;
-  }
-       YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 50 "itbl-lex.l"
-{
-    return DREG;
-  }
-       YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 53 "itbl-lex.l"
-{
-    return GREG;
-  }
-       YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 56 "itbl-lex.l"
-{
-    return IMMED;
-  }
-       YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 59 "itbl-lex.l"
-{
-    return ADDR;
-  }
-       YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 62 "itbl-lex.l"
-{
-    return INSN;
-  }
-       YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 65 "itbl-lex.l"
-{
-    yytext[yyleng] = 0;
-    yylval.processor = strtoul (yytext+1, 0, 0);
-    return PNUM;
-  }
-       YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 70 "itbl-lex.l"
-{
-    yytext[yyleng] = 0;
-    yylval.num = strtoul (yytext, 0, 0);
-    return NUM;
-  }
-       YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 75 "itbl-lex.l"
-{
-    yytext[yyleng] = 0;
-    yylval.num = strtoul (yytext, 0, 0);
-    return NUM;
-  }
-       YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 80 "itbl-lex.l"
-{
-    yytext[yyleng] = 0;
-    yylval.str = strdup (yytext);
-    return ID;
-  }
-       YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 85 "itbl-lex.l"
-{
-    int c;
-    while ((c = input ()) !=  EOF) 
-      {
-        if (c ==  '\n') 
-       {
-               unput (c);
-               break;
-       }
-      }
-  }
-       YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 96 "itbl-lex.l"
-{ 
-    insntbl_line++; 
-    MDBG (("in lex, NL = %d (x%x)\n", NL, NL));
-    return NL; 
-  }
-       YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 101 "itbl-lex.l"
-{ 
-  }
-       YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 103 "itbl-lex.l"
-{
-    MDBG (("char = %x, %d\n", yytext[0], yytext[0]));
-    return yytext[0];
-  }
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 107 "itbl-lex.l"
-ECHO;
-       YY_BREAK
-#line 815 "itbl-lex.c"
-case YY_STATE_EOF(INITIAL):
-       yyterminate();
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = yy_hold_char;
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between yy_current_buffer and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       yy_n_chars = yy_current_buffer->yy_n_chars;
-                       yy_current_buffer->yy_input_file = yyin;
-                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state();
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++yy_c_buf_p;
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = yy_c_buf_p;
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer() )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               yy_did_buffer_switch_on_eof = 0;
-
-                               if ( yywrap() )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               yy_c_buf_p =
-                                       yytext_ptr + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               yy_c_buf_p =
-                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
-       } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-       {
-       register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr;
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( yy_current_buffer->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-       else
-               {
-               int num_to_read =
-                       yy_current_buffer->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-                       YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = yy_current_buffer;
-
-                       int yy_c_buf_p_offset =
-                               (int) (yy_c_buf_p - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                        b->yy_buf_size + 2 );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = yy_current_buffer->yy_buf_size -
-                                               number_to_move - 1;
-#endif
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-                       yy_n_chars, num_to_read );
-
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       if ( yy_n_chars == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       yy_current_buffer->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       yy_n_chars += number_to_move;
-       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
-       return ret_val;
-       }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-
-       yy_current_state = yy_start;
-
-       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       yy_last_accepting_state = yy_current_state;
-                       yy_last_accepting_cpos = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 60 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
-       }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-       {
-       register int yy_is_jam;
-       register char *yy_cp = yy_c_buf_p;
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               yy_last_accepting_state = yy_current_state;
-               yy_last_accepting_cpos = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 60 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 59);
-
-       return yy_is_jam ? 0 : yy_current_state;
-       }
-
-
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-       {
-       register char *yy_cp = yy_c_buf_p;
-
-       /* undo effects of setting up yytext */
-       *yy_cp = yy_hold_char;
-
-       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = yy_n_chars + 2;
-               register char *dest = &yy_current_buffer->yy_ch_buf[
-                                       yy_current_buffer->yy_buf_size + 2];
-               register char *source =
-                               &yy_current_buffer->yy_ch_buf[number_to_move];
-
-               while ( source > yy_current_buffer->yy_ch_buf )
-                       *--dest = *--source;
-
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               yy_current_buffer->yy_n_chars =
-                       yy_n_chars = yy_current_buffer->yy_buf_size;
-
-               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
-
-       *--yy_cp = (char) c;
-
-
-       yytext_ptr = yy_bp;
-       yy_hold_char = *yy_cp;
-       yy_c_buf_p = yy_cp;
-       }
-#endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-       {
-       int c;
-
-       *yy_c_buf_p = yy_hold_char;
-
-       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       /* This was really a NUL. */
-                       *yy_c_buf_p = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = yy_c_buf_p - yytext_ptr;
-                       ++yy_c_buf_p;
-
-                       switch ( yy_get_next_buffer() )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /* fall through */
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap() )
-                                               return EOF;
-
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
-                                       return input();
-#endif
-                                       }
-
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       yy_c_buf_p = yytext_ptr + offset;
-                                       break;
-                               }
-                       }
-               }
-
-       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
-       *yy_c_buf_p = '\0';     /* preserve yytext */
-       yy_hold_char = *++yy_c_buf_p;
-
-
-       return c;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-       {
-       if ( ! yy_current_buffer )
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-       yy_init_buffer( yy_current_buffer, input_file );
-       yy_load_buffer_state();
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-       {
-       if ( yy_current_buffer == new_buffer )
-               return;
-
-       if ( yy_current_buffer )
-               {
-               /* Flush out information for old buffer. */
-               *yy_c_buf_p = yy_hold_char;
-               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       yy_current_buffer = new_buffer;
-       yy_load_buffer_state();
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       yy_did_buffer_switch_on_eof = 1;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-       {
-       yy_n_chars = yy_current_buffer->yy_n_chars;
-       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-       yyin = yy_current_buffer->yy_input_file;
-       yy_hold_char = *yy_c_buf_p;
-       }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_buf_size = size;
-
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_is_our_buffer = 1;
-
-       yy_init_buffer( b, file );
-
-       return b;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-       {
-       if ( ! b )
-               return;
-
-       if ( b == yy_current_buffer )
-               yy_current_buffer = (YY_BUFFER_STATE) 0;
-
-       if ( b->yy_is_our_buffer )
-               yy_flex_free( (void *) b->yy_ch_buf );
-
-       yy_flex_free( (void *) b );
-       }
-
-
-#ifndef _WIN32
-#include <unistd.h>
-#else
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
-       {
-       yy_flush_buffer( b );
-
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
-       b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-       b->yy_is_interactive = 0;
-#else
-       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
-       {
-       if ( ! b )
-               return;
-
-       b->yy_n_chars = 0;
-
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-       b->yy_buf_pos = &b->yy_ch_buf[0];
-
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       if ( b == yy_current_buffer )
-               yy_load_buffer_state();
-       }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       if ( size < 2 ||
-            base[size-2] != YY_END_OF_BUFFER_CHAR ||
-            base[size-1] != YY_END_OF_BUFFER_CHAR )
-               /* They forgot to leave room for the EOB's. */
-               return 0;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
-       b->yy_buf_pos = b->yy_ch_buf = base;
-       b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
-       b->yy_n_chars = b->yy_buf_size;
-       b->yy_is_interactive = 0;
-       b->yy_at_bol = 1;
-       b->yy_fill_buffer = 0;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       yy_switch_to_buffer( b );
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-       {
-       int len;
-       for ( len = 0; yy_str[len]; ++len )
-               ;
-
-       return yy_scan_bytes( yy_str, len );
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-       {
-       YY_BUFFER_STATE b;
-       char *buf;
-       yy_size_t n;
-       int i;
-
-       /* Get memory for full buffer, including space for trailing EOB's. */
-       n = len + 2;
-       buf = (char *) yy_flex_alloc( n );
-       if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-       for ( i = 0; i < len; ++i )
-               buf[i] = bytes[i];
-
-       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-       b = yy_scan_buffer( buf, n );
-       if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-       /* It's okay to grow etc. this buffer, and we should throw it
-        * away when we're done.
-        */
-       b->yy_is_our_buffer = 1;
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
-       {
-       if ( yy_start_stack_ptr >= yy_start_stack_depth )
-               {
-               yy_size_t new_size;
-
-               yy_start_stack_depth += YY_START_STACK_INCR;
-               new_size = yy_start_stack_depth * sizeof( int );
-
-               if ( ! yy_start_stack )
-                       yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-               else
-                       yy_start_stack = (int *) yy_flex_realloc(
-                                       (void *) yy_start_stack, new_size );
-
-               if ( ! yy_start_stack )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
-
-       yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
-       BEGIN(new_state);
-       }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-       {
-       if ( --yy_start_stack_ptr < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
-
-       BEGIN(yy_start_stack[yy_start_stack_ptr]);
-       }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-       {
-       return yy_start_stack[yy_start_stack_ptr - 1];
-       }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-       {
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-       }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               yytext[yyleng] = yy_hold_char; \
-               yy_c_buf_p = yytext + n; \
-               yy_hold_char = *yy_c_buf_p; \
-               *yy_c_buf_p = '\0'; \
-               yyleng = n; \
-               } \
-       while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-       {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
-       }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-       {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
-
-       return n;
-       }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-       {
-       return (void *) malloc( size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-       {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-       {
-       free( ptr );
-       }
-
-#if YY_MAIN
-int main()
-       {
-       yylex();
-       return 0;
-       }
-#endif
-#line 107 "itbl-lex.l"
-
-
-#ifndef yywrap
-int 
-yywrap () 
-  { 
-    return 1; 
-  }
-#endif
diff --git a/gas/itbl-parse.c b/gas/itbl-parse.c
deleted file mode 100644 (file)
index 1d4d5d6..0000000
+++ /dev/null
@@ -1,1546 +0,0 @@
-/* A Bison parser, made from itbl-parse.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       DREG    257
-# define       CREG    258
-# define       GREG    259
-# define       IMMED   260
-# define       ADDR    261
-# define       INSN    262
-# define       NUM     263
-# define       ID      264
-# define       NL      265
-# define       PNUM    266
-
-#line 21 "itbl-parse.y"
-
-
-/* 
-
-Yacc grammar for instruction table entries.
-
-=======================================================================
-Original Instruction table specification document:
-
-           MIPS Coprocessor Table Specification
-           ====================================
-
-This document describes the format of the MIPS coprocessor table.  The
-table specifies a list of valid functions, data registers and control
-registers that can be used in coprocessor instructions.  This list,
-together with the coprocessor instruction classes listed below,
-specifies the complete list of coprocessor instructions that will
-be recognized and assembled by the GNU assembler.  In effect,
-this makes the GNU assembler table-driven, where the table is
-specified by the programmer.
-
-The table is an ordinary text file that the GNU assembler reads when
-it starts.  Using the information in the table, the assembler
-generates an internal list of valid coprocessor registers and
-functions.  The assembler uses this internal list in addition to the
-standard MIPS registers and instructions which are built-in to the 
-assembler during code generation.
-
-To specify the coprocessor table when invoking the GNU assembler, use
-the command line option "--itbl file", where file is the
-complete name of the table, including path and extension.
-
-Examples:
-
-           gas -t cop.tbl test.s -o test.o
-           gas -t /usr/local/lib/cop.tbl test.s -o test.o
-           gas --itbl d:\gnu\data\cop.tbl test.s -o test.o
-
-Only one table may be supplied during a single invocation of
-the assembler.
-
-
-Instruction classes
-===================
-
-Below is a list of the valid coprocessor instruction classes for
-any given coprocessor "z".  These instructions are already recognized
-by the assembler, and are listed here only for reference.
-
-Class   format                       instructions
--------------------------------------------------
-Class1:
-       op base rt offset
-                                                           LWCz rt,offset (base)
-                                                           SWCz rt,offset (base)
-Class2:
-       COPz sub rt rd 0
-                                                           MTCz rt,rd
-                                                           MFCz rt,rd
-                                                           CTCz rt,rd
-                                                           CFCz rt,rd
-Class3:
-       COPz CO cofun
-                                                           COPz cofun
-Class4:
-       COPz BC br offset
-                                                           BCzT offset
-                                                           BCzF offset
-Class5:
-       COPz sub rt rd 0
-                                                           DMFCz rt,rd
-                                                           DMTCz rt,rd
-Class6:
-       op base rt offset
-                                                           LDCz rt,offset (base)
-                                                           SDCz rt,offset (base)
-Class7:
-       COPz BC br offset
-                                                           BCzTL offset
-                                                           BCzFL offset
-
-The coprocessor table defines coprocessor-specific registers that can
-be used with all of the above classes of instructions, where
-appropriate.  It also defines additional coprocessor-specific
-functions for Class3 (COPz cofun) instructions, Thus, the table allows
-the programmer to use convenient mnemonics and operands for these
-functions, instead of the COPz mmenmonic and cofun operand.
-
-The names of the MIPS general registers and their aliases are defined
-by the assembler and will be recognized as valid register names by the
-assembler when used (where allowed) in coprocessor instructions.
-However, the names and values of all coprocessor data and control
-register mnemonics must be specified in the coprocessor table.
-
-
-Table Grammar
-=============
-
-Here is the grammar for the coprocessor table:
-
-           table -> entry*
-
-           entry -> [z entrydef] [comment] '\n'
-
-           entrydef -> type name val
-           entrydef -> 'insn' name val funcdef ; type of entry (instruction)
-
-           z -> 'p'['0'..'3']               ; processor number 
-           type -> ['dreg' | 'creg' | 'greg' ]      ; type of entry (register)
-       ; 'dreg', 'creg' or 'greg' specifies a data, control, or general
-       ;           register mnemonic, respectively
-           name -> [ltr|dec]*               ; mnemonic of register/function
-           val -> [dec|hex]                 ; register/function number (integer constant)
-
-           funcdef -> frange flags fields
-                               ; bitfield range for opcode
-                               ; list of fields' formats
-           fields -> field*
-           field -> [','] ftype frange flags
-           flags -> ['*' flagexpr]
-           flagexpr -> '[' flagexpr ']'
-           flagexpr -> val '|' flagexpr 
-           ftype -> [ type | 'immed' | 'addr' ]
-       ; 'immed' specifies an immediate value; see grammar for "val" above
-               ; 'addr' specifies a C identifier; name of symbol to be resolved at 
-       ;           link time
-           frange -> ':' val '-' val   ; starting to ending bit positions, where
-                               ; where 0 is least significant bit
-           frange -> (null)            ; default range of 31-0 will be assumed
-
-           comment -> [';'|'#'] [char]*
-           char -> any printable character
-           ltr -> ['a'..'z'|'A'..'Z'] 
-           dec -> ['0'..'9']*                                       ; value in decimal
-           hex -> '0x'['0'..'9' | 'a'..'f' | 'A'..'F']*        ; value in hexadecimal 
-
-
-Examples
-========
-
-Example 1:
-
-The table:
-
-           p1 dreg d1 1             ; data register "d1" for COP1 has value 1
-           p1 creg c3 3             ; ctrl register "c3" for COP1 has value 3
-           p3 func fill 0x1f:24-20           ; function "fill" for COP3 has value 31 and 
-                       ; no fields
-
-will allow the assembler to accept the following coprocessor instructions:
-
-           LWC1 d1,0x100 ($2)
-           fill
-
-Here, the general purpose register "$2", and instruction "LWC1", are standard 
-mnemonics built-in to the MIPS assembler.  
-
-
-Example 2:
-
-The table:
-
-           p3 dreg d3 3             ; data register "d3" for COP3 has value 3
-           p3 creg c2 22            ; control register "c2" for COP3 has value 22
-           p3 func fee 0x1f:24-20 dreg:17-13 creg:12-8 immed:7-0 
-               ; function "fee" for COP3 has value 31, and 3 fields 
-               ; consisting of a data register, a control register, 
-               ; and an immediate value.
-
-will allow the assembler to accept the following coprocessor instruction:
-
-           fee d3,c2,0x1
-
-and will emit the object code:
-
-           31-26  25 24-20 19-18  17-13 12-8  7-0
-           COPz   CO fun                     dreg  creg  immed
-           010011 1  11111 00       00011 10110 00000001 
-
-           0x4ff07601
-
-
-Example 3:
-
-The table:
-
-           p3 dreg d3 3             ; data register "d3" for COP3 has value 3
-           p3 creg c2 22            ; control register "c2" for COP3 has value 22
-           p3 func fuu 0x01f00001 dreg:17-13 creg:12-8
-
-will allow the assembler to accept the following coprocessor
-instruction:
-
-           fuu d3,c2
-
-and will emit the object code:
-
-           31-26  25 24-20 19-18  17-13 12-8  7-0
-           COPz   CO fun                     dreg  creg  
-           010011 1  11111 00       00011 10110 00000001 
-
-           0x4ff07601
-
-In this way, the programmer can force arbitrary bits of an instruction
-to have predefined values.
-
-=======================================================================
-Additional notes:
-
-Encoding of ranges:
-To handle more than one bit position range within an instruction,
-use 0s to mask out the ranges which don't apply.
-May decide to modify the syntax to allow commas separate multiple 
-ranges within an instruction (range','range).
-
-Changes in grammar:
-       The number of parms argument to the function entry
-was deleted from the original format such that we now count the fields.
-
-----
-FIXME! should really change lexical analyzer 
-to recognize 'dreg' etc. in context sensitive way.
-Currently function names or mnemonics may be incorrectly parsed as keywords
-
-FIXME! hex is ambiguous with any digit
-
-*/
-
-#include <stdio.h>
-#include "itbl-lex.h"
-#include "itbl-ops.h"
-
-/* #define DEBUG */
-
-#ifdef DEBUG
-#ifndef DBG_LVL
-#define DBG_LVL 1
-#endif
-#else
-#define DBG_LVL 0
-#endif
-
-#if DBG_LVL >= 1
-#define DBG(x) printf x
-#else
-#define DBG(x) 
-#endif
-
-#if DBG_LVL >= 2
-#define DBGL2(x) printf x
-#else
-#define DBGL2(x) 
-#endif
-
-static int sbit, ebit;
-static struct itbl_entry *insn=0;
-static int yyerror PARAMS ((const char *));
-
-
-#line 281 "itbl-parse.y"
-#ifndef YYSTYPE
-typedef union 
-  {
-    char *str;
-    int num;
-    int processor;
-    unsigned long val;
-  } yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         51
-#define        YYFLAG          -32768
-#define        YYNTBASE        20
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 266 ? yytranslate[x] : 34)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,    17,     2,    13,    19,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    18,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    15,     2,    16,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    14,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     2,     5,     6,    12,    13,    23,    25,    28,
-      32,    35,    36,    38,    40,    42,    46,    50,    54,    56,
-      59,    60,    65,    66,    68,    70,    72,    74,    76,    78
-};
-static const short yyrhs[] =
-{
-      21,     0,    22,    21,     0,     0,    30,    31,    32,    33,
-      11,     0,     0,    30,     8,    32,    33,    29,    28,    23,
-      24,    11,     0,    11,     0,     1,    11,     0,    13,    26,
-      24,     0,    26,    24,     0,     0,    31,     0,     7,     0,
-       6,     0,    25,    29,    28,     0,     9,    14,    27,     0,
-      15,    27,    16,     0,     9,     0,    17,    27,     0,     0,
-      18,     9,    19,     9,     0,     0,    12,     0,     3,     0,
-       4,     0,     5,     0,    10,     0,     9,     0,     9,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,   298,   302,   304,   307,   314,   314,   323,   324,   327,
-     329,   330,   333,   339,   344,   351,   360,   365,   369,   375,
-     381,   387,   394,   401,   409,   415,   420,   427,   435,   443
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "DREG", "CREG", "GREG", "IMMED", "ADDR", 
-  "INSN", "NUM", "ID", "NL", "PNUM", "','", "'|'", "'['", "']'", "'*'", 
-  "':'", "'-'", "insntbl", "entrys", "entry", "@1", "fieldspecs", "ftype", 
-  "fieldspec", "flagexpr", "flags", "range", "pnum", "regtype", "name", 
-  "value", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    20,    21,    21,    22,    23,    22,    22,    22,    24,
-      24,    24,    25,    25,    25,    26,    27,    27,    27,    28,
-      28,    29,    29,    30,    31,    31,    31,    32,    34,    33
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     1,     2,     0,     5,     0,     9,     1,     2,     3,
-       2,     0,     1,     1,     1,     3,     3,     3,     1,     2,
-       0,     4,     0,     1,     1,     1,     1,     1,     1,     1
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       0,     0,     7,    23,     1,     0,     0,     8,     2,    24,
-      25,    26,     0,     0,    27,     0,     0,    29,    22,     0,
-       0,    20,     4,     0,     0,     5,     0,    18,     0,    19,
-      11,    21,     0,     0,    14,    13,     0,     0,    22,    11,
-      12,    16,    17,    11,     6,    20,    10,     9,    15,     0,
-       0,     0
-};
-
-static const short yydefgoto[] =
-{
-      49,     4,     5,    30,    37,    38,    39,    29,    25,    21,
-       6,    40,    15,    18
-};
-
-static const short yypact[] =
-{
-       0,    -9,-32768,-32768,-32768,     0,    12,-32768,-32768,-32768,
-  -32768,-32768,     3,     3,-32768,     9,     9,-32768,    -8,     8,
-      19,    15,-32768,    10,    -6,-32768,    24,    20,    -6,-32768,
-       1,-32768,    -6,    21,-32768,-32768,    18,    25,    -8,     1,
-  -32768,-32768,-32768,     1,-32768,    15,-32768,-32768,-32768,    35,
-      38,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,    34,-32768,-32768,   -13,-32768,     4,    -1,    -4,     5,
-  -32768,    36,    31,    29
-};
-
-
-#define        YYLAST          45
-
-
-static const short yytable[] =
-{
-      -3,     1,     7,    27,     9,    10,    11,    34,    35,    28,
-      20,     2,     3,    14,    36,     9,    10,    11,    17,    22,
-      12,     9,    10,    11,    34,    35,    46,    33,    23,    26,
-      47,    41,    24,    31,    32,    50,    44,    42,    51,     8,
-      43,    48,    13,    45,    16,    19
-};
-
-static const short yycheck[] =
-{
-       0,     1,    11,     9,     3,     4,     5,     6,     7,    15,
-      18,    11,    12,    10,    13,     3,     4,     5,     9,    11,
-       8,     3,     4,     5,     6,     7,    39,    28,     9,    19,
-      43,    32,    17,     9,    14,     0,    11,    16,     0,     5,
-      36,    45,     6,    38,    13,    16
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 4:
-#line 309 "itbl-parse.y"
-{
-           DBG (("line %d: entry pnum=%d type=%d name=%s value=x%x\n", 
-                   insntbl_line, yyvsp[-4].num, yyvsp[-3].num, yyvsp[-2].str, yyvsp[-1].val));
-           itbl_add_reg (yyvsp[-4].num, yyvsp[-3].num, yyvsp[-2].str, yyvsp[-1].val);
-         }
-    break;
-case 5:
-#line 315 "itbl-parse.y"
-{
-           DBG (("line %d: entry pnum=%d type=INSN name=%s value=x%x",
-                   insntbl_line, yyvsp[-5].num, yyvsp[-3].str, yyvsp[-2].val));
-           DBG ((" sbit=%d ebit=%d flags=0x%x\n", sbit, ebit, yyvsp[0].val));
-           insn=itbl_add_insn (yyvsp[-5].num, yyvsp[-3].str, yyvsp[-2].val, sbit, ebit, yyvsp[0].val);
-         }
-    break;
-case 6:
-#line 322 "itbl-parse.y"
-{}
-    break;
-case 12:
-#line 335 "itbl-parse.y"
-{
-           DBGL2 (("ftype\n"));
-           yyval.num = yyvsp[0].num;
-         }
-    break;
-case 13:
-#line 340 "itbl-parse.y"
-{
-           DBGL2 (("addr\n"));
-           yyval.num = ADDR;
-         }
-    break;
-case 14:
-#line 345 "itbl-parse.y"
-{
-           DBGL2 (("immed\n"));
-           yyval.num = IMMED;
-         }
-    break;
-case 15:
-#line 353 "itbl-parse.y"
-{
-           DBG (("line %d: field type=%d sbit=%d ebit=%d, flags=0x%x\n", 
-                   insntbl_line, yyvsp[-2].num, sbit, ebit, yyvsp[0].val));
-           itbl_add_operand (insn, yyvsp[-2].num, sbit, ebit, yyvsp[0].val);
-         }
-    break;
-case 16:
-#line 362 "itbl-parse.y"
-{
-           yyval.val = yyvsp[-2].num | yyvsp[0].val;
-         }
-    break;
-case 17:
-#line 366 "itbl-parse.y"
-{
-           yyval.val = yyvsp[-1].val;
-         }
-    break;
-case 18:
-#line 370 "itbl-parse.y"
-{
-           yyval.val = yyvsp[0].num;
-         }
-    break;
-case 19:
-#line 377 "itbl-parse.y"
-{
-           DBGL2 (("flags=%d\n", yyvsp[0].val));
-           yyval.val = yyvsp[0].val;
-         }
-    break;
-case 20:
-#line 382 "itbl-parse.y"
-{
-           yyval.val = 0;
-         }
-    break;
-case 21:
-#line 389 "itbl-parse.y"
-{
-           DBGL2 (("range %d %d\n", yyvsp[-2].num, yyvsp[0].num));
-           sbit = yyvsp[-2].num;
-           ebit = yyvsp[0].num;
-         }
-    break;
-case 22:
-#line 395 "itbl-parse.y"
-{
-           sbit = 31;
-           ebit = 0;
-         }
-    break;
-case 23:
-#line 403 "itbl-parse.y"
-{
-           DBGL2 (("pnum=%d\n",yyvsp[0].num));
-           yyval.num = yyvsp[0].num;
-         }
-    break;
-case 24:
-#line 411 "itbl-parse.y"
-{
-           DBGL2 (("dreg\n"));
-           yyval.num = DREG;
-         }
-    break;
-case 25:
-#line 416 "itbl-parse.y"
-{
-           DBGL2 (("creg\n"));
-           yyval.num = CREG;
-         }
-    break;
-case 26:
-#line 421 "itbl-parse.y"
-{
-           DBGL2 (("greg\n"));
-           yyval.num = GREG;
-         }
-    break;
-case 27:
-#line 429 "itbl-parse.y"
-{
-           DBGL2 (("name=%s\n",yyvsp[0].str));
-           yyval.str = yyvsp[0].str; 
-         }
-    break;
-case 28:
-#line 437 "itbl-parse.y"
-{
-           DBGL2 (("num=%d\n",yyvsp[0].num));
-           yyval.num = yyvsp[0].num;
-         }
-    break;
-case 29:
-#line 445 "itbl-parse.y"
-{
-           DBGL2 (("val=x%x\n",yyvsp[0].num));
-           yyval.val = yyvsp[0].num;
-         }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 450 "itbl-parse.y"
-
-
-static int
-yyerror (msg)
-     const char *msg;
-{
-  printf ("line %d: %s\n", insntbl_line, msg);
-  return 0;
-}
diff --git a/gas/itbl-parse.h b/gas/itbl-parse.h
deleted file mode 100644 (file)
index 00bdbdb..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union 
-  {
-    char *str;
-    int num;
-    int processor;
-    unsigned long val;
-  } yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       DREG    257
-# define       CREG    258
-# define       GREG    259
-# define       IMMED   260
-# define       ADDR    261
-# define       INSN    262
-# define       NUM     263
-# define       ID      264
-# define       NL      265
-# define       PNUM    266
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/gas/m68k-parse.c b/gas/m68k-parse.c
deleted file mode 100644 (file)
index 63566af..0000000
+++ /dev/null
@@ -1,2305 +0,0 @@
-/* A Bison parser, made from /nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       DR      257
-# define       AR      258
-# define       FPR     259
-# define       FPCR    260
-# define       LPC     261
-# define       ZAR     262
-# define       ZDR     263
-# define       LZPC    264
-# define       CREG    265
-# define       INDEXREG        266
-# define       EXPR    267
-
-#line 28 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-
-
-#include "as.h"
-#include "tc-m68k.h"
-#include "m68k-parse.h"
-#include "safe-ctype.h"
-
-/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
-   etc), as well as gratuitously global symbol names If other parser
-   generators (bison, byacc, etc) produce additional global names that
-   conflict at link time, then those parser generators need to be
-   fixed instead of adding those names to this list.  */
-
-#define        yymaxdepth m68k_maxdepth
-#define        yyparse m68k_parse
-#define        yylex   m68k_lex
-#define        yyerror m68k_error
-#define        yylval  m68k_lval
-#define        yychar  m68k_char
-#define        yydebug m68k_debug
-#define        yypact  m68k_pact       
-#define        yyr1    m68k_r1                 
-#define        yyr2    m68k_r2                 
-#define        yydef   m68k_def                
-#define        yychk   m68k_chk                
-#define        yypgo   m68k_pgo                
-#define        yyact   m68k_act                
-#define        yyexca  m68k_exca
-#define yyerrflag m68k_errflag
-#define yynerrs        m68k_nerrs
-#define        yyps    m68k_ps
-#define        yypv    m68k_pv
-#define        yys     m68k_s
-#define        yy_yys  m68k_yys
-#define        yystate m68k_state
-#define        yytmp   m68k_tmp
-#define        yyv     m68k_v
-#define        yy_yyv  m68k_yyv
-#define        yyval   m68k_val
-#define        yylloc  m68k_lloc
-#define yyreds m68k_reds               /* With YYDEBUG defined */
-#define yytoks m68k_toks               /* With YYDEBUG defined */
-#define yylhs  m68k_yylhs
-#define yylen  m68k_yylen
-#define yydefred m68k_yydefred
-#define yydgoto        m68k_yydgoto
-#define yysindex m68k_yysindex
-#define yyrindex m68k_yyrindex
-#define yygindex m68k_yygindex
-#define yytable         m68k_yytable
-#define yycheck         m68k_yycheck
-
-#ifndef YYDEBUG
-#define YYDEBUG 1
-#endif
-
-/* Internal functions.  */
-
-static enum m68k_register m68k_reg_parse PARAMS ((char **));
-static int yylex PARAMS ((void));
-static void yyerror PARAMS ((const char *));
-
-/* The parser sets fields pointed to by this global variable.  */
-static struct m68k_op *op;
-
-
-#line 95 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-#ifndef YYSTYPE
-typedef union
-{
-  struct m68k_indexreg indexreg;
-  enum m68k_register reg;
-  struct m68k_exp exp;
-  unsigned long mask;
-  int onereg;
-  int trailing_ampersand;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         180
-#define        YYFLAG          -32768
-#define        YYNTBASE        27
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 47)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,    17,     2,     2,    14,     2,
-      18,    19,     2,    20,    22,    21,     2,    26,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-      15,     2,    16,     2,    25,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    23,     2,    24,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     2,     5,     8,     9,    11,    14,    17,    19,
-      21,    23,    25,    27,    29,    32,    35,    37,    41,    46,
-      51,    57,    63,    68,    72,    76,    80,    88,    96,   103,
-     109,   116,   122,   129,   135,   141,   146,   156,   164,   173,
-     180,   191,   200,   211,   220,   229,   232,   236,   240,   246,
-     253,   264,   274,   285,   287,   289,   291,   293,   295,   297,
-     299,   301,   303,   305,   307,   309,   311,   313,   314,   316,
-     318,   320,   321,   324,   325,   328,   329,   332,   334,   338,
-     342,   344,   346,   350,   354,   358,   360,   362,   364
-};
-static const short yyrhs[] =
-{
-      29,     0,    30,    28,     0,    31,    28,     0,     0,    14,
-       0,    15,    15,     0,    16,    16,     0,     3,     0,     4,
-       0,     5,     0,     6,     0,    11,     0,    13,     0,    17,
-      13,     0,    14,    13,     0,    43,     0,    18,     4,    19,
-       0,    18,     4,    19,    20,     0,    21,    18,     4,    19,
-       0,    18,    13,    22,    37,    19,     0,    18,    37,    22,
-      13,    19,     0,    13,    18,    37,    19,     0,    18,     7,
-      19,     0,    18,     8,    19,     0,    18,    10,    19,     0,
-      18,    13,    22,    37,    22,    32,    19,     0,    18,    13,
-      22,    37,    22,    39,    19,     0,    18,    13,    22,    33,
-      40,    19,     0,    18,    33,    22,    13,    19,     0,    13,
-      18,    37,    22,    32,    19,     0,    18,    37,    22,    32,
-      19,     0,    13,    18,    37,    22,    39,    19,     0,    18,
-      37,    22,    39,    19,     0,    13,    18,    33,    40,    19,
-       0,    18,    33,    40,    19,     0,    18,    23,    13,    40,
-      24,    22,    32,    41,    19,     0,    18,    23,    13,    40,
-      24,    41,    19,     0,    18,    23,    37,    24,    22,    32,
-      41,    19,     0,    18,    23,    37,    24,    41,    19,     0,
-      18,    23,    13,    22,    37,    22,    32,    24,    41,    19,
-       0,    18,    23,    37,    22,    32,    24,    41,    19,     0,
-      18,    23,    13,    22,    37,    22,    39,    24,    41,    19,
-       0,    18,    23,    37,    22,    39,    24,    41,    19,     0,
-      18,    23,    42,    33,    40,    24,    41,    19,     0,    38,
-      25,     0,    38,    25,    20,     0,    38,    25,    21,     0,
-      38,    25,    18,    13,    19,     0,    38,    25,    18,    42,
-      32,    19,     0,    38,    25,    18,    13,    19,    25,    18,
-      42,    32,    19,     0,    38,    25,    18,    13,    19,    25,
-      18,    13,    19,     0,    38,    25,    18,    42,    32,    19,
-      25,    18,    13,    19,     0,    12,     0,    34,     0,    12,
-       0,    35,     0,    35,     0,     4,     0,     8,     0,     3,
-       0,     9,     0,     4,     0,     7,     0,    36,     0,    10,
-       0,     8,     0,     0,    37,     0,     7,     0,    10,     0,
-       0,    22,    37,     0,     0,    22,    13,     0,     0,    13,
-      22,     0,    45,     0,    45,    26,    44,     0,    46,    26,
-      44,     0,    46,     0,    45,     0,    45,    26,    44,     0,
-      46,    26,    44,     0,    46,    21,    46,     0,     3,     0,
-       4,     0,     5,     0,     6,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,   120,   122,   126,   133,   136,   142,   148,   153,   158,
-     163,   168,   173,   178,   183,   188,   193,   205,   211,   216,
-     221,   231,   241,   251,   256,   261,   266,   273,   284,   291,
-     297,   304,   310,   321,   331,   338,   344,   352,   359,   366,
-     372,   380,   387,   399,   410,   422,   431,   439,   447,   457,
-     464,   472,   479,   492,   494,   506,   508,   519,   521,   522,
-     527,   529,   534,   536,   542,   544,   545,   550,   555,   560,
-     562,   567,   572,   580,   586,   594,   600,   608,   610,   614,
-     625,   630,   631,   635,   641,   651,   656,   660,   664
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "DR", "AR", "FPR", "FPCR", "LPC", "ZAR", 
-  "ZDR", "LZPC", "CREG", "INDEXREG", "EXPR", "'&'", "'<'", "'>'", "'#'", 
-  "'('", "')'", "'+'", "'-'", "','", "'['", "']'", "'@'", "'/'", 
-  "operand", "optional_ampersand", "generic_operand", "motorola_operand", 
-  "mit_operand", "zireg", "zdireg", "zadr", "zdr", "apc", "zapc", 
-  "optzapc", "zpc", "optczapc", "optcexpr", "optexprc", "reglist", 
-  "ireglist", "reglistpair", "reglistreg", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    27,    27,    27,    28,    28,    29,    29,    29,    29,
-      29,    29,    29,    29,    29,    29,    29,    30,    30,    30,
-      30,    30,    30,    30,    30,    30,    30,    30,    30,    30,
-      30,    30,    30,    30,    30,    30,    30,    30,    30,    30,
-      30,    30,    30,    30,    30,    31,    31,    31,    31,    31,
-      31,    31,    31,    32,    32,    33,    33,    34,    34,    34,
-      35,    35,    36,    36,    37,    37,    37,    38,    38,    39,
-      39,    40,    40,    41,    41,    42,    42,    43,    43,    43,
-      44,    44,    44,    44,    45,    46,    46,    46,    46
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     1,     2,     2,     0,     1,     2,     2,     1,     1,
-       1,     1,     1,     1,     2,     2,     1,     3,     4,     4,
-       5,     5,     4,     3,     3,     3,     7,     7,     6,     5,
-       6,     5,     6,     5,     5,     4,     9,     7,     8,     6,
-      10,     8,    10,     8,     8,     2,     3,     3,     5,     6,
-      10,     9,    10,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     0,     1,     1,
-       1,     0,     2,     0,     2,     0,     2,     1,     3,     3,
-       1,     1,     3,     3,     3,     1,     1,     1,     1
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-      67,    85,    86,    87,    88,    63,    66,    65,    12,    13,
-       0,     0,     0,     0,     0,     0,     1,     4,     4,    64,
-      68,     0,    16,    77,     0,     0,    15,     6,     7,    14,
-      60,    62,    63,    66,    61,    65,    55,     0,    75,    71,
-      56,     0,     0,     5,     2,     3,    45,     0,     0,     0,
-      62,    71,     0,    17,    23,    24,    25,     0,    71,     0,
-       0,     0,     0,     0,     0,    75,    46,    47,    85,    86,
-      87,    88,    78,    81,    80,    84,    79,     0,     0,    22,
-       0,    18,    71,     0,    76,     0,     0,    73,    71,     0,
-      72,    35,    58,    69,    59,    70,    53,     0,     0,    54,
-      57,     0,    19,     0,     0,     0,     0,    34,     0,     0,
-       0,    20,     0,    72,    73,     0,     0,     0,     0,     0,
-      29,    21,    31,    33,    48,    76,     0,    82,    83,    30,
-      32,    28,     0,     0,     0,     0,     0,    73,    73,    74,
-      73,    39,    73,     0,    49,    26,    27,     0,     0,    73,
-      37,     0,     0,     0,     0,     0,    75,     0,    73,    73,
-       0,    41,    43,    38,    44,     0,     0,     0,     0,     0,
-      36,    51,     0,     0,    40,    42,    50,    52,     0,     0,
-       0
-};
-
-static const short yydefgoto[] =
-{
-     178,    44,    16,    17,    18,    98,    39,    99,   100,    19,
-      90,    21,   101,    62,   118,    60,    22,    72,    73,    74
-};
-
-static const short yypact[] =
-{
-      89,     8,    11,    18,    22,-32768,-32768,-32768,-32768,    12,
-      24,    16,    23,    28,    67,    40,-32768,    32,    32,-32768,
-  -32768,    37,-32768,    62,   -11,   123,-32768,-32768,-32768,-32768,
-  -32768,    54,    70,    82,-32768,    92,-32768,    76,   140,    94,
-  -32768,    99,   118,-32768,-32768,-32768,    47,    79,    79,    79,
-  -32768,   101,    29,   114,-32768,-32768,-32768,   123,   117,   -10,
-      69,   147,   119,   105,   146,   139,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,   141,     0,-32768,-32768,   154,   149,-32768,
-     133,-32768,   101,   127,   154,   145,   133,   148,   101,   152,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,   153,   155,-32768,
-  -32768,   156,-32768,   137,    20,    79,    79,-32768,   157,   158,
-     159,-32768,   133,   151,   160,   161,   162,   116,   164,   163,
-  -32768,-32768,-32768,-32768,   165,-32768,   169,-32768,-32768,-32768,
-  -32768,-32768,   170,   172,   133,   116,   173,   171,   171,-32768,
-     171,-32768,   171,   166,   174,-32768,-32768,   176,   177,   171,
-  -32768,   167,   175,   178,   179,   183,   168,   185,   171,   171,
-     186,-32768,-32768,-32768,-32768,   144,    20,   182,   187,   188,
-  -32768,-32768,   189,   190,-32768,-32768,-32768,-32768,   196,   204,
-  -32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,   192,-32768,-32768,-32768,   -79,     9,-32768,    -8,-32768,
-       2,-32768,   -77,   -38,   -95,   -65,-32768,   -45,   211,     5
-};
-
-
-#define        YYLAST          211
-
-
-static const short yytable[] =
-{
-     104,   108,    20,   109,    76,    24,    40,   115,    -8,   116,
-      48,    -9,    86,    78,    87,    49,    41,    40,   -10,   136,
-      85,    48,   -11,    30,    92,   126,   106,    52,    94,    34,
-      25,    27,    96,   132,    51,   133,   -62,    26,   140,    28,
-      59,    29,   152,   153,   110,   154,    43,   155,    79,    40,
-     119,    80,    40,    75,   160,   147,   149,   148,    42,    83,
-     127,   128,    46,   168,   169,    65,    82,    66,    67,    88,
-      30,    31,    30,    53,    32,    33,    34,    35,    34,    36,
-      37,    36,    68,    69,    70,    71,   113,   172,    47,    54,
-      38,   166,     1,     2,     3,     4,     5,     6,    57,     7,
-       8,    55,     9,    10,    11,    12,    13,    14,    30,    92,
-      15,    56,    93,    94,    34,    95,    61,    96,    97,    30,
-      92,    63,    64,    77,    94,    34,    30,    50,    96,   139,
-       5,     6,    34,     7,    81,    36,    30,    92,    91,    84,
-      93,    94,    34,    95,    50,    96,   111,     5,     6,   112,
-       7,    50,   103,    58,     5,     6,   124,     7,    50,   125,
-      89,     5,     6,   171,     7,   102,   125,   105,   107,   114,
-     117,   120,   121,   134,   122,   123,   129,   130,   131,     0,
-     139,   165,   135,   141,   156,   137,   138,   142,   144,   145,
-     143,   146,   150,   151,   161,   173,   179,   162,   163,   157,
-     158,   159,   164,   167,   180,   170,   174,   175,   176,   177,
-      45,    23
-};
-
-static const short yycheck[] =
-{
-      65,    80,     0,    80,    49,     0,    14,    86,     0,    86,
-      21,     0,    22,    51,    24,    26,    14,    25,     0,   114,
-      58,    21,     0,     3,     4,   104,    26,    25,     8,     9,
-      18,    15,    12,   112,    25,   112,    25,    13,   117,    16,
-      38,    13,   137,   138,    82,   140,    14,   142,    19,    57,
-      88,    22,    60,    48,   149,   134,   135,   134,    18,    57,
-     105,   106,    25,   158,   159,    18,    57,    20,    21,    60,
-       3,     4,     3,    19,     7,     8,     9,    10,     9,    12,
-      13,    12,     3,     4,     5,     6,    84,   166,    26,    19,
-      23,   156,     3,     4,     5,     6,     7,     8,    22,    10,
-      11,    19,    13,    14,    15,    16,    17,    18,     3,     4,
-      21,    19,     7,     8,     9,    10,    22,    12,    13,     3,
-       4,    22,     4,    22,     8,     9,     3,     4,    12,    13,
-       7,     8,     9,    10,    20,    12,     3,     4,    19,    22,
-       7,     8,     9,    10,     4,    12,    19,     7,     8,    22,
-      10,     4,    13,    13,     7,     8,    19,    10,     4,    22,
-      13,     7,     8,    19,    10,    19,    22,    26,    19,    24,
-      22,    19,    19,    22,    19,    19,    19,    19,    19,    -1,
-      13,    13,    22,    19,    18,    24,    24,    24,    19,    19,
-      25,    19,    19,    22,    19,    13,     0,    19,    19,    25,
-      24,    24,    19,    18,     0,    19,    19,    19,    19,    19,
-      18,     0
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 2:
-#line 123 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->trailing_ampersand = yyvsp[0].trailing_ampersand;
-               }
-    break;
-case 3:
-#line 127 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->trailing_ampersand = yyvsp[0].trailing_ampersand;
-               }
-    break;
-case 4:
-#line 135 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{ yyval.trailing_ampersand = 0; }
-    break;
-case 5:
-#line 137 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{ yyval.trailing_ampersand = 1; }
-    break;
-case 6:
-#line 144 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = LSH;
-               }
-    break;
-case 7:
-#line 149 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = RSH;
-               }
-    break;
-case 8:
-#line 154 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = DREG;
-                 op->reg = yyvsp[0].reg;
-               }
-    break;
-case 9:
-#line 159 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = AREG;
-                 op->reg = yyvsp[0].reg;
-               }
-    break;
-case 10:
-#line 164 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = FPREG;
-                 op->reg = yyvsp[0].reg;
-               }
-    break;
-case 11:
-#line 169 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = CONTROL;
-                 op->reg = yyvsp[0].reg;
-               }
-    break;
-case 12:
-#line 174 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = CONTROL;
-                 op->reg = yyvsp[0].reg;
-               }
-    break;
-case 13:
-#line 179 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = ABSL;
-                 op->disp = yyvsp[0].exp;
-               }
-    break;
-case 14:
-#line 184 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = IMMED;
-                 op->disp = yyvsp[0].exp;
-               }
-    break;
-case 15:
-#line 189 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = IMMED;
-                 op->disp = yyvsp[0].exp;
-               }
-    break;
-case 16:
-#line 194 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = REGLST;
-                 op->mask = yyvsp[0].mask;
-               }
-    break;
-case 17:
-#line 207 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = AINDR;
-                 op->reg = yyvsp[-1].reg;
-               }
-    break;
-case 18:
-#line 212 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = AINC;
-                 op->reg = yyvsp[-2].reg;
-               }
-    break;
-case 19:
-#line 217 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = ADEC;
-                 op->reg = yyvsp[-1].reg;
-               }
-    break;
-case 20:
-#line 222 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->reg = yyvsp[-1].reg;
-                 op->disp = yyvsp[-3].exp;
-                 if ((yyvsp[-1].reg >= ZADDR0 && yyvsp[-1].reg <= ZADDR7)
-                     || yyvsp[-1].reg == ZPC)
-                   op->mode = BASE;
-                 else
-                   op->mode = DISP;
-               }
-    break;
-case 21:
-#line 232 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->reg = yyvsp[-3].reg;
-                 op->disp = yyvsp[-1].exp;
-                 if ((yyvsp[-3].reg >= ZADDR0 && yyvsp[-3].reg <= ZADDR7)
-                     || yyvsp[-3].reg == ZPC)
-                   op->mode = BASE;
-                 else
-                   op->mode = DISP;
-               }
-    break;
-case 22:
-#line 242 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->reg = yyvsp[-1].reg;
-                 op->disp = yyvsp[-3].exp;
-                 if ((yyvsp[-1].reg >= ZADDR0 && yyvsp[-1].reg <= ZADDR7)
-                     || yyvsp[-1].reg == ZPC)
-                   op->mode = BASE;
-                 else
-                   op->mode = DISP;
-               }
-    break;
-case 23:
-#line 252 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = DISP;
-                 op->reg = yyvsp[-1].reg;
-               }
-    break;
-case 24:
-#line 257 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-               }
-    break;
-case 25:
-#line 262 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-               }
-    break;
-case 26:
-#line 267 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-3].reg;
-                 op->disp = yyvsp[-5].exp;
-                 op->index = yyvsp[-1].indexreg;
-               }
-    break;
-case 27:
-#line 274 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[-3].reg == PC || yyvsp[-3].reg == ZPC)
-                   yyerror (_("syntax error"));
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-                 op->disp = yyvsp[-5].exp;
-                 op->index.reg = yyvsp[-3].reg;
-                 op->index.size = SIZE_UNSPEC;
-                 op->index.scale = 1;
-               }
-    break;
-case 28:
-#line 285 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-                 op->disp = yyvsp[-4].exp;
-                 op->index = yyvsp[-2].indexreg;
-               }
-    break;
-case 29:
-#line 292 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->disp = yyvsp[-1].exp;
-                 op->index = yyvsp[-3].indexreg;
-               }
-    break;
-case 30:
-#line 298 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-3].reg;
-                 op->disp = yyvsp[-5].exp;
-                 op->index = yyvsp[-1].indexreg;
-               }
-    break;
-case 31:
-#line 305 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-3].reg;
-                 op->index = yyvsp[-1].indexreg;
-               }
-    break;
-case 32:
-#line 311 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[-3].reg == PC || yyvsp[-3].reg == ZPC)
-                   yyerror (_("syntax error"));
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-                 op->disp = yyvsp[-5].exp;
-                 op->index.reg = yyvsp[-3].reg;
-                 op->index.size = SIZE_UNSPEC;
-                 op->index.scale = 1;
-               }
-    break;
-case 33:
-#line 322 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[-3].reg == PC || yyvsp[-3].reg == ZPC)
-                   yyerror (_("syntax error"));
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-                 op->index.reg = yyvsp[-3].reg;
-                 op->index.size = SIZE_UNSPEC;
-                 op->index.scale = 1;
-               }
-    break;
-case 34:
-#line 332 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-                 op->disp = yyvsp[-4].exp;
-                 op->index = yyvsp[-2].indexreg;
-               }
-    break;
-case 35:
-#line 339 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-1].reg;
-                 op->index = yyvsp[-2].indexreg;
-               }
-    break;
-case 36:
-#line 345 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = POST;
-                 op->reg = yyvsp[-5].reg;
-                 op->disp = yyvsp[-6].exp;
-                 op->index = yyvsp[-2].indexreg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 37:
-#line 353 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = POST;
-                 op->reg = yyvsp[-3].reg;
-                 op->disp = yyvsp[-4].exp;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 38:
-#line 360 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = POST;
-                 op->reg = yyvsp[-5].reg;
-                 op->index = yyvsp[-2].indexreg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 39:
-#line 367 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = POST;
-                 op->reg = yyvsp[-3].reg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 40:
-#line 373 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = PRE;
-                 op->reg = yyvsp[-5].reg;
-                 op->disp = yyvsp[-7].exp;
-                 op->index = yyvsp[-3].indexreg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 41:
-#line 381 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = PRE;
-                 op->reg = yyvsp[-5].reg;
-                 op->index = yyvsp[-3].indexreg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 42:
-#line 388 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[-5].reg == PC || yyvsp[-5].reg == ZPC)
-                   yyerror (_("syntax error"));
-                 op->mode = PRE;
-                 op->reg = yyvsp[-3].reg;
-                 op->disp = yyvsp[-7].exp;
-                 op->index.reg = yyvsp[-5].reg;
-                 op->index.size = SIZE_UNSPEC;
-                 op->index.scale = 1;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 43:
-#line 400 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[-5].reg == PC || yyvsp[-5].reg == ZPC)
-                   yyerror (_("syntax error"));
-                 op->mode = PRE;
-                 op->reg = yyvsp[-3].reg;
-                 op->index.reg = yyvsp[-5].reg;
-                 op->index.size = SIZE_UNSPEC;
-                 op->index.scale = 1;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 44:
-#line 411 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = PRE;
-                 op->reg = yyvsp[-3].reg;
-                 op->disp = yyvsp[-5].exp;
-                 op->index = yyvsp[-4].indexreg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 45:
-#line 424 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 /* We use optzapc to avoid a shift/reduce conflict.  */
-                 if (yyvsp[-1].reg < ADDR0 || yyvsp[-1].reg > ADDR7)
-                   yyerror (_("syntax error"));
-                 op->mode = AINDR;
-                 op->reg = yyvsp[-1].reg;
-               }
-    break;
-case 46:
-#line 432 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 /* We use optzapc to avoid a shift/reduce conflict.  */
-                 if (yyvsp[-2].reg < ADDR0 || yyvsp[-2].reg > ADDR7)
-                   yyerror (_("syntax error"));
-                 op->mode = AINC;
-                 op->reg = yyvsp[-2].reg;
-               }
-    break;
-case 47:
-#line 440 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 /* We use optzapc to avoid a shift/reduce conflict.  */
-                 if (yyvsp[-2].reg < ADDR0 || yyvsp[-2].reg > ADDR7)
-                   yyerror (_("syntax error"));
-                 op->mode = ADEC;
-                 op->reg = yyvsp[-2].reg;
-               }
-    break;
-case 48:
-#line 448 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->reg = yyvsp[-4].reg;
-                 op->disp = yyvsp[-1].exp;
-                 if ((yyvsp[-4].reg >= ZADDR0 && yyvsp[-4].reg <= ZADDR7)
-                     || yyvsp[-4].reg == ZPC)
-                   op->mode = BASE;
-                 else
-                   op->mode = DISP;
-               }
-    break;
-case 49:
-#line 458 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = BASE;
-                 op->reg = yyvsp[-5].reg;
-                 op->disp = yyvsp[-2].exp;
-                 op->index = yyvsp[-1].indexreg;
-               }
-    break;
-case 50:
-#line 465 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = POST;
-                 op->reg = yyvsp[-9].reg;
-                 op->disp = yyvsp[-6].exp;
-                 op->index = yyvsp[-1].indexreg;
-                 op->odisp = yyvsp[-2].exp;
-               }
-    break;
-case 51:
-#line 473 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = POST;
-                 op->reg = yyvsp[-8].reg;
-                 op->disp = yyvsp[-5].exp;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 52:
-#line 480 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 op->mode = PRE;
-                 op->reg = yyvsp[-9].reg;
-                 op->disp = yyvsp[-6].exp;
-                 op->index = yyvsp[-5].indexreg;
-                 op->odisp = yyvsp[-1].exp;
-               }
-    break;
-case 54:
-#line 495 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.indexreg.reg = yyvsp[0].reg;
-                 yyval.indexreg.size = SIZE_UNSPEC;
-                 yyval.indexreg.scale = 1;
-               }
-    break;
-case 56:
-#line 509 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.indexreg.reg = yyvsp[0].reg;
-                 yyval.indexreg.size = SIZE_UNSPEC;
-                 yyval.indexreg.scale = 1;
-               }
-    break;
-case 67:
-#line 552 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.reg = ZADDR0;
-               }
-    break;
-case 71:
-#line 569 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.reg = ZADDR0;
-               }
-    break;
-case 72:
-#line 573 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.reg = yyvsp[0].reg;
-               }
-    break;
-case 73:
-#line 582 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.exp.exp.X_op = O_absent;
-                 yyval.exp.size = SIZE_UNSPEC;
-               }
-    break;
-case 74:
-#line 587 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.exp = yyvsp[0].exp;
-               }
-    break;
-case 75:
-#line 596 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.exp.exp.X_op = O_absent;
-                 yyval.exp.size = SIZE_UNSPEC;
-               }
-    break;
-case 76:
-#line 601 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.exp = yyvsp[-1].exp;
-               }
-    break;
-case 78:
-#line 611 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.mask = yyvsp[-2].mask | yyvsp[0].mask;
-               }
-    break;
-case 79:
-#line 615 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.mask = (1 << yyvsp[-2].onereg) | yyvsp[0].mask;
-               }
-    break;
-case 80:
-#line 627 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.mask = 1 << yyvsp[0].onereg;
-               }
-    break;
-case 82:
-#line 632 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.mask = yyvsp[-2].mask | yyvsp[0].mask;
-               }
-    break;
-case 83:
-#line 636 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.mask = (1 << yyvsp[-2].onereg) | yyvsp[0].mask;
-               }
-    break;
-case 84:
-#line 643 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[-2].onereg <= yyvsp[0].onereg)
-                   yyval.mask = (1 << (yyvsp[0].onereg + 1)) - 1 - ((1 << yyvsp[-2].onereg) - 1);
-                 else
-                   yyval.mask = (1 << (yyvsp[-2].onereg + 1)) - 1 - ((1 << yyvsp[0].onereg) - 1);
-               }
-    break;
-case 85:
-#line 653 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.onereg = yyvsp[0].reg - DATA0;
-               }
-    break;
-case 86:
-#line 657 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.onereg = yyvsp[0].reg - ADDR0 + 8;
-               }
-    break;
-case 87:
-#line 661 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 yyval.onereg = yyvsp[0].reg - FP0 + 16;
-               }
-    break;
-case 88:
-#line 665 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-{
-                 if (yyvsp[0].reg == FPI)
-                   yyval.onereg = 24;
-                 else if (yyvsp[0].reg == FPS)
-                   yyval.onereg = 25;
-                 else
-                   yyval.onereg = 26;
-               }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 675 "/nevyn/big/src/binutils/binutils-2.16/src.snap/gas/.././gas/config/m68k-parse.y"
-
-
-/* The string to parse is stored here, and modified by yylex.  */
-
-static char *str;
-
-/* The original string pointer.  */
-
-static char *strorig;
-
-/* If *CCP could be a register, return the register number and advance
-   *CCP.  Otherwise don't change *CCP, and return 0.  */
-
-static enum m68k_register
-m68k_reg_parse (ccp)
-     register char **ccp;
-{
-  char *start = *ccp;
-  char c;
-  char *p;
-  symbolS *symbolp;
-
-  if (flag_reg_prefix_optional)
-    {
-      if (*start == REGISTER_PREFIX)
-       start++;
-      p = start;
-    }
-  else
-    {
-      if (*start != REGISTER_PREFIX)
-       return 0;
-      p = start + 1;
-    }
-
-  if (! is_name_beginner (*p))
-    return 0;
-
-  p++;
-  while (is_part_of_name (*p) && *p != '.' && *p != ':' && *p != '*')
-    p++;
-
-  c = *p;
-  *p = 0;
-  symbolp = symbol_find (start);
-  *p = c;
-
-  if (symbolp != NULL && S_GET_SEGMENT (symbolp) == reg_section)
-    {
-      *ccp = p;
-      return S_GET_VALUE (symbolp);
-    }
-
-  /* In MRI mode, something like foo.bar can be equated to a register
-     name.  */
-  while (flag_mri && c == '.')
-    {
-      ++p;
-      while (is_part_of_name (*p) && *p != '.' && *p != ':' && *p != '*')
-       p++;
-      c = *p;
-      *p = '\0';
-      symbolp = symbol_find (start);
-      *p = c;
-      if (symbolp != NULL && S_GET_SEGMENT (symbolp) == reg_section)
-       {
-         *ccp = p;
-         return S_GET_VALUE (symbolp);
-       }
-    }
-
-  return 0;
-}
-
-/* The lexer.  */
-
-static int
-yylex ()
-{
-  enum m68k_register reg;
-  char *s;
-  int parens;
-  int c = 0;
-  int tail = 0;
-  char *hold;
-
-  if (*str == ' ')
-    ++str;
-
-  if (*str == '\0')
-    return 0;
-
-  /* Various special characters are just returned directly.  */
-  switch (*str)
-    {
-    case '@':
-      /* In MRI mode, this can be the start of an octal number.  */
-      if (flag_mri)
-       {
-         if (ISDIGIT (str[1])
-             || ((str[1] == '+' || str[1] == '-')
-                 && ISDIGIT (str[2])))
-           break;
-       }
-      /* Fall through.  */
-    case '#':
-    case '&':
-    case ',':
-    case ')':
-    case '/':
-    case '[':
-    case ']':
-    case '<':
-    case '>':
-      return *str++;
-    case '+':
-      /* It so happens that a '+' can only appear at the end of an
-        operand, or if it is trailed by an '&'(see mac load insn).
-        If it appears anywhere else, it must be a unary.  */
-      if (str[1] == '\0' || (str[1] == '&' && str[2] == '\0'))
-       return *str++;
-      break;
-    case '-':
-      /* A '-' can only appear in -(ar), rn-rn, or ar@-.  If it
-         appears anywhere else, it must be a unary minus on an
-         expression, unless it it trailed by a '&'(see mac load insn).  */
-      if (str[1] == '\0' || (str[1] == '&' && str[2] == '\0'))
-       return *str++;
-      s = str + 1;
-      if (*s == '(')
-       ++s;
-      if (m68k_reg_parse (&s) != 0)
-       return *str++;
-      break;
-    case '(':
-      /* A '(' can only appear in `(reg)', `(expr,...', `([', `@(', or
-         `)('.  If it appears anywhere else, it must be starting an
-         expression.  */
-      if (str[1] == '['
-         || (str > strorig
-             && (str[-1] == '@'
-                 || str[-1] == ')')))
-       return *str++;
-      s = str + 1;
-      if (m68k_reg_parse (&s) != 0)
-       return *str++;
-      /* Check for the case of '(expr,...' by scanning ahead.  If we
-         find a comma outside of balanced parentheses, we return '('.
-         If we find an unbalanced right parenthesis, then presumably
-         the '(' really starts an expression.  */
-      parens = 0;
-      for (s = str + 1; *s != '\0'; s++)
-       {
-         if (*s == '(')
-           ++parens;
-         else if (*s == ')')
-           {
-             if (parens == 0)
-               break;
-             --parens;
-           }
-         else if (*s == ',' && parens == 0)
-           {
-             /* A comma can not normally appear in an expression, so
-                this is a case of '(expr,...'.  */
-             return *str++;
-           }
-       }
-    }
-
-  /* See if it's a register.  */
-
-  reg = m68k_reg_parse (&str);
-  if (reg != 0)
-    {
-      int ret;
-
-      yylval.reg = reg;
-
-      if (reg >= DATA0 && reg <= DATA7)
-       ret = DR;
-      else if (reg >= ADDR0 && reg <= ADDR7)
-       ret = AR;
-      else if (reg >= FP0 && reg <= FP7)
-       return FPR;
-      else if (reg == FPI
-              || reg == FPS
-              || reg == FPC)
-       return FPCR;
-      else if (reg == PC)
-       return LPC;
-      else if (reg >= ZDATA0 && reg <= ZDATA7)
-       ret = ZDR;
-      else if (reg >= ZADDR0 && reg <= ZADDR7)
-       ret = ZAR;
-      else if (reg == ZPC)
-       return LZPC;
-      else
-       return CREG;
-
-      /* If we get here, we have a data or address register.  We
-        must check for a size or scale; if we find one, we must
-        return INDEXREG.  */
-
-      s = str;
-
-      if (*s != '.' && *s != ':' && *s != '*')
-       return ret;
-
-      yylval.indexreg.reg = reg;
-
-      if (*s != '.' && *s != ':')
-       yylval.indexreg.size = SIZE_UNSPEC;
-      else
-       {
-         ++s;
-         switch (*s)
-           {
-           case 'w':
-           case 'W':
-             yylval.indexreg.size = SIZE_WORD;
-             ++s;
-             break;
-           case 'l':
-           case 'L':
-             yylval.indexreg.size = SIZE_LONG;
-             ++s;
-             break;
-           default:
-             yyerror (_("illegal size specification"));
-             yylval.indexreg.size = SIZE_UNSPEC;
-             break;
-           }
-       }
-
-      yylval.indexreg.scale = 1;
-
-      if (*s == '*' || *s == ':')
-       {
-         expressionS scale;
-
-         ++s;
-
-         hold = input_line_pointer;
-         input_line_pointer = s;
-         expression (&scale);
-         s = input_line_pointer;
-         input_line_pointer = hold;
-
-         if (scale.X_op != O_constant)
-           yyerror (_("scale specification must resolve to a number"));
-         else
-           {
-             switch (scale.X_add_number)
-               {
-               case 1:
-               case 2:
-               case 4:
-               case 8:
-                 yylval.indexreg.scale = scale.X_add_number;
-                 break;
-               default:
-                 yyerror (_("invalid scale value"));
-                 break;
-               }
-           }
-       }
-
-      str = s;
-
-      return INDEXREG;
-    }
-
-  /* It must be an expression.  Before we call expression, we need to
-     look ahead to see if there is a size specification.  We must do
-     that first, because otherwise foo.l will be treated as the symbol
-     foo.l, rather than as the symbol foo with a long size
-     specification.  The grammar requires that all expressions end at
-     the end of the operand, or with ',', '(', ']', ')'.  */
-
-  parens = 0;
-  for (s = str; *s != '\0'; s++)
-    {
-      if (*s == '(')
-       {
-         if (parens == 0
-             && s > str
-             && (s[-1] == ')' || ISALNUM (s[-1])))
-           break;
-         ++parens;
-       }
-      else if (*s == ')')
-       {
-         if (parens == 0)
-           break;
-         --parens;
-       }
-      else if (parens == 0
-              && (*s == ',' || *s == ']'))
-       break;
-    }
-
-  yylval.exp.size = SIZE_UNSPEC;
-  if (s <= str + 2
-      || (s[-2] != '.' && s[-2] != ':'))
-    tail = 0;
-  else
-    {
-      switch (s[-1])
-       {
-       case 's':
-       case 'S':
-       case 'b':
-       case 'B':
-         yylval.exp.size = SIZE_BYTE;
-         break;
-       case 'w':
-       case 'W':
-         yylval.exp.size = SIZE_WORD;
-         break;
-       case 'l':
-       case 'L':
-         yylval.exp.size = SIZE_LONG;
-         break;
-       default:
-         break;
-       }
-      if (yylval.exp.size != SIZE_UNSPEC)
-       tail = 2;
-    }
-
-#ifdef OBJ_ELF
-  {
-    /* Look for @PLTPC, etc.  */
-    char *cp;
-
-    yylval.exp.pic_reloc = pic_none;
-    cp = s - tail;
-    if (cp - 6 > str && cp[-6] == '@')
-      {
-       if (strncmp (cp - 6, "@PLTPC", 6) == 0)
-         {
-           yylval.exp.pic_reloc = pic_plt_pcrel;
-           tail += 6;
-         }
-       else if (strncmp (cp - 6, "@GOTPC", 6) == 0)
-         {
-           yylval.exp.pic_reloc = pic_got_pcrel;
-           tail += 6;
-         }
-      }
-    else if (cp - 4 > str && cp[-4] == '@')
-      {
-       if (strncmp (cp - 4, "@PLT", 4) == 0)
-         {
-           yylval.exp.pic_reloc = pic_plt_off;
-           tail += 4;
-         }
-       else if (strncmp (cp - 4, "@GOT", 4) == 0)
-         {
-           yylval.exp.pic_reloc = pic_got_off;
-           tail += 4;
-         }
-      }
-  }
-#endif
-
-  if (tail != 0)
-    {
-      c = s[-tail];
-      s[-tail] = 0;
-    }
-
-  hold = input_line_pointer;
-  input_line_pointer = str;
-  expression (&yylval.exp.exp);
-  str = input_line_pointer;
-  input_line_pointer = hold;
-
-  if (tail != 0)
-    {
-      s[-tail] = c;
-      str = s;
-    }
-
-  return EXPR;
-}
-
-/* Parse an m68k operand.  This is the only function which is called
-   from outside this file.  */
-
-int
-m68k_ip_op (s, oparg)
-     char *s;
-     struct m68k_op *oparg;
-{
-  memset (oparg, 0, sizeof *oparg);
-  oparg->error = NULL;
-  oparg->index.reg = ZDATA0;
-  oparg->index.scale = 1;
-  oparg->disp.exp.X_op = O_absent;
-  oparg->odisp.exp.X_op = O_absent;
-
-  str = strorig = s;
-  op = oparg;
-
-  return yyparse ();
-}
-
-/* The error handler.  */
-
-static void
-yyerror (s)
-     const char *s;
-{
-  op->error = s;
-}
diff --git a/ld/ldgram.c b/ld/ldgram.c
deleted file mode 100644 (file)
index 0e778a5..0000000
+++ /dev/null
@@ -1,3370 +0,0 @@
-/* A Bison parser, made from ldgram.y
-   by GNU bison 1.35.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       INT     257
-# define       NAME    258
-# define       LNAME   259
-# define       PLUSEQ  260
-# define       MINUSEQ 261
-# define       MULTEQ  262
-# define       DIVEQ   263
-# define       LSHIFTEQ        264
-# define       RSHIFTEQ        265
-# define       ANDEQ   266
-# define       OREQ    267
-# define       OROR    268
-# define       ANDAND  269
-# define       EQ      270
-# define       NE      271
-# define       LE      272
-# define       GE      273
-# define       LSHIFT  274
-# define       RSHIFT  275
-# define       UNARY   276
-# define       END     277
-# define       ALIGN_K 278
-# define       BLOCK   279
-# define       BIND    280
-# define       QUAD    281
-# define       SQUAD   282
-# define       LONG    283
-# define       SHORT   284
-# define       BYTE    285
-# define       SECTIONS        286
-# define       PHDRS   287
-# define       DATA_SEGMENT_ALIGN      288
-# define       DATA_SEGMENT_RELRO_END  289
-# define       DATA_SEGMENT_END        290
-# define       SORT_BY_NAME    291
-# define       SORT_BY_ALIGNMENT       292
-# define       SIZEOF_HEADERS  293
-# define       OUTPUT_FORMAT   294
-# define       FORCE_COMMON_ALLOCATION 295
-# define       OUTPUT_ARCH     296
-# define       INHIBIT_COMMON_ALLOCATION       297
-# define       SEGMENT_START   298
-# define       INCLUDE 299
-# define       MEMORY  300
-# define       DEFSYMEND       301
-# define       NOLOAD  302
-# define       DSECT   303
-# define       COPY    304
-# define       INFO    305
-# define       OVERLAY 306
-# define       DEFINED 307
-# define       TARGET_K        308
-# define       SEARCH_DIR      309
-# define       MAP     310
-# define       ENTRY   311
-# define       NEXT    312
-# define       SIZEOF  313
-# define       ADDR    314
-# define       LOADADDR        315
-# define       MAX_K   316
-# define       MIN_K   317
-# define       STARTUP 318
-# define       HLL     319
-# define       SYSLIB  320
-# define       FLOAT   321
-# define       NOFLOAT 322
-# define       NOCROSSREFS     323
-# define       ORIGIN  324
-# define       FILL    325
-# define       LENGTH  326
-# define       CREATE_OBJECT_SYMBOLS   327
-# define       INPUT   328
-# define       GROUP   329
-# define       OUTPUT  330
-# define       CONSTRUCTORS    331
-# define       ALIGNMOD        332
-# define       AT      333
-# define       SUBALIGN        334
-# define       PROVIDE 335
-# define       AS_NEEDED       336
-# define       CHIP    337
-# define       LIST    338
-# define       SECT    339
-# define       ABSOLUTE        340
-# define       LOAD    341
-# define       NEWLINE 342
-# define       ENDWORD 343
-# define       ORDER   344
-# define       NAMEWORD        345
-# define       ASSERT_K        346
-# define       FORMAT  347
-# define       PUBLIC  348
-# define       BASE    349
-# define       ALIAS   350
-# define       TRUNCATE        351
-# define       REL     352
-# define       INPUT_SCRIPT    353
-# define       INPUT_MRI_SCRIPT        354
-# define       INPUT_DEFSYM    355
-# define       CASE    356
-# define       EXTERN  357
-# define       START   358
-# define       VERS_TAG        359
-# define       VERS_IDENTIFIER 360
-# define       GLOBAL  361
-# define       LOCAL   362
-# define       VERSIONK        363
-# define       INPUT_VERSION_SCRIPT    364
-# define       KEEP    365
-# define       ONLY_IF_RO      366
-# define       ONLY_IF_RW      367
-# define       EXCLUDE_FILE    368
-
-#line 22 "ldgram.y"
-
-/*
-
- */
-
-#define DONTDECLARE_MALLOC
-
-#include "bfd.h"
-#include "sysdep.h"
-#include "bfdlink.h"
-#include "ld.h"
-#include "ldexp.h"
-#include "ldver.h"
-#include "ldlang.h"
-#include "ldfile.h"
-#include "ldemul.h"
-#include "ldmisc.h"
-#include "ldmain.h"
-#include "mri.h"
-#include "ldctor.h"
-#include "ldlex.h"
-
-#ifndef YYDEBUG
-#define YYDEBUG 1
-#endif
-
-static enum section_type sectype;
-
-lang_memory_region_type *region;
-
-bfd_boolean ldgram_want_filename = TRUE;
-FILE *saved_script_handle = NULL;
-bfd_boolean force_make_executable = FALSE;
-
-bfd_boolean ldgram_in_script = FALSE;
-bfd_boolean ldgram_had_equals = FALSE;
-bfd_boolean ldgram_had_keep = FALSE;
-char *ldgram_vers_current_lang = NULL;
-
-#define ERROR_NAME_MAX 20
-static char *error_names[ERROR_NAME_MAX];
-static int error_index;
-#define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
-#define POP_ERROR()   error_index--;
-
-#line 67 "ldgram.y"
-#ifndef YYSTYPE
-typedef union {
-  bfd_vma integer;
-  struct big_int
-    {
-      bfd_vma integer;
-      char *str;
-    } bigint;
-  fill_type *fill;
-  char *name;
-  const char *cname;
-  struct wildcard_spec wildcard;
-  struct wildcard_list *wildcard_list;
-  struct name_list *name_list;
-  int token;
-  union etree_union *etree;
-  struct phdr_info
-    {
-      bfd_boolean filehdr;
-      bfd_boolean phdrs;
-      union etree_union *at;
-      union etree_union *flags;
-    } phdr;
-  struct lang_nocrossref *nocrossref;
-  struct lang_output_section_phdr_list *section_phdr;
-  struct bfd_elf_version_deps *deflist;
-  struct bfd_elf_version_expr *versyms;
-  struct bfd_elf_version_tree *versnode;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         689
-#define        YYFLAG          -32768
-#define        YYNTBASE        138
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 368 ? yytranslate[x] : 250)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const short yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   136,     2,     2,     2,    34,    21,     2,
-      37,   133,    32,    30,   131,    31,     2,    33,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    16,   132,
-      24,    10,    25,    15,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   134,     2,   135,    20,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    53,    19,    54,   137,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,     7,     8,     9,    11,    12,    13,    14,    17,    18,
-      22,    23,    26,    27,    28,    29,    35,    36,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     3,     6,     9,    12,    14,    15,    20,    21,
-      24,    28,    29,    32,    37,    39,    41,    44,    46,    51,
-      56,    60,    63,    68,    72,    77,    82,    87,    92,    97,
-     100,   103,   106,   111,   116,   119,   122,   125,   128,   129,
-     135,   138,   139,   143,   146,   147,   149,   153,   155,   159,
-     160,   162,   166,   168,   171,   175,   176,   179,   182,   183,
-     185,   187,   189,   191,   193,   195,   197,   199,   201,   203,
-     208,   213,   218,   223,   232,   237,   239,   241,   246,   247,
-     253,   258,   259,   265,   270,   275,   277,   281,   284,   286,
-     290,   293,   294,   300,   301,   309,   310,   317,   322,   325,
-     328,   329,   334,   337,   338,   346,   348,   350,   352,   354,
-     360,   365,   370,   378,   386,   394,   402,   411,   414,   416,
-     420,   422,   424,   428,   433,   435,   436,   442,   445,   447,
-     449,   451,   456,   458,   463,   468,   471,   473,   474,   476,
-     478,   480,   482,   484,   486,   488,   491,   492,   494,   496,
-     498,   500,   502,   504,   506,   508,   510,   512,   516,   520,
-     527,   529,   530,   536,   539,   543,   544,   545,   553,   557,
-     561,   562,   566,   568,   571,   573,   576,   581,   586,   590,
-     594,   596,   601,   605,   606,   608,   610,   611,   614,   618,
-     619,   622,   625,   629,   634,   637,   640,   643,   647,   651,
-     655,   659,   663,   667,   671,   675,   679,   683,   687,   691,
-     695,   699,   703,   707,   713,   717,   721,   726,   728,   730,
-     735,   740,   745,   750,   755,   762,   769,   776,   781,   788,
-     793,   795,   802,   809,   816,   821,   826,   830,   831,   836,
-     837,   842,   843,   845,   847,   848,   849,   850,   851,   852,
-     853,   872,   873,   874,   875,   876,   877,   896,   897,   898,
-     906,   908,   910,   912,   914,   916,   920,   921,   924,   928,
-     931,   938,   949,   952,   954,   955,   957,   960,   961,   962,
-     966,   967,   968,   969,   970,   982,   987,   988,   991,   992,
-     993,  1000,  1002,  1003,  1007,  1013,  1014,  1018,  1019,  1022,
-    1023,  1029,  1031,  1034,  1039,  1045,  1052,  1054,  1057,  1058,
-    1061,  1066,  1071,  1080,  1082,  1086,  1087,  1097,  1098,  1106,
-    1107
-};
-static const short yyrhs[] =
-{
-     115,   152,     0,   116,   142,     0,   126,   238,     0,   117,
-     140,     0,     4,     0,     0,   141,     4,    10,   201,     0,
-       0,   143,   144,     0,   144,   145,   104,     0,     0,    99,
-     201,     0,    99,   201,   131,   201,     0,     4,     0,   100,
-       0,   106,   147,     0,   105,     0,   110,     4,    10,   201,
-       0,   110,     4,   131,   201,     0,   110,     4,   201,     0,
-     109,     4,     0,   101,     4,   131,   201,     0,   101,     4,
-     201,     0,   101,     4,    10,   201,     0,    38,     4,    10,
-     201,     0,    38,     4,   131,   201,     0,    94,     4,    10,
-     201,     0,    94,     4,   131,   201,     0,   102,   149,     0,
-     103,   148,     0,   107,     4,     0,   112,     4,   131,     4,
-       0,   112,     4,   131,     3,     0,   111,   201,     0,   113,
-       3,     0,   118,   150,     0,   119,   151,     0,     0,    61,
-     139,   146,   144,    36,     0,   120,     4,     0,     0,   147,
-     131,     4,     0,   147,     4,     0,     0,     4,     0,   148,
-     131,     4,     0,     4,     0,   149,   131,     4,     0,     0,
-       4,     0,   150,   131,     4,     0,     4,     0,   151,     4,
-       0,   151,   131,     4,     0,     0,   153,   154,     0,   154,
-     155,     0,     0,   183,     0,   162,     0,   230,     0,   192,
-       0,   193,     0,   195,     0,   197,     0,   164,     0,   240,
-       0,   132,     0,    70,    37,     4,   133,     0,    71,    37,
-     139,   133,     0,    92,    37,   139,   133,     0,    56,    37,
-       4,   133,     0,    56,    37,     4,   131,     4,   131,     4,
-     133,     0,    58,    37,     4,   133,     0,    57,     0,    59,
-       0,    90,    37,   158,   133,     0,     0,    91,   156,    37,
-     158,   133,     0,    72,    37,   139,   133,     0,     0,    61,
-     139,   157,   154,    36,     0,    85,    37,   198,   133,     0,
-     119,    37,   151,   133,     0,     4,     0,   158,   131,     4,
-       0,   158,     4,     0,     5,     0,   158,   131,     5,     0,
-     158,     5,     0,     0,    98,    37,   159,   158,   133,     0,
-       0,   158,   131,    98,    37,   160,   158,   133,     0,     0,
-     158,    98,    37,   161,   158,   133,     0,    46,    53,   163,
-      54,     0,   163,   206,     0,   163,   164,     0,     0,    73,
-      37,     4,   133,     0,   181,   180,     0,     0,   108,   165,
-      37,   201,   131,     4,   133,     0,     4,     0,    32,     0,
-      15,     0,   166,     0,   130,    37,   168,   133,   166,     0,
-      51,    37,   166,   133,     0,    52,    37,   166,   133,     0,
-      51,    37,    52,    37,   166,   133,   133,     0,    51,    37,
-      51,    37,   166,   133,   133,     0,    52,    37,    51,    37,
-     166,   133,   133,     0,    52,    37,    52,    37,   166,   133,
-     133,     0,    51,    37,   130,    37,   168,   133,   166,   133,
-       0,   168,   166,     0,   166,     0,   169,   182,   167,     0,
-     167,     0,     4,     0,   134,   169,   135,     0,   167,    37,
-     169,   133,     0,   170,     0,     0,   127,    37,   172,   170,
-     133,     0,   181,   180,     0,    89,     0,   132,     0,    93,
-       0,    51,    37,    93,   133,     0,   171,     0,   176,    37,
-     199,   133,     0,    87,    37,   177,   133,     0,   174,   173,
-       0,   173,     0,     0,   174,     0,    41,     0,    42,     0,
-      43,     0,    44,     0,    45,     0,   199,     0,    10,   177,
-       0,     0,     6,     0,     7,     0,     8,     0,     9,     0,
-      11,     0,    12,     0,    13,     0,    14,     0,   132,     0,
-     131,     0,     4,    10,   199,     0,     4,   179,   199,     0,
-      97,    37,     4,    10,   199,   133,     0,   131,     0,     0,
-      62,    53,   185,   184,    54,     0,   184,   185,     0,   184,
-     131,   185,     0,     0,     0,     4,   186,   189,    16,   187,
-     182,   188,     0,    86,    10,   199,     0,    88,    10,   199,
-       0,     0,    37,   190,   133,     0,   191,     0,   190,   191,
-       0,     4,     0,   136,     4,     0,    80,    37,   139,   133,
-       0,    81,    37,   194,   133,     0,    81,    37,   133,     0,
-     194,   182,   139,     0,   139,     0,    82,    37,   196,   133,
-       0,   196,   182,   139,     0,     0,    83,     0,    84,     0,
-       0,     4,   198,     0,     4,   131,   198,     0,     0,   200,
-     201,     0,    31,   201,     0,    37,   201,   133,     0,    74,
-      37,   201,   133,     0,   136,   201,     0,    30,   201,     0,
-     137,   201,     0,   201,    32,   201,     0,   201,    33,   201,
-       0,   201,    34,   201,     0,   201,    30,   201,     0,   201,
-      31,   201,     0,   201,    28,   201,     0,   201,    29,   201,
-       0,   201,    22,   201,     0,   201,    23,   201,     0,   201,
-      26,   201,     0,   201,    27,   201,     0,   201,    24,   201,
-       0,   201,    25,   201,     0,   201,    21,   201,     0,   201,
-      20,   201,     0,   201,    19,   201,     0,   201,    15,   201,
-      16,   201,     0,   201,    18,   201,     0,   201,    17,   201,
-       0,    69,    37,     4,   133,     0,     3,     0,    55,     0,
-      75,    37,     4,   133,     0,    76,    37,     4,   133,     0,
-      77,    37,     4,   133,     0,   102,    37,   201,   133,     0,
-      38,    37,   201,   133,     0,    38,    37,   201,   131,   201,
-     133,     0,    48,    37,   201,   131,   201,   133,     0,    49,
-      37,   201,   131,   201,   133,     0,    50,    37,   201,   133,
-       0,    60,    37,     4,   131,   201,   133,     0,    39,    37,
-     201,   133,     0,     4,     0,    78,    37,   201,   131,   201,
-     133,     0,    79,    37,   201,   131,   201,   133,     0,   108,
-      37,   201,   131,     4,   133,     0,    86,    37,     4,   133,
-       0,    88,    37,     4,   133,     0,    95,    25,     4,     0,
-       0,    95,    37,   201,   133,     0,     0,    96,    37,   201,
-     133,     0,     0,   128,     0,   129,     0,     0,     0,     0,
-       0,     0,     0,     4,   207,   221,   203,   204,   208,   205,
-      53,   209,   175,    54,   210,   224,   202,   225,   178,   211,
-     182,     0,     0,     0,     0,     0,     0,    68,   212,   222,
-     223,   203,   204,   213,    53,   214,   226,    54,   215,   224,
-     202,   225,   178,   216,   182,     0,     0,     0,    91,   217,
-     221,   218,    53,   163,    54,     0,    64,     0,    65,     0,
-      66,     0,    67,     0,    68,     0,    37,   219,   133,     0,
-       0,    37,   133,     0,   201,   220,    16,     0,   220,    16,
-       0,    40,    37,   201,   133,   220,    16,     0,    40,    37,
-     201,   133,    39,    37,   201,   133,   220,    16,     0,   201,
-      16,     0,    16,     0,     0,    85,     0,    25,     4,     0,
-       0,     0,   225,    16,     4,     0,     0,     0,     0,     0,
-     226,     4,   227,    53,   175,    54,   228,   225,   178,   229,
-     182,     0,    47,    53,   231,    54,     0,     0,   231,   232,
-       0,     0,     0,     4,   233,   235,   236,   234,   132,     0,
-     201,     0,     0,     4,   237,   236,     0,    95,    37,   201,
-     133,   236,     0,     0,    37,   201,   133,     0,     0,   239,
-     242,     0,     0,   241,   125,    53,   242,    54,     0,   243,
-       0,   242,   243,     0,    53,   245,    54,   132,     0,   121,
-      53,   245,    54,   132,     0,   121,    53,   245,    54,   244,
-     132,     0,   121,     0,   244,   121,     0,     0,   246,   132,
-       0,   123,    16,   246,   132,     0,   124,    16,   246,   132,
-       0,   123,    16,   246,   132,   124,    16,   246,   132,     0,
-     122,     0,   246,   132,   122,     0,     0,   246,   132,   119,
-       4,    53,   247,   246,   249,    54,     0,     0,   119,     4,
-      53,   248,   246,   249,    54,     0,     0,   132,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,   163,   165,   166,   167,   171,   174,   174,   184,   184,
-     197,   199,   202,   204,   205,   208,   211,   212,   213,   215,
-     217,   219,   221,   223,   225,   227,   229,   231,   233,   235,
-     236,   237,   239,   241,   243,   245,   247,   248,   249,   249,
-     253,   255,   258,   260,   261,   264,   267,   270,   273,   277,
-     279,   280,   283,   286,   288,   292,   292,   303,   305,   310,
-     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
-     323,   325,   327,   330,   332,   334,   336,   338,   339,   339,
-     343,   345,   345,   349,   353,   356,   360,   363,   366,   369,
-     372,   375,   375,   379,   379,   383,   383,   389,   393,   395,
-     396,   399,   402,   403,   403,   410,   415,   419,   425,   432,
-     438,   444,   450,   456,   462,   468,   474,   482,   491,   502,
-     511,   522,   531,   535,   541,   543,   543,   549,   551,   555,
-     556,   561,   566,   567,   572,   578,   580,   583,   585,   588,
-     591,   593,   595,   597,   601,   611,   614,   617,   620,   622,
-     624,   626,   628,   630,   632,   637,   637,   641,   646,   654,
-     661,   662,   665,   669,   671,   672,   676,   676,   683,   691,
-     700,   703,   706,   708,   711,   714,   718,   723,   725,   729,
-     732,   737,   739,   742,   745,   748,   752,   757,   766,   777,
-     777,   782,   785,   787,   789,   791,   793,   796,   798,   800,
-     802,   804,   806,   808,   810,   812,   814,   816,   818,   820,
-     822,   824,   826,   828,   830,   832,   834,   836,   838,   841,
-     843,   845,   847,   849,   851,   853,   855,   857,   859,   868,
-     870,   872,   874,   876,   878,   880,   885,   887,   890,   892,
-     895,   897,   900,   902,   903,   906,   906,   906,   906,   906,
-     906,   926,   926,   926,   926,   926,   926,   944,   944,   944,
-     957,   959,   960,   961,   962,   965,   967,   968,   971,   973,
-     974,   979,   983,   985,   988,   991,   995,   998,  1001,  1006,
-    1019,  1021,  1021,  1021,  1021,  1037,  1041,  1043,  1046,  1046,
-    1046,  1056,  1100,  1105,  1117,  1124,  1129,  1137,  1137,  1151,
-    1151,  1161,  1163,  1166,  1171,  1175,  1181,  1186,  1192,  1197,
-    1201,  1205,  1209,  1215,  1220,  1224,  1224,  1234,  1234,  1246,
-    1248
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "INT", "NAME", "LNAME", "PLUSEQ", "MINUSEQ", 
-  "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ", "ANDEQ", "OREQ", 
-  "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQ", "NE", "'<'", 
-  "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'", 
-  "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND", "QUAD", 
-  "SQUAD", "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS", 
-  "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_RELRO_END", "DATA_SEGMENT_END", 
-  "SORT_BY_NAME", "SORT_BY_ALIGNMENT", "'{'", "'}'", "SIZEOF_HEADERS", 
-  "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION", "OUTPUT_ARCH", 
-  "INHIBIT_COMMON_ALLOCATION", "SEGMENT_START", "INCLUDE", "MEMORY", 
-  "DEFSYMEND", "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "DEFINED", 
-  "TARGET_K", "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ADDR", 
-  "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB", "FLOAT", 
-  "NOFLOAT", "NOCROSSREFS", "ORIGIN", "FILL", "LENGTH", 
-  "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS", 
-  "ALIGNMOD", "AT", "SUBALIGN", "PROVIDE", "AS_NEEDED", "CHIP", "LIST", 
-  "SECT", "ABSOLUTE", "LOAD", "NEWLINE", "ENDWORD", "ORDER", "NAMEWORD", 
-  "ASSERT_K", "FORMAT", "PUBLIC", "BASE", "ALIAS", "TRUNCATE", "REL", 
-  "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE", "EXTERN", 
-  "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL", "VERSIONK", 
-  "INPUT_VERSION_SCRIPT", "KEEP", "ONLY_IF_RO", "ONLY_IF_RW", 
-  "EXCLUDE_FILE", "','", "';'", "')'", "'['", "']'", "'!'", "'~'", "file", 
-  "filename", "defsym_expr", "@1", "mri_script_file", "@2", 
-  "mri_script_lines", "mri_script_command", "@3", "ordernamelist", 
-  "mri_load_name_list", "mri_abs_name_list", "casesymlist", 
-  "extern_name_list", "script_file", "@4", "ifile_list", "ifile_p1", "@5", 
-  "@6", "input_list", "@7", "@8", "@9", "sections", "sec_or_group_p1", 
-  "statement_anywhere", "@10", "wildcard_name", "wildcard_spec", 
-  "exclude_name_list", "file_NAME_list", "input_section_spec_no_keep", 
-  "input_section_spec", "@11", "statement", "statement_list", 
-  "statement_list_opt", "length", "fill_exp", "fill_opt", "assign_op", 
-  "end", "assignment", "opt_comma", "memory", "memory_spec_list", 
-  "memory_spec", "@12", "origin_spec", "length_spec", "attributes_opt", 
-  "attributes_list", "attributes_string", "startup", "high_level_library", 
-  "high_level_library_NAME_list", "low_level_library", 
-  "low_level_library_NAME_list", "floating_point_support", 
-  "nocrossref_list", "mustbe_exp", "@13", "exp", "memspec_at_opt", 
-  "opt_at", "opt_subalign", "sect_constraint", "section", "@14", "@15", 
-  "@16", "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", "@25", 
-  "type", "atype", "opt_exp_with_type", "opt_exp_without_type", 
-  "opt_nocrossrefs", "memspec_opt", "phdr_opt", "overlay_section", "@26", 
-  "@27", "@28", "phdrs", "phdr_list", "phdr", "@29", "@30", "phdr_type", 
-  "phdr_qualifiers", "phdr_val", "version_script_file", "@31", "version", 
-  "@32", "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns", 
-  "@33", "@34", "opt_semicolon", 0
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,   138,   138,   138,   138,   139,   141,   140,   143,   142,
-     144,   144,   145,   145,   145,   145,   145,   145,   145,   145,
-     145,   145,   145,   145,   145,   145,   145,   145,   145,   145,
-     145,   145,   145,   145,   145,   145,   145,   145,   146,   145,
-     145,   145,   147,   147,   147,   148,   148,   149,   149,   150,
-     150,   150,   151,   151,   151,   153,   152,   154,   154,   155,
-     155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
-     155,   155,   155,   155,   155,   155,   155,   155,   156,   155,
-     155,   157,   155,   155,   155,   158,   158,   158,   158,   158,
-     158,   159,   158,   160,   158,   161,   158,   162,   163,   163,
-     163,   164,   164,   165,   164,   166,   166,   166,   167,   167,
-     167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
-     169,   170,   170,   170,   171,   172,   171,   173,   173,   173,
-     173,   173,   173,   173,   173,   174,   174,   175,   175,   176,
-     176,   176,   176,   176,   177,   178,   178,   179,   179,   179,
-     179,   179,   179,   179,   179,   180,   180,   181,   181,   181,
-     182,   182,   183,   184,   184,   184,   186,   185,   187,   188,
-     189,   189,   190,   190,   191,   191,   192,   193,   193,   194,
-     194,   195,   196,   196,   197,   197,   198,   198,   198,   200,
-     199,   201,   201,   201,   201,   201,   201,   201,   201,   201,
-     201,   201,   201,   201,   201,   201,   201,   201,   201,   201,
-     201,   201,   201,   201,   201,   201,   201,   201,   201,   201,
-     201,   201,   201,   201,   201,   201,   201,   201,   201,   201,
-     201,   201,   201,   201,   201,   201,   202,   202,   203,   203,
-     204,   204,   205,   205,   205,   207,   208,   209,   210,   211,
-     206,   212,   213,   214,   215,   216,   206,   217,   218,   206,
-     219,   219,   219,   219,   219,   220,   220,   220,   221,   221,
-     221,   221,   222,   222,   223,   223,   224,   224,   225,   225,
-     226,   227,   228,   229,   226,   230,   231,   231,   233,   234,
-     232,   235,   236,   236,   236,   237,   237,   239,   238,   241,
-     240,   242,   242,   243,   243,   243,   244,   244,   245,   245,
-     245,   245,   245,   246,   246,   247,   246,   248,   246,   249,
-     249
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     2,     2,     2,     2,     1,     0,     4,     0,     2,
-       3,     0,     2,     4,     1,     1,     2,     1,     4,     4,
-       3,     2,     4,     3,     4,     4,     4,     4,     4,     2,
-       2,     2,     4,     4,     2,     2,     2,     2,     0,     5,
-       2,     0,     3,     2,     0,     1,     3,     1,     3,     0,
-       1,     3,     1,     2,     3,     0,     2,     2,     0,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
-       4,     4,     4,     8,     4,     1,     1,     4,     0,     5,
-       4,     0,     5,     4,     4,     1,     3,     2,     1,     3,
-       2,     0,     5,     0,     7,     0,     6,     4,     2,     2,
-       0,     4,     2,     0,     7,     1,     1,     1,     1,     5,
-       4,     4,     7,     7,     7,     7,     8,     2,     1,     3,
-       1,     1,     3,     4,     1,     0,     5,     2,     1,     1,
-       1,     4,     1,     4,     4,     2,     1,     0,     1,     1,
-       1,     1,     1,     1,     1,     2,     0,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     3,     3,     6,
-       1,     0,     5,     2,     3,     0,     0,     7,     3,     3,
-       0,     3,     1,     2,     1,     2,     4,     4,     3,     3,
-       1,     4,     3,     0,     1,     1,     0,     2,     3,     0,
-       2,     2,     3,     4,     2,     2,     2,     3,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     5,     3,     3,     4,     1,     1,     4,
-       4,     4,     4,     4,     6,     6,     6,     4,     6,     4,
-       1,     6,     6,     6,     4,     4,     3,     0,     4,     0,
-       4,     0,     1,     1,     0,     0,     0,     0,     0,     0,
-      18,     0,     0,     0,     0,     0,    18,     0,     0,     7,
-       1,     1,     1,     1,     1,     3,     0,     2,     3,     2,
-       6,    10,     2,     1,     0,     1,     2,     0,     0,     3,
-       0,     0,     0,     0,    11,     4,     0,     2,     0,     0,
-       6,     1,     0,     3,     5,     0,     3,     0,     2,     0,
-       5,     1,     2,     4,     5,     6,     1,     2,     0,     2,
-       4,     4,     8,     1,     3,     0,     9,     0,     7,     0,
-       1
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       0,    55,     8,     6,   297,     1,    58,     2,    11,     4,
-       0,     3,     0,    56,     9,     0,   308,     0,   298,   301,
-       0,     0,     0,     0,    75,     0,    76,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   184,   185,     0,     0,
-      78,     0,     0,   103,     0,    68,    57,    60,    66,     0,
-      59,    62,    63,    64,    65,    61,    67,     0,    14,     0,
-       0,     0,     0,    15,     0,     0,     0,    17,    44,     0,
-       0,     0,     0,     0,     0,    49,     0,     0,     0,     0,
-       0,   313,     0,     0,     0,     0,   308,   302,   147,   148,
-     149,   150,   189,   151,   152,   153,   154,   189,   100,   286,
-       0,     0,     5,    81,     0,     0,     0,     0,     0,     0,
-       0,   183,   186,     0,     0,     0,     0,     0,     0,   156,
-     155,   102,     0,     0,    38,     0,   217,   230,     0,     0,
-       0,     0,     0,     0,     0,     0,   218,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    12,     0,    47,    29,    45,    30,    16,    31,    21,
-       0,    34,     0,    35,    50,    36,    52,    37,    40,    10,
-       7,     0,     0,     0,     0,   309,     0,   157,     0,   158,
-       0,     0,     0,     0,    58,   166,   165,     0,     0,     0,
-       0,     0,   178,   180,   161,   161,   186,     0,    85,    88,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      11,     0,     0,   195,   191,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   194,   196,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    23,     0,     0,
-      43,     0,     0,     0,    20,     0,     0,    53,     0,   317,
-       0,     0,   303,     0,   314,     0,   190,   245,    97,   251,
-     257,    99,    98,   288,   285,   287,     0,    72,    74,   299,
-     170,     0,    69,    70,    80,   101,   176,   160,   177,     0,
-     181,     0,   186,   187,    83,    91,    87,    90,     0,     0,
-      77,     0,    71,   189,     0,    84,     0,    25,    26,    41,
-      27,    28,   192,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   215,   214,   212,   211,   210,   204,   205,   208,   209,
-     206,   207,   202,   203,   200,   201,   197,   198,   199,    13,
-      24,    22,    48,    46,    42,    18,    19,    33,    32,    51,
-      54,     0,   310,   311,     0,   306,   304,     0,   266,     0,
-     266,     0,     0,    82,     0,     0,   162,     0,   163,   179,
-     182,   188,     0,    95,    86,    89,     0,    79,     0,     0,
-     300,    39,     0,   223,   229,     0,     0,   227,     0,   216,
-     193,   219,   220,   221,     0,     0,   234,   235,   222,     0,
-       0,   319,     0,   315,   307,   305,     0,     0,   266,     0,
-     239,   273,     0,   274,   258,   291,   292,     0,   174,     0,
-       0,   172,     0,   164,     0,     0,    93,   159,     0,     0,
-       0,     0,     0,     0,     0,     0,   213,   320,     0,     0,
-       0,   260,   261,   262,   263,   264,   267,     0,     0,     0,
-       0,   269,     0,   241,   272,   275,   239,     0,   295,     0,
-     289,     0,   175,   171,   173,     0,   161,    92,     0,     0,
-     104,   224,   225,   226,   228,   231,   232,   233,   318,     0,
-     319,   265,     0,   268,     0,     0,   246,   241,   100,     0,
-     292,     0,     0,    73,   189,     0,    96,     0,   312,     0,
-     266,     0,     0,   244,   252,     0,     0,   293,     0,   290,
-     168,     0,   167,    94,   316,     0,     0,   238,     0,   242,
-     243,     0,     0,   259,   296,   292,   189,     0,   270,   240,
-     247,   253,   294,   169,     0,   137,   280,   266,   121,   107,
-     106,   139,   140,   141,   142,   143,     0,     0,     0,   128,
-     130,     0,     0,   129,     0,   108,     0,   124,   132,   136,
-     138,     0,     0,     0,     0,     0,     0,     0,   189,   125,
-       0,   105,     0,   120,   161,     0,   135,   248,   189,   127,
-     281,   254,   271,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   144,     0,   118,     0,     0,   122,     0,   161,
-     277,     0,     0,   277,     0,     0,   131,     0,   110,     0,
-       0,   111,   134,   105,     0,     0,   117,   119,   123,     0,
-     237,   133,   137,   237,     0,     0,     0,     0,     0,   126,
-     109,   276,     0,   278,     0,   278,     0,     0,     0,     0,
-       0,     0,   146,   282,   146,   113,   112,     0,   114,   115,
-     236,   189,     0,   249,   278,   255,   116,   145,   279,   161,
-     146,   161,   250,   283,   256,   161,   284,     0,     0,     0
-};
-
-static const short yydefgoto[] =
-{
-     687,   103,     9,    10,     7,     8,    14,    78,   210,   157,
-     156,   154,   165,   167,     5,     6,    13,    46,   114,   184,
-     201,   392,   489,   445,    47,   180,    48,   117,   575,   576,
-     615,   594,   577,   578,   613,   579,   580,   581,   582,   611,
-     673,    97,   121,    49,   618,    50,   291,   186,   290,   486,
-     532,   385,   440,   441,    51,    52,   194,    53,   195,    54,
-     197,   612,   178,   215,   653,   473,   506,   541,   282,   378,
-     523,   555,   620,   679,   379,   542,   556,   623,   681,   380,
-     477,   467,   429,   430,   433,   476,   640,   662,   584,   622,
-     674,   685,    55,   181,   285,   381,   512,   436,   480,   510,
-      11,    12,    56,    57,    18,    19,   377,    84,    85,   460,
-     371,   458
-};
-
-static const short yypact[] =
-{
-     139,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-      18,-32768,   -35,   759,  1346,    52,   180,    14,   -35,-32768,
-     391,    26,    74,    96,-32768,   162,-32768,    85,   149,   196,
-     203,   220,   232,   254,   255,   273,-32768,-32768,   291,   292,
-  -32768,   293,   295,-32768,   296,-32768,-32768,-32768,-32768,   -78,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,    98,-32768,   242,
-      85,   332,   672,-32768,   334,   336,   341,-32768,-32768,   342,
-     354,   356,   672,   357,   360,   361,   363,   371,   283,   672,
-     372,-32768,   373,   375,   323,   262,   180,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-     403,   404,-32768,-32768,   405,   410,    85,    85,   411,    85,
-      13,-32768,   412,    37,   358,    85,   414,   384,   363,-32768,
-  -32768,-32768,   374,    25,-32768,    83,-32768,-32768,   672,   672,
-     672,   387,   388,   389,   392,   393,-32768,   394,   397,   398,
-     399,   406,   407,   413,   415,   418,   419,   422,   424,   672,
-     672,  1474,    35,-32768,   311,-32768,   316,    11,-32768,-32768,
-     435,  1704,   338,-32768,-32768,   339,-32768,    33,-32768,-32768,
-    1704,   423,   -95,   -95,   335,   -16,   417,-32768,   672,-32768,
-     258,    42,     3,   344,-32768,-32768,-32768,   345,   347,   348,
-     349,   364,-32768,-32768,   133,   167,    36,   365,-32768,-32768,
-     438,    24,    37,   366,   477,   672,     7,   -35,   672,   672,
-  -32768,   672,   672,-32768,-32768,   940,   672,   672,   672,   672,
-     672,   489,   490,   672,   492,   496,   497,   672,   672,   498,
-     499,   672,   672,-32768,-32768,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,  1704,   501,   503,
-  -32768,   504,   672,   672,  1704,   248,   511,-32768,   512,-32768,
-     390,   401,-32768,   515,-32768,   -45,  1704,   391,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,   516,-32768,-32768,   824,
-     502,    21,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    85,
-  -32768,    85,   412,-32768,-32768,-32768,-32768,-32768,   505,   127,
-  -32768,    77,-32768,-32768,  1494,-32768,    47,  1704,  1704,  1368,
-    1704,  1704,-32768,   253,   960,  1514,  1534,   980,   409,   402,
-    1000,   408,   416,   425,  1554,  1589,   426,   427,  1020,  1609,
-    1671,  1037,  1153,   770,  1268,   660,   920,   920,   285,   285,
-     285,   285,   186,   186,   256,   256,-32768,-32768,-32768,  1704,
-    1704,  1704,-32768,-32768,-32768,  1704,  1704,-32768,-32768,-32768,
-  -32768,   -95,   113,   -16,   481,-32768,-32768,   117,   514,   593,
-     514,   672,   430,-32768,     9,   520,-32768,   405,-32768,-32768,
-  -32768,-32768,    37,-32768,-32768,-32768,   509,-32768,   432,   534,
-  -32768,-32768,   672,-32768,-32768,   672,   672,-32768,   672,-32768,
-  -32768,-32768,-32768,-32768,   672,   672,-32768,-32768,-32768,   543,
-     672,   436,   532,-32768,-32768,-32768,   304,   513,  1629,   540,
-     462,-32768,  1726,   482,-32768,  1704,    22,   566,-32768,   569,
-       8,-32768,   491,-32768,   103,    37,-32768,-32768,   442,  1057,
-    1077,  1097,  1117,  1137,  1174,   443,  1704,   -16,   524,   -95,
-     -95,-32768,-32768,-32768,-32768,-32768,-32768,   446,   672,   163,
-     564,-32768,   544,   486,-32768,-32768,   462,   531,   548,   549,
-  -32768,   454,-32768,-32768,-32768,   584,   464,-32768,   111,    37,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   466,
-     436,-32768,  1194,-32768,   672,   562,-32768,   486,-32768,   672,
-      22,   672,   469,-32768,-32768,   517,-32768,   114,   -16,   550,
-     272,  1214,   672,   177,-32768,   320,  1234,-32768,  1254,-32768,
-  -32768,   596,-32768,-32768,-32768,   570,   587,-32768,  1291,-32768,
-  -32768,   555,   557,-32768,-32768,    22,-32768,   672,-32768,-32768,
-  -32768,-32768,-32768,-32768,  1311,   692,-32768,   574,   518,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,   575,   576,   577,-32768,
-  -32768,   578,   580,-32768,   207,-32768,   581,-32768,-32768,-32768,
-     692,   565,   583,   -78,    45,   605,    46,   381,-32768,-32768,
-     211,-32768,   588,-32768,   132,   207,-32768,-32768,-32768,-32768,
-  -32768,-32768,-32768,   589,   590,   495,   592,   500,   597,   598,
-     506,   507,-32768,    73,-32768,    15,   209,-32768,   207,   194,
-     611,   519,   585,   611,   211,   211,-32768,   211,-32768,   211,
-     211,-32768,-32768,   521,   522,   211,-32768,-32768,-32768,   633,
-     551,-32768,   692,   551,   523,   525,    16,   526,   527,-32768,
-  -32768,-32768,   619,-32768,   591,-32768,   528,   530,   211,   533,
-     541,   643,    53,-32768,    53,-32768,-32768,   545,-32768,-32768,
-  -32768,-32768,   645,-32768,-32768,-32768,-32768,-32768,-32768,   464,
-      53,   464,-32768,-32768,-32768,   464,-32768,   657,   664,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,   -51,-32768,-32768,-32768,-32768,   455,-32768,-32768,-32768,
-  -32768,-32768,-32768,   559,-32768,-32768,   529,-32768,-32768,-32768,
-    -192,-32768,-32768,-32768,-32768,   165,  -174,-32768,  -167,  -538,
-      70,   104,    67,-32768,-32768,   118,-32768,    58,-32768,    34,
-    -620,-32768,   121,  -512,  -193,-32768,-32768,  -259,-32768,-32768,
-  -32768,-32768,-32768,   266,-32768,-32768,-32768,-32768,-32768,-32768,
-    -173,   -92,-32768,   -58,    65,   236,   208,-32768,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-  -32768,-32768,  -394,   337,-32768,-32768,    91,  -622,-32768,-32768,
-  -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -494,-32768,
-  -32768,-32768,-32768,-32768,   535,   -15,-32768,   630,  -165,-32768,
-  -32768,   218
-};
-
-
-#define        YYLAST          1760
-
-
-static const short yytable[] =
-{
-     177,   299,   301,    87,   151,   179,   281,   270,   271,   124,
-     311,   267,   438,   438,   161,   260,   527,   102,    16,   591,
-     591,   170,    15,   303,    80,   185,   478,    81,   306,   307,
-     559,   559,   388,   664,   470,   208,   593,   267,   126,   127,
-     196,   198,   199,   583,   675,   255,   283,   560,   560,   600,
-     591,   552,   680,   119,   120,   188,   189,   593,   191,   193,
-     683,   559,    79,   671,   203,   128,   129,    86,   583,   672,
-     213,   214,   130,   131,   132,   386,   375,   633,   560,    98,
-     637,   306,   307,   133,   134,   135,    17,   376,   559,   102,
-     136,   233,   234,   211,   257,   137,   284,   603,   604,   601,
-      16,   400,   264,   273,   138,   560,   274,   306,   307,   139,
-     140,   141,   142,   143,   144,   306,   307,   479,   306,   307,
-     276,   145,   308,   146,   592,   567,   536,    99,   443,   391,
-     583,   394,   395,   100,   286,   200,   287,   147,   268,   605,
-     315,   483,   261,   148,   439,   439,   192,   314,   635,   658,
-     317,   318,   387,   320,   321,   309,   209,   310,   323,   324,
-     325,   326,   327,   585,   268,   330,   256,   302,    17,   334,
-     335,   149,   150,   338,   339,   308,   606,   340,   341,   342,
-     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   354,   355,   356,   357,   358,   359,   360,   361,   101,
-     444,   308,   104,   572,   365,   366,   421,   574,   309,   308,
-     397,   591,   308,   591,   212,   591,   249,   250,   251,   252,
-     253,   398,   559,   122,   559,   396,   559,   461,   462,   463,
-     464,   465,   273,   105,   309,   274,   487,   422,   424,   560,
-     106,   560,   309,   560,   516,   309,   123,   533,   389,   425,
-     390,   367,   368,   488,     1,     2,     3,   107,   592,   567,
-     603,   604,   277,   297,   297,     4,   298,   617,   235,   108,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   251,   252,
-     253,   109,   110,   515,   499,   500,   466,   517,   297,    80,
-     300,    87,    81,    82,    83,   539,   540,   126,   127,   469,
-     111,   535,   278,   247,   248,   249,   250,   251,   252,   253,
-     428,   432,   428,   435,   277,   297,   279,   638,   112,   113,
-     115,    32,   116,   118,   128,   129,   125,   572,   152,   606,
-     153,   130,   131,   132,   449,   155,   158,   450,   451,   280,
-     452,   281,   133,   134,   135,    42,   453,   454,   159,   136,
-     160,   162,   456,   163,   137,   164,    43,   166,   461,   462,
-     463,   464,   465,   138,   543,   168,   171,   174,   139,   140,
-     141,   142,   143,   144,   402,   591,   403,   169,   279,   172,
-     145,   173,   146,    32,   175,   202,   559,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,   147,   182,   183,   185,
-     502,   280,   148,   560,   187,   190,   196,    42,   204,   607,
-     610,   205,   530,   614,   216,   217,   218,   207,    43,   219,
-     220,   221,   608,   609,   222,   223,   224,   466,   126,   127,
-     149,   150,   258,   225,   226,   262,   521,   259,   636,   607,
-     227,   526,   228,   528,   553,   229,   230,   644,   645,   231,
-     614,   232,   647,   648,   538,   128,   129,   272,   650,   265,
-     266,   275,   130,   131,   132,   305,   269,   288,   292,   636,
-     293,   294,   295,   133,   134,   135,   682,   313,   684,   554,
-     136,   667,   686,   328,   329,   137,   331,   296,   304,   312,
-     332,   333,   336,   337,   138,   362,   621,   363,   364,   139,
-     140,   141,   142,   143,   144,   369,   370,   126,   127,   374,
-     382,   145,   372,   146,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,   373,   423,   409,   442,   147,   448,   384,
-     408,   411,   393,   148,   128,   129,   446,   455,   459,   412,
-     468,   426,   131,   132,   427,  -105,   471,   472,   413,   416,
-     417,   437,   133,   134,   135,   447,   263,   475,   457,   136,
-     481,   149,   150,   482,   137,   490,   497,   485,   498,   501,
-     503,   504,   505,   138,   508,   509,   511,   513,   139,   140,
-     141,   142,   143,   144,   514,   297,   126,   127,   518,   522,
-     145,   529,   146,   548,   534,   531,   546,   547,   550,   431,
-     551,   469,   586,   587,   588,   589,   147,   590,   595,   597,
-     598,   602,   148,   128,   129,   616,   624,   625,   626,   627,
-     130,   131,   132,   628,   629,   630,   639,   651,   642,   631,
-     632,   133,   134,   135,   661,   663,   652,   670,   136,   678,
-     149,   150,   641,   137,  -121,   649,   656,   688,   657,   659,
-     660,   665,   138,   666,   689,   319,   668,   139,   140,   141,
-     142,   143,   144,   525,   669,   126,   127,   206,   676,   145,
-     634,   146,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   147,   558,   646,   596,   619,
-     654,   148,   128,   129,   599,   677,   484,   559,   655,   130,
-     131,   132,   507,   289,   643,   524,   176,   434,   519,     0,
-     133,   134,   135,     0,   560,     0,     0,   136,     0,   149,
-     150,     0,   137,   561,   562,   563,   564,   565,     0,     0,
-       0,   138,   316,   566,   567,     0,   139,   140,   141,   142,
-     143,   144,     0,     0,     0,     0,     0,     0,   145,     0,
-     146,     0,     0,    20,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   147,     0,     0,     0,     0,   568,
-     148,   569,     0,     0,     0,   570,     0,     0,     0,    42,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,    21,    22,     0,   149,   150,
-       0,     0,     0,     0,     0,    23,    24,    25,    26,   571,
-      27,    28,   572,     0,   573,     0,   574,     0,    20,    29,
-      30,    31,    32,     0,     0,     0,     0,     0,     0,    33,
-      34,    35,    36,    37,    38,     0,     0,     0,     0,    39,
-      40,    41,     0,     0,     0,     0,    42,     0,     0,     0,
-     383,     0,     0,     0,     0,     0,     0,    43,     0,     0,
-      21,    22,     0,     0,     0,     0,     0,     0,    44,     0,
-      23,    24,    25,    26,  -299,    27,    28,     0,     0,     0,
-       0,    45,     0,     0,    29,    30,    31,    32,     0,     0,
-       0,     0,     0,     0,    33,    34,    35,    36,    37,    38,
-       0,     0,     0,     0,    39,    40,    41,     0,     0,     0,
-       0,    42,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    44,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   235,    45,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   235,     0,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   235,     0,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   235,     0,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   235,     0,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   235,   322,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   235,   404,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   235,   407,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   235,   410,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   235,   418,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,     0,   235,
-     491,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-     492,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-     493,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-     494,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-     495,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,     0,     0,     0,   235,   496,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,   235,   520,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,     0,   537,     0,     0,
-      58,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   544,     0,     0,
-       0,     0,    58,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    59,     0,     0,   545,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   401,     0,    59,    60,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   549,     0,     0,     0,     0,    60,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      61,     0,     0,     0,   557,    62,    63,    64,    65,    66,
-     -41,    67,    68,    69,     0,    70,    71,    72,    73,    74,
-       0,     0,    61,     0,    75,    76,    77,    62,    63,    64,
-      65,    66,     0,    67,    68,    69,     0,    70,    71,    72,
-      73,    74,     0,     0,     0,     0,    75,    76,    77,   235,
-       0,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-       0,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-       0,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-       0,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   235,
-       0,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   235,   254,   236,   237,   238,   239,
-     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,   235,   399,   236,   237,   238,   239,
-     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,   235,   405,   236,   237,   238,   239,
-     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,     0,   406,   469,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   414,   235,   420,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
-     415,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,     0,
-     419,   235,   474,   236,   237,   238,   239,   240,   241,   242,
-     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
-     253
-};
-
-static const short yycheck[] =
-{
-      92,   194,   195,    18,    62,    97,   180,   172,   173,    60,
-     202,     4,     4,     4,    72,     4,   510,     4,    53,     4,
-       4,    79,     4,   196,   119,     4,     4,   122,     4,     5,
-      15,    15,   291,   655,   428,    10,   574,     4,     3,     4,
-       4,     4,     5,   555,   664,    10,     4,    32,    32,     4,
-       4,   545,   674,   131,   132,   106,   107,   595,   109,   110,
-     680,    15,    10,    10,   115,    30,    31,    53,   580,    16,
-     128,   129,    37,    38,    39,    54,   121,     4,    32,    53,
-     618,     4,     5,    48,    49,    50,   121,   132,    15,     4,
-      55,   149,   150,    10,   152,    60,    54,    51,    52,    54,
-      53,    54,   160,   119,    69,    32,   122,     4,     5,    74,
-      75,    76,    77,    78,    79,     4,     5,    95,     4,     5,
-     178,    86,    98,    88,    51,    52,   520,    53,   387,   302,
-     642,     4,     5,    37,   131,    98,   133,   102,   131,    93,
-     133,   133,   131,   108,   136,   136,   133,   205,   133,   133,
-     208,   209,   131,   211,   212,   131,   131,   133,   216,   217,
-     218,   219,   220,   557,   131,   223,   131,   131,   121,   227,
-     228,   136,   137,   231,   232,    98,   130,   235,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,   254,   255,   256,    37,
-     392,    98,    53,   130,   262,   263,   371,   134,   131,    98,
-     133,     4,    98,     4,   131,     4,    30,    31,    32,    33,
-      34,   313,    15,   125,    15,    98,    15,    64,    65,    66,
-      67,    68,   119,    37,   131,   122,   133,   124,   121,    32,
-      37,    32,   131,    32,   133,   131,     4,   133,   299,   132,
-     301,     3,     4,   445,   115,   116,   117,    37,    51,    52,
-      51,    52,     4,   131,   131,   126,   133,   135,    15,    37,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    32,    33,
-      34,    37,    37,   486,   459,   460,   133,   489,   131,   119,
-     133,   316,   122,   123,   124,   128,   129,     3,     4,    37,
-      37,    39,    54,    28,    29,    30,    31,    32,    33,    34,
-     378,   379,   380,   381,     4,   131,    68,   133,    37,    37,
-      37,    73,    37,    37,    30,    31,     4,   130,     4,   130,
-       4,    37,    38,    39,   402,     4,     4,   405,   406,    91,
-     408,   525,    48,    49,    50,    97,   414,   415,     4,    55,
-       4,     4,   420,     3,    60,     4,   108,     4,    64,    65,
-      66,    67,    68,    69,    54,     4,     4,    54,    74,    75,
-      76,    77,    78,    79,   131,     4,   133,   104,    68,    16,
-      86,    16,    88,    73,   132,    37,    15,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,   102,     4,     4,     4,
-     468,    91,   108,    32,     4,     4,     4,    97,     4,   586,
-     587,    37,   514,   590,    37,    37,    37,    53,   108,    37,
-      37,    37,    51,    52,    37,    37,    37,   133,     3,     4,
-     136,   137,   131,    37,    37,    10,   504,   131,   615,   616,
-      37,   509,    37,   511,   546,    37,    37,   624,   625,    37,
-     627,    37,   629,   630,   522,    30,    31,   132,   635,   131,
-     131,    54,    37,    38,    39,    37,    53,   133,   133,   646,
-     133,   133,   133,    48,    49,    50,   679,    10,   681,   547,
-      55,   658,   685,     4,     4,    60,     4,   133,   133,   133,
-       4,     4,     4,     4,    69,     4,   598,     4,     4,    74,
-      75,    76,    77,    78,    79,     4,     4,     3,     4,     4,
-       4,    86,   132,    88,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,   132,    53,   133,    16,   102,     4,    37,
-     131,   133,    37,   108,    30,    31,    37,     4,    16,   133,
-      37,    37,    38,    39,    40,    37,    16,    95,   133,   133,
-     133,   131,    48,    49,    50,   133,   131,    85,   132,    55,
-       4,   136,   137,     4,    60,   133,   133,    86,    54,   133,
-      16,    37,    96,    69,    53,    37,    37,   133,    74,    75,
-      76,    77,    78,    79,    10,   131,     3,     4,   132,    37,
-      86,   132,    88,    16,    54,    88,    10,    37,    53,    16,
-      53,    37,    37,    37,    37,    37,   102,    37,    37,    54,
-      37,    16,   108,    30,    31,    37,    37,    37,   133,    37,
-      37,    38,    39,   133,    37,    37,    25,     4,    53,   133,
-     133,    48,    49,    50,    25,    54,    95,     4,    55,     4,
-     136,   137,   133,    60,   133,   133,   133,     0,   133,   133,
-     133,   133,    69,   133,     0,   210,   133,    74,    75,    76,
-      77,    78,    79,   508,   133,     3,     4,   118,   133,    86,
-     613,    88,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,   102,     4,   627,   580,   595,
-     642,   108,    30,    31,   583,   671,   440,    15,   643,    37,
-      38,    39,   476,   184,   623,   507,    86,   380,   500,    -1,
-      48,    49,    50,    -1,    32,    -1,    -1,    55,    -1,   136,
-     137,    -1,    60,    41,    42,    43,    44,    45,    -1,    -1,
-      -1,    69,   207,    51,    52,    -1,    74,    75,    76,    77,
-      78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
-      88,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   102,    -1,    -1,    -1,    -1,    87,
-     108,    89,    -1,    -1,    -1,    93,    -1,    -1,    -1,    97,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    46,    47,    -1,   136,   137,
-      -1,    -1,    -1,    -1,    -1,    56,    57,    58,    59,   127,
-      61,    62,   130,    -1,   132,    -1,   134,    -1,     4,    70,
-      71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    80,
-      81,    82,    83,    84,    85,    -1,    -1,    -1,    -1,    90,
-      91,    92,    -1,    -1,    -1,    -1,    97,    -1,    -1,    -1,
-      36,    -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,    -1,
-      46,    47,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
-      56,    57,    58,    59,   125,    61,    62,    -1,    -1,    -1,
-      -1,   132,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
-      -1,    -1,    -1,    -1,    80,    81,    82,    83,    84,    85,
-      -1,    -1,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
-      -1,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   119,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    15,   132,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    15,    -1,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    15,    -1,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    15,    -1,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    15,    -1,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    15,   133,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    15,   133,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    15,   133,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    15,   133,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    15,   133,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    19,    20,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    -1,    15,
-     133,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-     133,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-     133,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-     133,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-     133,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    -1,    -1,    -1,    15,   133,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    15,   133,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    -1,   133,    -1,    -1,
-       4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,    -1,
-      -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    38,    -1,    -1,   133,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    36,    -1,    38,    61,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,    61,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      94,    -1,    -1,    -1,   133,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,    -1,   109,   110,   111,   112,   113,
-      -1,    -1,    94,    -1,   118,   119,   120,    99,   100,   101,
-     102,   103,    -1,   105,   106,   107,    -1,   109,   110,   111,
-     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,    15,
-      -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-      -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-      -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-      -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
-      -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    15,   131,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    15,   131,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    15,   131,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    -1,   131,    37,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   131,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    15,
-     131,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    -1,
-     131,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)             \
-      do                                       \
-       {                                       \
-         register YYSIZE_T yyi;                \
-         for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
-       }                                       \
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)                                       \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack, Stack, yysize);                          \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   include <string.h>
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 316 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (yyss);
-       YYSTACK_RELOCATE (yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 6:
-#line 175 "ldgram.y"
-{ ldlex_defsym(); }
-    break;
-case 7:
-#line 177 "ldgram.y"
-{
-                 ldlex_popstate();
-                 lang_add_assignment(exp_assop(yyvsp[-1].token,yyvsp[-2].name,yyvsp[0].etree));
-               }
-    break;
-case 8:
-#line 185 "ldgram.y"
-{
-                 ldlex_mri_script ();
-                 PUSH_ERROR (_("MRI style script"));
-               }
-    break;
-case 9:
-#line 190 "ldgram.y"
-{
-                 ldlex_popstate ();
-                 mri_draw_tree ();
-                 POP_ERROR ();
-               }
-    break;
-case 14:
-#line 205 "ldgram.y"
-{
-                       einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),yyvsp[0].name);
-                       }
-    break;
-case 15:
-#line 208 "ldgram.y"
-{
-                       config.map_filename = "-";
-                       }
-    break;
-case 18:
-#line 214 "ldgram.y"
-{ mri_public(yyvsp[-2].name, yyvsp[0].etree); }
-    break;
-case 19:
-#line 216 "ldgram.y"
-{ mri_public(yyvsp[-2].name, yyvsp[0].etree); }
-    break;
-case 20:
-#line 218 "ldgram.y"
-{ mri_public(yyvsp[-1].name, yyvsp[0].etree); }
-    break;
-case 21:
-#line 220 "ldgram.y"
-{ mri_format(yyvsp[0].name); }
-    break;
-case 22:
-#line 222 "ldgram.y"
-{ mri_output_section(yyvsp[-2].name, yyvsp[0].etree);}
-    break;
-case 23:
-#line 224 "ldgram.y"
-{ mri_output_section(yyvsp[-1].name, yyvsp[0].etree);}
-    break;
-case 24:
-#line 226 "ldgram.y"
-{ mri_output_section(yyvsp[-2].name, yyvsp[0].etree);}
-    break;
-case 25:
-#line 228 "ldgram.y"
-{ mri_align(yyvsp[-2].name,yyvsp[0].etree); }
-    break;
-case 26:
-#line 230 "ldgram.y"
-{ mri_align(yyvsp[-2].name,yyvsp[0].etree); }
-    break;
-case 27:
-#line 232 "ldgram.y"
-{ mri_alignmod(yyvsp[-2].name,yyvsp[0].etree); }
-    break;
-case 28:
-#line 234 "ldgram.y"
-{ mri_alignmod(yyvsp[-2].name,yyvsp[0].etree); }
-    break;
-case 31:
-#line 238 "ldgram.y"
-{ mri_name(yyvsp[0].name); }
-    break;
-case 32:
-#line 240 "ldgram.y"
-{ mri_alias(yyvsp[-2].name,yyvsp[0].name,0);}
-    break;
-case 33:
-#line 242 "ldgram.y"
-{ mri_alias (yyvsp[-2].name, 0, (int) yyvsp[0].bigint.integer); }
-    break;
-case 34:
-#line 244 "ldgram.y"
-{ mri_base(yyvsp[0].etree); }
-    break;
-case 35:
-#line 246 "ldgram.y"
-{ mri_truncate ((unsigned int) yyvsp[0].bigint.integer); }
-    break;
-case 38:
-#line 250 "ldgram.y"
-{ ldlex_script (); ldfile_open_command_file(yyvsp[0].name); }
-    break;
-case 39:
-#line 252 "ldgram.y"
-{ ldlex_popstate (); }
-    break;
-case 40:
-#line 254 "ldgram.y"
-{ lang_add_entry (yyvsp[0].name, FALSE); }
-    break;
-case 42:
-#line 259 "ldgram.y"
-{ mri_order(yyvsp[0].name); }
-    break;
-case 43:
-#line 260 "ldgram.y"
-{ mri_order(yyvsp[0].name); }
-    break;
-case 45:
-#line 266 "ldgram.y"
-{ mri_load(yyvsp[0].name); }
-    break;
-case 46:
-#line 267 "ldgram.y"
-{ mri_load(yyvsp[0].name); }
-    break;
-case 47:
-#line 272 "ldgram.y"
-{ mri_only_load(yyvsp[0].name); }
-    break;
-case 48:
-#line 274 "ldgram.y"
-{ mri_only_load(yyvsp[0].name); }
-    break;
-case 49:
-#line 278 "ldgram.y"
-{ yyval.name = NULL; }
-    break;
-case 52:
-#line 285 "ldgram.y"
-{ ldlang_add_undef (yyvsp[0].name); }
-    break;
-case 53:
-#line 287 "ldgram.y"
-{ ldlang_add_undef (yyvsp[0].name); }
-    break;
-case 54:
-#line 289 "ldgram.y"
-{ ldlang_add_undef (yyvsp[0].name); }
-    break;
-case 55:
-#line 293 "ldgram.y"
-{
-        ldlex_both();
-       }
-    break;
-case 56:
-#line 297 "ldgram.y"
-{
-       ldlex_popstate();
-       }
-    break;
-case 69:
-#line 322 "ldgram.y"
-{ lang_add_target(yyvsp[-1].name); }
-    break;
-case 70:
-#line 324 "ldgram.y"
-{ ldfile_add_library_path (yyvsp[-1].name, FALSE); }
-    break;
-case 71:
-#line 326 "ldgram.y"
-{ lang_add_output(yyvsp[-1].name, 1); }
-    break;
-case 72:
-#line 328 "ldgram.y"
-{ lang_add_output_format (yyvsp[-1].name, (char *) NULL,
-                                           (char *) NULL, 1); }
-    break;
-case 73:
-#line 331 "ldgram.y"
-{ lang_add_output_format (yyvsp[-5].name, yyvsp[-3].name, yyvsp[-1].name, 1); }
-    break;
-case 74:
-#line 333 "ldgram.y"
-{ ldfile_set_output_arch (yyvsp[-1].name, bfd_arch_unknown); }
-    break;
-case 75:
-#line 335 "ldgram.y"
-{ command_line.force_common_definition = TRUE ; }
-    break;
-case 76:
-#line 337 "ldgram.y"
-{ command_line.inhibit_common_definition = TRUE ; }
-    break;
-case 78:
-#line 340 "ldgram.y"
-{ lang_enter_group (); }
-    break;
-case 79:
-#line 342 "ldgram.y"
-{ lang_leave_group (); }
-    break;
-case 80:
-#line 344 "ldgram.y"
-{ lang_add_map(yyvsp[-1].name); }
-    break;
-case 81:
-#line 346 "ldgram.y"
-{ ldlex_script (); ldfile_open_command_file(yyvsp[0].name); }
-    break;
-case 82:
-#line 348 "ldgram.y"
-{ ldlex_popstate (); }
-    break;
-case 83:
-#line 350 "ldgram.y"
-{
-                 lang_add_nocrossref (yyvsp[-1].nocrossref);
-               }
-    break;
-case 85:
-#line 358 "ldgram.y"
-{ lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
-                                (char *)NULL); }
-    break;
-case 86:
-#line 361 "ldgram.y"
-{ lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
-                                (char *)NULL); }
-    break;
-case 87:
-#line 364 "ldgram.y"
-{ lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
-                                (char *)NULL); }
-    break;
-case 88:
-#line 367 "ldgram.y"
-{ lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
-                                (char *)NULL); }
-    break;
-case 89:
-#line 370 "ldgram.y"
-{ lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
-                                (char *)NULL); }
-    break;
-case 90:
-#line 373 "ldgram.y"
-{ lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
-                                (char *)NULL); }
-    break;
-case 91:
-#line 376 "ldgram.y"
-{ yyval.integer = as_needed; as_needed = TRUE; }
-    break;
-case 92:
-#line 378 "ldgram.y"
-{ as_needed = yyvsp[-2].integer; }
-    break;
-case 93:
-#line 380 "ldgram.y"
-{ yyval.integer = as_needed; as_needed = TRUE; }
-    break;
-case 94:
-#line 382 "ldgram.y"
-{ as_needed = yyvsp[-2].integer; }
-    break;
-case 95:
-#line 384 "ldgram.y"
-{ yyval.integer = as_needed; as_needed = TRUE; }
-    break;
-case 96:
-#line 386 "ldgram.y"
-{ as_needed = yyvsp[-2].integer; }
-    break;
-case 101:
-#line 401 "ldgram.y"
-{ lang_add_entry (yyvsp[-1].name, FALSE); }
-    break;
-case 103:
-#line 403 "ldgram.y"
-{ldlex_expression ();}
-    break;
-case 104:
-#line 404 "ldgram.y"
-{ ldlex_popstate ();
-                 lang_add_assignment (exp_assert (yyvsp[-3].etree, yyvsp[-1].name)); }
-    break;
-case 105:
-#line 412 "ldgram.y"
-{
-                         yyval.cname = yyvsp[0].name;
-                       }
-    break;
-case 106:
-#line 416 "ldgram.y"
-{
-                         yyval.cname = "*";
-                       }
-    break;
-case 107:
-#line 420 "ldgram.y"
-{
-                         yyval.cname = "?";
-                       }
-    break;
-case 108:
-#line 427 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[0].cname;
-                         yyval.wildcard.sorted = none;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 109:
-#line 433 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[0].cname;
-                         yyval.wildcard.sorted = none;
-                         yyval.wildcard.exclude_name_list = yyvsp[-2].name_list;
-                       }
-    break;
-case 110:
-#line 439 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-1].cname;
-                         yyval.wildcard.sorted = by_name;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 111:
-#line 445 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-1].cname;
-                         yyval.wildcard.sorted = by_alignment;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 112:
-#line 451 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-2].cname;
-                         yyval.wildcard.sorted = by_name_alignment;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 113:
-#line 457 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-2].cname;
-                         yyval.wildcard.sorted = by_name;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 114:
-#line 463 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-2].cname;
-                         yyval.wildcard.sorted = by_alignment_name;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 115:
-#line 469 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-2].cname;
-                         yyval.wildcard.sorted = by_alignment;
-                         yyval.wildcard.exclude_name_list = NULL;
-                       }
-    break;
-case 116:
-#line 475 "ldgram.y"
-{
-                         yyval.wildcard.name = yyvsp[-1].cname;
-                         yyval.wildcard.sorted = by_name;
-                         yyval.wildcard.exclude_name_list = yyvsp[-3].name_list;
-                       }
-    break;
-case 117:
-#line 484 "ldgram.y"
-{
-                         struct name_list *tmp;
-                         tmp = (struct name_list *) xmalloc (sizeof *tmp);
-                         tmp->name = yyvsp[0].cname;
-                         tmp->next = yyvsp[-1].name_list;
-                         yyval.name_list = tmp;
-                       }
-    break;
-case 118:
-#line 493 "ldgram.y"
-{
-                         struct name_list *tmp;
-                         tmp = (struct name_list *) xmalloc (sizeof *tmp);
-                         tmp->name = yyvsp[0].cname;
-                         tmp->next = NULL;
-                         yyval.name_list = tmp;
-                       }
-    break;
-case 119:
-#line 504 "ldgram.y"
-{
-                         struct wildcard_list *tmp;
-                         tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
-                         tmp->next = yyvsp[-2].wildcard_list;
-                         tmp->spec = yyvsp[0].wildcard;
-                         yyval.wildcard_list = tmp;
-                       }
-    break;
-case 120:
-#line 513 "ldgram.y"
-{
-                         struct wildcard_list *tmp;
-                         tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
-                         tmp->next = NULL;
-                         tmp->spec = yyvsp[0].wildcard;
-                         yyval.wildcard_list = tmp;
-                       }
-    break;
-case 121:
-#line 524 "ldgram.y"
-{
-                         struct wildcard_spec tmp;
-                         tmp.name = yyvsp[0].name;
-                         tmp.exclude_name_list = NULL;
-                         tmp.sorted = none;
-                         lang_add_wild (&tmp, NULL, ldgram_had_keep);
-                       }
-    break;
-case 122:
-#line 532 "ldgram.y"
-{
-                         lang_add_wild (NULL, yyvsp[-1].wildcard_list, ldgram_had_keep);
-                       }
-    break;
-case 123:
-#line 536 "ldgram.y"
-{
-                         lang_add_wild (&yyvsp[-3].wildcard, yyvsp[-1].wildcard_list, ldgram_had_keep);
-                       }
-    break;
-case 125:
-#line 544 "ldgram.y"
-{ ldgram_had_keep = TRUE; }
-    break;
-case 126:
-#line 546 "ldgram.y"
-{ ldgram_had_keep = FALSE; }
-    break;
-case 128:
-#line 552 "ldgram.y"
-{
-               lang_add_attribute(lang_object_symbols_statement_enum);
-               }
-    break;
-case 130:
-#line 557 "ldgram.y"
-{
-
-                 lang_add_attribute(lang_constructors_statement_enum);
-               }
-    break;
-case 131:
-#line 562 "ldgram.y"
-{
-                 constructors_sorted = TRUE;
-                 lang_add_attribute (lang_constructors_statement_enum);
-               }
-    break;
-case 133:
-#line 568 "ldgram.y"
-{
-                         lang_add_data ((int) yyvsp[-3].integer, yyvsp[-1].etree);
-                       }
-    break;
-case 134:
-#line 573 "ldgram.y"
-{
-                         lang_add_fill (yyvsp[-1].fill);
-                       }
-    break;
-case 139:
-#line 590 "ldgram.y"
-{ yyval.integer = yyvsp[0].token; }
-    break;
-case 140:
-#line 592 "ldgram.y"
-{ yyval.integer = yyvsp[0].token; }
-    break;
-case 141:
-#line 594 "ldgram.y"
-{ yyval.integer = yyvsp[0].token; }
-    break;
-case 142:
-#line 596 "ldgram.y"
-{ yyval.integer = yyvsp[0].token; }
-    break;
-case 143:
-#line 598 "ldgram.y"
-{ yyval.integer = yyvsp[0].token; }
-    break;
-case 144:
-#line 603 "ldgram.y"
-{
-                 yyval.fill = exp_get_fill (yyvsp[0].etree,
-                                    0,
-                                    "fill value",
-                                    lang_first_phase_enum);
-               }
-    break;
-case 145:
-#line 613 "ldgram.y"
-{ yyval.fill = yyvsp[0].fill; }
-    break;
-case 146:
-#line 614 "ldgram.y"
-{ yyval.fill = (fill_type *) 0; }
-    break;
-case 147:
-#line 619 "ldgram.y"
-{ yyval.token = '+'; }
-    break;
-case 148:
-#line 621 "ldgram.y"
-{ yyval.token = '-'; }
-    break;
-case 149:
-#line 623 "ldgram.y"
-{ yyval.token = '*'; }
-    break;
-case 150:
-#line 625 "ldgram.y"
-{ yyval.token = '/'; }
-    break;
-case 151:
-#line 627 "ldgram.y"
-{ yyval.token = LSHIFT; }
-    break;
-case 152:
-#line 629 "ldgram.y"
-{ yyval.token = RSHIFT; }
-    break;
-case 153:
-#line 631 "ldgram.y"
-{ yyval.token = '&'; }
-    break;
-case 154:
-#line 633 "ldgram.y"
-{ yyval.token = '|'; }
-    break;
-case 157:
-#line 643 "ldgram.y"
-{
-                 lang_add_assignment (exp_assop (yyvsp[-1].token, yyvsp[-2].name, yyvsp[0].etree));
-               }
-    break;
-case 158:
-#line 647 "ldgram.y"
-{
-                 lang_add_assignment (exp_assop ('=', yyvsp[-2].name,
-                                                 exp_binop (yyvsp[-1].token,
-                                                            exp_nameop (NAME,
-                                                                        yyvsp[-2].name),
-                                                            yyvsp[0].etree)));
-               }
-    break;
-case 159:
-#line 655 "ldgram.y"
-{
-                 lang_add_assignment (exp_provide (yyvsp[-3].name, yyvsp[-1].etree));
-               }
-    break;
-case 166:
-#line 677 "ldgram.y"
-{ region = lang_memory_region_lookup (yyvsp[0].name, TRUE); }
-    break;
-case 167:
-#line 680 "ldgram.y"
-{}
-    break;
-case 168:
-#line 685 "ldgram.y"
-{ region->current =
-                region->origin =
-                exp_get_vma(yyvsp[0].etree, 0L,"origin", lang_first_phase_enum);
-}
-    break;
-case 169:
-#line 693 "ldgram.y"
-{ region->length = exp_get_vma(yyvsp[0].etree,
-                                              ~((bfd_vma)0),
-                                              "length",
-                                              lang_first_phase_enum);
-               }
-    break;
-case 170:
-#line 702 "ldgram.y"
-{ /* dummy action to avoid bison 1.25 error message */ }
-    break;
-case 174:
-#line 713 "ldgram.y"
-{ lang_set_flags (region, yyvsp[0].name, 0); }
-    break;
-case 175:
-#line 715 "ldgram.y"
-{ lang_set_flags (region, yyvsp[0].name, 1); }
-    break;
-case 176:
-#line 720 "ldgram.y"
-{ lang_startup(yyvsp[-1].name); }
-    break;
-case 178:
-#line 726 "ldgram.y"
-{ ldemul_hll((char *)NULL); }
-    break;
-case 179:
-#line 731 "ldgram.y"
-{ ldemul_hll(yyvsp[0].name); }
-    break;
-case 180:
-#line 733 "ldgram.y"
-{ ldemul_hll(yyvsp[0].name); }
-    break;
-case 182:
-#line 741 "ldgram.y"
-{ ldemul_syslib(yyvsp[0].name); }
-    break;
-case 184:
-#line 747 "ldgram.y"
-{ lang_float(TRUE); }
-    break;
-case 185:
-#line 749 "ldgram.y"
-{ lang_float(FALSE); }
-    break;
-case 186:
-#line 754 "ldgram.y"
-{
-                 yyval.nocrossref = NULL;
-               }
-    break;
-case 187:
-#line 758 "ldgram.y"
-{
-                 struct lang_nocrossref *n;
-
-                 n = (struct lang_nocrossref *) xmalloc (sizeof *n);
-                 n->name = yyvsp[-1].name;
-                 n->next = yyvsp[0].nocrossref;
-                 yyval.nocrossref = n;
-               }
-    break;
-case 188:
-#line 767 "ldgram.y"
-{
-                 struct lang_nocrossref *n;
-
-                 n = (struct lang_nocrossref *) xmalloc (sizeof *n);
-                 n->name = yyvsp[-2].name;
-                 n->next = yyvsp[0].nocrossref;
-                 yyval.nocrossref = n;
-               }
-    break;
-case 189:
-#line 777 "ldgram.y"
-{ ldlex_expression (); }
-    break;
-case 190:
-#line 779 "ldgram.y"
-{ ldlex_popstate (); yyval.etree=yyvsp[0].etree;}
-    break;
-case 191:
-#line 784 "ldgram.y"
-{ yyval.etree = exp_unop ('-', yyvsp[0].etree); }
-    break;
-case 192:
-#line 786 "ldgram.y"
-{ yyval.etree = yyvsp[-1].etree; }
-    break;
-case 193:
-#line 788 "ldgram.y"
-{ yyval.etree = exp_unop ((int) yyvsp[-3].integer,yyvsp[-1].etree); }
-    break;
-case 194:
-#line 790 "ldgram.y"
-{ yyval.etree = exp_unop ('!', yyvsp[0].etree); }
-    break;
-case 195:
-#line 792 "ldgram.y"
-{ yyval.etree = yyvsp[0].etree; }
-    break;
-case 196:
-#line 794 "ldgram.y"
-{ yyval.etree = exp_unop ('~', yyvsp[0].etree);}
-    break;
-case 197:
-#line 797 "ldgram.y"
-{ yyval.etree = exp_binop ('*', yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 198:
-#line 799 "ldgram.y"
-{ yyval.etree = exp_binop ('/', yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 199:
-#line 801 "ldgram.y"
-{ yyval.etree = exp_binop ('%', yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 200:
-#line 803 "ldgram.y"
-{ yyval.etree = exp_binop ('+', yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 201:
-#line 805 "ldgram.y"
-{ yyval.etree = exp_binop ('-' , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 202:
-#line 807 "ldgram.y"
-{ yyval.etree = exp_binop (LSHIFT , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 203:
-#line 809 "ldgram.y"
-{ yyval.etree = exp_binop (RSHIFT , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 204:
-#line 811 "ldgram.y"
-{ yyval.etree = exp_binop (EQ , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 205:
-#line 813 "ldgram.y"
-{ yyval.etree = exp_binop (NE , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 206:
-#line 815 "ldgram.y"
-{ yyval.etree = exp_binop (LE , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 207:
-#line 817 "ldgram.y"
-{ yyval.etree = exp_binop (GE , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 208:
-#line 819 "ldgram.y"
-{ yyval.etree = exp_binop ('<' , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 209:
-#line 821 "ldgram.y"
-{ yyval.etree = exp_binop ('>' , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 210:
-#line 823 "ldgram.y"
-{ yyval.etree = exp_binop ('&' , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 211:
-#line 825 "ldgram.y"
-{ yyval.etree = exp_binop ('^' , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 212:
-#line 827 "ldgram.y"
-{ yyval.etree = exp_binop ('|' , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 213:
-#line 829 "ldgram.y"
-{ yyval.etree = exp_trinop ('?' , yyvsp[-4].etree, yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 214:
-#line 831 "ldgram.y"
-{ yyval.etree = exp_binop (ANDAND , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 215:
-#line 833 "ldgram.y"
-{ yyval.etree = exp_binop (OROR , yyvsp[-2].etree, yyvsp[0].etree); }
-    break;
-case 216:
-#line 835 "ldgram.y"
-{ yyval.etree = exp_nameop (DEFINED, yyvsp[-1].name); }
-    break;
-case 217:
-#line 837 "ldgram.y"
-{ yyval.etree = exp_bigintop (yyvsp[0].bigint.integer, yyvsp[0].bigint.str); }
-    break;
-case 218:
-#line 839 "ldgram.y"
-{ yyval.etree = exp_nameop (SIZEOF_HEADERS,0); }
-    break;
-case 219:
-#line 842 "ldgram.y"
-{ yyval.etree = exp_nameop (SIZEOF,yyvsp[-1].name); }
-    break;
-case 220:
-#line 844 "ldgram.y"
-{ yyval.etree = exp_nameop (ADDR,yyvsp[-1].name); }
-    break;
-case 221:
-#line 846 "ldgram.y"
-{ yyval.etree = exp_nameop (LOADADDR,yyvsp[-1].name); }
-    break;
-case 222:
-#line 848 "ldgram.y"
-{ yyval.etree = exp_unop (ABSOLUTE, yyvsp[-1].etree); }
-    break;
-case 223:
-#line 850 "ldgram.y"
-{ yyval.etree = exp_unop (ALIGN_K,yyvsp[-1].etree); }
-    break;
-case 224:
-#line 852 "ldgram.y"
-{ yyval.etree = exp_binop (ALIGN_K,yyvsp[-3].etree,yyvsp[-1].etree); }
-    break;
-case 225:
-#line 854 "ldgram.y"
-{ yyval.etree = exp_binop (DATA_SEGMENT_ALIGN, yyvsp[-3].etree, yyvsp[-1].etree); }
-    break;
-case 226:
-#line 856 "ldgram.y"
-{ yyval.etree = exp_binop (DATA_SEGMENT_RELRO_END, yyvsp[-1].etree, yyvsp[-3].etree); }
-    break;
-case 227:
-#line 858 "ldgram.y"
-{ yyval.etree = exp_unop (DATA_SEGMENT_END, yyvsp[-1].etree); }
-    break;
-case 228:
-#line 860 "ldgram.y"
-{ /* The operands to the expression node are
-                            placed in the opposite order from the way
-                            in which they appear in the script as
-                            that allows us to reuse more code in
-                            fold_binary.  */
-                         yyval.etree = exp_binop (SEGMENT_START,
-                                         yyvsp[-1].etree,
-                                         exp_nameop (NAME, yyvsp[-3].name)); }
-    break;
-case 229:
-#line 869 "ldgram.y"
-{ yyval.etree = exp_unop (ALIGN_K,yyvsp[-1].etree); }
-    break;
-case 230:
-#line 871 "ldgram.y"
-{ yyval.etree = exp_nameop (NAME,yyvsp[0].name); }
-    break;
-case 231:
-#line 873 "ldgram.y"
-{ yyval.etree = exp_binop (MAX_K, yyvsp[-3].etree, yyvsp[-1].etree ); }
-    break;
-case 232:
-#line 875 "ldgram.y"
-{ yyval.etree = exp_binop (MIN_K, yyvsp[-3].etree, yyvsp[-1].etree ); }
-    break;
-case 233:
-#line 877 "ldgram.y"
-{ yyval.etree = exp_assert (yyvsp[-3].etree, yyvsp[-1].name); }
-    break;
-case 234:
-#line 879 "ldgram.y"
-{ yyval.etree = exp_nameop (ORIGIN, yyvsp[-1].name); }
-    break;
-case 235:
-#line 881 "ldgram.y"
-{ yyval.etree = exp_nameop (LENGTH, yyvsp[-1].name); }
-    break;
-case 236:
-#line 886 "ldgram.y"
-{ yyval.name = yyvsp[0].name; }
-    break;
-case 237:
-#line 887 "ldgram.y"
-{ yyval.name = 0; }
-    break;
-case 238:
-#line 891 "ldgram.y"
-{ yyval.etree = yyvsp[-1].etree; }
-    break;
-case 239:
-#line 892 "ldgram.y"
-{ yyval.etree = 0; }
-    break;
-case 240:
-#line 896 "ldgram.y"
-{ yyval.etree = yyvsp[-1].etree; }
-    break;
-case 241:
-#line 897 "ldgram.y"
-{ yyval.etree = 0; }
-    break;
-case 242:
-#line 901 "ldgram.y"
-{ yyval.token = ONLY_IF_RO; }
-    break;
-case 243:
-#line 902 "ldgram.y"
-{ yyval.token = ONLY_IF_RW; }
-    break;
-case 244:
-#line 903 "ldgram.y"
-{ yyval.token = 0; }
-    break;
-case 245:
-#line 906 "ldgram.y"
-{ ldlex_expression(); }
-    break;
-case 246:
-#line 909 "ldgram.y"
-{ ldlex_popstate (); ldlex_script (); }
-    break;
-case 247:
-#line 912 "ldgram.y"
-{
-                         lang_enter_output_section_statement(yyvsp[-7].name, yyvsp[-5].etree,
-                                                             sectype,
-                                                             0, yyvsp[-3].etree, yyvsp[-4].etree, yyvsp[-1].token);
-                       }
-    break;
-case 248:
-#line 918 "ldgram.y"
-{ ldlex_popstate (); ldlex_expression (); }
-    break;
-case 249:
-#line 920 "ldgram.y"
-{
-                 ldlex_popstate ();
-                 lang_leave_output_section_statement (yyvsp[0].fill, yyvsp[-3].name, yyvsp[-1].section_phdr, yyvsp[-2].name);
-               }
-    break;
-case 250:
-#line 925 "ldgram.y"
-{}
-    break;
-case 251:
-#line 927 "ldgram.y"
-{ ldlex_expression (); }
-    break;
-case 252:
-#line 929 "ldgram.y"
-{ ldlex_popstate (); ldlex_script (); }
-    break;
-case 253:
-#line 931 "ldgram.y"
-{
-                         lang_enter_overlay (yyvsp[-5].etree, yyvsp[-2].etree);
-                       }
-    break;
-case 254:
-#line 936 "ldgram.y"
-{ ldlex_popstate (); ldlex_expression (); }
-    break;
-case 255:
-#line 938 "ldgram.y"
-{
-                         ldlex_popstate ();
-                         lang_leave_overlay (yyvsp[-11].etree, (int) yyvsp[-12].integer,
-                                             yyvsp[0].fill, yyvsp[-3].name, yyvsp[-1].section_phdr, yyvsp[-2].name);
-                       }
-    break;
-case 257:
-#line 948 "ldgram.y"
-{ ldlex_expression (); }
-    break;
-case 258:
-#line 950 "ldgram.y"
-{
-                 ldlex_popstate ();
-                 lang_add_assignment (exp_assop ('=', ".", yyvsp[0].etree));
-               }
-    break;
-case 260:
-#line 958 "ldgram.y"
-{ sectype = noload_section; }
-    break;
-case 261:
-#line 959 "ldgram.y"
-{ sectype = dsect_section; }
-    break;
-case 262:
-#line 960 "ldgram.y"
-{ sectype = copy_section; }
-    break;
-case 263:
-#line 961 "ldgram.y"
-{ sectype = info_section; }
-    break;
-case 264:
-#line 962 "ldgram.y"
-{ sectype = overlay_section; }
-    break;
-case 266:
-#line 967 "ldgram.y"
-{ sectype = normal_section; }
-    break;
-case 267:
-#line 968 "ldgram.y"
-{ sectype = normal_section; }
-    break;
-case 268:
-#line 972 "ldgram.y"
-{ yyval.etree = yyvsp[-2].etree; }
-    break;
-case 269:
-#line 973 "ldgram.y"
-{ yyval.etree = (etree_type *)NULL;  }
-    break;
-case 270:
-#line 978 "ldgram.y"
-{ yyval.etree = yyvsp[-3].etree; }
-    break;
-case 271:
-#line 980 "ldgram.y"
-{ yyval.etree = yyvsp[-7].etree; }
-    break;
-case 272:
-#line 984 "ldgram.y"
-{ yyval.etree = yyvsp[-1].etree; }
-    break;
-case 273:
-#line 985 "ldgram.y"
-{ yyval.etree = (etree_type *) NULL;  }
-    break;
-case 274:
-#line 990 "ldgram.y"
-{ yyval.integer = 0; }
-    break;
-case 275:
-#line 992 "ldgram.y"
-{ yyval.integer = 1; }
-    break;
-case 276:
-#line 997 "ldgram.y"
-{ yyval.name = yyvsp[0].name; }
-    break;
-case 277:
-#line 998 "ldgram.y"
-{ yyval.name = DEFAULT_MEMORY_REGION; }
-    break;
-case 278:
-#line 1003 "ldgram.y"
-{
-                 yyval.section_phdr = NULL;
-               }
-    break;
-case 279:
-#line 1007 "ldgram.y"
-{
-                 struct lang_output_section_phdr_list *n;
-
-                 n = ((struct lang_output_section_phdr_list *)
-                      xmalloc (sizeof *n));
-                 n->name = yyvsp[0].name;
-                 n->used = FALSE;
-                 n->next = yyvsp[-2].section_phdr;
-                 yyval.section_phdr = n;
-               }
-    break;
-case 281:
-#line 1023 "ldgram.y"
-{
-                         ldlex_script ();
-                         lang_enter_overlay_section (yyvsp[0].name);
-                       }
-    break;
-case 282:
-#line 1028 "ldgram.y"
-{ ldlex_popstate (); ldlex_expression (); }
-    break;
-case 283:
-#line 1030 "ldgram.y"
-{
-                         ldlex_popstate ();
-                         lang_leave_overlay_section (yyvsp[0].fill, yyvsp[-1].section_phdr);
-                       }
-    break;
-case 288:
-#line 1047 "ldgram.y"
-{ ldlex_expression (); }
-    break;
-case 289:
-#line 1048 "ldgram.y"
-{ ldlex_popstate (); }
-    break;
-case 290:
-#line 1050 "ldgram.y"
-{
-                 lang_new_phdr (yyvsp[-5].name, yyvsp[-3].etree, yyvsp[-2].phdr.filehdr, yyvsp[-2].phdr.phdrs, yyvsp[-2].phdr.at,
-                                yyvsp[-2].phdr.flags);
-               }
-    break;
-case 291:
-#line 1058 "ldgram.y"
-{
-                 yyval.etree = yyvsp[0].etree;
-
-                 if (yyvsp[0].etree->type.node_class == etree_name
-                     && yyvsp[0].etree->type.node_code == NAME)
-                   {
-                     const char *s;
-                     unsigned int i;
-                     static const char * const phdr_types[] =
-                       {
-                         "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
-                         "PT_INTERP", "PT_NOTE", "PT_SHLIB",
-                         "PT_PHDR", "PT_TLS"
-                       };
-
-                     s = yyvsp[0].etree->name.name;
-                     for (i = 0;
-                          i < sizeof phdr_types / sizeof phdr_types[0];
-                          i++)
-                       if (strcmp (s, phdr_types[i]) == 0)
-                         {
-                           yyval.etree = exp_intop (i);
-                           break;
-                         }
-                     if (i == sizeof phdr_types / sizeof phdr_types[0])
-                       {
-                         if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
-                           yyval.etree = exp_intop (0x6474e550);
-                         else if (strcmp (s, "PT_GNU_STACK") == 0)
-                           yyval.etree = exp_intop (0x6474e551);
-                         else
-                           {
-                             einfo (_("\
-%X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
-                                    s);
-                             yyval.etree = exp_intop (0);
-                           }
-                       }
-                   }
-               }
-    break;
-case 292:
-#line 1102 "ldgram.y"
-{
-                 memset (&yyval.phdr, 0, sizeof (struct phdr_info));
-               }
-    break;
-case 293:
-#line 1106 "ldgram.y"
-{
-                 yyval.phdr = yyvsp[0].phdr;
-                 if (strcmp (yyvsp[-2].name, "FILEHDR") == 0 && yyvsp[-1].etree == NULL)
-                   yyval.phdr.filehdr = TRUE;
-                 else if (strcmp (yyvsp[-2].name, "PHDRS") == 0 && yyvsp[-1].etree == NULL)
-                   yyval.phdr.phdrs = TRUE;
-                 else if (strcmp (yyvsp[-2].name, "FLAGS") == 0 && yyvsp[-1].etree != NULL)
-                   yyval.phdr.flags = yyvsp[-1].etree;
-                 else
-                   einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), yyvsp[-2].name);
-               }
-    break;
-case 294:
-#line 1118 "ldgram.y"
-{
-                 yyval.phdr = yyvsp[0].phdr;
-                 yyval.phdr.at = yyvsp[-2].etree;
-               }
-    break;
-case 295:
-#line 1126 "ldgram.y"
-{
-                 yyval.etree = NULL;
-               }
-    break;
-case 296:
-#line 1130 "ldgram.y"
-{
-                 yyval.etree = yyvsp[-1].etree;
-               }
-    break;
-case 297:
-#line 1138 "ldgram.y"
-{
-                 ldlex_version_file ();
-                 PUSH_ERROR (_("VERSION script"));
-               }
-    break;
-case 298:
-#line 1143 "ldgram.y"
-{
-                 ldlex_popstate ();
-                 POP_ERROR ();
-               }
-    break;
-case 299:
-#line 1152 "ldgram.y"
-{
-                 ldlex_version_script ();
-               }
-    break;
-case 300:
-#line 1156 "ldgram.y"
-{
-                 ldlex_popstate ();
-               }
-    break;
-case 303:
-#line 1168 "ldgram.y"
-{
-                 lang_register_vers_node (NULL, yyvsp[-2].versnode, NULL);
-               }
-    break;
-case 304:
-#line 1172 "ldgram.y"
-{
-                 lang_register_vers_node (yyvsp[-4].name, yyvsp[-2].versnode, NULL);
-               }
-    break;
-case 305:
-#line 1176 "ldgram.y"
-{
-                 lang_register_vers_node (yyvsp[-5].name, yyvsp[-3].versnode, yyvsp[-1].deflist);
-               }
-    break;
-case 306:
-#line 1183 "ldgram.y"
-{
-                 yyval.deflist = lang_add_vers_depend (NULL, yyvsp[0].name);
-               }
-    break;
-case 307:
-#line 1187 "ldgram.y"
-{
-                 yyval.deflist = lang_add_vers_depend (yyvsp[-1].deflist, yyvsp[0].name);
-               }
-    break;
-case 308:
-#line 1194 "ldgram.y"
-{
-                 yyval.versnode = lang_new_vers_node (NULL, NULL);
-               }
-    break;
-case 309:
-#line 1198 "ldgram.y"
-{
-                 yyval.versnode = lang_new_vers_node (yyvsp[-1].versyms, NULL);
-               }
-    break;
-case 310:
-#line 1202 "ldgram.y"
-{
-                 yyval.versnode = lang_new_vers_node (yyvsp[-1].versyms, NULL);
-               }
-    break;
-case 311:
-#line 1206 "ldgram.y"
-{
-                 yyval.versnode = lang_new_vers_node (NULL, yyvsp[-1].versyms);
-               }
-    break;
-case 312:
-#line 1210 "ldgram.y"
-{
-                 yyval.versnode = lang_new_vers_node (yyvsp[-5].versyms, yyvsp[-1].versyms);
-               }
-    break;
-case 313:
-#line 1217 "ldgram.y"
-{
-                 yyval.versyms = lang_new_vers_pattern (NULL, yyvsp[0].name, ldgram_vers_current_lang);
-               }
-    break;
-case 314:
-#line 1221 "ldgram.y"
-{
-                 yyval.versyms = lang_new_vers_pattern (yyvsp[-2].versyms, yyvsp[0].name, ldgram_vers_current_lang);
-               }
-    break;
-case 315:
-#line 1225 "ldgram.y"
-{
-                         yyval.name = ldgram_vers_current_lang;
-                         ldgram_vers_current_lang = yyvsp[-1].name;
-                       }
-    break;
-case 316:
-#line 1230 "ldgram.y"
-{
-                         yyval.versyms = yyvsp[-2].versyms;
-                         ldgram_vers_current_lang = yyvsp[-3].name;
-                       }
-    break;
-case 317:
-#line 1235 "ldgram.y"
-{
-                         yyval.name = ldgram_vers_current_lang;
-                         ldgram_vers_current_lang = yyvsp[-1].name;
-                       }
-    break;
-case 318:
-#line 1240 "ldgram.y"
-{
-                         yyval.versyms = yyvsp[-2].versyms;
-                         ldgram_vers_current_lang = yyvsp[-3].name;
-                       }
-    break;
-}
-
-#line 706 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 1251 "ldgram.y"
-
-void
-yyerror(arg)
-     const char *arg;
-{
-  if (ldfile_assumed_script)
-    einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
-          ldfile_input_filename);
-  if (error_index > 0 && error_index < ERROR_NAME_MAX)
-     einfo ("%P%F:%S: %s in %s\n", arg, error_names[error_index-1]);
-  else
-     einfo ("%P%F:%S: %s\n", arg);
-}
diff --git a/ld/ldgram.h b/ld/ldgram.h
deleted file mode 100644 (file)
index c2203fc..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-#ifndef BISON_Y_TAB_H
-# define BISON_Y_TAB_H
-
-#ifndef YYSTYPE
-typedef union {
-  bfd_vma integer;
-  struct big_int
-    {
-      bfd_vma integer;
-      char *str;
-    } bigint;
-  fill_type *fill;
-  char *name;
-  const char *cname;
-  struct wildcard_spec wildcard;
-  struct wildcard_list *wildcard_list;
-  struct name_list *name_list;
-  int token;
-  union etree_union *etree;
-  struct phdr_info
-    {
-      bfd_boolean filehdr;
-      bfd_boolean phdrs;
-      union etree_union *at;
-      union etree_union *flags;
-    } phdr;
-  struct lang_nocrossref *nocrossref;
-  struct lang_output_section_phdr_list *section_phdr;
-  struct bfd_elf_version_deps *deflist;
-  struct bfd_elf_version_expr *versyms;
-  struct bfd_elf_version_tree *versnode;
-} yystype;
-# define YYSTYPE yystype
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-# define       INT     257
-# define       NAME    258
-# define       LNAME   259
-# define       PLUSEQ  260
-# define       MINUSEQ 261
-# define       MULTEQ  262
-# define       DIVEQ   263
-# define       LSHIFTEQ        264
-# define       RSHIFTEQ        265
-# define       ANDEQ   266
-# define       OREQ    267
-# define       OROR    268
-# define       ANDAND  269
-# define       EQ      270
-# define       NE      271
-# define       LE      272
-# define       GE      273
-# define       LSHIFT  274
-# define       RSHIFT  275
-# define       UNARY   276
-# define       END     277
-# define       ALIGN_K 278
-# define       BLOCK   279
-# define       BIND    280
-# define       QUAD    281
-# define       SQUAD   282
-# define       LONG    283
-# define       SHORT   284
-# define       BYTE    285
-# define       SECTIONS        286
-# define       PHDRS   287
-# define       DATA_SEGMENT_ALIGN      288
-# define       DATA_SEGMENT_RELRO_END  289
-# define       DATA_SEGMENT_END        290
-# define       SORT_BY_NAME    291
-# define       SORT_BY_ALIGNMENT       292
-# define       SIZEOF_HEADERS  293
-# define       OUTPUT_FORMAT   294
-# define       FORCE_COMMON_ALLOCATION 295
-# define       OUTPUT_ARCH     296
-# define       INHIBIT_COMMON_ALLOCATION       297
-# define       SEGMENT_START   298
-# define       INCLUDE 299
-# define       MEMORY  300
-# define       DEFSYMEND       301
-# define       NOLOAD  302
-# define       DSECT   303
-# define       COPY    304
-# define       INFO    305
-# define       OVERLAY 306
-# define       DEFINED 307
-# define       TARGET_K        308
-# define       SEARCH_DIR      309
-# define       MAP     310
-# define       ENTRY   311
-# define       NEXT    312
-# define       SIZEOF  313
-# define       ADDR    314
-# define       LOADADDR        315
-# define       MAX_K   316
-# define       MIN_K   317
-# define       STARTUP 318
-# define       HLL     319
-# define       SYSLIB  320
-# define       FLOAT   321
-# define       NOFLOAT 322
-# define       NOCROSSREFS     323
-# define       ORIGIN  324
-# define       FILL    325
-# define       LENGTH  326
-# define       CREATE_OBJECT_SYMBOLS   327
-# define       INPUT   328
-# define       GROUP   329
-# define       OUTPUT  330
-# define       CONSTRUCTORS    331
-# define       ALIGNMOD        332
-# define       AT      333
-# define       SUBALIGN        334
-# define       PROVIDE 335
-# define       AS_NEEDED       336
-# define       CHIP    337
-# define       LIST    338
-# define       SECT    339
-# define       ABSOLUTE        340
-# define       LOAD    341
-# define       NEWLINE 342
-# define       ENDWORD 343
-# define       ORDER   344
-# define       NAMEWORD        345
-# define       ASSERT_K        346
-# define       FORMAT  347
-# define       PUBLIC  348
-# define       BASE    349
-# define       ALIAS   350
-# define       TRUNCATE        351
-# define       REL     352
-# define       INPUT_SCRIPT    353
-# define       INPUT_MRI_SCRIPT        354
-# define       INPUT_DEFSYM    355
-# define       CASE    356
-# define       EXTERN  357
-# define       START   358
-# define       VERS_TAG        359
-# define       VERS_IDENTIFIER 360
-# define       GLOBAL  361
-# define       LOCAL   362
-# define       VERSIONK        363
-# define       INPUT_VERSION_SCRIPT    364
-# define       KEEP    365
-# define       ONLY_IF_RO      366
-# define       ONLY_IF_RW      367
-# define       EXCLUDE_FILE    368
-
-
-extern YYSTYPE yylval;
-
-#endif /* not BISON_Y_TAB_H */
diff --git a/ld/ldlex.c b/ld/ldlex.c
deleted file mode 100644 (file)
index b88d9d7..0000000
+++ /dev/null
@@ -1,3808 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-#include <errno.h>
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- *     if ( condition_holds )
- *             yyless( 5 );
- *     else
- *             do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               *yy_cp = yy_hold_char; \
-               YY_RESTORE_YY_MORE_OFFSET \
-               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
-
-#define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
-       {
-       FILE *yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
-
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
-
-       int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
-#define YY_BUFFER_EOF_PENDING 2
-       };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;                /* whether we need to initialize */
-static int yy_start = 0;       /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_is_interactive = is_interactive; \
-       }
-
-#define yy_set_bol(at_bol) \
-       { \
-       if ( ! yy_current_buffer ) \
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       yy_current_buffer->yy_at_bol = at_bol; \
-       }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-       yytext_ptr = yy_bp; \
-       yyleng = (int) (yy_cp - yy_bp); \
-       yy_hold_char = *yy_cp; \
-       *yy_cp = '\0'; \
-       yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 180
-#define YY_END_OF_BUFFER 181
-static yyconst short int yy_accept[1275] =
-    {   0,
-        0,    0,  160,  160,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  181,  180,
-      178,  163,  162,   32,  178,  160,   38,   29,   44,   43,
-       34,   35,   28,   36,  160,   37,    8,    8,   45,   46,
-       39,   40,   27,   33,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,   10,    9,  160,  109,  107,  160,   42,
-       30,   41,   31,  179,  163,   32,  179,  158,   38,   29,
-       44,   43,   34,   35,   28,   36,  158,   37,    8,    8,
-       45,   46,   39,   40,   27,   33,  158,  158,  158,  158,
-
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,   10,    9,  158,  158,   42,   30,   41,   31,  158,
-        8,    8,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      109,  107,    4,    3,    2,    4,    5,  119,  118,  157,
-       34,   35,   28,   36,  157,   37,    8,    8,   45,   46,
-       40,   33,  157,  157,  157,  157,  157,  157,  157,  157,
-      157,  157,  157,  157,   10,    9,  157,  157,  157,  157,
-      157,  157,  157,  157,  157,  157,  157,   31,  177,  175,
-      176,  178,  170,  169,  164,  171,  172,  168,  168,  168,
-
-      168,  173,  174,  163,   15,    0,  161,  160,    8,   26,
-       24,   22,   20,   21,    1,   23,    8,    8,  160,   18,
-       17,   14,   16,   19,  160,  160,  160,  160,  113,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,   25,   13,  158,    6,   22,   20,   21,
-        0,    1,   23,    8,    0,    7,    7,    8,    7,   14,
-      158,    7,    7,    7,  158,  158,  113,    7,  158,  158,
-
-        7,  158,  158,  158,    7,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,    7,  158,    8,    8,    0,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,    4,
-        4,  118,  118,  157,    6,  120,   22,   23,  121,  157,
-        7,    7,    7,  157,  157,  157,    7,  157,    7,    7,
-      157,  157,  157,  157,  157,  157,  157,  157,    7,  157,
-      157,  157,    7,  157,    7,    7,  157,  157,  157,  157,
-
-      157,  157,  157,  157,  177,  176,  169,  168,    0,  168,
-      168,  168,   11,   12,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,   86,  160,  160,  160,  160,  160,
-      160,  160,  160,   68,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  110,
-      108,  160,    8,  159,    8,  158,    7,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,   59,   60,  158,  158,  158,  158,  158,  158,
-
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,   86,  158,  158,  158,
-      158,   68,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  110,  108,    4,
-        8,  157,  157,  157,  157,  157,  122,  157,  157,  157,
-      157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
-      157,  157,  139,  157,  157,  157,  157,  157,  157,  157,
-      157,  157,  157,  168,  168,  168,  160,   57,  160,  160,
-       51,  160,   93,  160,  102,  160,  160,  160,  160,  160,
-      160,  160,   82,  160,  160,  160,  160,  103,  160,  160,
-
-      116,  160,  160,   91,  160,   64,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,   89,  160,  160,  160,  160,
-      160,   99,  160,  160,  160,  160,  160,  160,  160,  160,
-      158,   57,  158,  158,  158,   51,  158,  102,  158,  158,
-      158,  158,  158,  103,  116,  158,  158,   64,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,   93,
-      158,  158,  158,  158,   82,  158,  158,  158,  158,  158,
-       91,  158,  158,  158,  158,  158,   89,  158,  158,  158,
-       99,  158,  158,  158,  158,  158,  157,  157,  157,  126,
-      134,  125,  157,  157,  136,  129,  132,  157,  157,  137,
-
-      157,  157,  157,  157,  157,  143,  151,  142,  157,  157,
-      154,  146,  149,  157,  157,  155,  157,  157,  168,  168,
-      168,  160,   53,  160,   50,  160,  160,  160,  160,  101,
-       62,  160,  160,   88,  160,   74,  160,  160,   73,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  112,
-      160,  160,  160,  160,   92,  160,  160,   90,  160,  160,
-      160,  160,  160,  160,  160,  158,   53,  158,  158,   50,
-      158,  158,  101,  158,   74,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-       62,  158,   88,  158,  158,  158,   73,  158,  158,  158,
-
-      158,  112,  158,  158,   92,  158,   90,  158,  158,  158,
-      158,  157,  127,  124,  157,  157,  136,  136,  131,  157,
-      135,  157,  157,  144,  141,  157,  157,  154,  154,  148,
-      157,  153,  157,  168,  168,  166,  160,  160,  160,  160,
-      160,  160,  160,   63,  160,  160,  160,   52,  160,   47,
-      160,  160,  100,  160,   48,   72,  160,  160,  160,  160,
-      160,   69,  160,  160,  160,   87,   70,  160,  160,  160,
-      158,   61,  158,  158,  158,  158,   52,  158,  158,  100,
-      158,   48,  158,  158,  158,   69,  158,  158,  158,  158,
-      158,   63,  158,  158,  158,   47,  158,   72,  158,  158,
-
-      158,  158,  158,   87,   70,  158,  157,  157,   63,  133,
-      130,  157,  157,  157,  152,  150,  147,  157,  167,  165,
-      160,  160,  160,  160,  160,   76,  160,  160,  111,  160,
-      160,  160,   94,  160,  160,   96,  115,  160,  160,  160,
-      160,  160,   83,  160,   49,  160,  160,  158,  158,  158,
-       76,  158,  158,  158,  158,  104,  115,  158,  158,  158,
-      158,  158,  158,  158,  158,  111,  158,   94,  158,   96,
-      158,  158,  158,   83,   49,  157,  157,  157,  157,  157,
-      157,  138,  160,  160,  160,  160,  160,  160,  160,   58,
-      160,  160,  160,  160,  160,   81,  160,  160,  160,  114,
-
-      156,  160,  138,  158,  158,  158,   58,  158,  158,  158,
-      158,  114,  156,  158,  158,  158,  158,  158,  158,  158,
-      158,   81,  158,  138,  123,  128,  156,  140,  145,   75,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,   75,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  160,  160,  160,  160,  160,  160,  160,
-      105,  106,  160,  160,   71,  160,  160,  160,  160,  160,
-      158,  158,  158,  105,  106,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,   71,  158,  158,  160,  160,  160,
-
-      160,  160,  160,   95,   85,  160,  160,  160,  160,  160,
-      160,  158,  158,   95,  158,  158,  158,  158,  158,  158,
-      158,   85,  158,  158,  158,   78,  160,  160,  117,  160,
-      160,  160,  160,  160,  160,   97,  160,  158,  117,  158,
-      158,  158,   78,  158,  158,  158,  158,  158,   97,  160,
-      160,  160,  160,   84,   67,  160,  160,  160,  158,   67,
-      158,  158,  158,  158,  158,   84,  158,  160,  160,  160,
-      160,  160,  160,   66,  160,   65,  158,  158,  158,   66,
-       65,  158,  158,  158,  158,  160,  160,  160,  160,  160,
-      160,  160,  158,  158,  158,  158,  158,  158,  158,  160,
-
-      160,   56,  160,  160,  160,  160,  158,   56,  158,  158,
-      158,  158,  158,  160,  160,  160,  160,  160,   98,  158,
-      158,  158,  158,  158,   98,  160,   54,  160,  160,  160,
-       54,  158,  158,  158,  158,  160,  160,  160,  160,  158,
-      158,  158,  158,  160,  160,  160,  160,  158,  158,  158,
-      158,   77,  160,  160,  160,  158,   77,  158,  158,   55,
-      160,  160,   55,  158,  158,   79,  160,   79,  158,  160,
-      158,   80,   80,    0
-    } ;
-
-static yyconst int yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    2,    4,    5,    6,    7,    8,    9,    1,   10,
-       11,   12,   13,   14,   15,   16,   17,   18,   19,   19,
-       19,   19,   19,   19,   19,   19,   19,   20,   21,   22,
-       23,   24,   25,    1,   26,   27,   28,   29,   30,   31,
-       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
-       42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
-       52,   53,   54,   55,   56,    1,   57,   58,   59,   60,
-
-       61,   62,   63,   64,   65,   16,   66,   67,   68,   69,
-       70,   71,   16,   72,   73,   74,   75,   16,   16,   76,
-       16,   77,   78,   79,   80,   81,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst int yy_meta[82] =
-    {   0,
-        1,    1,    2,    3,    1,    1,    4,    1,    1,    1,
-        1,    5,    6,    7,    8,    9,   10,   11,   11,    8,
-        1,    1,    7,    1,    5,   11,   11,   11,   11,   11,
-       11,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,    8,    4,    8,    3,    9,   11,   11,   11,   11,
-       11,   11,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,    9,    9,    9,    9,    9,    9,    1,    1,    1,
-       10
-    } ;
-
-static yyconst short int yy_base[1297] =
-    {   0,
-        0,    0,    0,    0,   81,    0,  156,    0,  226,  306,
-      386,    0,  164,  174,  467,  548,  629,  710, 2190, 2191,
-     2191, 2187, 2191, 2165, 2182,  774, 2191,  155, 2191, 2191,
-     2163, 2162,    0, 2161,    0,  156,  304,  235,    0, 2191,
-      149, 2160,  181,    0,  230,  172,  159,  181,  171,  221,
-     2139, 2144, 2141, 2149,  226,  139,  230,  240,  229, 2132,
-      304, 2151, 2146,    0,    0, 2117, 2113, 2101, 2107, 2191,
-      185, 2191,    0, 2191, 2169, 2147, 2164,  819, 2191,  254,
-     2191, 2191, 2145, 2144, 2191,  198,    0,  270,  864,  143,
-     2191, 2191,  246, 2143,  261, 2191,  923,  318,  337,  467,
-
-      479,  473, 2122, 2125, 2133,  258,  263,  260,  252, 2119,
-      302, 2191, 2191,  547, 2096, 2191,  451, 2191,    0,  982,
-      638,  717,  498,  464,  316,  313,  253,  331, 2123, 2120,
-      311,  349,  465,  490,  466, 2112,  548, 2131, 2126, 2097,
-     2093, 2081, 1027, 2191, 2191,    0, 2191, 2191, 2149, 1072,
-     2128, 2127, 2191, 2126,    0, 2125,    0,  458, 2191,    0,
-     2124, 2191, 1117,  559,  580,  476,  550,  504,  333, 2120,
-     2102, 2098,  143, 2100, 2191, 2191,  587,  584,  631,  596,
-      585,  510, 2085, 2069, 2065,  465, 2067,    0, 2136, 2191,
-        0, 2125, 2191,    0, 2191, 2191, 2191, 2116,  544,  512,
-
-      589, 2191, 2191, 2133, 2191, 2129, 2191,    0, 1176, 2191,
-     2191,    0,    0,    0,    0,    0,  728,    0,  625, 2110,
-     2191,    0, 2191, 2109, 2087, 2101, 2095, 2072,    0, 2088,
-     2086, 2080,  255, 2094, 2078, 2091, 2091, 2075,  510, 2082,
-     2078, 2074, 2076, 2078,  636, 2084, 2074,  569, 2071, 2073,
-     2061,  588, 2072, 2074, 2062, 2076, 2076, 2064, 2077,  634,
-     2062, 2050, 2057, 2053, 2072, 2070, 2052, 2052, 2051, 2020,
-     2023, 2028, 2013, 2191, 2191,    0, 1227, 2191, 2191, 2191,
-        0, 2191,    0,  534,  731,    0, 2191, 2191,    0, 2191,
-      657,  714,  779,    0, 2055,  168,    0,  782, 2049, 2047,
-
-     2045,  785,  824, 2055, 2056, 2043, 2051, 2051, 2041, 2053,
-     2029, 2038, 2027,  341, 2038, 2040, 2043, 2032, 2039, 2019,
-     2042,  815, 1991,  637,  848,    0, 2023, 2037, 2020,  294,
-     2034, 2018, 2031, 2016,  652, 2023, 2019, 2015, 2020,  711,
-      644,  595, 2018,  717, 2010, 2024, 2024, 2026,  653, 2011,
-     2007, 2003, 2022, 2003, 2003, 2002, 1971, 1974, 1979,    0,
-     1278, 2038, 2191,    0, 1329,    0,    0, 2191,    0,  662,
-      735,  733,    0, 2006,  738,  827, 2005, 2009, 1992, 1993,
-     1991, 2008, 1995, 2003, 2004, 2002, 2003, 1982,  747, 1962,
-      835,  836, 1961, 1965, 1950, 1951, 1949, 1964, 1952, 1959,
-
-     1960, 1958, 1959, 1940, 2012,    0,    0, 1993, 1992,  651,
-      706,  658, 2191, 2191, 1971, 1967, 1977, 1969, 1978, 1978,
-     1975, 1960, 1953, 1976, 1975, 1966, 1971, 1955, 1960, 1966,
-     1958, 1968, 1965, 1946,    0, 1954, 1950, 1955, 1942, 1946,
-     1954, 1956, 1952,    0, 1943, 1937, 1938, 1943, 1939, 1928,
-     1945, 1935, 1932, 1931, 1926, 1943, 1928, 1925, 1931, 1925,
-     1937, 1921, 1939, 1921, 1937, 1925, 1929, 1916, 1889,    0,
-        0, 1897,    0,    0,  849, 1917,  900, 1924, 1925, 1915,
-     1924, 1924, 1901, 1924,  932, 1921, 1911, 1901, 1906, 1904,
-     1912, 1914,    0,    0, 1897, 1898, 1900, 1889, 1906, 1894,
-
-     1889, 1897, 1904, 1907, 1862, 1870, 1887, 1899, 1884, 1901,
-     1892, 1882, 1894, 1877, 1877, 1864,    0, 1844, 1839, 1824,
-     1835,    0, 1826, 1824, 1809, 1796, 1785, 1793, 1777, 1759,
-     1760, 1757, 1775, 1750, 1677, 1681, 1668,    0,    0,    0,
-        0, 1671,  731, 1680, 1679, 1667,    0, 1677, 1668, 1660,
-     1675, 1673, 1672, 1664, 1655, 1656, 1659, 1627,  724, 1635,
-     1634, 1623,    0, 1632, 1623, 1616, 1629, 1627, 1626, 1619,
-     1611, 1612, 1614,  717,  680,  741, 1645,    0, 1642, 1650,
-        0, 1643,    0, 1633,    0, 1632, 1620, 1636, 1629, 1623,
-     1626, 1628,    0, 1625, 1639, 1627, 1621,    0, 1639, 1620,
-
-        0, 1619, 1637,    0, 1614,    0, 1616, 1615, 1628, 1597,
-     1618, 1604, 1607, 1596, 1600,    0, 1605, 1598, 1601, 1585,
-     1589, 1572, 1598, 1581, 1588, 1590, 1593, 1588, 1554, 1550,
-     1582,    0, 1579, 1574, 1586,    0, 1579,    0, 1558, 1574,
-     1566, 1564, 1568,    0,    0, 1563, 1581,    0, 1566, 1579,
-     1548, 1569, 1565, 1567, 1570, 1559, 1561, 1530, 1526,    0,
-     1550, 1549, 1543, 1549,    0, 1546, 1560, 1543, 1561, 1542,
-        0, 1543, 1545, 1538, 1546, 1533,    0, 1548, 1541, 1529,
-     1517, 1543, 1525, 1530, 1530, 1520, 1516, 1508, 1512,    0,
-        0,    0, 1507, 1523, 1397,    0,    0, 1505, 1513,    0,
-
-     1501, 1517, 1477, 1470, 1473,    0,    0,    0, 1469, 1483,
-     1477,    0,    0, 1467, 1473,    0, 1463, 1477,  793,  801,
-      748, 1489,    0, 1504,    0, 1490, 1501, 1486, 1499,    0,
-        0, 1499, 1488,    0, 1470,    0, 1496, 1490,    0, 1490,
-     1493, 1471, 1476, 1493, 1489, 1483, 1477, 1470, 1488,    0,
-     1484, 1479, 1471, 1471,    0, 1478, 1481,    0, 1461, 1472,
-     1478, 1459, 1463, 1422, 1434, 1449,    0, 1449, 1463,    0,
-     1448, 1460,    0, 1455,    0, 1447, 1445, 1429, 1443, 1437,
-     1431, 1443, 1439, 1428, 1435, 1431, 1389, 1401, 1419, 1431,
-        0, 1421,    0, 1403, 1429, 1423,    0, 1406, 1429, 1409,
-
-     1427,    0, 1418, 1410,    0, 1422,    0, 1402, 1420, 1401,
-     1405, 1398,    0, 1405, 1403, 1396,    0, 1557,    0,  215,
-        0,  250,  301,    0,  415,  446,  466,    0, 1637,    0,
-      538,    0,  547,  805,  790,  595,  573,  653,  652,  666,
-      710,  727,  756,    0,  767,  787,  773,    0,  799,    0,
-      795,  795,    0,  810,    0,  787,  806,  840,  819,  850,
-      851,  842,  849,  860,  871,    0,    0,  866,  832,  851,
-      865,    0,  882,  882,  889,  889,    0,  891,  887,    0,
-      902,    0,  885,  906,  893,  883,  914,  873,  892,  909,
-      901,    0,  930,  932,  919,    0,  920,  914,  921,  917,
-
-      935,  925,  937,    0,    0,  940,  941,  948,    0,    0,
-        0,  944,  916,  921,    0,    0,    0,  918,  974,  975,
-      966,  967,  970,  962,  971,    0,  948,  965,    0,  950,
-      964,  971,    0,  959,  990,    0,    0,  988,  974,  963,
-      987,  966,    0,  984,    0,  963,  961,  996,  997,  996,
-        0,  973,  987,  988,  976,    0,    0,  977, 1001,  996,
-      975,  973, 1010, 1007, 1008,    0,  993,    0, 1033,    0,
-     1021, 1007,  996,    0,    0, 1030, 1032, 1032, 1002, 1005,
-     1005,    0, 1038, 1023, 1042, 1032, 1040, 1034, 1045,    0,
-     1044, 1032, 1033, 1037, 1044,    0, 1035, 1050, 1055,    0,
-
-        0, 1021,    0, 1054, 1054, 1062,    0, 1065, 1053, 1053,
-     1074,    0,    0, 1044, 1061, 1080, 1070, 1081, 1067, 1071,
-     1078,    0, 1087,    0,    0,    0,    0,    0,    0,    0,
-     1074, 1080, 1086, 1083, 1080, 1079, 1089, 1101, 1093, 1079,
-     1080, 1079, 1099, 1090, 1102, 1080,    0, 1108, 1105, 1109,
-     1111, 1097, 1126, 1096, 1115, 1121, 1120, 1120, 1133, 1119,
-     1120, 1127, 1139, 1124, 1138, 1130, 1133, 1131, 1134, 1129,
-        0,    0, 1147, 1144,    0, 1157, 1155, 1151, 1148, 1128,
-     1150, 1153, 1147,    0,    0, 1166, 1167, 1137, 1155, 1169,
-     1160, 1163, 1175, 1171,    0, 1176, 1173, 1169, 1187, 1171,
-
-     1187, 1179, 1181,    0,    0, 1194, 1178, 1192, 1191, 1194,
-     1164, 1181, 1197,    0, 1185, 1199, 1169, 1187, 1204, 1200,
-     1202,    0, 1215, 1211, 1217,    0, 1203, 1193,    0, 1194,
-     1211, 1207, 1214, 1217, 1222,    0, 1190, 1208,    0, 1221,
-     1224, 1196,    0, 1224, 1214, 1231, 1227, 1234,    0, 1218,
-     1249, 1250, 1238,    0,    0, 1234, 1242, 1208, 1268,    0,
-     1238, 1210, 1234, 1265, 1260,    0, 1262, 1257, 1265, 1264,
-     1280, 1275, 1257,    0, 1285,    0, 1280, 1279, 1289,    0,
-        0, 1276, 1284, 1266, 1293, 1274, 1291, 1297, 1290, 1291,
-     1303, 1291, 1297, 1303, 1296, 1284, 1304, 1316, 1304, 1307,
-
-     1317,    0, 1307, 1311, 1315, 1308, 1322,    0, 1318, 1324,
-     1323, 1327, 1321, 1341, 1330, 1330, 1343, 1335,    0, 1334,
-     1334, 1348, 1348, 1340,    0, 1338,    0, 1323, 1354, 1341,
-        0, 1326, 1343, 1358, 1345, 1355, 1363, 1349, 1368, 1370,
-     1367, 1365, 1384, 1369, 1375, 1381, 1390, 1378, 1379, 1390,
-     1399,    0, 1397, 1387, 1383, 1400,    0, 1390, 1386,    0,
-     1393, 1399,    0, 1395, 1401,    0, 1396,    0, 1397, 1399,
-     1400,    0,    0, 2191, 1717, 1728, 1739, 1750, 1761, 1772,
-     1780, 1788, 1796, 1807, 1815, 1826, 1837, 1848, 1851, 1860,
-     1868, 1429, 1879, 1890, 1901, 1912
-
-    } ;
-
-static yyconst short int yy_def[1297] =
-    {   0,
-     1275, 1275, 1274,    3, 1274,    5,    5,    7, 1276, 1276,
-     1274,   11, 1277, 1277, 1278, 1278, 1279, 1279, 1274, 1274,
-     1274, 1274, 1274, 1274, 1280, 1281, 1274, 1274, 1274, 1274,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1274,
-     1274, 1281, 1274, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1274,
-     1274, 1274, 1281, 1274, 1274, 1274, 1280, 1282, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1282, 1282, 1274,   89,
-     1274, 1274, 1274, 1274, 1274, 1274, 1282,   97,   97,   97,
-
-       97,   97, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1274, 1274,   97, 1282, 1274, 1274, 1274, 1282, 1282,
-     1274, 1274, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1283, 1274, 1274, 1283, 1274, 1274, 1284, 1285,
-     1286, 1274, 1274, 1274, 1285, 1285,   89,   89, 1274, 1287,
-     1274, 1274, 1285,  163,  163,  163,  163,  163, 1285, 1285,
-     1285, 1285, 1285, 1285, 1274, 1274,  163,  163,  163,  163,
-      163, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1274, 1274,
-     1288, 1274, 1274, 1289, 1274, 1274, 1274, 1290, 1290, 1290,
-
-     1290, 1274, 1274, 1274, 1274, 1280, 1274, 1281, 1281, 1274,
-     1274, 1281, 1281, 1281, 1281, 1281, 1281, 1281,  209, 1274,
-     1274, 1281, 1274, 1274, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1274, 1274, 1282, 1282, 1274, 1274, 1274,
-     1291, 1274, 1282,   89,   89,  285, 1274, 1274, 1292, 1274,
-       97,   97,   97, 1282, 1282, 1282, 1282,   97, 1282, 1282,
-
-     1282,   97,   97, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282,   97, 1282,  120, 1274, 1292, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1283,
-     1283, 1284, 1274, 1285, 1285, 1286, 1286, 1274, 1287,  163,
-      163,  163, 1285, 1285,  163,  163, 1285, 1285, 1285, 1285,
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,  163, 1285,
-      163,  163, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-
-     1285, 1285, 1285, 1285, 1274, 1288, 1289, 1290, 1274, 1290,
-     1290, 1290, 1274, 1274, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1282, 1291, 1292, 1282,   97, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282,   97, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1283,
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-     1285, 1285, 1285, 1290, 1290, 1290, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1285, 1285, 1285, 1285,
-     1285, 1285, 1285, 1285, 1293, 1285, 1285, 1285, 1285, 1285,
-
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-     1294, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1290, 1290,
-     1290, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1285, 1285, 1285, 1285, 1285, 1295, 1293, 1285, 1285,
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1296, 1294, 1285,
-     1285, 1285, 1285, 1290, 1290, 1290, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-
-     1282, 1282, 1282, 1282, 1282, 1282, 1285, 1285, 1285, 1285,
-     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1290, 1290,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1285, 1285, 1285, 1285, 1285,
-     1285, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-
-     1281, 1281, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1285, 1285, 1285, 1285, 1285, 1285, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1281, 1281, 1281,
-
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1281, 1281, 1281,
-     1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1281, 1281, 1281, 1281, 1281,
-     1281, 1281, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1281,
-
-     1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1281, 1281, 1281, 1281, 1281, 1281, 1282,
-     1282, 1282, 1282, 1282, 1282, 1281, 1281, 1281, 1281, 1281,
-     1282, 1282, 1282, 1282, 1282, 1281, 1281, 1281, 1281, 1282,
-     1282, 1282, 1282, 1281, 1281, 1281, 1281, 1282, 1282, 1282,
-     1282, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282, 1281,
-     1281, 1281, 1282, 1282, 1282, 1281, 1281, 1282, 1282, 1281,
-     1282, 1281, 1282,    0, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274
-
-    } ;
-
-static yyconst short int yy_nxt[2273] =
-    {   0,
-       21,   22,   23,   24,   25,   21,   26,   27,   28,   29,
-       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
-       40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
-       50,   51,   52,   53,   35,   54,   55,   56,   57,   58,
-       59,   60,   35,   61,   62,   35,   63,   35,   35,   35,
-       35,   64,   35,   65,   21,   35,   66,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   67,   35,   35,   68,
-       35,   35,   69,   35,   35,   35,   35,   70,   71,   72,
-       73,   74,   75,   23,   76,   77,   74,   78,   79,   80,
-       81,   82,   83,   84,   85,   86,   87,   88,   89,   90,
-
-       91,   92,   93,   94,   95,   96,   97,   98,   99,  100,
-      101,  102,  103,   87,  104,   87,  105,  106,  107,  108,
-      109,  110,   87,   87,  111,   87,   87,   87,   87,   87,
-       87,   87,  112,   87,  113,   74,   87,  114,  102,  102,
-      102,  102,  102,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  115,   87,   87,   87,   87,  116,  117,
-      118,  119,  120,  210,  249,  189,  190,  215,  250,  191,
-      220,  221,  386,  121,  122,  189,  190,  211,  216,  191,
-      192,  123,  124,  125,  126,  127,  128,  387,  129,  130,
-      192,  287,  131,  132,  133,  134,  135,  136,  233,  137,
-
-      138,  234,  139,  223,  224,  230,  235,  274,  231,  238,
-      236,  479,  140,   87,   87,   87,   87,   87,  287,  239,
-      280,  232,  141,  480,  237,  142,   74,   74,   20,   74,
-       74,   74,  143,   74,   74,   74,   74,   74,  144,   74,
-      145,  193,  911,  121,  122,   74,   74,   74,  147,   74,
-       74,  193,  217,  217,  240,  247,  225,  241,  226,  251,
-      242,  257,  210,  275,  281,  248,  227,  220,  221,  252,
-      218,  258,  218,  228,  229,  912,  211,   74,  253,   74,
-       74,  282,  254,  223,  224,  255,  256,  309,  311,  313,
-      315,  334,  283,  422,  316,  423,  312,  310,  317,  314,
-
-      218,  335,  218,   74,   74,   74,   74,   74,   20,   74,
-       74,   74,  143,   74,   74,   74,   74,   74,  144,   74,
-      145,  217,  217,  121,  122,   74,   74,   74,  147,   74,
-       74,  319,  509,  260,  483,  320,  261,  262,  332,  218,
-      309,  218,  333,  263,  298,  264,  298,  321,  265,  266,
-      341,  299,  219,  267,  300,  330,  304,   74,  331,   74,
-       74,  276,  276,  298,  336,  298,  381,  337,  496,  218,
-      338,  218,  382,  276,  342,  913,  301,  497,  343,  219,
-      276,  276,  312,   74,   74,   74,   21,   22,  148,   24,
-       21,  149,  150,   27,   28,   29,   30,  151,  152,  153,
-
-      154,  155,  156,  157,  158,  159,  160,   41,  161,   43,
-      162,  163,  164,  165,  166,  167,  168,  155,  155,  155,
-      155,  155,  169,  155,  170,  171,  172,  155,  155,  173,
-      174,  155,  155,  155,  155,  155,  155,  175,  155,  176,
-       21,  155,  177,  178,  179,  166,  180,  181,  155,  155,
-      155,  155,  182,  155,  183,  184,  185,  155,  186,  187,
-      155,  155,  155,   70,   71,   72,  188,   21,  189,  190,
-       21,   21,  191,  274,   21,   21,   21,   21,   21,   21,
-      195,   21,  914,  192,   21,   21,  195,  195,   21,   21,
-       21,   21,  302,  298,  313,  298,  303,  299,  347,  298,
-
-      300,  298,  372,  276,  344,  298,  287,  298,  318,  276,
-      304,  276,  364,  329,  915,  276,  276,  276,   21,   21,
-       21,   21,  276,  276,  327,  402,  328,  305,  315,  275,
-      372,  409,  316,  287,  295,  345,  346,  429,  403,  916,
-      364,  296,  297,  380,  196,   21,  197,   21,   21,  189,
-      190,   21,   21,  191,  430,   21,   21,   21,   21,   21,
-       21,  195,   21,  409,  192,   21,   21,  195,  195,   21,
-       21,   21,   21,  298,  397,  298,  372,  349,  411,  398,
-      350,  320,  287,  276,  375,  372,  364,  351,  378,  352,
-      276,  276,  353,  321,  442,  364,  917,  354,  379,   21,
-
-       21,   21,   21,  918,  322,  376,  372,  443,  409,  287,
-      372,  372,  377,  372,  409,  447,  364,  921,  448,  410,
-      364,  364,  372,  364,  449,  196,   21,  197,   21,   21,
-      189,  190,  364,   25,  191,  522,   21,   21,   21,   21,
-      391,   21,  195,  493,  389,  192,   21,   21,  195,  195,
-       21,   21,   21,  390,  396,  325,  325,  372,  412,  457,
-      208,  458,  208,  436,  394,  459,  437,  364,  438,  492,
-      409,  395,  473,  288,  473,  288,  439,  409,  529,  487,
-      530,  922,  521,  298,  502,  298,  326,  392,  372,  199,
-      208,  200,  208,  276,  393,  201,  513,  923,  364,  409,
-
-      276,  276,  473,  288,  473,  288,  202,   21,  203,   21,
-       21,  189,  190,  326,   25,  191,  576,   21,   21,   21,
-       21,  924,   21,  195,  574,  409,  192,   21,   21,  195,
-      195,   21,   21,   21,  325,  325,  409,  720,  518,  925,
-      298,  489,  298,  519,  496,  217,  217,  524,  285,  285,
-      276,  520,  288,  497,  288,  926,  688,  476,  276,  372,
-      409,  372,  689,  218,  372,  218, 1274,  409, 1274,  364,
-      199,  364,  200,  372,  364,  575,  201,  719,  542,  287,
-      704,  544,  288,  364,  288,  927,  705,  202,   21,  203,
-       21,  209,  209,  218,  928,  218, 1274,  721, 1274,  209,
-
-      209,  209,  209,  209,  209,  298,  287,  477,  298,  409,
-      298,  298,  409,  298,  836,  276,  929,  930,  276,  558,
-      409,  276,  276,  276,  409,  276,  276,  931,  276,  484,
-      209,  209,  209,  209,  209,  209,  277,  277,  932,  933,
-      934,  298,  935,  298,  277,  277,  277,  277,  277,  277,
-      298,  276,  298,  372,  485,  936,  920,  835,  276,  276,
-      276,  372,  372,  364,  834,  325,  325,  276,  276,  937,
-      545,  364,  364,  919,  938,  277,  277,  277,  277,  277,
-      277,  284,  284,  288,  288,  288,  288,  505,  939,  285,
-      286,  285,  286,  285,  285,  940,  287,  941,  942,  288,
-
-      943,  288,  944,  287,  945,  946,  947,  560,  561,  948,
-      949,  950,  289,  288,  288,  288,  288,  951,  952,  953,
-      285,  286,  285,  286,  285,  285,  298,  287,  298,  288,
-      954,  288,  955,  287,  956,  957,  276,  958,  959,  289,
-      291,  291,  632,  276,  276,  960,  961,  962,  291,  292,
-      291,  293,  291,  291,  963,  294,  964,  965,  298,  295,
-      298,  966,  294,  967,  968,  640,  296,  297,  276,  969,
-      970,  294,  971,  972,  973,  276,  276,  974,  975,  291,
-      298,  291,  298,  291,  291,  976,  294,  977,  978,  979,
-      980,  981,  294,  409,  409,  982,  983,  984,  294,  324,
-
-      324,  985,  986,  987,  988,  989,  990,  324,  324,  324,
-      324,  324,  324,  991,  992,  993,  995,  996,  997,  998,
-      994,  999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
-     1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015,  324,  324,
-      324,  324,  324,  324,  361,  361, 1016, 1017, 1018, 1021,
-     1022, 1023,  361,  361,  361,  361,  361,  361, 1019, 1024,
-     1025, 1026, 1027, 1020, 1028, 1029, 1030, 1031, 1032, 1033,
-     1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
-     1044, 1046, 1047,  361,  361,  361,  361,  361,  361,  365,
-      365, 1048, 1049, 1045, 1050, 1051, 1052,  365,  365,  365,
-
-      365,  365,  365, 1053, 1054, 1055, 1056, 1057, 1058, 1059,
-     1060, 1061, 1062, 1064, 1065, 1066, 1067, 1068, 1069, 1070,
-     1073, 1074, 1075, 1076, 1077, 1063, 1078, 1079,  365,  365,
-      365,  365,  365,  365,  370,  370, 1080, 1081, 1082, 1083,
-     1071, 1086,  370,  371,  370,  372,  370,  370, 1072,  373,
-     1084, 1087, 1088,  374, 1089, 1090,  373, 1091, 1085, 1092,
-     1093, 1094, 1095, 1096, 1097,  373, 1098, 1099, 1100, 1101,
-     1102, 1103, 1104,  370,  372,  370,  372,  370,  370, 1105,
-      373, 1106, 1107, 1108, 1109, 1110,  373, 1111, 1112, 1113,
-     1114, 1115,  373,  209,  209, 1116, 1117, 1118, 1119, 1120,
-
-     1121,  209,  209,  209,  209,  209,  209, 1122, 1123, 1124,
-     1125,  218, 1126,  218, 1127, 1128, 1129, 1130, 1131, 1132,
-     1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
-     1143, 1144,  209,  209,  209,  209,  209,  209, 1145, 1146,
-     1147,  218, 1148,  218,  277,  277, 1149, 1150, 1151, 1152,
-     1153, 1154,  277,  277,  277,  277,  277,  277, 1155, 1156,
-     1157, 1158,  473, 1159,  473, 1160, 1161, 1162, 1163, 1164,
-     1165, 1166, 1167, 1168, 1169, 1172, 1173, 1174, 1170, 1175,
-     1176, 1180, 1181,  277,  277,  277,  277,  277,  277, 1182,
-     1183, 1171,  473, 1177,  473,  361,  361, 1178, 1184, 1185,
-
-     1186, 1187, 1188,  361,  361,  361,  361,  361,  361, 1189,
-     1179, 1190, 1191,  540, 1192,  540, 1193, 1194, 1195, 1196,
-     1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
-     1207, 1208, 1209, 1210,  361,  361,  361,  361,  361,  361,
-     1211, 1212, 1213,  540, 1214,  540,  365,  365, 1215, 1216,
-     1217, 1218, 1219, 1220,  365,  365,  365,  365,  365,  365,
-     1221, 1222, 1223, 1224,  541, 1225,  541, 1226, 1227, 1228,
-     1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
-     1239, 1240, 1241, 1242, 1243,  365,  365,  365,  365,  365,
-      365, 1244, 1245, 1246,  541, 1247,  541,  817,  817, 1248,
-
-      817,  817,  817, 1249,  817,  817,  817,  817,  817, 1250,
-      817, 1251, 1252, 1253, 1254, 1255, 1256,  817,  817,  817,
-      817,  817, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
-     1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273,  475,
-      910,  909,  908,  907,  906,  905,  904,  903,  902,  901,
-      900,  817,  899,  898,  897,  896,  895,  894,  893,  892,
-      891,  890,  889,  888,  887,  886,  885,  884,  883,  882,
-      881,  880,  879,  878,  817,  817,  817,  828,  828,  877,
-      828,  828,  828,  876,  828,  828,  828,  828,  828,  875,
-      828,  874,  873,  872,  871,  870,  869,  828,  828,  828,
-
-      828,  828,  868,  867,  866,  865,  864,  863,  862,  861,
-      860,  859,  858,  857,  856,  855,  854,  853,  852,  851,
-      850,  849,  848,  847,  846,  845,  844,  843,  842,  841,
-      840,  828,  839,  838,  837,  833,  832,  831,  830,  827,
-      826,  825,  824,  823,  822,  821,  820,  819,  816,  815,
-      814,  813,  812,  811,  828,  828,  828,  817,  817,  810,
-      817,  817,  817,  809,  817,  817,  817,  817,  817,  808,
-      817,  807,  806,  805,  804,  803,  802,  817,  817,  817,
-      817,  817,  801,  800,  799,  798,  797,  796,  795,  794,
-      793,  792,  791,  790,  789,  788,  787,  786,  785,  784,
-
-      783,  782,  781,  780,  779,  778,  777,  776,  775,  774,
-      773,  817,  772,  771,  770,  769,  768,  767,  766,  765,
-      764,  763,  762,  761,  760,  759,  758,  757,  756,  755,
-      754,  753,  752,  751,  817,  817,  817,  828,  828,  750,
-      828,  828,  828,  749,  828,  828,  828,  828,  828,  748,
-      828,  747,  746,  745,  744,  743,  742,  828,  828,  828,
-      828,  828,  741,  740,  739,  738,  737,  736,  735,  734,
-      733,  732,  731,  730,  729,  728,  727,  726,  725,  724,
-      723,  722,  718,  717,  716,  715,  714,  713,  712,  711,
-      710,  828,  709,  708,  707,  706,  703,  702,  701,  700,
-
-      699,  698,  697,  696,  695,  694,  693,  692,  691,  690,
-      687,  686,  685,  684,  828,  828,  828,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,  146,  146,
-      146,  146,  146,  146,  146,  146,  146,  146,  146,   21,
-       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  198,  198,  198,  198,  198,  198,  198,  198,  198,
-      198,  198,  206,  206,  206,  206,  206,  206,  206,  206,
-      206,  206,  206,  208,  208,  208,  208,  208,  208,  208,
-      208,  276,  683,  276,  276,  276,  276,  276,  276,  360,
-
-      682,  681,  680,  679,  360,  360,  360,  362,  362,  362,
-      362,  362,  362,  362,  362,  362,  362,  362,  364,  678,
-      364,  677,  364,  364,  364,  364,  366,  676,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  369,  675,  369,
-      369,  369,  369,  369,  369,  369,  369,  369,  406,  674,
-      406,  406,  406,  406,  406,  406,  406,  406,  406,  407,
-      673,  407,  408,  408,  408,  672,  671,  408,  408,  670,
-      408,  474,  669,  474,  474,  474,  474,  474,  474,  818,
-      668,  818,  818,  818,  818,  818,  818,  818,  818,  818,
-      829,  667,  829,  829,  829,  829,  829,  829,  829,  829,
-
-      829,  817,  666,  817,  817,  817,  817,  817,  817,  817,
-      817,  817,  828,  665,  828,  828,  828,  828,  828,  828,
-      828,  828,  828,  664,  663,  640,  662,  661,  660,  632,
-      659,  658,  657,  656,  655,  654,  653,  652,  651,  650,
-      649,  648,  647,  646,  645,  644,  643,  642,  641,  639,
-      638,  637,  636,  635,  634,  633,  631,  630,  629,  628,
-      627,  626,  625,  624,  623,  622,  621,  620,  619,  618,
-      617,  616,  615,  614,  613,  612,  611,  610,  609,  608,
-      607,  606,  605,  604,  603,  602,  601,  600,  599,  598,
-      597,  596,  595,  594,  593,  592,  591,  590,  589,  588,
-
-      587,  586,  585,  584,  583,  582,  581,  580,  579,  578,
-      577,  408,  409,  405,  573,  572,  571,  570,  569,  568,
-      567,  566,  565,  564,  563,  562,  559,  557,  556,  555,
-      554,  553,  552,  551,  550,  549,  548,  547,  546,  543,
-      363,  539,  538,  505,  537,  536,  535,  534,  533,  532,
-      531,  528,  527,  526,  525,  523,  517,  516,  515,  514,
-      512,  511,  484,  510,  508,  507,  476,  506,  504,  503,
-      502,  501,  500,  499,  498,  495,  494,  493,  492,  491,
-      490,  489,  488,  487,  486,  483,  482,  481,  478,  472,
-      471,  470,  469,  468,  467,  466,  465,  464,  463,  462,
-
-      461,  460,  456,  455,  454,  453,  452,  451,  450,  446,
-      445,  444,  441,  440,  435,  434,  433,  432,  431,  428,
-      427,  426,  425,  424,  421,  420,  419,  418,  417,  416,
-      415,  414,  413,  207,  204,  409,  282,  405,  404,  401,
-      400,  399,  388,  385,  384,  383,  290,  368,  280,  279,
-      367,  363,  359,  358,  357,  356,  355,  348,  340,  339,
-      323,  318,  308,  307,  306,  290,  279,  278,  207,  205,
-      204,  273,  272,  271,  270,  269,  268,  259,  246,  245,
-      244,  243,  222,  214,  213,  212,  207,  205,  204, 1274,
-       19, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274
-    } ;
-
-static yyconst short int yy_chk[2273] =
-    {   0,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    7,   28,   56,   13,   13,   36,   56,   13,
-       41,   41,  173,    7,    7,   14,   14,   28,   36,   14,
-       13,    7,    7,    7,    7,    7,    7,  173,    7,    7,
-       14,   90,    7,    7,    7,    7,    7,    7,   47,    7,
-
-        7,   47,    7,   43,   43,   46,   48,   71,   46,   49,
-       48,  296,    7,    7,    7,    7,    7,    7,   90,   49,
-       86,   46,    7,  296,   48,    7,    9,    9,    9,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,   13,  820,    9,    9,    9,    9,    9,    9,    9,
-        9,   14,   38,   38,   50,   55,   45,   50,   45,   57,
-       50,   59,   80,   71,   86,   55,   45,   93,   93,   57,
-       38,   59,   38,   45,   45,  822,   80,    9,   58,    9,
-        9,   88,   58,   95,   95,   58,   58,  106,  107,  108,
-      109,  127,   88,  233,  109,  233,  107,  106,  109,  108,
-
-       38,  127,   38,    9,    9,    9,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   37,   37,   10,   10,   10,   10,   10,   10,   10,
-       10,  111,  330,   61,  330,  111,   61,   61,  126,   37,
-      131,   37,  126,   61,   98,   61,   98,  111,   61,   61,
-      131,   98,   37,   61,   98,  125,  126,   10,  125,   10,
-       10,   98,   98,   99,  128,   99,  169,  128,  314,   37,
-      128,   37,  169,   99,  132,  823,   99,  314,  132,   37,
-       99,   99,  132,   10,   10,   10,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   15,   15,   15,
-       15,   15,   15,  117,   15,   15,   15,   15,   15,   15,
-       15,   15,  825,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,  100,  100,  133,  100,  100,  124,  135,  102,
-
-      124,  102,  166,  100,  133,  101,  158,  101,  135,  102,
-      100,  100,  166,  124,  826,  101,  102,  102,   15,   15,
-       15,   15,  101,  101,  123,  186,  123,  101,  134,  117,
-      168,  200,  134,  158,  123,  134,  134,  239,  186,  827,
-      168,  123,  123,  168,   15,   15,   15,   15,   16,   16,
-       16,   16,   16,   16,  239,   16,   16,   16,   16,   16,
-       16,   16,   16,  199,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,  114,  182,  114,  167,  137,  200,  182,
-      137,  137,  284,  114,  164,  164,  167,  137,  167,  137,
-      114,  114,  137,  137,  248,  164,  831,  137,  167,   16,
-
-       16,   16,   16,  833,  114,  165,  165,  248,  201,  284,
-      178,  181,  165,  177,  836,  252,  165,  837,  252,  199,
-      178,  181,  180,  177,  252,   16,   16,   16,   16,   17,
-       17,   17,  180,   17,   17,  342,   17,   17,   17,   17,
-      178,   17,   17,  342,  177,   17,   17,   17,   17,   17,
-       17,   17,   17,  177,  181,  121,  121,  179,  201,  260,
-      219,  260,  219,  245,  180,  260,  245,  179,  245,  341,
-      410,  180,  324,  121,  324,  121,  245,  412,  349,  335,
-      349,  838,  341,  291,  349,  291,  121,  179,  370,   17,
-      219,   17,  219,  291,  179,   17,  335,  839,  370,  575,
-
-      291,  291,  324,  121,  324,  121,   17,   17,   17,   17,
-       18,   18,   18,  121,   18,   18,  412,   18,   18,   18,
-       18,  840,   18,   18,  410,  411,   18,   18,   18,   18,
-       18,   18,   18,   18,  122,  122,  574,  575,  340,  841,
-      292,  340,  292,  340,  344,  217,  217,  344,  285,  285,
-      292,  340,  122,  344,  122,  842,  543,  292,  292,  372,
-      576,  371,  543,  217,  375,  217,  285,  721,  285,  372,
-       18,  371,   18,  389,  375,  411,   18,  574,  371,  285,
-      559,  375,  122,  389,  122,  843,  559,   18,   18,   18,
-       18,   26,   26,  217,  845,  217,  285,  576,  285,   26,
-
-       26,   26,   26,   26,   26,  293,  285,  293,  298,  835,
-      298,  302,  719,  302,  721,  293,  846,  847,  298,  389,
-      720,  302,  293,  293,  834,  298,  298,  849,  302,  302,
-       26,   26,   26,   26,   26,   26,   78,   78,  851,  852,
-      854,  322,  856,  322,   78,   78,   78,   78,   78,   78,
-      303,  322,  303,  376,  303,  857,  835,  720,  322,  322,
-      303,  391,  392,  376,  719,  325,  325,  303,  303,  858,
-      376,  391,  392,  834,  859,   78,   78,   78,   78,   78,
-       78,   89,   89,  325,  475,  325,  475,  322,  860,   89,
-       89,   89,   89,   89,   89,  861,   89,  862,  863,   89,
-
-      864,   89,  865,   89,  868,  869,  870,  391,  392,  871,
-      873,  874,   89,  325,  475,  325,  475,  875,  876,  878,
-       89,   89,   89,   89,   89,   89,  477,   89,  477,   89,
-      879,   89,  881,   89,  883,  884,  477,  885,  886,   89,
-       97,   97,  477,  477,  477,  887,  888,  889,   97,   97,
-       97,   97,   97,   97,  890,   97,  891,  893,  485,   97,
-      485,  894,   97,  895,  897,  485,   97,   97,  485,  898,
-      899,   97,  900,  901,  902,  485,  485,  903,  906,   97,
-       97,   97,   97,   97,   97,  907,   97,  908,  912,  913,
-      914,  918,   97,  919,  920,  921,  922,  923,   97,  120,
-
-      120,  924,  925,  927,  928,  930,  931,  120,  120,  120,
-      120,  120,  120,  932,  934,  935,  938,  939,  940,  941,
-      935,  942,  944,  946,  947,  948,  949,  950,  952,  953,
-      954,  955,  958,  959,  960,  961,  962,  963,  120,  120,
-      120,  120,  120,  120,  143,  143,  964,  965,  967,  971,
-      972,  973,  143,  143,  143,  143,  143,  143,  969,  976,
-      977,  978,  979,  969,  980,  981,  983,  984,  985,  986,
-      987,  988,  989,  991,  992,  993,  994,  995,  997,  998,
-      999, 1002, 1004,  143,  143,  143,  143,  143,  143,  150,
-      150, 1005, 1006,  999, 1008, 1009, 1010,  150,  150,  150,
-
-      150,  150,  150, 1011, 1014, 1015, 1016, 1017, 1018, 1019,
-     1020, 1021, 1023, 1031, 1032, 1033, 1034, 1035, 1036, 1037,
-     1039, 1040, 1041, 1042, 1043, 1023, 1044, 1045,  150,  150,
-      150,  150,  150,  150,  163,  163, 1046, 1048, 1049, 1050,
-     1038, 1052,  163,  163,  163,  163,  163,  163, 1038,  163,
-     1051, 1053, 1054,  163, 1055, 1056,  163, 1057, 1051, 1058,
-     1059, 1060, 1061, 1062, 1063,  163, 1064, 1065, 1066, 1067,
-     1068, 1069, 1070,  163,  163,  163,  163,  163,  163, 1073,
-      163, 1074, 1076, 1077, 1078, 1079,  163, 1080, 1081, 1082,
-     1083, 1086,  163,  209,  209, 1087, 1088, 1089, 1090, 1091,
-
-     1092,  209,  209,  209,  209,  209,  209, 1093, 1094, 1096,
-     1097,  209, 1098,  209, 1099, 1100, 1101, 1102, 1103, 1106,
-     1107, 1108, 1109, 1110, 1111, 1112, 1113, 1115, 1116, 1117,
-     1118, 1119,  209,  209,  209,  209,  209,  209, 1120, 1121,
-     1123,  209, 1124,  209,  277,  277, 1125, 1127, 1128, 1130,
-     1131, 1132,  277,  277,  277,  277,  277,  277, 1133, 1134,
-     1135, 1137,  277, 1138,  277, 1140, 1141, 1142, 1144, 1145,
-     1146, 1147, 1148, 1150, 1151, 1152, 1153, 1156, 1151, 1157,
-     1158, 1161, 1162,  277,  277,  277,  277,  277,  277, 1163,
-     1164, 1151,  277, 1159,  277,  361,  361, 1159, 1165, 1167,
-
-     1168, 1169, 1170,  361,  361,  361,  361,  361,  361, 1171,
-     1159, 1172, 1173,  361, 1175,  361, 1177, 1178, 1179, 1182,
-     1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
-     1193, 1194, 1195, 1196,  361,  361,  361,  361,  361,  361,
-     1197, 1198, 1199,  361, 1200,  361,  365,  365, 1201, 1203,
-     1204, 1205, 1206, 1207,  365,  365,  365,  365,  365,  365,
-     1209, 1210, 1211, 1212,  365, 1213,  365, 1214, 1215, 1216,
-     1217, 1218, 1220, 1221, 1222, 1223, 1224, 1226, 1228, 1229,
-     1230, 1232, 1233, 1234, 1235,  365,  365,  365,  365,  365,
-      365, 1236, 1237, 1238,  365, 1239,  365,  695,  695, 1240,
-
-      695,  695,  695, 1241,  695,  695,  695,  695,  695, 1242,
-      695, 1243, 1244, 1245, 1246, 1247, 1248,  695,  695,  695,
-      695,  695, 1249, 1250, 1251, 1253, 1254, 1255, 1256, 1258,
-     1259, 1261, 1262, 1264, 1265, 1267, 1269, 1270, 1271, 1292,
-      816,  815,  814,  812,  811,  810,  809,  808,  806,  804,
-      803,  695,  801,  800,  799,  798,  796,  795,  794,  792,
-      790,  789,  788,  787,  786,  785,  784,  783,  782,  781,
-      780,  779,  778,  777,  695,  695,  695,  711,  711,  776,
-      711,  711,  711,  774,  711,  711,  711,  711,  711,  772,
-      711,  771,  769,  768,  766,  765,  764,  711,  711,  711,
-
-      711,  711,  763,  762,  761,  760,  759,  757,  756,  754,
-      753,  752,  751,  749,  748,  747,  746,  745,  744,  743,
-      742,  741,  740,  738,  737,  735,  733,  732,  729,  728,
-      727,  711,  726,  724,  722,  718,  717,  715,  714,  710,
-      709,  705,  704,  703,  702,  701,  699,  698,  694,  693,
-      689,  688,  687,  686,  711,  711,  711,  818,  818,  685,
-      818,  818,  818,  684,  818,  818,  818,  818,  818,  683,
-      818,  682,  681,  680,  679,  678,  676,  818,  818,  818,
-      818,  818,  675,  674,  673,  672,  670,  669,  668,  667,
-      666,  664,  663,  662,  661,  659,  658,  657,  656,  655,
-
-      654,  653,  652,  651,  650,  649,  647,  646,  643,  642,
-      641,  818,  640,  639,  637,  635,  634,  633,  631,  630,
-      629,  628,  627,  626,  625,  624,  623,  622,  621,  620,
-      619,  618,  617,  615,  818,  818,  818,  829,  829,  614,
-      829,  829,  829,  613,  829,  829,  829,  829,  829,  612,
-      829,  611,  610,  609,  608,  607,  605,  829,  829,  829,
-      829,  829,  603,  602,  600,  599,  597,  596,  595,  594,
-      592,  591,  590,  589,  588,  587,  586,  584,  582,  580,
-      579,  577,  573,  572,  571,  570,  569,  568,  567,  566,
-      565,  829,  564,  562,  561,  560,  558,  557,  556,  555,
-
-      554,  553,  552,  551,  550,  549,  548,  546,  545,  544,
-      542,  537,  536,  535,  829,  829,  829, 1275, 1275, 1275,
-     1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1276, 1276,
-     1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1277,
-     1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
-     1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278,
-     1278, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
-     1279, 1279, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280,
-     1280, 1280, 1280, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
-     1281, 1282,  534, 1282, 1282, 1282, 1282, 1282, 1282, 1283,
-
-      533,  532,  531,  530, 1283, 1283, 1283, 1284, 1284, 1284,
-     1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1285,  529,
-     1285,  528, 1285, 1285, 1285, 1285, 1286,  527, 1286, 1286,
-     1286, 1286, 1286, 1286, 1286, 1286, 1286, 1287,  526, 1287,
-     1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1288,  525,
-     1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1289,
-      524, 1289, 1290, 1290, 1290,  523,  521, 1290, 1290,  520,
-     1290, 1291,  519, 1291, 1291, 1291, 1291, 1291, 1291, 1293,
-      518, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
-     1294,  516, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
-
-     1294, 1295,  515, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
-     1295, 1295, 1296,  514, 1296, 1296, 1296, 1296, 1296, 1296,
-     1296, 1296, 1296,  513,  512,  511,  510,  509,  508,  507,
-      506,  505,  504,  503,  502,  501,  500,  499,  498,  497,
-      496,  495,  492,  491,  490,  489,  488,  487,  486,  484,
-      483,  482,  481,  480,  479,  478,  476,  472,  469,  468,
-      467,  466,  465,  464,  463,  462,  461,  460,  459,  458,
-      457,  456,  455,  454,  453,  452,  451,  450,  449,  448,
-      447,  446,  445,  443,  442,  441,  440,  439,  438,  437,
-      436,  434,  433,  432,  431,  430,  429,  428,  427,  426,
-
-      425,  424,  423,  422,  421,  420,  419,  418,  417,  416,
-      415,  409,  408,  405,  404,  403,  402,  401,  400,  399,
-      398,  397,  396,  395,  394,  393,  390,  388,  387,  386,
-      385,  384,  383,  382,  381,  380,  379,  378,  377,  374,
-      362,  359,  358,  357,  356,  355,  354,  353,  352,  351,
-      350,  348,  347,  346,  345,  343,  339,  338,  337,  336,
-      334,  333,  332,  331,  329,  328,  327,  323,  321,  320,
-      319,  318,  317,  316,  315,  313,  312,  311,  310,  309,
-      308,  307,  306,  305,  304,  301,  300,  299,  295,  273,
-      272,  271,  270,  269,  268,  267,  266,  265,  264,  263,
-
-      262,  261,  259,  258,  257,  256,  255,  254,  253,  251,
-      250,  249,  247,  246,  244,  243,  242,  241,  240,  238,
-      237,  236,  235,  234,  232,  231,  230,  228,  227,  226,
-      225,  224,  220,  206,  204,  198,  192,  189,  187,  185,
-      184,  183,  174,  172,  171,  170,  161,  156,  154,  152,
-      151,  149,  142,  141,  140,  139,  138,  136,  130,  129,
-      115,  110,  105,  104,  103,   94,   84,   83,   77,   76,
-       75,   69,   68,   67,   66,   63,   62,   60,   54,   53,
-       52,   51,   42,   34,   32,   31,   25,   24,   22,   19,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
-     1274, 1274
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "ldlex.l"
-#define INITIAL 0
-#line 2 "ldlex.l"
-
-/* Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005  Free Software Foundation, Inc.
-
-   This file is part of GLD, the Gnu Linker.
-
-   GLD is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   GLD is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GLD; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
-
-/*
-This was written by steve chamberlain
-                    sac@cygnus.com
-*/
-
-
-#include <stdio.h>
-
-#include "bfd.h"
-#include "sysdep.h"
-#include "safe-ctype.h"
-#include "bfdlink.h"
-#include "ld.h"
-#include "ldmisc.h"
-#include "ldexp.h"
-#include "ldlang.h"
-#include <ldgram.h>
-#include "ldfile.h"
-#include "ldlex.h"
-#include "ldmain.h"
-#include "libiberty.h"
-
-/* The type of top-level parser input.
-   yylex and yyparse (indirectly) both check this.  */
-input_type parser_input;
-
-/* Line number in the current input file.
-   (FIXME Actually, it doesn't appear to get reset for each file?)  */
-unsigned int lineno = 1;
-
-/* The string we are currently lexing, or NULL if we are reading a
-   file.  */
-const char *lex_string = NULL;
-
-/* Support for flex reading from more than one input file (stream).
-   `include_stack' is flex's input state for each open file;
-   `file_name_stack' is the file names.  `lineno_stack' is the current
-   line numbers.
-
-   If `include_stack_ptr' is 0, we haven't started reading anything yet.
-   Otherwise, stack elements 0 through `include_stack_ptr - 1' are valid.  */
-
-#undef YY_INPUT
-#define YY_INPUT(buf,result,max_size) yy_input (buf, &result, max_size)
-
-#define YY_NO_UNPUT
-
-#define MAX_INCLUDE_DEPTH 10
-static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
-static const char *file_name_stack[MAX_INCLUDE_DEPTH];
-static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
-static unsigned int include_stack_ptr = 0;
-static int vers_node_nesting = 0;
-
-static void yy_input (char *, int *, int);
-static void comment (void);
-static void lex_warn_invalid (char *where, char *what);
-
-/* STATES
-       EXPRESSION      definitely in an expression
-       SCRIPT          definitely in a script
-       BOTH            either EXPRESSION or SCRIPT
-       DEFSYMEXP       in an argument to -defsym
-        MRI             in an MRI script
-       VERS_START      starting a Sun style mapfile
-       VERS_SCRIPT     a Sun style mapfile
-       VERS_NODE       a node within a Sun style mapfile
-*/
-#define RTOKEN(x)  {  yylval.token = x; return x; }
-
-/* Some versions of flex want this.  */
-#ifndef yywrap
-int yywrap (void) { return 1; }
-#endif
-#define SCRIPT 1
-
-#define EXPRESSION 2
-
-#define BOTH 3
-
-#define DEFSYMEXP 4
-
-#define MRI 5
-
-#define VERS_START 6
-
-#define VERS_SCRIPT 7
-
-#define VERS_NODE 8
-
-#line 1407 "lex.yy.c"
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) \
-               { \
-               int c = '*', n; \
-               for ( n = 0; n < max_size && \
-                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-                       buf[n] = (char) c; \
-               if ( c == '\n' ) \
-                       buf[n++] = (char) c; \
-               if ( c == EOF && ferror( yyin ) ) \
-                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               result = n; \
-               } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(yyin); \
-                       } \
-               }
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-       YY_USER_ACTION
-
-YY_DECL
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-
-#line 123 "ldlex.l"
-
-
-  if (parser_input != input_selected)
-    {
-      /* The first token of the input determines the initial parser state.  */
-      input_type t = parser_input;
-      parser_input = input_selected;
-      switch (t)
-       {
-       case input_script: return INPUT_SCRIPT; break;
-       case input_mri_script: return INPUT_MRI_SCRIPT; break;
-       case input_version_script: return INPUT_VERSION_SCRIPT; break;
-       case input_defsym: return INPUT_DEFSYM; break;
-       default: abort ();
-       }
-    }
-
-#line 1587 "lex.yy.c"
-
-       if ( yy_init )
-               {
-               yy_init = 0;
-
-#ifdef YY_USER_INIT
-               YY_USER_INIT;
-#endif
-
-               if ( ! yy_start )
-                       yy_start = 1;   /* first start state */
-
-               if ( ! yyin )
-                       yyin = stdin;
-
-               if ( ! yyout )
-                       yyout = stdout;
-
-               if ( ! yy_current_buffer )
-                       yy_current_buffer =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-
-               yy_load_buffer_state();
-               }
-
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = yy_c_buf_p;
-
-               /* Support of yytext. */
-               *yy_cp = yy_hold_char;
-
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
-
-               yy_current_state = yy_start;
-yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               yy_last_accepting_state = yy_current_state;
-                               yy_last_accepting_cpos = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 1275 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 2191 );
-
-yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-
-do_action:     /* This label is used only to access EOF actions. */
-
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = yy_hold_char;
-                       yy_cp = yy_last_accepting_cpos;
-                       yy_current_state = yy_last_accepting_state;
-                       goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 140 "ldlex.l"
-{ comment (); }
-       YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 143 "ldlex.l"
-{ RTOKEN('-');}
-       YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 144 "ldlex.l"
-{ RTOKEN('+');}
-       YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 145 "ldlex.l"
-{ yylval.name = xstrdup (yytext); return NAME; }
-       YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 146 "ldlex.l"
-{ RTOKEN('='); }
-       YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 148 "ldlex.l"
-{
-                               yylval.integer = bfd_scan_vma (yytext + 1, 0, 16);
-                               yylval.bigint.str = NULL;
-                               return INT;
-                       }
-       YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 154 "ldlex.l"
-{
-                                  int ibase ;
-                                  switch (yytext[yyleng - 1]) {
-                                   case 'X':
-                                   case 'x':
-                                   case 'H':
-                                   case 'h':
-                                    ibase = 16;
-                                    break;
-                                   case 'O':
-                                   case 'o':
-                                    ibase = 8;
-                                    break;
-                                   case 'B':
-                                   case 'b':
-                                    ibase = 2;
-                                    break;
-                                   default:
-                                    ibase = 10;
-                                  }
-                                  yylval.integer = bfd_scan_vma (yytext, 0,
-                                                                 ibase);
-                                  yylval.bigint.str = NULL;
-                                  return INT;
-                                }
-       YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 179 "ldlex.l"
-{
-                                 char *s = yytext;
-                                 int ibase = 0;
-
-                                 if (*s == '$')
-                                   {
-                                     ++s;
-                                     ibase = 16;
-                                   }
-                                 yylval.integer = bfd_scan_vma (s, 0, ibase);
-                                 yylval.bigint.str = NULL;
-                                 if (yytext[yyleng - 1] == 'M'
-                                     || yytext[yyleng - 1] == 'm')
-                                   {
-                                     yylval.integer *= 1024 * 1024;
-                                   }
-                                 else if (yytext[yyleng - 1] == 'K'
-                                     || yytext[yyleng - 1]=='k')
-                                   {
-                                     yylval.integer *= 1024;
-                                   }
-                                 else if (yytext[0] == '0'
-                                          && (yytext[1] == 'x'
-                                              || yytext[1] == 'X'))
-                                   {
-                                     yylval.bigint.str = xstrdup (yytext + 2);
-                                   }
-                                 return INT;
-                               }
-       YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 208 "ldlex.l"
-{ RTOKEN(']');}
-       YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 209 "ldlex.l"
-{ RTOKEN('[');}
-       YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 210 "ldlex.l"
-{ RTOKEN(LSHIFTEQ);}
-       YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 211 "ldlex.l"
-{ RTOKEN(RSHIFTEQ);}
-       YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 212 "ldlex.l"
-{ RTOKEN(OROR);}
-       YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 213 "ldlex.l"
-{ RTOKEN(EQ);}
-       YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 214 "ldlex.l"
-{ RTOKEN(NE);}
-       YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 215 "ldlex.l"
-{ RTOKEN(GE);}
-       YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 216 "ldlex.l"
-{ RTOKEN(LE);}
-       YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 217 "ldlex.l"
-{ RTOKEN(LSHIFT);}
-       YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 218 "ldlex.l"
-{ RTOKEN(RSHIFT);}
-       YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 219 "ldlex.l"
-{ RTOKEN(PLUSEQ);}
-       YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 220 "ldlex.l"
-{ RTOKEN(MINUSEQ);}
-       YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 221 "ldlex.l"
-{ RTOKEN(MULTEQ);}
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 222 "ldlex.l"
-{ RTOKEN(DIVEQ);}
-       YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 223 "ldlex.l"
-{ RTOKEN(ANDEQ);}
-       YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 224 "ldlex.l"
-{ RTOKEN(OREQ);}
-       YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 225 "ldlex.l"
-{ RTOKEN(ANDAND);}
-       YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 226 "ldlex.l"
-{ RTOKEN('>');}
-       YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 227 "ldlex.l"
-{ RTOKEN(',');}
-       YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 228 "ldlex.l"
-{ RTOKEN('&');}
-       YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 229 "ldlex.l"
-{ RTOKEN('|');}
-       YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 230 "ldlex.l"
-{ RTOKEN('~');}
-       YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 231 "ldlex.l"
-{ RTOKEN('!');}
-       YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 232 "ldlex.l"
-{ RTOKEN('?');}
-       YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 233 "ldlex.l"
-{ RTOKEN('*');}
-       YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 234 "ldlex.l"
-{ RTOKEN('+');}
-       YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 235 "ldlex.l"
-{ RTOKEN('-');}
-       YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 236 "ldlex.l"
-{ RTOKEN('/');}
-       YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 237 "ldlex.l"
-{ RTOKEN('%');}
-       YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 238 "ldlex.l"
-{ RTOKEN('<');}
-       YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 239 "ldlex.l"
-{ RTOKEN('=');}
-       YY_BREAK
-case 41:
-YY_RULE_SETUP
-#line 240 "ldlex.l"
-{ RTOKEN('}') ; }
-       YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 241 "ldlex.l"
-{ RTOKEN('{'); }
-       YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 242 "ldlex.l"
-{ RTOKEN(')');}
-       YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 243 "ldlex.l"
-{ RTOKEN('(');}
-       YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 244 "ldlex.l"
-{ RTOKEN(':'); }
-       YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 245 "ldlex.l"
-{ RTOKEN(';');}
-       YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 246 "ldlex.l"
-{ RTOKEN(MEMORY);}
-       YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 247 "ldlex.l"
-{ RTOKEN(ORIGIN);}
-       YY_BREAK
-case 49:
-YY_RULE_SETUP
-#line 248 "ldlex.l"
-{ RTOKEN(VERSIONK);}
-       YY_BREAK
-case 50:
-YY_RULE_SETUP
-#line 249 "ldlex.l"
-{ RTOKEN(BLOCK);}
-       YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 250 "ldlex.l"
-{ RTOKEN(BIND);}
-       YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 251 "ldlex.l"
-{ RTOKEN(LENGTH);}
-       YY_BREAK
-case 53:
-YY_RULE_SETUP
-#line 252 "ldlex.l"
-{ RTOKEN(ALIGN_K);}
-       YY_BREAK
-case 54:
-YY_RULE_SETUP
-#line 253 "ldlex.l"
-{ RTOKEN(DATA_SEGMENT_ALIGN);}
-       YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 254 "ldlex.l"
-{ RTOKEN(DATA_SEGMENT_RELRO_END);}
-       YY_BREAK
-case 56:
-YY_RULE_SETUP
-#line 255 "ldlex.l"
-{ RTOKEN(DATA_SEGMENT_END);}
-       YY_BREAK
-case 57:
-YY_RULE_SETUP
-#line 256 "ldlex.l"
-{ RTOKEN(ADDR);}
-       YY_BREAK
-case 58:
-YY_RULE_SETUP
-#line 257 "ldlex.l"
-{ RTOKEN(LOADADDR);}
-       YY_BREAK
-case 59:
-YY_RULE_SETUP
-#line 258 "ldlex.l"
-{ RTOKEN(MAX_K); }
-       YY_BREAK
-case 60:
-YY_RULE_SETUP
-#line 259 "ldlex.l"
-{ RTOKEN(MIN_K); }
-       YY_BREAK
-case 61:
-YY_RULE_SETUP
-#line 260 "ldlex.l"
-{ RTOKEN(ASSERT_K); }
-       YY_BREAK
-case 62:
-YY_RULE_SETUP
-#line 261 "ldlex.l"
-{ RTOKEN(ENTRY);}
-       YY_BREAK
-case 63:
-YY_RULE_SETUP
-#line 262 "ldlex.l"
-{ RTOKEN(EXTERN);}
-       YY_BREAK
-case 64:
-YY_RULE_SETUP
-#line 263 "ldlex.l"
-{ RTOKEN(NEXT);}
-       YY_BREAK
-case 65:
-YY_RULE_SETUP
-#line 264 "ldlex.l"
-{ RTOKEN(SIZEOF_HEADERS);}
-       YY_BREAK
-case 66:
-YY_RULE_SETUP
-#line 265 "ldlex.l"
-{ RTOKEN(SIZEOF_HEADERS);}
-       YY_BREAK
-case 67:
-YY_RULE_SETUP
-#line 266 "ldlex.l"
-{ RTOKEN(SEGMENT_START);}
-       YY_BREAK
-case 68:
-YY_RULE_SETUP
-#line 267 "ldlex.l"
-{ RTOKEN(MAP);}
-       YY_BREAK
-case 69:
-YY_RULE_SETUP
-#line 268 "ldlex.l"
-{ RTOKEN(SIZEOF);}
-       YY_BREAK
-case 70:
-YY_RULE_SETUP
-#line 269 "ldlex.l"
-{ RTOKEN(TARGET_K);}
-       YY_BREAK
-case 71:
-YY_RULE_SETUP
-#line 270 "ldlex.l"
-{ RTOKEN(SEARCH_DIR);}
-       YY_BREAK
-case 72:
-YY_RULE_SETUP
-#line 271 "ldlex.l"
-{ RTOKEN(OUTPUT);}
-       YY_BREAK
-case 73:
-YY_RULE_SETUP
-#line 272 "ldlex.l"
-{ RTOKEN(INPUT);}
-       YY_BREAK
-case 74:
-YY_RULE_SETUP
-#line 273 "ldlex.l"
-{ RTOKEN(GROUP);}
-       YY_BREAK
-case 75:
-YY_RULE_SETUP
-#line 274 "ldlex.l"
-{ RTOKEN(AS_NEEDED);}
-       YY_BREAK
-case 76:
-YY_RULE_SETUP
-#line 275 "ldlex.l"
-{ RTOKEN(DEFINED);}
-       YY_BREAK
-case 77:
-YY_RULE_SETUP
-#line 276 "ldlex.l"
-{ RTOKEN(CREATE_OBJECT_SYMBOLS);}
-       YY_BREAK
-case 78:
-YY_RULE_SETUP
-#line 277 "ldlex.l"
-{ RTOKEN( CONSTRUCTORS);}
-       YY_BREAK
-case 79:
-YY_RULE_SETUP
-#line 278 "ldlex.l"
-{ RTOKEN(FORCE_COMMON_ALLOCATION);}
-       YY_BREAK
-case 80:
-YY_RULE_SETUP
-#line 279 "ldlex.l"
-{ RTOKEN(INHIBIT_COMMON_ALLOCATION);}
-       YY_BREAK
-case 81:
-YY_RULE_SETUP
-#line 280 "ldlex.l"
-{ RTOKEN(SECTIONS);}
-       YY_BREAK
-case 82:
-YY_RULE_SETUP
-#line 281 "ldlex.l"
-{ RTOKEN(FILL);}
-       YY_BREAK
-case 83:
-YY_RULE_SETUP
-#line 282 "ldlex.l"
-{ RTOKEN(STARTUP);}
-       YY_BREAK
-case 84:
-YY_RULE_SETUP
-#line 283 "ldlex.l"
-{ RTOKEN(OUTPUT_FORMAT);}
-       YY_BREAK
-case 85:
-YY_RULE_SETUP
-#line 284 "ldlex.l"
-{ RTOKEN( OUTPUT_ARCH);}
-       YY_BREAK
-case 86:
-YY_RULE_SETUP
-#line 285 "ldlex.l"
-{ RTOKEN(HLL);}
-       YY_BREAK
-case 87:
-YY_RULE_SETUP
-#line 286 "ldlex.l"
-{ RTOKEN(SYSLIB);}
-       YY_BREAK
-case 88:
-YY_RULE_SETUP
-#line 287 "ldlex.l"
-{ RTOKEN(FLOAT);}
-       YY_BREAK
-case 89:
-YY_RULE_SETUP
-#line 288 "ldlex.l"
-{ RTOKEN( QUAD);}
-       YY_BREAK
-case 90:
-YY_RULE_SETUP
-#line 289 "ldlex.l"
-{ RTOKEN( SQUAD);}
-       YY_BREAK
-case 91:
-YY_RULE_SETUP
-#line 290 "ldlex.l"
-{ RTOKEN( LONG);}
-       YY_BREAK
-case 92:
-YY_RULE_SETUP
-#line 291 "ldlex.l"
-{ RTOKEN( SHORT);}
-       YY_BREAK
-case 93:
-YY_RULE_SETUP
-#line 292 "ldlex.l"
-{ RTOKEN( BYTE);}
-       YY_BREAK
-case 94:
-YY_RULE_SETUP
-#line 293 "ldlex.l"
-{ RTOKEN(NOFLOAT);}
-       YY_BREAK
-case 95:
-YY_RULE_SETUP
-#line 294 "ldlex.l"
-{ RTOKEN(NOCROSSREFS);}
-       YY_BREAK
-case 96:
-YY_RULE_SETUP
-#line 295 "ldlex.l"
-{ RTOKEN(OVERLAY); }
-       YY_BREAK
-case 97:
-YY_RULE_SETUP
-#line 296 "ldlex.l"
-{ RTOKEN(SORT_BY_NAME); }
-       YY_BREAK
-case 98:
-YY_RULE_SETUP
-#line 297 "ldlex.l"
-{ RTOKEN(SORT_BY_ALIGNMENT); }
-       YY_BREAK
-case 99:
-YY_RULE_SETUP
-#line 298 "ldlex.l"
-{ RTOKEN(SORT_BY_NAME); }
-       YY_BREAK
-case 100:
-YY_RULE_SETUP
-#line 299 "ldlex.l"
-{ RTOKEN(NOLOAD);}
-       YY_BREAK
-case 101:
-YY_RULE_SETUP
-#line 300 "ldlex.l"
-{ RTOKEN(DSECT);}
-       YY_BREAK
-case 102:
-YY_RULE_SETUP
-#line 301 "ldlex.l"
-{ RTOKEN(COPY);}
-       YY_BREAK
-case 103:
-YY_RULE_SETUP
-#line 302 "ldlex.l"
-{ RTOKEN(INFO);}
-       YY_BREAK
-case 104:
-YY_RULE_SETUP
-#line 303 "ldlex.l"
-{ RTOKEN(OVERLAY);}
-       YY_BREAK
-case 105:
-YY_RULE_SETUP
-#line 304 "ldlex.l"
-{ RTOKEN(ONLY_IF_RO); }
-       YY_BREAK
-case 106:
-YY_RULE_SETUP
-#line 305 "ldlex.l"
-{ RTOKEN(ONLY_IF_RW); }
-       YY_BREAK
-case 107:
-YY_RULE_SETUP
-#line 306 "ldlex.l"
-{ RTOKEN(ORIGIN);}
-       YY_BREAK
-case 108:
-YY_RULE_SETUP
-#line 307 "ldlex.l"
-{ RTOKEN(ORIGIN);}
-       YY_BREAK
-case 109:
-YY_RULE_SETUP
-#line 308 "ldlex.l"
-{ RTOKEN( LENGTH);}
-       YY_BREAK
-case 110:
-YY_RULE_SETUP
-#line 309 "ldlex.l"
-{ RTOKEN( LENGTH);}
-       YY_BREAK
-case 111:
-YY_RULE_SETUP
-#line 310 "ldlex.l"
-{ RTOKEN(INCLUDE);}
-       YY_BREAK
-case 112:
-YY_RULE_SETUP
-#line 311 "ldlex.l"
-{ RTOKEN (PHDRS); }
-       YY_BREAK
-case 113:
-YY_RULE_SETUP
-#line 312 "ldlex.l"
-{ RTOKEN(AT);}
-       YY_BREAK
-case 114:
-YY_RULE_SETUP
-#line 313 "ldlex.l"
-{ RTOKEN(SUBALIGN);}
-       YY_BREAK
-case 115:
-YY_RULE_SETUP
-#line 314 "ldlex.l"
-{ RTOKEN(PROVIDE); }
-       YY_BREAK
-case 116:
-YY_RULE_SETUP
-#line 315 "ldlex.l"
-{ RTOKEN(KEEP); }
-       YY_BREAK
-case 117:
-YY_RULE_SETUP
-#line 316 "ldlex.l"
-{ RTOKEN(EXCLUDE_FILE); }
-       YY_BREAK
-case 118:
-YY_RULE_SETUP
-#line 317 "ldlex.l"
-{ ++ lineno; }
-       YY_BREAK
-case 119:
-YY_RULE_SETUP
-#line 318 "ldlex.l"
-{ ++ lineno;  RTOKEN(NEWLINE); }
-       YY_BREAK
-case 120:
-YY_RULE_SETUP
-#line 319 "ldlex.l"
-{ /* Mri comment line */ }
-       YY_BREAK
-case 121:
-YY_RULE_SETUP
-#line 320 "ldlex.l"
-{ /* Mri comment line */ }
-       YY_BREAK
-case 122:
-YY_RULE_SETUP
-#line 321 "ldlex.l"
-{ RTOKEN(ENDWORD); }
-       YY_BREAK
-case 123:
-YY_RULE_SETUP
-#line 322 "ldlex.l"
-{ RTOKEN(ALIGNMOD);}
-       YY_BREAK
-case 124:
-YY_RULE_SETUP
-#line 323 "ldlex.l"
-{ RTOKEN(ALIGN_K);}
-       YY_BREAK
-case 125:
-YY_RULE_SETUP
-#line 324 "ldlex.l"
-{ RTOKEN(CHIP); }
-       YY_BREAK
-case 126:
-YY_RULE_SETUP
-#line 325 "ldlex.l"
-{ RTOKEN(BASE); }
-       YY_BREAK
-case 127:
-YY_RULE_SETUP
-#line 326 "ldlex.l"
-{ RTOKEN(ALIAS); }
-       YY_BREAK
-case 128:
-YY_RULE_SETUP
-#line 327 "ldlex.l"
-{ RTOKEN(TRUNCATE); }
-       YY_BREAK
-case 129:
-YY_RULE_SETUP
-#line 328 "ldlex.l"
-{ RTOKEN(LOAD); }
-       YY_BREAK
-case 130:
-YY_RULE_SETUP
-#line 329 "ldlex.l"
-{ RTOKEN(PUBLIC); }
-       YY_BREAK
-case 131:
-YY_RULE_SETUP
-#line 330 "ldlex.l"
-{ RTOKEN(ORDER); }
-       YY_BREAK
-case 132:
-YY_RULE_SETUP
-#line 331 "ldlex.l"
-{ RTOKEN(NAMEWORD); }
-       YY_BREAK
-case 133:
-YY_RULE_SETUP
-#line 332 "ldlex.l"
-{ RTOKEN(FORMAT); }
-       YY_BREAK
-case 134:
-YY_RULE_SETUP
-#line 333 "ldlex.l"
-{ RTOKEN(CASE); }
-       YY_BREAK
-case 135:
-YY_RULE_SETUP
-#line 334 "ldlex.l"
-{ RTOKEN(START); }
-       YY_BREAK
-case 136:
-YY_RULE_SETUP
-#line 335 "ldlex.l"
-{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
-       YY_BREAK
-case 137:
-YY_RULE_SETUP
-#line 336 "ldlex.l"
-{ RTOKEN(SECT); }
-       YY_BREAK
-case 138:
-YY_RULE_SETUP
-#line 337 "ldlex.l"
-{ RTOKEN(ABSOLUTE); }
-       YY_BREAK
-case 139:
-YY_RULE_SETUP
-#line 338 "ldlex.l"
-{ RTOKEN(ENDWORD); }
-       YY_BREAK
-case 140:
-YY_RULE_SETUP
-#line 339 "ldlex.l"
-{ RTOKEN(ALIGNMOD);}
-       YY_BREAK
-case 141:
-YY_RULE_SETUP
-#line 340 "ldlex.l"
-{ RTOKEN(ALIGN_K);}
-       YY_BREAK
-case 142:
-YY_RULE_SETUP
-#line 341 "ldlex.l"
-{ RTOKEN(CHIP); }
-       YY_BREAK
-case 143:
-YY_RULE_SETUP
-#line 342 "ldlex.l"
-{ RTOKEN(BASE); }
-       YY_BREAK
-case 144:
-YY_RULE_SETUP
-#line 343 "ldlex.l"
-{ RTOKEN(ALIAS); }
-       YY_BREAK
-case 145:
-YY_RULE_SETUP
-#line 344 "ldlex.l"
-{ RTOKEN(TRUNCATE); }
-       YY_BREAK
-case 146:
-YY_RULE_SETUP
-#line 345 "ldlex.l"
-{ RTOKEN(LOAD); }
-       YY_BREAK
-case 147:
-YY_RULE_SETUP
-#line 346 "ldlex.l"
-{ RTOKEN(PUBLIC); }
-       YY_BREAK
-case 148:
-YY_RULE_SETUP
-#line 347 "ldlex.l"
-{ RTOKEN(ORDER); }
-       YY_BREAK
-case 149:
-YY_RULE_SETUP
-#line 348 "ldlex.l"
-{ RTOKEN(NAMEWORD); }
-       YY_BREAK
-case 150:
-YY_RULE_SETUP
-#line 349 "ldlex.l"
-{ RTOKEN(FORMAT); }
-       YY_BREAK
-case 151:
-YY_RULE_SETUP
-#line 350 "ldlex.l"
-{ RTOKEN(CASE); }
-       YY_BREAK
-case 152:
-YY_RULE_SETUP
-#line 351 "ldlex.l"
-{ RTOKEN(EXTERN); }
-       YY_BREAK
-case 153:
-YY_RULE_SETUP
-#line 352 "ldlex.l"
-{ RTOKEN(START); }
-       YY_BREAK
-case 154:
-YY_RULE_SETUP
-#line 353 "ldlex.l"
-{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
-       YY_BREAK
-case 155:
-YY_RULE_SETUP
-#line 354 "ldlex.l"
-{ RTOKEN(SECT); }
-       YY_BREAK
-case 156:
-YY_RULE_SETUP
-#line 355 "ldlex.l"
-{ RTOKEN(ABSOLUTE); }
-       YY_BREAK
-case 157:
-YY_RULE_SETUP
-#line 357 "ldlex.l"
-{
-/* Filename without commas, needed to parse mri stuff */
-                                yylval.name = xstrdup (yytext);
-                                 return NAME;
-                               }
-       YY_BREAK
-case 158:
-YY_RULE_SETUP
-#line 364 "ldlex.l"
-{
-                                yylval.name = xstrdup (yytext);
-                                 return NAME;
-                               }
-       YY_BREAK
-case 159:
-YY_RULE_SETUP
-#line 368 "ldlex.l"
-{
-                                 yylval.name = xstrdup (yytext + 2);
-                                 return LNAME;
-                               }
-       YY_BREAK
-case 160:
-YY_RULE_SETUP
-#line 372 "ldlex.l"
-{
-               /* Annoyingly, this pattern can match comments, and we have
-                  longest match issues to consider.  So if the first two
-                  characters are a comment opening, put the input back and
-                  try again.  */
-               if (yytext[0] == '/' && yytext[1] == '*')
-                 {
-                   yyless (2);
-                   comment ();
-                 }
-               else
-                 {
-                   yylval.name = xstrdup (yytext);
-                   return NAME;
-                 }
-       }
-       YY_BREAK
-case 161:
-YY_RULE_SETUP
-#line 389 "ldlex.l"
-{
-                                       /* No matter the state, quotes
-                                          give what's inside */
-                                       yylval.name = xstrdup (yytext + 1);
-                                       yylval.name[yyleng - 2] = 0;
-                                       return NAME;
-                               }
-       YY_BREAK
-case 162:
-YY_RULE_SETUP
-#line 396 "ldlex.l"
-{ lineno++;}
-       YY_BREAK
-case 163:
-YY_RULE_SETUP
-#line 397 "ldlex.l"
-{ }
-       YY_BREAK
-case 164:
-YY_RULE_SETUP
-#line 399 "ldlex.l"
-{ return *yytext; }
-       YY_BREAK
-case 165:
-YY_RULE_SETUP
-#line 401 "ldlex.l"
-{ RTOKEN(GLOBAL); }
-       YY_BREAK
-case 166:
-YY_RULE_SETUP
-#line 403 "ldlex.l"
-{ RTOKEN(LOCAL); }
-       YY_BREAK
-case 167:
-YY_RULE_SETUP
-#line 405 "ldlex.l"
-{ RTOKEN(EXTERN); }
-       YY_BREAK
-case 168:
-YY_RULE_SETUP
-#line 407 "ldlex.l"
-{ yylval.name = xstrdup (yytext);
-                                 return VERS_IDENTIFIER; }
-       YY_BREAK
-case 169:
-YY_RULE_SETUP
-#line 410 "ldlex.l"
-{ yylval.name = xstrdup (yytext);
-                                 return VERS_TAG; }
-       YY_BREAK
-case 170:
-YY_RULE_SETUP
-#line 413 "ldlex.l"
-{ BEGIN(VERS_SCRIPT); return *yytext; }
-       YY_BREAK
-case 171:
-YY_RULE_SETUP
-#line 415 "ldlex.l"
-{ BEGIN(VERS_NODE);
-                                 vers_node_nesting = 0;
-                                 return *yytext;
-                               }
-       YY_BREAK
-case 172:
-YY_RULE_SETUP
-#line 419 "ldlex.l"
-{ return *yytext; }
-       YY_BREAK
-case 173:
-YY_RULE_SETUP
-#line 420 "ldlex.l"
-{ vers_node_nesting++; return *yytext; }
-       YY_BREAK
-case 174:
-YY_RULE_SETUP
-#line 421 "ldlex.l"
-{ if (--vers_node_nesting < 0)
-                                   BEGIN(VERS_SCRIPT);
-                                 return *yytext;
-                               }
-       YY_BREAK
-case 175:
-YY_RULE_SETUP
-#line 426 "ldlex.l"
-{ lineno++; }
-       YY_BREAK
-case 176:
-YY_RULE_SETUP
-#line 428 "ldlex.l"
-{ /* Eat up comments */ }
-       YY_BREAK
-case 177:
-YY_RULE_SETUP
-#line 430 "ldlex.l"
-{ /* Eat up whitespace */ }
-       YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(SCRIPT):
-case YY_STATE_EOF(EXPRESSION):
-case YY_STATE_EOF(BOTH):
-case YY_STATE_EOF(DEFSYMEXP):
-case YY_STATE_EOF(MRI):
-case YY_STATE_EOF(VERS_START):
-case YY_STATE_EOF(VERS_SCRIPT):
-case YY_STATE_EOF(VERS_NODE):
-#line 432 "ldlex.l"
-{
-  include_stack_ptr--;
-
-  if (include_stack_ptr == 0)
-  {
-    yyterminate ();
-  }
-  else
-  {
-    yy_switch_to_buffer (include_stack[include_stack_ptr]);
-  }
-
-  ldfile_input_filename = file_name_stack[include_stack_ptr - 1];
-  lineno = lineno_stack[include_stack_ptr];
-
-  return END;
-}
-       YY_BREAK
-case 178:
-YY_RULE_SETUP
-#line 450 "ldlex.l"
-lex_warn_invalid (" in script", yytext);
-       YY_BREAK
-case 179:
-YY_RULE_SETUP
-#line 451 "ldlex.l"
-lex_warn_invalid (" in expression", yytext);
-       YY_BREAK
-case 180:
-YY_RULE_SETUP
-#line 453 "ldlex.l"
-ECHO;
-       YY_BREAK
-#line 2693 "lex.yy.c"
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = yy_hold_char;
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between yy_current_buffer and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       yy_n_chars = yy_current_buffer->yy_n_chars;
-                       yy_current_buffer->yy_input_file = yyin;
-                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state();
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = yytext_ptr + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++yy_c_buf_p;
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = yy_c_buf_p;
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer() )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               yy_did_buffer_switch_on_eof = 0;
-
-                               if ( yywrap() )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               yy_c_buf_p =
-                                       yytext_ptr + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               yy_c_buf_p =
-                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
-                               yy_current_state = yy_get_previous_state();
-
-                               yy_cp = yy_c_buf_p;
-                               yy_bp = yytext_ptr + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
-       } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-       {
-       register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr;
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( yy_current_buffer->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
-       else
-               {
-               int num_to_read =
-                       yy_current_buffer->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-                       YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = yy_current_buffer;
-
-                       int yy_c_buf_p_offset =
-                               (int) (yy_c_buf_p - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                        b->yy_buf_size + 2 );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = yy_current_buffer->yy_buf_size -
-                                               number_to_move - 1;
-#endif
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-                       yy_n_chars, num_to_read );
-
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       if ( yy_n_chars == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       yy_current_buffer->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       yy_n_chars += number_to_move;
-       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
-       return ret_val;
-       }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
-       {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-
-       yy_current_state = yy_start;
-
-       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       yy_last_accepting_state = yy_current_state;
-                       yy_last_accepting_cpos = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 1275 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
-       }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-       {
-       register int yy_is_jam;
-       register char *yy_cp = yy_c_buf_p;
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               yy_last_accepting_state = yy_current_state;
-               yy_last_accepting_cpos = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 1275 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 1274);
-
-       return yy_is_jam ? 0 : yy_current_state;
-       }
-
-
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-       {
-       register char *yy_cp = yy_c_buf_p;
-
-       /* undo effects of setting up yytext */
-       *yy_cp = yy_hold_char;
-
-       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = yy_n_chars + 2;
-               register char *dest = &yy_current_buffer->yy_ch_buf[
-                                       yy_current_buffer->yy_buf_size + 2];
-               register char *source =
-                               &yy_current_buffer->yy_ch_buf[number_to_move];
-
-               while ( source > yy_current_buffer->yy_ch_buf )
-                       *--dest = *--source;
-
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               yy_current_buffer->yy_n_chars =
-                       yy_n_chars = yy_current_buffer->yy_buf_size;
-
-               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
-
-       *--yy_cp = (char) c;
-
-
-       yytext_ptr = yy_bp;
-       yy_hold_char = *yy_cp;
-       yy_c_buf_p = yy_cp;
-       }
-#endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-       {
-       int c;
-
-       *yy_c_buf_p = yy_hold_char;
-
-       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
-                       /* This was really a NUL. */
-                       *yy_c_buf_p = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = yy_c_buf_p - yytext_ptr;
-                       ++yy_c_buf_p;
-
-                       switch ( yy_get_next_buffer() )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /* fall through */
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap() )
-                                               return EOF;
-
-                                       if ( ! yy_did_buffer_switch_on_eof )
-                                               YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
-                                       return input();
-#endif
-                                       }
-
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       yy_c_buf_p = yytext_ptr + offset;
-                                       break;
-                               }
-                       }
-               }
-
-       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
-       *yy_c_buf_p = '\0';     /* preserve yytext */
-       yy_hold_char = *++yy_c_buf_p;
-
-
-       return c;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-       {
-       if ( ! yy_current_buffer )
-               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
-       yy_init_buffer( yy_current_buffer, input_file );
-       yy_load_buffer_state();
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-       {
-       if ( yy_current_buffer == new_buffer )
-               return;
-
-       if ( yy_current_buffer )
-               {
-               /* Flush out information for old buffer. */
-               *yy_c_buf_p = yy_hold_char;
-               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-               yy_current_buffer->yy_n_chars = yy_n_chars;
-               }
-
-       yy_current_buffer = new_buffer;
-       yy_load_buffer_state();
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       yy_did_buffer_switch_on_eof = 1;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-       {
-       yy_n_chars = yy_current_buffer->yy_n_chars;
-       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-       yyin = yy_current_buffer->yy_input_file;
-       yy_hold_char = *yy_c_buf_p;
-       }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_buf_size = size;
-
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-       b->yy_is_our_buffer = 1;
-
-       yy_init_buffer( b, file );
-
-       return b;
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-       {
-       if ( ! b )
-               return;
-
-       if ( b == yy_current_buffer )
-               yy_current_buffer = (YY_BUFFER_STATE) 0;
-
-       if ( b->yy_is_our_buffer )
-               yy_flex_free( (void *) b->yy_ch_buf );
-
-       yy_flex_free( (void *) b );
-       }
-
-
-#ifndef _WIN32
-#include <unistd.h>
-#else
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
-       {
-       yy_flush_buffer( b );
-
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
-       b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-       b->yy_is_interactive = 0;
-#else
-       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-       }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
-       {
-       if ( ! b )
-               return;
-
-       b->yy_n_chars = 0;
-
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-       b->yy_buf_pos = &b->yy_ch_buf[0];
-
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       if ( b == yy_current_buffer )
-               yy_load_buffer_state();
-       }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-       {
-       YY_BUFFER_STATE b;
-
-       if ( size < 2 ||
-            base[size-2] != YY_END_OF_BUFFER_CHAR ||
-            base[size-1] != YY_END_OF_BUFFER_CHAR )
-               /* They forgot to leave room for the EOB's. */
-               return 0;
-
-       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
-       b->yy_buf_pos = b->yy_ch_buf = base;
-       b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
-       b->yy_n_chars = b->yy_buf_size;
-       b->yy_is_interactive = 0;
-       b->yy_at_bol = 1;
-       b->yy_fill_buffer = 0;
-       b->yy_buffer_status = YY_BUFFER_NEW;
-
-       yy_switch_to_buffer( b );
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-       {
-       int len;
-       for ( len = 0; yy_str[len]; ++len )
-               ;
-
-       return yy_scan_bytes( yy_str, len );
-       }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-       {
-       YY_BUFFER_STATE b;
-       char *buf;
-       yy_size_t n;
-       int i;
-
-       /* Get memory for full buffer, including space for trailing EOB's. */
-       n = len + 2;
-       buf = (char *) yy_flex_alloc( n );
-       if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-       for ( i = 0; i < len; ++i )
-               buf[i] = bytes[i];
-
-       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
-       b = yy_scan_buffer( buf, n );
-       if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-       /* It's okay to grow etc. this buffer, and we should throw it
-        * away when we're done.
-        */
-       b->yy_is_our_buffer = 1;
-
-       return b;
-       }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
-       {
-       if ( yy_start_stack_ptr >= yy_start_stack_depth )
-               {
-               yy_size_t new_size;
-
-               yy_start_stack_depth += YY_START_STACK_INCR;
-               new_size = yy_start_stack_depth * sizeof( int );
-
-               if ( ! yy_start_stack )
-                       yy_start_stack = (int *) yy_flex_alloc( new_size );
-
-               else
-                       yy_start_stack = (int *) yy_flex_realloc(
-                                       (void *) yy_start_stack, new_size );
-
-               if ( ! yy_start_stack )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
-
-       yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
-       BEGIN(new_state);
-       }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-       {
-       if ( --yy_start_stack_ptr < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
-
-       BEGIN(yy_start_stack[yy_start_stack_ptr]);
-       }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-       {
-       return yy_start_stack[yy_start_stack_ptr - 1];
-       }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-       {
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-       }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
-               yytext[yyleng] = yy_hold_char; \
-               yy_c_buf_p = yytext + n; \
-               yy_hold_char = *yy_c_buf_p; \
-               *yy_c_buf_p = '\0'; \
-               yyleng = n; \
-               } \
-       while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-       {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
-       }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-       {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
-
-       return n;
-       }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-       {
-       return (void *) malloc( size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-       {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
-       }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-       {
-       free( ptr );
-       }
-
-#if YY_MAIN
-int main()
-       {
-       yylex();
-       return 0;
-       }
-#endif
-#line 453 "ldlex.l"
-
-\f
-
-/* Switch flex to reading script file NAME, open on FILE,
-   saving the current input info on the include stack.  */
-
-void
-lex_push_file (FILE *file, const char *name)
-{
-  if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
-    {
-      einfo ("%F:includes nested too deeply\n");
-    }
-  file_name_stack[include_stack_ptr] = name;
-  lineno_stack[include_stack_ptr] = lineno;
-  include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
-
-  include_stack_ptr++;
-  lineno = 1;
-  yyin = file;
-  yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE));
-}
-
-/* Return a newly created flex input buffer containing STRING,
-   which is SIZE bytes long.  */
-
-static YY_BUFFER_STATE
-yy_create_string_buffer (const char *string, size_t size)
-{
-  YY_BUFFER_STATE b;
-
-  /* Calls to m-alloc get turned by sed into xm-alloc.  */
-  b = malloc (sizeof (struct yy_buffer_state));
-  b->yy_input_file = 0;
-  b->yy_buf_size = size;
-
-  /* yy_ch_buf has to be 2 characters longer than the size given because
-     we need to put in 2 end-of-buffer characters.  */
-  b->yy_ch_buf = malloc ((unsigned) (b->yy_buf_size + 3));
-
-  b->yy_ch_buf[0] = '\n';
-  strcpy (b->yy_ch_buf+1, string);
-  b->yy_ch_buf[size+1] = YY_END_OF_BUFFER_CHAR;
-  b->yy_ch_buf[size+2] = YY_END_OF_BUFFER_CHAR;
-  b->yy_n_chars = size+1;
-  b->yy_buf_pos = &b->yy_ch_buf[1];
-
-  b->yy_is_our_buffer = 1;
-  b->yy_is_interactive = 0;
-  b->yy_at_bol = 1;
-  b->yy_fill_buffer = 0;
-
-  /* flex 2.4.7 changed the interface.  FIXME: We should not be using
-     a flex internal interface in the first place!  */
-#ifdef YY_BUFFER_NEW
-  b->yy_buffer_status = YY_BUFFER_NEW;
-#else
-  b->yy_eof_status = EOF_NOT_SEEN;
-#endif
-
-  return b;
-}
-
-/* Switch flex to reading from STRING, saving the current input info
-   on the include stack.  */
-
-void
-lex_redirect (const char *string)
-{
-  YY_BUFFER_STATE tmp;
-
-  yy_init = 0;
-  if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
-    {
-      einfo("%F: macros nested too deeply\n");
-    }
-  file_name_stack[include_stack_ptr] = "redirect";
-  lineno_stack[include_stack_ptr] = lineno;
-  include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
-  include_stack_ptr++;
-  lineno = 1;
-  tmp = yy_create_string_buffer (string, strlen (string));
-  yy_switch_to_buffer (tmp);
-}
-\f
-/* Functions to switch to a different flex start condition,
-   saving the current start condition on `state_stack'.  */
-
-static int state_stack[MAX_INCLUDE_DEPTH * 2];
-static int *state_stack_p = state_stack;
-
-void
-ldlex_script (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (SCRIPT);
-}
-
-void
-ldlex_mri_script (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (MRI);
-}
-
-void
-ldlex_version_script (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (VERS_START);
-}
-
-void
-ldlex_version_file (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (VERS_SCRIPT);
-}
-
-void
-ldlex_defsym (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (DEFSYMEXP);
-}
-
-void
-ldlex_expression (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (EXPRESSION);
-}
-
-void
-ldlex_both (void)
-{
-  *(state_stack_p)++ = yy_start;
-  BEGIN (BOTH);
-}
-
-void
-ldlex_popstate (void)
-{
-  yy_start = *(--state_stack_p);
-}
-\f
-
-/* Place up to MAX_SIZE characters in BUF and return in *RESULT
-   either the number of characters read, or 0 to indicate EOF.  */
-
-static void
-yy_input (char *buf, int *result, int max_size)
-{
-  *result = 0;
-  if (YY_CURRENT_BUFFER->yy_input_file)
-    {
-      if (yyin)
-       {
-         *result = fread (buf, 1, max_size, yyin);
-         if (*result < max_size && ferror (yyin))
-           einfo ("%F%P: read in flex scanner failed\n");
-       }
-    }
-}
-
-/* Eat the rest of a C-style comment.  */
-
-static void
-comment (void)
-{
-  int c;
-
-  while (1)
-  {
-    c = input();
-    while (c != '*' && c != EOF)
-    {
-      if (c == '\n')
-       lineno++;
-      c = input();
-    }
-
-    if (c == '*')
-    {
-      c = input();
-      while (c == '*')
-       c = input();
-      if (c == '/')
-       break;                  /* found the end */
-    }
-
-    if (c == '\n')
-      lineno++;
-
-    if (c == EOF)
-    {
-      einfo( "%F%P: EOF in comment\n");
-      break;
-    }
-  }
-}
-
-/* Warn the user about a garbage character WHAT in the input
-   in context WHERE.  */
-
-static void
-lex_warn_invalid (char *where, char *what)
-{
-  char buf[5];
-
-  /* If we have found an input file whose format we do not recognize,
-     and we are therefore treating it as a linker script, and we find
-     an invalid character, then most likely this is a real object file
-     of some different format.  Treat it as such.  */
-  if (ldfile_assumed_script)
-    {
-      bfd_set_error (bfd_error_file_not_recognized);
-      einfo ("%F%s: file not recognized: %E\n", ldfile_input_filename);
-    }
-
-  if (! ISPRINT (*what))
-    {
-      sprintf (buf, "\\%03o", (unsigned int) *what);
-      what = buf;
-    }
-
-  einfo ("%P:%S: ignoring invalid character `%s'%s\n", what, where);
-}