Home | History | Annotate | Line # | Download | only in ld
      1 
      2 #line 2 "ldlex.c"
      3 
      4 #define  YY_INT_ALIGNED short int
      5 
      6 /* A lexical scanner generated by flex */
      7 
      8 #define FLEX_SCANNER
      9 #define YY_FLEX_MAJOR_VERSION 2
     10 #define YY_FLEX_MINOR_VERSION 6
     11 #define YY_FLEX_SUBMINOR_VERSION 4
     12 #if YY_FLEX_SUBMINOR_VERSION > 0
     13 #define FLEX_BETA
     14 #endif
     15 
     16 /* First, we deal with  platform-specific or compiler-specific issues. */
     17 
     18 /* begin standard C headers. */
     19 #include <stdio.h>
     20 #include <string.h>
     21 #include <errno.h>
     22 #include <stdlib.h>
     23 
     24 /* end standard C headers. */
     25 
     26 /* flex integer type definitions */
     27 
     28 #ifndef FLEXINT_H
     29 #define FLEXINT_H
     30 
     31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
     32 
     33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
     34 
     35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
     36  * if you want the limit (max/min) macros for int types.
     37  */
     38 #ifndef __STDC_LIMIT_MACROS
     39 #define __STDC_LIMIT_MACROS 1
     40 #endif
     41 
     42 #include <inttypes.h>
     43 typedef int8_t flex_int8_t;
     44 typedef uint8_t flex_uint8_t;
     45 typedef int16_t flex_int16_t;
     46 typedef uint16_t flex_uint16_t;
     47 typedef int32_t flex_int32_t;
     48 typedef uint32_t flex_uint32_t;
     49 #else
     50 typedef signed char flex_int8_t;
     51 typedef short int flex_int16_t;
     52 typedef int flex_int32_t;
     53 typedef unsigned char flex_uint8_t;
     54 typedef unsigned short int flex_uint16_t;
     55 typedef unsigned int flex_uint32_t;
     56 
     57 /* Limits of integral types. */
     58 #ifndef INT8_MIN
     59 #define INT8_MIN               (-128)
     60 #endif
     61 #ifndef INT16_MIN
     62 #define INT16_MIN              (-32767-1)
     63 #endif
     64 #ifndef INT32_MIN
     65 #define INT32_MIN              (-2147483647-1)
     66 #endif
     67 #ifndef INT8_MAX
     68 #define INT8_MAX               (127)
     69 #endif
     70 #ifndef INT16_MAX
     71 #define INT16_MAX              (32767)
     72 #endif
     73 #ifndef INT32_MAX
     74 #define INT32_MAX              (2147483647)
     75 #endif
     76 #ifndef UINT8_MAX
     77 #define UINT8_MAX              (255U)
     78 #endif
     79 #ifndef UINT16_MAX
     80 #define UINT16_MAX             (65535U)
     81 #endif
     82 #ifndef UINT32_MAX
     83 #define UINT32_MAX             (4294967295U)
     84 #endif
     85 
     86 #ifndef SIZE_MAX
     87 #define SIZE_MAX               (~(size_t)0)
     88 #endif
     89 
     90 #endif /* ! C99 */
     91 
     92 #endif /* ! FLEXINT_H */
     93 
     94 /* begin standard C++ headers. */
     95 
     96 /* TODO: this is always defined, so inline it */
     97 #define yyconst const
     98 
     99 #if defined(__GNUC__) && __GNUC__ >= 3
    100 #define yynoreturn __attribute__((__noreturn__))
    101 #else
    102 #define yynoreturn
    103 #endif
    104 
    105 /* Returned upon end-of-file. */
    106 #define YY_NULL 0
    107 
    108 /* Promotes a possibly negative, possibly signed char to an
    109  *   integer in range [0..255] for use as an array index.
    110  */
    111 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
    112 
    113 /* Enter a start condition.  This macro really ought to take a parameter,
    114  * but we do it the disgusting crufty way forced on us by the ()-less
    115  * definition of BEGIN.
    116  */
    117 #define BEGIN (yy_start) = 1 + 2 *
    118 /* Translate the current start state into a value that can be later handed
    119  * to BEGIN to return to the state.  The YYSTATE alias is for lex
    120  * compatibility.
    121  */
    122 #define YY_START (((yy_start) - 1) / 2)
    123 #define YYSTATE YY_START
    124 /* Action number for EOF rule of a given start state. */
    125 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
    126 /* Special action meaning "start processing a new file". */
    127 #define YY_NEW_FILE yyrestart( yyin  )
    128 #define YY_END_OF_BUFFER_CHAR 0
    129 
    130 /* Size of default input buffer. */
    131 #ifndef YY_BUF_SIZE
    132 #ifdef __ia64__
    133 /* On IA-64, the buffer size is 16k, not 8k.
    134  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
    135  * Ditto for the __ia64__ case accordingly.
    136  */
    137 #define YY_BUF_SIZE 32768
    138 #else
    139 #define YY_BUF_SIZE 16384
    140 #endif /* __ia64__ */
    141 #endif
    142 
    143 /* The state buf must be large enough to hold one state per character in the main buffer.
    144  */
    145 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
    146 
    147 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
    148 #define YY_TYPEDEF_YY_BUFFER_STATE
    149 typedef struct yy_buffer_state *YY_BUFFER_STATE;
    150 #endif
    151 
    152 #ifndef YY_TYPEDEF_YY_SIZE_T
    153 #define YY_TYPEDEF_YY_SIZE_T
    154 typedef size_t yy_size_t;
    155 #endif
    156 
    157 extern int yyleng;
    158 
    159 extern FILE *yyin, *yyout;
    160 
    161 #define EOB_ACT_CONTINUE_SCAN 0
    162 #define EOB_ACT_END_OF_FILE 1
    163 #define EOB_ACT_LAST_MATCH 2
    164 
    165     #define YY_LESS_LINENO(n)
    166     #define YY_LINENO_REWIND_TO(ptr)
    167 
    168 /* Return all but the first "n" matched characters back to the input stream. */
    169 #define yyless(n) \
    170 	do \
    171 		{ \
    172 		/* Undo effects of setting up yytext. */ \
    173         int yyless_macro_arg = (n); \
    174         YY_LESS_LINENO(yyless_macro_arg);\
    175 		*yy_cp = (yy_hold_char); \
    176 		YY_RESTORE_YY_MORE_OFFSET \
    177 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
    178 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    179 		} \
    180 	while ( 0 )
    181 #define unput(c) yyunput( c, (yytext_ptr)  )
    182 
    183 #ifndef YY_STRUCT_YY_BUFFER_STATE
    184 #define YY_STRUCT_YY_BUFFER_STATE
    185 struct yy_buffer_state
    186 	{
    187 	FILE *yy_input_file;
    188 
    189 	char *yy_ch_buf;		/* input buffer */
    190 	char *yy_buf_pos;		/* current position in input buffer */
    191 
    192 	/* Size of input buffer in bytes, not including room for EOB
    193 	 * characters.
    194 	 */
    195 	int yy_buf_size;
    196 
    197 	/* Number of characters read into yy_ch_buf, not including EOB
    198 	 * characters.
    199 	 */
    200 	int yy_n_chars;
    201 
    202 	/* Whether we "own" the buffer - i.e., we know we created it,
    203 	 * and can realloc() it to grow it, and should free() it to
    204 	 * delete it.
    205 	 */
    206 	int yy_is_our_buffer;
    207 
    208 	/* Whether this is an "interactive" input source; if so, and
    209 	 * if we're using stdio for input, then we want to use getc()
    210 	 * instead of fread(), to make sure we stop fetching input after
    211 	 * each newline.
    212 	 */
    213 	int yy_is_interactive;
    214 
    215 	/* Whether we're considered to be at the beginning of a line.
    216 	 * If so, '^' rules will be active on the next match, otherwise
    217 	 * not.
    218 	 */
    219 	int yy_at_bol;
    220 
    221     int yy_bs_lineno; /**< The line count. */
    222     int yy_bs_column; /**< The column count. */
    223 
    224 	/* Whether to try to fill the input buffer when we reach the
    225 	 * end of it.
    226 	 */
    227 	int yy_fill_buffer;
    228 
    229 	int yy_buffer_status;
    230 
    231 #define YY_BUFFER_NEW 0
    232 #define YY_BUFFER_NORMAL 1
    233 	/* When an EOF's been seen but there's still some text to process
    234 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
    235 	 * shouldn't try reading from the input source any more.  We might
    236 	 * still have a bunch of tokens to match, though, because of
    237 	 * possible backing-up.
    238 	 *
    239 	 * When we actually see the EOF, we change the status to "new"
    240 	 * (via yyrestart()), so that the user can continue scanning by
    241 	 * just pointing yyin at a new input file.
    242 	 */
    243 #define YY_BUFFER_EOF_PENDING 2
    244 
    245 	};
    246 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
    247 
    248 /* Stack of input buffers. */
    249 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
    250 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
    251 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
    252 
    253 /* We provide macros for accessing buffer states in case in the
    254  * future we want to put the buffer states in a more general
    255  * "scanner state".
    256  *
    257  * Returns the top of the stack, or NULL.
    258  */
    259 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
    260                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
    261                           : NULL)
    262 /* Same as previous macro, but useful when we know that the buffer stack is not
    263  * NULL or when we need an lvalue. For internal use only.
    264  */
    265 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
    266 
    267 /* yy_hold_char holds the character lost when yytext is formed. */
    268 static char yy_hold_char;
    269 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
    270 int yyleng;
    271 
    272 /* Points to current character in buffer. */
    273 static char *yy_c_buf_p = NULL;
    274 static int yy_init = 0;		/* whether we need to initialize */
    275 static int yy_start = 0;	/* start state number */
    276 
    277 /* Flag which is used to allow yywrap()'s to do buffer switches
    278  * instead of setting up a fresh yyin.  A bit of a hack ...
    279  */
    280 static int yy_did_buffer_switch_on_eof;
    281 
    282 void yyrestart ( FILE *input_file  );
    283 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
    284 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
    285 void yy_delete_buffer ( YY_BUFFER_STATE b  );
    286 void yy_flush_buffer ( YY_BUFFER_STATE b  );
    287 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
    288 void yypop_buffer_state ( void );
    289 
    290 static void yyensure_buffer_stack ( void );
    291 static void yy_load_buffer_state ( void );
    292 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
    293 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
    294 
    295 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
    296 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
    297 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
    298 
    299 void *yyalloc ( yy_size_t  );
    300 void *yyrealloc ( void *, yy_size_t  );
    301 void yyfree ( void *  );
    302 
    303 #define yy_new_buffer yy_create_buffer
    304 #define yy_set_interactive(is_interactive) \
    305 	{ \
    306 	if ( ! YY_CURRENT_BUFFER ){ \
    307         yyensure_buffer_stack (); \
    308 		YY_CURRENT_BUFFER_LVALUE =    \
    309             yy_create_buffer( yyin, YY_BUF_SIZE ); \
    310 	} \
    311 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
    312 	}
    313 #define yy_set_bol(at_bol) \
    314 	{ \
    315 	if ( ! YY_CURRENT_BUFFER ){\
    316         yyensure_buffer_stack (); \
    317 		YY_CURRENT_BUFFER_LVALUE =    \
    318             yy_create_buffer( yyin, YY_BUF_SIZE ); \
    319 	} \
    320 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
    321 	}
    322 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
    323 
    324 /* Begin user sect3 */
    325 
    326 #define yywrap() (/*CONSTCOND*/1)
    327 #define YY_SKIP_YYWRAP
    328 typedef flex_uint8_t YY_CHAR;
    329 
    330 FILE *yyin = NULL, *yyout = NULL;
    331 
    332 typedef int yy_state_type;
    333 
    334 extern int yylineno;
    335 int yylineno = 1;
    336 
    337 extern char *yytext;
    338 #ifdef yytext_ptr
    339 #undef yytext_ptr
    340 #endif
    341 #define yytext_ptr yytext
    342 
    343 static yy_state_type yy_get_previous_state ( void );
    344 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
    345 static int yy_get_next_buffer ( void );
    346 static void yynoreturn yy_fatal_error ( const char* msg  );
    347 
    348 /* Done after the current pattern has been matched and before the
    349  * corresponding action - sets up yytext.
    350  */
    351 #define YY_DO_BEFORE_ACTION \
    352 	(yytext_ptr) = yy_bp; \
    353 	yyleng = (int) (yy_cp - yy_bp); \
    354 	(yy_hold_char) = *yy_cp; \
    355 	*yy_cp = '\0'; \
    356 	(yy_c_buf_p) = yy_cp;
    357 #define YY_NUM_RULES 200
    358 #define YY_END_OF_BUFFER 201
    359 /* This struct is not used in this scanner,
    360    but its presence is necessary. */
    361 struct yy_trans_info
    362 	{
    363 	flex_int32_t yy_verify;
    364 	flex_int32_t yy_nxt;
    365 	};
    366 static const flex_int16_t yy_accept[1242] =
    367     {   0,
    368         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    369       182,  182,    0,    0,    0,    0,    0,    0,  201,  200,
    370       198,  185,  184,   29,  198,  186,  177,  198,   42,   41,
    371       198,   32,   25,   33,  177,  177,    4,    4,   43,   44,
    372       198,   38,   24,  177,  177,  177,  177,  177,  177,  177,
    373       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    374       177,  198,  123,  121,   40,  198,   39,   28,  185,  200,
    375       177,   42,   41,   25,  200,  177,  200,  177,  199,  185,
    376        29,  199,  186,  180,   35,   26,   42,   41,   31,   32,
    377        25,   33,  180,   34,    4,    4,    4,    4,   43,   44,
    378 
    379        36,   38,   24,   30,  180,  180,  180,  180,  180,  180,
    380       180,  180,  180,  180,  180,  180,  180,  180,  180,   37,
    381        40,   27,   39,   28,  138,   29,  137,  176,   35,   26,
    382        31,  176,   34,    4,    4,    4,    4,   44,   36,   38,
    383        24,   30,  176,  176,  176,  176,  176,  176,  176,  176,
    384       176,  176,  176,  176,  176,    6,    5,   37,  176,  176,
    385       176,  176,  176,  176,  176,  176,  176,  176,  176,   27,
    386        28,  182,   26,  182,  182,  182,  182,   38,  198,  182,
    387       182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    388       182,  182,    6,    5,  182,  198,  193,  192,  187,  194,
    389 
    390       195,  191,  191,  191,  191,  196,  197,  185,    0,  183,
    391       186,  177,    4,   20,   18,   16,   17,    1,   19,    4,
    392         4,    0,    0,    0,  177,  177,  177,  177,  177,  128,
    393       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    394       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    395       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    396       177,  177,  177,  177,  177,  177,  177,   22,  177,  177,
    397        21,    0,  178,  177,   11,  180,    2,   23,   19,    0,
    398         4,    4,    4,    0,    3,    3,    3,    3,    3,   14,
    399        13,   10,   12,   15,  180,  180,  180,    3,  180,  180,
    400 
    401       128,  180,  180,  180,  180,  180,  180,  180,  180,  180,
    402       180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
    403       180,  180,  180,  180,  180,    9,  137,  137,  176,    2,
    404       139,   18,  140,  176,  176,    3,  176,  176,  176,    3,
    405       176,    3,  176,  176,  176,  176,  176,  176,  176,  176,
    406       176,  176,  176,  176,  176,  176,    3,  176,    3,  176,
    407       176,  176,  176,  176,  176,  176,  176,  176,  182,   18,
    408        16,   17,   19,  182,  128,  182,  182,  182,  182,  182,
    409       182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    410       182,   22,  192,  191,    0,  191,  191,  191,    4,    4,
    411 
    412         7,    8,  177,  177,  177,  177,  177,  177,  177,  177,
    413       177,  177,  177,  177,  177,  177,  177,  177,  177,   92,
    414       177,  177,  177,  177,  177,  177,  177,  177,   70,   61,
    415       177,   62,  177,  177,  177,  177,  177,  177,  177,  177,
    416       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    417       177,  177,  124,  122,  179,  178,  177,    4,    0,  180,
    418       180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
    419       180,  180,  180,  180,  180,  180,   61,   62,  180,  180,
    420       180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
    421       180,    4,  176,  176,  176,  176,  176,  141,  176,  176,
    422 
    423       176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
    424       176,  176,  176,  176,  158,  176,  176,  176,  176,  176,
    425       176,  176,  176,  176,  176,  182,  182,  182,  182,  182,
    426       182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    427       182,  182,  182,  182,  191,  191,  191,  177,   57,  177,
    428       177,  177,  177,   51,  177,  177,  177,  177,  177,  177,
    429       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    430       177,  177,  177,   67,  177,  177,  177,  177,  177,  177,
    431       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    432       177,  177,  177,  177,    0,  180,   57,  180,  180,   51,
    433 
    434       180,  180,  115,  180,  180,  180,  180,  180,  116,  180,
    435       180,  180,   67,  180,  180,  180,  180,  180,  180,  180,
    436       180,  180,  180,  180,  117,  176,  176,  176,  146,  154,
    437       145,  176,  176,  176,  156,  149,  152,  176,  176,  157,
    438       176,  176,  176,  176,  176,  163,  171,  162,  176,  176,
    439       174,  166,  169,  176,  176,  175,  176,  176,  182,  182,
    440        99,  182,  182,  182,   88,  182,  182,  182,  134,  182,
    441        97,  182,   95,  182,  182,  108,  182,  191,  191,  191,
    442       177,   86,   53,  177,  177,   50,  177,  177,  177,   65,
    443       177,   94,  177,   76,  177,  177,  177,   75,  177,  177,
    444 
    445       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    446       127,  177,  177,  177,  177,  177,  177,  177,  177,  177,
    447       177,  177,  177,  177,    0,  180,   53,  180,   50,  180,
    448       180,  180,  114,  180,  180,  180,  180,  180,  180,  180,
    449       180,  180,  180,  180,  180,  180,  180,  180,  180,  176,
    450       147,  144,  176,  176,  176,  156,  156,  151,  176,  155,
    451       176,  176,  164,  161,  176,  176,  174,  174,  168,  176,
    452       173,  176,  100,  182,  182,  182,  182,  182,  182,  182,
    453       182,  182,  182,   98,  182,   96,  191,  191,  189,  177,
    454       177,  177,   64,   87,  177,  177,  177,   66,  177,  131,
    455 
    456       177,  177,   85,  177,   52,  177,  177,   45,  177,  177,
    457       177,   48,   74,  177,  177,  177,  177,  177,  177,   71,
    458       177,  177,  177,   93,   72,  177,  177,    0,  180,  180,
    459       180,   64,  180,  180,  180,  131,  180,   52,  180,  180,
    460       180,  112,  180,   48,  180,  180,  180,  180,   71,  180,
    461       180,  176,  176,   66,  153,  176,  150,  176,  176,  176,
    462       172,  170,  167,  176,   64,  182,  182,  182,  131,  182,
    463       182,  182,  182,  182,  182,  182,  190,  188,  177,   59,
    464       177,  177,  177,   78,  177,  177,  126,  177,  177,  177,
    465       177,  177,  102,  177,  177,  105,  132,  177,  177,  177,
    466 
    467       177,  177,  120,   89,  177,   49,  177,    0,  180,   59,
    468       180,  180,  180,   78,  126,  180,  180,  180,  180,  105,
    469       132,  180,  180,  180,  120,  180,  176,  176,  126,  176,
    470       176,  176,  176,  182,  182,  182,  126,  182,  182,  132,
    471       111,  182,  182,   60,  177,  136,  177,  177,  177,  177,
    472       177,   58,   63,  177,  177,  177,  177,  177,  177,  177,
    473        84,  177,  177,  130,  177,    0,   60,  180,  136,  180,
    474        58,   63,  180,  180,  180,  113,  180,  180,  130,  142,
    475       143,  148,  159,  160,  165,  182,  182,  182,  182,  182,
    476       182,  182,  182,  177,  177,  177,  177,  177,  177,  177,
    477 
    478       177,  177,  177,  177,  177,  177,  177,  177,   77,  181,
    479       180,  180,  180,  180,  180,  180,  180,  182,  182,  182,
    480       182,  182,  182,  182,  182,  182,  110,  177,  177,  177,
    481       177,  177,   47,  177,  118,  119,  177,  177,  177,  177,
    482        73,  177,  177,  180,  180,  180,  118,  119,  180,  180,
    483       180,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    484       177,  177,  177,  177,  177,  103,   91,  177,  177,  177,
    485       177,  177,  180,  180,  103,  180,  180,  180,  182,  182,
    486       182,  182,  182,  182,  182,  182,  182,  177,  177,  177,
    487       177,  177,  177,  177,  177,   46,  177,  177,  180,  180,
    488 
    489       180,  180,  180,  180,   80,  182,  135,  182,  182,  182,
    490       182,  182,  106,  177,  177,  177,  177,  177,  177,   90,
    491       177,   69,  177,  180,  180,  180,  180,   69,  180,  182,
    492       182,  182,  182,  182,  182,  177,  177,  177,  177,  177,
    493       177,  177,  104,  133,   68,  180,  180,  180,  180,  104,
    494       133,   68,  182,  182,  101,  133,  182,  182,  177,  177,
    495       177,  177,  177,  177,  177,  180,  180,  180,  180,  182,
    496       182,  182,  182,  129,  177,   56,  177,  177,  177,  177,
    497       129,  180,   56,  180,  182,  182,  182,  182,  177,  177,
    498       177,  177,  177,  180,  180,  182,  182,  107,  182,   54,
    499 
    500       177,  177,  177,  177,   54,  180,  182,  182,  182,  177,
    501       177,  177,  177,  180,  182,  125,  182,  177,  177,  177,
    502       177,  180,  182,  182,  177,  177,  177,  177,  180,   79,
    503       109,   55,  177,   82,  177,   55,   81,  177,  177,   83,
    504         0
    505     } ;
    506 
    507 static const YY_CHAR yy_ec[256] =
    508     {   0,
    509         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
    510         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
    511         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    512         1,    2,    4,    5,    6,    7,    8,    9,    1,   10,
    513        11,   12,   13,   14,   15,   16,   17,   18,   19,   20,
    514        21,   21,   21,   21,   21,   22,   22,   23,   24,   25,
    515        26,   27,   28,    1,   29,   30,   31,   32,   33,   34,
    516        35,   36,   37,   38,   39,   40,   41,   42,   43,   44,
    517        45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
    518        55,   56,   57,   58,   59,    1,   60,   61,   62,   63,
    519 
    520        64,   65,   66,   67,   68,   16,   69,   70,   71,   72,
    521        73,   74,   16,   75,   76,   77,   78,   16,   16,   79,
    522        16,   16,   80,   81,   82,   83,    1,    1,    1,    1,
    523         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    524         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    525         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    526         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    527         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    528         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    529         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    530 
    531         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    532         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    533         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    534         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    535         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    536         1,    1,    1,    1,    1
    537     } ;
    538 
    539 static const YY_CHAR yy_meta[84] =
    540     {   0,
    541         1,    1,    2,    3,    1,    1,    4,    1,    1,    1,
    542         1,    3,    5,    6,    7,    8,    9,   10,   10,   10,
    543        10,   10,    7,    1,    1,    6,    1,    3,   11,   11,
    544        11,   11,   11,   11,    8,   12,    8,    8,    8,    8,
    545         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    546         8,   12,    8,    8,    7,    4,    7,    3,    8,   11,
    547        11,   11,   11,   11,   11,    8,   12,    8,    8,    8,
    548         8,    8,    8,    8,    8,    8,    8,    8,   12,    1,
    549         1,    1,    9
    550     } ;
    551 
    552 static const flex_int16_t yy_base[1266] =
    553     {   0,
    554         0,    0,    0,    0,   83,  165,  247,    0,  330,    0,
    555       413,    0,  115,  117,  496,    0,  579,  662, 2221, 2222,
    556      2222, 2218, 2222, 2222, 2214,    0,  728, 2192, 2222, 2222,
    557      2191, 2190, 2222, 2189,    0,   87,  684,  696, 2222, 2222,
    558      2189, 2222, 2186,   95,   91, 2169,   93,   94,   90, 2165,
    559       107, 2168,  116,  121,  112,  111,  116, 2176,  163, 2179,
    560      2174, 2180, 2141, 2129, 2222, 2177, 2222,    0, 2200, 2196,
    561         0, 2222, 2222, 2222, 2130, 2187,    0, 2151, 2222, 2195,
    562      2170, 2190,    0,  776, 2222,  130, 2222, 2222, 2168, 2167,
    563      2222, 2166,    0,  187,  824,  129,  590,  593, 2222, 2222,
    564 
    565        89, 2165,  175, 2222,  886,  194,  185,  586,  591, 2153,
    566      2147,  171,  169,  194,  193, 2142, 2154,  591, 2133, 2159,
    567      2222,  560, 2222, 2222, 2222, 2158, 2180,  948, 2222,  212,
    568      2156,    0, 2155,    0,  151,    0,    0,    0,  184, 2154,
    569       568, 2222,  996,  617,  661,  577,  668,  669, 2137,  607,
    570      2149, 2131, 2127,  196, 2129, 2222, 2222, 2148,  711,  592,
    571       744,  694,  681,  557, 2113, 2097, 2093,  141, 2095,  611,
    572         0,    0, 2143, 2142, 2141, 2140, 2139,    0, 2137,  606,
    573      2110,  612, 2110, 2124, 2123, 2117, 2125,  657, 2111, 2107,
    574      2122,  686,    0,    0, 2128, 2141, 2222,    0, 2222, 2222,
    575 
    576      2222, 2129,   93,   67,  604, 2222, 2222, 2149, 2145, 2222,
    577         0,    0, 1058, 2222, 2222, 2222, 2222, 2222,    0,  781,
    578      2222,    0, 2123, 2122, 2100, 2114, 2097, 2107, 2096,    0,
    579      2108, 2099, 2097, 2097, 2090, 2103, 2088, 2087, 2091, 2087,
    580      2089, 2099, 2090,  733, 2070, 2086,  678,  539, 2086, 2084,
    581      2073,  662, 2084, 2086, 2074, 2088, 2088, 2076, 2083,  747,
    582      2063, 2083, 2086, 2084, 2066, 2066, 2065, 2222, 2038, 2043,
    583      2222,    0,    0, 2049, 2222,    0, 1112, 2222, 2222, 2070,
    584       577,    0,    0,  704,  780,  782, 2222, 2222,    0, 2080,
    585      2222, 2222, 2222, 2079,  783,  832,  862,    0, 2067, 2056,
    586 
    587         0, 2060, 2058,  726,  881,  924, 2067, 2067,  696, 2056,
    588       704, 2045, 2054, 2043,  781, 2054, 2056, 2059, 2048, 2061,
    589      2054, 2034, 2054, 2056, 2041, 2222, 2081, 2222,    0, 1166,
    590         0,    0,    0,  745,  843,    0, 2046,  884,  895, 2045,
    591      2049, 2032, 2033, 2047, 2030, 2047, 2034, 2042, 2043, 2041,
    592      2042, 2021,  795, 2001,  897,  900, 2000, 2004, 1989, 1990,
    593      1988, 2003, 1991, 1998, 1999, 1997, 1998, 1979,    0,    0,
    594         0,    0,    0,  786,    0, 2008, 2013, 2021, 2022, 2012,
    595      2019,  783, 2017, 2007, 2006, 2004, 2017, 1995, 2001, 1997,
    596      1993,    0,    0, 2018, 2017,  801,  756,  764,    0,  827,
    597 
    598      2222, 2222, 1996, 1992, 2004, 2001, 2002, 1991, 2001, 2001,
    599      1984, 2001, 1992, 1982, 1994, 1997, 1994, 1975, 1991,    0,
    600      1982, 1984, 1971, 1986, 1984, 1982, 1984, 1995,    0,    0,
    601      1971,    0, 1965, 1966, 1971, 1957, 1974, 1964, 1961, 1960,
    602      1955, 1967, 1957, 1954, 1960, 1967, 1968, 1952, 1968, 1956,
    603      1960, 1947,    0,    0,    0,    0, 1951,    0, 1945, 1948,
    604       953, 1955, 1956, 1956, 1956, 1939, 1932, 1955,  957, 1952,
    605      1950, 1941, 1937, 1944, 1946, 1957,    0,    0, 1928, 1929,
    606      1931, 1920, 1937, 1925, 1920, 1937, 1927, 1934, 1935, 1936,
    607      1931,    0, 1920,  840, 1929, 1928, 1916,    0, 1926, 1917,
    608 
    609      1917, 1908, 1923, 1921, 1920, 1912, 1903, 1904, 1907, 1875,
    610       879, 1883, 1882, 1871,    0, 1880, 1872, 1865, 1878, 1876,
    611      1875, 1868, 1860, 1861, 1863, 1897, 1900, 1899, 1884, 1901,
    612      1889, 1888, 1895, 1886, 1876, 1880, 1884, 1887, 1871, 1888,
    613      1886, 1872, 1869, 1887,  655,  587,  876, 1875,    0, 1868,
    614      1871, 1866, 1865,    0, 1871, 1861, 1849, 1865, 1853, 1859,
    615      1856, 1870, 1858, 1868, 1851, 1869, 1850, 1851, 1863, 1847,
    616      1865, 1862, 1846,    0, 1848, 1847, 1830, 1851, 1838, 1846,
    617      1838, 1847, 1840, 1851, 1844, 1847, 1836, 1841, 1829, 1836,
    618      1838, 1841, 1836, 1839, 1840, 1830,    0, 1827, 1822,    0,
    619 
    620      1828, 1818,    0, 1806, 1822, 1815, 1829, 1812,    0, 1812,
    621      1830, 1827,    0, 1814, 1827, 1796, 1817, 1813, 1815, 1808,
    622      1817, 1806, 1811, 1807,    0, 1806, 1798, 1802,    0,    0,
    623         0, 1797, 1813, 1792, 1237,    0,    0, 1794, 1802,    0,
    624      1790, 1806, 1766, 1759, 1762,    0,    0,    0, 1758, 1772,
    625      1319,    0,    0, 1756, 1762,    0, 1752, 1766, 1773, 1780,
    626         0, 1777, 1776, 1774,    0, 1789, 1772, 1772,    0, 1786,
    627         0, 1781,    0, 1771, 1768, 1756, 1782,  825,  900,  889,
    628      1764,    0,  898, 1764, 1778,    0, 1781, 1762, 1775,    0,
    629      1765,    0, 1747,    0, 1753, 1751, 1734,    0, 1711, 1702,
    630 
    631      1692, 1695, 1688, 1646, 1640, 1650, 1622, 1616, 1609, 1624,
    632         0, 1618, 1607, 1612, 1584, 1520, 1527, 1531, 1510, 1521,
    633      1527, 1508, 1512, 1521, 1524, 1503,  931, 1503,    0, 1521,
    634      1502, 1515,    0, 1505, 1514, 1509, 1512, 1510, 1495, 1508,
    635      1502, 1496, 1508, 1504, 1493, 1492, 1499, 1503, 1494, 1481,
    636         0, 1488, 1486, 1479, 1494,    0, 1401,    0, 1494,    0,
    637      1495, 1445,    0, 1451, 1449, 1443,    0, 1483,    0, 1457,
    638         0, 1458,    0, 1469, 1470, 1482, 1482, 1471, 1480, 1447,
    639      1459, 1472, 1456,    0,  840,    0,  805,  921, 1479, 1453,
    640      1466, 1448,    0,    0, 1456, 1463, 1458,    0,  205,    0,
    641 
    642      1453, 1432,    0, 1431,    0,  119,  637,    0,  648,  690,
    643       718,    0,  727,  766,  818,  815,  822,  859,  884,  884,
    644       912,  911,  926,    0,    0,  920,  931,  929,  936,  952,
    645       937,    0,  950,  962,  964,    0,  965,    0,  970,  966,
    646       959,    0,  973,    0,  966,  987,  981,  974,  964,  984,
    647       996,  985,  991,    0,    0, 1002,    0,  989,  961,  966,
    648         0,    0,    0,  963,    0,  992,  983, 1010,    0, 1011,
    649       998,  987, 1014, 1016,  997, 1008, 1029, 1030, 1021,    0,
    650      1018, 1014, 1029,    0, 1022, 1020,    0, 1008, 1019, 1023,
    651      1030, 1025,    0, 1013, 1052,    0, 1014, 1045, 1050, 1036,
    652 
    653      1025, 1049,    0,    0, 1051,    0, 1061, 1063, 1063,    0,
    654      1061, 1052, 1066,    0,    0, 1056, 1063, 1058, 1046,    0,
    655      1047, 1054, 1049, 1073,    0, 1068, 1078, 1080,    0, 1080,
    656      1050, 1052, 1052, 1086, 1081, 1066,    0, 1093, 1078, 1076,
    657         0, 1077, 1095,    0, 1090,    0, 1098, 1099, 1104, 1117,
    658      1103,    0,    0, 1117, 1106, 1108, 1112, 1120, 1117, 1121,
    659         0, 1112, 1127,    0, 1129, 1145,    0, 1115,    0, 1123,
    660         0,    0, 1132, 1120, 1131,    0, 1121, 1136,    0,    0,
    661         0,    0,    0,    0,    0, 1122, 1141, 1144, 1148, 1147,
    662      1146, 1164, 1156, 1154, 1158, 1151, 1145, 1159, 1170, 1170,
    663 
    664      1165, 1178, 1164, 1174, 1175, 1167, 1166, 1186,    0, 2222,
    665      1181, 1185, 1185, 1181, 1183, 1173, 1193, 1180, 1187, 1196,
    666      1186, 1190, 1203, 1204, 1208, 1223,    0, 1194, 1212, 1212,
    667      1212, 1216,    0, 1211,    0,    0, 1223, 1219, 1234, 1238,
    668         0, 1239, 1237, 1211, 1229, 1225,    0,    0, 1241, 1245,
    669      1243, 1230, 1244, 1238, 1242, 1233, 1249, 1245, 1246, 1243,
    670      1248, 1238, 1245, 1229, 1248, 1231,    0, 1262, 1260, 1246,
    671      1248, 1263, 1260, 1250, 1240, 1268, 1255, 1269, 1256, 1273,
    672      1272, 1263, 1270, 1276, 1274, 1262, 1278, 1270, 1254, 1255,
    673      1286, 1273, 1274, 1278, 1299,    0, 1286, 1289, 1294, 1278,
    674 
    675      1290, 1306, 1292, 1295,    0, 1294,    0, 1306, 1306, 1317,
    676      1309, 1293,    0, 1309, 1325, 1326, 1316, 1315, 1316,    0,
    677      1318,    0, 1314, 1318, 1334, 1321, 1323,    0, 1319, 1309,
    678      1310, 1328, 1330, 1332, 1330, 1326, 1336, 1336, 1346, 1341,
    679      1342, 1324,    0,    0,    0, 1335, 1345, 1344, 1354,    0,
    680         0,    0, 1341, 1355,    0,    0, 1357, 1345, 1344, 1356,
    681      1362, 1355, 1356, 1354, 1369, 1356, 1371, 1382, 1376, 1364,
    682      1378, 1377, 1383,    0, 1386,    0, 1376, 1380, 1393, 1390,
    683         0, 1396,    0, 1386, 1392, 1405, 1387, 1393, 1395, 1395,
    684      1408, 1411, 1401, 1400, 1400, 1414, 1410,    0, 1400,    0,
    685 
    686      1388, 1419, 1401, 1407,    0, 1392, 1409, 1406, 1417, 1422,
    687      1408, 1420, 1427, 1427, 1421,    0, 1414, 1421, 1427, 1422,
    688      1437, 1425, 1421, 1416, 1438, 1428, 1430, 1425, 1442,    0,
    689         0,    0, 1433,    0, 1439,    0,    0, 1434, 1436,    0,
    690      2222, 1565, 1577, 1589, 1601, 1613, 1625, 1634, 1643, 1652,
    691      1664, 1673, 1685, 1697, 1707, 1712, 1722, 1725, 1733, 1742,
    692      1745, 1757, 1769, 1781, 1793
    693     } ;
    694 
    695 static const flex_int16_t yy_def[1266] =
    696     {   0,
    697      1242, 1242, 1241,    3, 1243, 1243, 1241,    7, 1241,    9,
    698      1241,   11, 1244, 1244, 1241,   15, 1245, 1245, 1241, 1241,
    699      1241, 1241, 1241, 1241, 1246, 1247, 1248, 1241, 1241, 1241,
    700      1241, 1241, 1241, 1241, 1248, 1248, 1241, 1241, 1241, 1241,
    701      1241, 1241, 1241, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    702      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    703      1248, 1241, 1248, 1248, 1241, 1241, 1241, 1248, 1241, 1246,
    704      1248, 1241, 1241, 1241, 1241, 1248, 1249, 1248, 1241, 1241,
    705      1241, 1246, 1247, 1250, 1241, 1241, 1241, 1241, 1241, 1241,
    706      1241, 1241, 1250, 1241, 1241,   95,   95,   97, 1241, 1241,
    707 
    708      1241, 1241, 1241, 1241, 1250,  105,  105,  105,  105, 1250,
    709      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1241,
    710      1241, 1241, 1241, 1241, 1241, 1241, 1251, 1252, 1241, 1241,
    711      1253, 1252, 1252,   95,   95,   97,   98, 1254, 1241, 1241,
    712      1241, 1241, 1252,  143,  143,  143,  143,  143, 1252, 1252,
    713      1252, 1252, 1252, 1252, 1252, 1241, 1241, 1241,  143,  143,
    714       143,  143,  143, 1252, 1252, 1252, 1252, 1252, 1252, 1241,
    715      1252, 1255, 1241, 1255, 1255, 1255, 1255, 1255, 1241, 1255,
    716      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    717      1255, 1255, 1255, 1255, 1255, 1241, 1241, 1256, 1241, 1241,
    718 
    719      1241, 1257, 1257, 1257, 1257, 1241, 1241, 1241, 1246, 1241,
    720      1247, 1248, 1248, 1241, 1241, 1241, 1241, 1241, 1248, 1241,
    721      1241, 1258, 1241, 1241, 1248, 1248, 1248, 1248, 1248, 1248,
    722      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    723      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    724      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    725      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1241, 1248, 1248,
    726      1241, 1259, 1260, 1248, 1241, 1250, 1250, 1241, 1241, 1241,
    727        95,   97,   98, 1261, 1261, 1261, 1241, 1241, 1258, 1241,
    728      1241, 1241, 1241, 1241,  105,  105,  105, 1250, 1250, 1250,
    729 
    730      1250, 1250, 1250, 1250,  105,  105, 1250, 1250, 1250, 1250,
    731      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    732      1250, 1250, 1250, 1250, 1250, 1241, 1251, 1241, 1252, 1252,
    733      1253, 1253, 1254,  143,  143, 1252, 1252,  143,  143, 1252,
    734      1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
    735      1252, 1252,  143, 1252,  143,  143, 1252, 1252, 1252, 1252,
    736      1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1255, 1255,
    737      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    738      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    739      1255, 1255, 1256, 1257, 1241, 1257, 1257, 1257, 1248, 1258,
    740 
    741      1241, 1241, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    742      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    743      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    744      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    745      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    746      1248, 1248, 1248, 1248, 1259, 1260, 1248, 1250, 1241, 1250,
    747       105, 1250, 1250, 1250, 1250, 1250, 1250, 1250,  105, 1250,
    748      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    749      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    750      1250, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
    751 
    752      1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
    753      1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
    754      1252, 1252, 1252, 1252, 1252, 1255, 1255, 1255, 1255, 1255,
    755      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    756      1255, 1255, 1255, 1255, 1257, 1257, 1257, 1248, 1248, 1248,
    757      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    758      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    759      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    760      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    761      1248, 1248, 1248, 1248, 1241, 1250, 1250, 1250, 1250, 1250,
    762 
    763      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    764      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    765      1250, 1250, 1250, 1250, 1250, 1252, 1252, 1252, 1252, 1252,
    766      1252, 1252, 1252, 1252, 1262, 1252, 1252, 1252, 1252, 1252,
    767      1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
    768      1263, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1255, 1255,
    769      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    770      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1257, 1257, 1257,
    771      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    772      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    773 
    774      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    775      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    776      1248, 1248, 1248, 1248, 1241, 1250, 1250, 1250, 1250, 1250,
    777      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    778      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1252,
    779      1252, 1252, 1252, 1252, 1252, 1264, 1262, 1252, 1252, 1252,
    780      1252, 1252, 1252, 1252, 1252, 1252, 1265, 1263, 1252, 1252,
    781      1252, 1252, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    782      1255, 1255, 1255, 1255, 1255, 1255, 1257, 1257, 1257, 1248,
    783      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    784 
    785      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    786      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    787      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1241, 1250, 1250,
    788      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    789      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    790      1250, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
    791      1252, 1252, 1252, 1252, 1255, 1255, 1255, 1255, 1255, 1255,
    792      1255, 1255, 1255, 1255, 1255, 1255, 1257, 1257, 1248, 1248,
    793      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    794      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    795 
    796      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1241, 1250, 1250,
    797      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    798      1250, 1250, 1250, 1250, 1250, 1250, 1252, 1252, 1252, 1252,
    799      1252, 1252, 1252, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    800      1255, 1255, 1255, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    801      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    802      1248, 1248, 1248, 1248, 1248, 1241, 1250, 1250, 1250, 1250,
    803      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1252,
    804      1252, 1252, 1252, 1252, 1252, 1255, 1255, 1255, 1255, 1255,
    805      1255, 1255, 1255, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    806 
    807      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1241,
    808      1250, 1250, 1250, 1250, 1250, 1250, 1250, 1255, 1255, 1255,
    809      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1248, 1248, 1248,
    810      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    811      1248, 1248, 1248, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
    812      1250, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
    813      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    814      1248, 1248, 1250, 1250, 1250, 1250, 1250, 1250, 1255, 1255,
    815      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1248, 1248, 1248,
    816      1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1250, 1250,
    817 
    818      1250, 1250, 1250, 1250, 1255, 1255, 1255, 1255, 1255, 1255,
    819      1255, 1255, 1255, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    820      1248, 1248, 1248, 1250, 1250, 1250, 1250, 1250, 1250, 1255,
    821      1255, 1255, 1255, 1255, 1255, 1248, 1248, 1248, 1248, 1248,
    822      1248, 1248, 1248, 1248, 1248, 1250, 1250, 1250, 1250, 1250,
    823      1250, 1250, 1255, 1255, 1255, 1255, 1255, 1255, 1248, 1248,
    824      1248, 1248, 1248, 1248, 1248, 1250, 1250, 1250, 1250, 1255,
    825      1255, 1255, 1255, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
    826      1250, 1250, 1250, 1250, 1255, 1255, 1255, 1255, 1248, 1248,
    827      1248, 1248, 1248, 1250, 1250, 1255, 1255, 1255, 1255, 1248,
    828 
    829      1248, 1248, 1248, 1248, 1250, 1250, 1255, 1255, 1255, 1248,
    830      1248, 1248, 1248, 1250, 1255, 1255, 1255, 1248, 1248, 1248,
    831      1248, 1250, 1255, 1255, 1248, 1248, 1248, 1248, 1250, 1255,
    832      1255, 1248, 1248, 1248, 1248, 1250, 1248, 1248, 1248, 1248,
    833         0, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
    834      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
    835      1241, 1241, 1241, 1241, 1241
    836     } ;
    837 
    838 static const flex_int16_t yy_nxt[2306] =
    839     {   0,
    840        21,   22,   23,   24,   25,   26,   27,   21,   28,   29,
    841        30,   31,   32,   33,   34,   35,   36,   37,   38,   38,
    842        38,   38,   39,   40,   41,   42,   43,   21,   44,   45,
    843        46,   47,   48,   49,   50,   51,   52,   35,   35,   53,
    844        54,   55,   56,   57,   35,   58,   59,   60,   35,   61,
    845        35,   35,   35,   35,   21,   35,   21,   62,   35,   35,
    846        35,   35,   35,   35,   35,   35,   35,   35,   35,   63,
    847        35,   35,   64,   35,   35,   35,   35,   35,   35,   65,
    848        66,   67,   68,   20,   69,   23,   20,   70,   20,  395,
    849        20,   20,   72,   73,   20,   20,   74,   75,  218,   76,
    850 
    851        20,   20,   20,   20,   20,   20,   20,   20,   77,   20,
    852        20,   78,  219,  290,  291,  395,   22,   23,   22,   23,
    853        26,  235,   26,  231,  225,  236,  226,  232,  227,  239,
    854       233,  196,  240,  196,  228,  237,  397,   20,  278,   20,
    855        20,  229,  230,  242,  251,  238,  243,  245,  246,  248,
    856       890,  257,  253,  249,  252,  214,  254,  250,  247,  255,
    857       256,  258,   20,   20,   20,   20,   69,   23,   20,   70,
    858        20,  396,   20,   20,   72,   73,   20,   20,   74,   75,
    859       287,   76,   20,   20,   20,   20,   20,   20,   20,   20,
    860        77,   20,   20,   78,  197,  260,  197,  312,  218,  261,
    861 
    862       293,  294,  287,  310,  366,  313,  262,  287,  290,  291,
    863       263,  264,  279,  311,  295,  265,  295,  367,  280,   20,
    864       278,   20,   20,  295,  276,  295,  314,  304,  350,  287,
    865       302,  276,  276,  303,  316,  885,  315,  214,  317,  886,
    866       276,  276,  318,  351,   20,   20,   20,   79,   80,   23,
    867        81,   82,   83,   84,   85,   86,   87,   88,   89,   90,
    868        91,   92,   93,   94,   95,   96,   97,   97,   98,   99,
    869       100,  101,  102,  103,  104,  105,  106,  107,  108,  109,
    870       109,   93,  110,  111,   93,   93,  112,  113,  114,  115,
    871       116,   93,  117,  118,  119,   93,   93,   93,   93,   93,
    872 
    873        93,   79,   93,   79,  120,   93,  109,  109,  109,  109,
    874       109,  109,   93,   93,   93,   93,   93,   93,   93,   93,
    875        93,   93,   93,   93,   93,   93,  121,  122,  123,  124,
    876        21,   22,  125,  126,   21,  127,  128,  129,  130,   29,
    877        30,  131,   32,   33,   34,  132,  133,  134,  135,  136,
    878       136,  137,   39,  138,  139,  140,  141,  142,  143,  144,
    879       145,  146,  147,  148,  132,  132,  149,  132,  132,  150,
    880       132,  151,  152,  153,  132,  132,  154,  155,  132,  132,
    881       132,  132,  132,  132,  156,  132,  157,  158,  132,  159,
    882       160,  161,  146,  162,  163,  132,  132,  132,  132,  164,
    883 
    884       132,  165,  166,  167,  132,  168,  169,  132,  132,   65,
    885       170,   67,  171,   21,   22,   23,  172,   25,   26,  172,
    886        21,  173,   29,   30,  174,  175,  172,  176,  172,  177,
    887       172,  172,  172,  172,  172,  172,   40,   41,  178,  179,
    888       172,  180,  181,  182,  172,  183,  184,  172,  185,  186,
    889       172,  187,  188,  172,  172,  172,  189,  190,  191,  192,
    890       172,  172,  172,  172,  172,  172,  172,  193,  172,  194,
    891       195,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    892       172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    893       172,  172,   65,   66,   67,  172,   21,   22,   23,   21,
    894 
    895        21,   26,  198,   21,   21,   21,   21,   21,   21,  199,
    896        21,  198,  196,   21,   21,   21,   21,   21,  199,  199,
    897        21,   21,   21,   21,  198,  198,  198,  198,  198,  198,
    898       198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
    899       198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
    900        21,   21,   21,   21,  198,  198,  198,  198,  198,  198,
    901       198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
    902       198,  198,  198,  198,  198,  200,   21,  201,   21,   21,
    903        22,   23,  429,   25,   26,  271,   21,   21,   21,   21,
    904       430,   21,  199,  293,  294,  196,   21,   21,   21,   21,
    905 
    906        21,  199,  199,   21,   21,   21,  334,  282,  282,  395,
    907       283,  283,  283,  283,  305,  295,  329,  295,  306,  284,
    908       295,  334,  295,  321,  361,  276,  395,  322,  287,  362,
    909       276,  329,  307,  276,  323, 1241,  271,  276,  276,  324,
    910       326,  287,  203,  345,  204,  338,  334,  679,  205,  346,
    911       284,  355,  374,  375,  377,  287,  329,  378,  206,   21,
    912       207,   21,   21,   22,   23, 1241,   25,   26,  287,   21,
    913        21,   21,   21,  891,   21,  199,  398,  395,  196,   21,
    914        21,   21,   21,   21,  199,  199,   21,   21,   21,  339,
    915       334,  326,  434,  384,  892,  435,  340,  334,  334,  385,
    916 
    917       329,  220,  220,  220,  220,  220,  427,  329,  329,  341,
    918       334,  343,  428,  220,  220,  220,  220,  220,  678,  342,
    919       329,  389,  221,  334,  221,  203,  472,  204,  390,  473,
    920       391,  205,  475,  329,  221,  222,  221,  893,  476,  287,
    921       334,  206,   21,  207,   21,  213,  213,  213,  213,  213,
    922       329,  894,  221,  360,  221,  287,  213,  213,  213,  213,
    923       213,  213,  222,  421,  221,  358,  221,  466,  422,  467,
    924       287,  353,  359,  334,  334,  443,  423,  444,  395,  424,
    925       354,  445,  287,  329,  329,  895,  395,  213,  213,  213,
    926       213,  213,  213,  277,  277,  277,  277,  277,  220,  220,
    927 
    928       220,  220,  220,  356,  277,  277,  277,  277,  277,  277,
    929       357,  480,  295,  534,  295,  287,  526,  287,  896,  221,
    930       481,  221,  276,  395,  334,  547,  535,  395,  546,  276,
    931       276,  287,  527,  287,  329,  277,  277,  277,  277,  277,
    932       277,  281,  281,  282,  282,  283,  287,  395,  287,  221,
    933       897,  221,  284,  285,  284,  286,  284,  284,  287,  287,
    934       287,  295,  221,  295,  221,  221,  288,  221,  627,  875,
    935       510,  276,  334,  898,  628,  289,  877,  545,  460,  276,
    936       899,  876,  329,  284,  285,  284,  286,  284,  284,  493,
    937       287,  295,  221,  461,  221,  221,  288,  221,  395,  787,
    938 
    939       900,  276,  289,  295,  295,  295,  295,  295,  276,  276,
    940       295,  395,  295,  334,  295,  296,  295,  297,  295,  295,
    941       276,  298,  395,  329,  334,  299,  334,  276,  468,  334,
    942       495,  901,  300,  301,  329,  680,  329,  298,  644,  329,
    943       791,  496,  902,  395,  645,  295,  295,  295,  295,  295,
    944       295,  903,  298,  295,  904,  295,  792,  469,  789,  788,
    945       905,  906,  907,  276,  298,  330,  330,  330,  330,  330,
    946       276,  276,  512,  830,  908,  513,  330,  330,  330,  330,
    947       330,  330,  295,  909,  295,  910,  295,  911,  295,  831,
    948       878,  912,  276,  605,  913,  914,  276,  915,  597,  276,
    949 
    950       276,  916,  917,  276,  276,  918,  919,  330,  330,  330,
    951       330,  330,  330,  334,  334,  334,  334,  334,  920,  921,
    952       922,  923,  924,  925,  334,  335,  334,  334,  334,  334,
    953       926,  336,  927,  928,  929,  337,  930,  931,  932,  933,
    954       934,  935,  936,  937,  938,  939,  940,  336,  941,  942,
    955       943,  395,  395,  944,  945,  334,  334,  334,  334,  334,
    956       334,  946,  336,  947,  948,  949,  950,  951,  952,  953,
    957       954,  955,  958,  959,  336,  213,  213,  213,  213,  213,
    958       956,  960,  961,  962,  963,  957,  213,  213,  213,  213,
    959       213,  213,  964,  965,  966,  967,  399,  968,  399,  969,
    960 
    961       970,  971,  972,  973,  974,  975,  976,  977,  978,  979,
    962       980,  981,  982,  983,  984,  985,  986,  213,  213,  213,
    963       213,  213,  213,  987,  988,  989,  399,  990,  399,  277,
    964       277,  277,  277,  277,  991,  992,  993,  994,  995,  996,
    965       277,  277,  277,  277,  277,  277,  997,  998,  999, 1000,
    966       458, 1001,  458, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
    967      1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
    968      1019,  277,  277,  277,  277,  277,  277, 1020, 1021, 1022,
    969       458, 1023,  458,  330,  330,  330,  330,  330, 1027, 1028,
    970      1029, 1030, 1024, 1031,  330,  330,  330,  330,  330,  330,
    971 
    972      1025, 1032, 1033, 1034,  492, 1026,  492, 1035, 1037, 1038,
    973      1039, 1040, 1041, 1042, 1043, 1036, 1044, 1045, 1046, 1049,
    974      1050, 1051, 1052, 1047, 1053,  330,  330,  330,  330,  330,
    975       330, 1048, 1054, 1055,  492, 1056,  492,  756,  756, 1057,
    976       756,  756,  756, 1058,  756,  756,  756,  756,  756, 1059,
    977       756, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068,
    978       756,  756,  756,  756,  756, 1069, 1070, 1071, 1072, 1073,
    979      1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
    980      1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
    981      1094, 1095, 1096, 1097,  756, 1098, 1099, 1100, 1101, 1102,
    982 
    983      1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
    984      1113, 1114, 1115, 1116, 1117, 1118,  756,  756,  756,  767,
    985       767, 1119,  767,  767,  767, 1120,  767,  767,  767,  767,
    986       767, 1121,  767, 1122, 1123, 1124, 1125, 1126, 1127, 1128,
    987      1129, 1130,  767,  767,  767,  767,  767, 1131, 1132, 1133,
    988      1134, 1135, 1136, 1137, 1140, 1141, 1142, 1138, 1143, 1144,
    989      1145, 1146, 1147, 1150, 1151, 1152, 1148, 1153, 1154, 1155,
    990      1139, 1156, 1157, 1158, 1159, 1160,  767, 1161, 1162, 1149,
    991      1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172,
    992      1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180,  767,  767,
    993 
    994       767,  756,  756, 1181,  756,  756,  756, 1182,  756,  756,
    995       756,  756,  756, 1183,  756, 1184, 1185, 1186, 1187, 1188,
    996      1189, 1190, 1191, 1192,  756,  756,  756,  756,  756, 1193,
    997      1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
    998      1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,
    999      1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,  756, 1222,
   1000      1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
   1001      1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,  889,  888,
   1002       756,  756,  756,  767,  767,  887,  767,  767,  767,  884,
   1003       767,  767,  767,  767,  767,  883,  767,  882,  881,  880,
   1004 
   1005       879,  395,  874,  873,  872,  871,  767,  767,  767,  767,
   1006       767,  870,  869,  868,  867,  866,  865,  864,  863,  862,
   1007       861,  860,  859,  858,  857,  856,  855,  854,  853,  852,
   1008       851,  850,  849,  848,  847,  846,  845,  844,  843,  842,
   1009       767,  841,  840,  839,  838,  837,  836,  835,  834,  833,
   1010       832,  829,  828,  827,  826,  825,  824,  823,  822,  821,
   1011       820,  819,  767,  767,  767,   20,   20,   20,   20,   20,
   1012        20,   20,   20,   20,   20,   20,   20,   71,   71,   71,
   1013        71,   71,   71,   71,   71,   71,   71,   71,   71,   21,
   1014        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
   1015 
   1016        21,  202,  202,  202,  202,  202,  202,  202,  202,  202,
   1017       202,  202,  202,  209,  209,  209,  209,  209,  209,  209,
   1018       209,  209,  209,  209,  209,  211,  818,  211,  211,  211,
   1019       211,  211,  211,  211,  211,  211,  211,  212,  212,  212,
   1020       212,  212,  212,  212,  212,  212,  273,  817,  816,  815,
   1021       273,  273,  814,  273,  273,  276,  813,  812,  811,  276,
   1022       276,  276,  276,  276,  327,  327,  327,  327,  327,  327,
   1023       327,  327,  327,  327,  327,  327,  329,  329,  810,  329,
   1024       329,  329,  329,  329,  329,  331,  809,  331,  331,  331,
   1025       331,  331,  331,  331,  331,  331,  331,  333,  808,  333,
   1026 
   1027       333,  333,  333,  333,  333,  333,  333,  333,  333,  369,
   1028       369,  369,  369,  369,  369,  369,  369,  369,  369,  393,
   1029       807,  393,  393,  393,  394,  394,  806,  805,  394,  394,
   1030       804,  394,  394,  394,  400,  400,  455,  455,  455,  455,
   1031       455,  455,  455,  455,  455,  456,  456,  456,  456,  456,
   1032       456,  456,  456,  456,  284,  284,  284,  757,  803,  757,
   1033       757,  757,  757,  757,  757,  757,  757,  757,  757,  768,
   1034       802,  768,  768,  768,  768,  768,  768,  768,  768,  768,
   1035       768,  756,  801,  756,  756,  756,  756,  756,  756,  756,
   1036       756,  756,  756,  767,  800,  767,  767,  767,  767,  767,
   1037 
   1038       767,  767,  767,  767,  767,  799,  798,  797,  796,  795,
   1039       794,  793,  790,  786,  785,  784,  783,  782,  781,  780,
   1040       779,  778,  777,  776,  775,  774,  773,  772,  771,  770,
   1041       769,  766,  765,  764,  763,  762,  761,  760,  759,  758,
   1042       755,  754,  753,  752,  751,  750,  749,  748,  747,  746,
   1043       745,  744,  743,  742,  741,  740,  739,  738,  737,  736,
   1044       735,  734,  733,  732,  731,  730,  729,  728,  727,  726,
   1045       725,  724,  723,  722,  721,  720,  719,  718,  717,  716,
   1046       715,  714,  713,  712,  711,  710,  709,  708,  707,  706,
   1047       705,  704,  703,  702,  701,  700,  699,  698,  697,  696,
   1048 
   1049       695,  694,  693,  692,  691,  690,  689,  688,  687,  686,
   1050       685,  684,  683,  682,  681,  677,  676,  675,  674,  673,
   1051       672,  671,  670,  669,  668,  667,  666,  665,  664,  663,
   1052       662,  661,  660,  659,  658,  657,  656,  655,  654,  653,
   1053       652,  651,  650,  649,  648,  647,  646,  643,  642,  641,
   1054       640,  639,  638,  637,  636,  635,  634,  633,  632,  631,
   1055       630,  629,  626,  625,  624,  623,  622,  621,  620,  619,
   1056       618,  617,  616,  615,  614,  613,  612,  611,  610,  609,
   1057       608,  607,  606,  604,  603,  602,  601,  600,  599,  598,
   1058       596,  595,  594,  593,  592,  591,  590,  589,  588,  587,
   1059 
   1060       586,  585,  584,  583,  582,  581,  580,  579,  578,  577,
   1061       576,  575,  574,  573,  572,  571,  570,  569,  568,  567,
   1062       566,  565,  564,  563,  562,  561,  560,  559,  558,  557,
   1063       556,  555,  554,  553,  552,  551,  550,  549,  548,  394,
   1064       395,  544,  543,  542,  541,  540,  539,  538,  537,  536,
   1065       533,  532,  531,  530,  529,  528,  525,  524,  523,  522,
   1066       521,  520,  519,  518,  517,  516,  515,  514,  511,  509,
   1067       508,  507,  506,  505,  504,  503,  502,  501,  500,  499,
   1068       498,  497,  494,  328,  491,  490,  489,  488,  487,  486,
   1069       485,  484,  483,  482,  479,  478,  477,  474,  471,  470,
   1070 
   1071       465,  464,  463,  462,  402,  401,  459,  457,  454,  453,
   1072       452,  451,  450,  449,  448,  447,  446,  442,  441,  440,
   1073       439,  438,  437,  436,  433,  432,  431,  426,  425,  420,
   1074       419,  418,  417,  416,  415,  414,  413,  412,  411,  410,
   1075       409,  408,  407,  406,  405,  404,  403,  402,  401,  210,
   1076       208,  395,  218,  392,  388,  387,  386,  383,  382,  381,
   1077       380,  379,  376,  224,  373,  372,  371,  370,  214,  368,
   1078       365,  364,  363,  268,  352,  349,  348,  347,  344,  292,
   1079       279,  332,  328,  275,  268,  325,  320,  319,  309,  308,
   1080       292,  217,  216,  215,  210,  275,  208,  274,  218,  272,
   1081 
   1082       210,  208,  271,  270,  269,  268,  267,  266,  259,  244,
   1083       241,  234,  224,  223,  217,  216,  215,  214,  210,  208,
   1084      1241,   19, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1085      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1086      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1087      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1088      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1089      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1090      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1091      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1092 
   1093      1241, 1241, 1241, 1241, 1241
   1094     } ;
   1095 
   1096 static const flex_int16_t yy_chk[2306] =
   1097     {   0,
   1098         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1099         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1100         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1101         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1102         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1103         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1104         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1105         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
   1106         3,    3,    3,    5,    5,    5,    5,    5,    5,  204,
   1107         5,    5,    5,    5,    5,    5,    5,    5,   36,    5,
   1108 
   1109         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
   1110         5,    5,   36,  101,  101,  203,   13,   13,   14,   14,
   1111        13,   47,   14,   45,   44,   47,   44,   45,   44,   49,
   1112        45,   13,   49,   14,   44,   48,  204,    5,   86,    5,
   1113         5,   44,   44,   51,   55,   48,   51,   53,   53,   54,
   1114       806,   57,   56,   54,   55,   86,   56,   54,   53,   56,
   1115        56,   57,    5,    5,    5,    6,    6,    6,    6,    6,
   1116         6,  203,    6,    6,    6,    6,    6,    6,    6,    6,
   1117        96,    6,    6,    6,    6,    6,    6,    6,    6,    6,
   1118         6,    6,    6,    6,   13,   59,   14,  113,   94,   59,
   1119 
   1120       103,  103,  135,  112,  168,  113,   59,   96,  139,  139,
   1121        59,   59,   94,  112,  107,   59,  107,  168,   94,    6,
   1122       130,    6,    6,  106,  107,  106,  114,  107,  154,  135,
   1123       106,  107,  107,  106,  115,  799,  114,  130,  115,  799,
   1124       106,  106,  115,  154,    6,    6,    6,    7,    7,    7,
   1125         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1126         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1127         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1128         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1129         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1130 
   1131         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1132         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1133         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
   1134         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1135         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1136         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1137         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1138         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1139         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1140         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1141 
   1142         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
   1143         9,    9,    9,   11,   11,   11,   11,   11,   11,   11,
   1144        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1145        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1146        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1147        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1148        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1149        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1150        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
   1151        11,   11,   11,   11,   11,   11,   15,   15,   15,   15,
   1152 
   1153        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1154        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1155        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1156        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1157        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1158        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1159        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
   1160        15,   15,   15,   15,   15,   15,   15,   15,   15,   17,
   1161        17,   17,  248,   17,   17,  122,   17,   17,   17,   17,
   1162       248,   17,   17,  141,  141,   17,   17,   17,   17,   17,
   1163 
   1164        17,   17,   17,   17,   17,   17,  146,   97,   97,  546,
   1165        98,   98,   98,   98,  108,  108,  146,  108,  108,   97,
   1166       109,  160,  109,  118,  164,  108,  205,  118,  281,  164,
   1167       109,  160,  108,  108,  118,   98,  170,  109,  109,  118,
   1168       122,   97,   17,  150,   17,  144,  144,  546,   17,  150,
   1169        97,  160,  180,  180,  182,  281,  144,  182,   17,   17,
   1170        17,   17,   18,   18,   18,   98,   18,   18,   97,   18,
   1171        18,   18,   18,  807,   18,   18,  205,  545,   18,   18,
   1172        18,   18,   18,   18,   18,   18,   18,   18,   18,  145,
   1173       145,  170,  252,  188,  809,  252,  145,  147,  148,  188,
   1174 
   1175       145,   37,   37,   37,   37,   37,  247,  147,  148,  147,
   1176       163,  148,  247,   38,   38,   38,   38,   38,  545,  147,
   1177       163,  192,   37,  162,   37,   18,  309,   18,  192,  309,
   1178       192,   18,  311,  162,   38,   37,   38,  810,  311,  284,
   1179       159,   18,   18,   18,   18,   27,   27,   27,   27,   27,
   1180       159,  811,   37,  163,   37,  284,   27,   27,   27,   27,
   1181        27,   27,   37,  244,   38,  162,   38,  304,  244,  304,
   1182       284,  159,  162,  161,  334,  260,  244,  260,  397,  244,
   1183       159,  260,  284,  161,  334,  813,  398,   27,   27,   27,
   1184        27,   27,   27,   84,   84,   84,   84,   84,  220,  220,
   1185 
   1186       220,  220,  220,  161,   84,   84,   84,   84,   84,   84,
   1187       161,  315,  295,  382,  295,  285,  374,  286,  814,  220,
   1188       315,  220,  295,  396,  353,  398,  382,  787,  397,  295,
   1189       295,  285,  374,  286,  353,   84,   84,   84,   84,   84,
   1190        84,   95,   95,   95,   95,   95,  285,  678,  286,  220,
   1191       815,  220,   95,   95,   95,   95,   95,   95,  285,   95,
   1192       286,  296,   95,  296,   95,  400,   95,  400,  494,  785,
   1193       353,  296,  335,  816,  494,   95,  787,  396,  296,  296,
   1194       817,  785,  335,   95,   95,   95,   95,   95,   95,  335,
   1195        95,  297,   95,  297,   95,  400,   95,  400,  547,  678,
   1196 
   1197       818,  297,   95,  105,  105,  105,  105,  105,  297,  297,
   1198       305,  680,  305,  338,  105,  105,  105,  105,  105,  105,
   1199       305,  105,  679,  338,  339,  105,  355,  305,  305,  356,
   1200       338,  819,  105,  105,  339,  547,  355,  105,  511,  356,
   1201       683,  339,  820,  788,  511,  105,  105,  105,  105,  105,
   1202       105,  821,  105,  306,  822,  306,  683,  306,  680,  679,
   1203       823,  826,  827,  306,  105,  128,  128,  128,  128,  128,
   1204       306,  306,  355,  727,  828,  356,  128,  128,  128,  128,
   1205       128,  128,  461,  829,  461,  830,  469,  831,  469,  727,
   1206       788,  833,  461,  469,  834,  835,  469,  837,  461,  461,
   1207 
   1208       461,  839,  840,  469,  469,  841,  843,  128,  128,  128,
   1209       128,  128,  128,  143,  143,  143,  143,  143,  845,  846,
   1210       847,  848,  849,  850,  143,  143,  143,  143,  143,  143,
   1211       851,  143,  852,  853,  856,  143,  858,  859,  860,  864,
   1212       866,  867,  868,  870,  871,  872,  873,  143,  874,  875,
   1213       876,  877,  878,  879,  881,  143,  143,  143,  143,  143,
   1214       143,  882,  143,  883,  885,  886,  888,  889,  890,  891,
   1215       892,  894,  897,  898,  143,  213,  213,  213,  213,  213,
   1216       895,  899,  900,  901,  902,  895,  213,  213,  213,  213,
   1217       213,  213,  905,  907,  908,  909,  213,  911,  213,  912,
   1218 
   1219       913,  916,  917,  918,  919,  921,  922,  923,  924,  926,
   1220       927,  928,  930,  931,  932,  933,  934,  213,  213,  213,
   1221       213,  213,  213,  935,  936,  938,  213,  939,  213,  277,
   1222       277,  277,  277,  277,  940,  942,  943,  945,  947,  948,
   1223       277,  277,  277,  277,  277,  277,  949,  950,  951,  954,
   1224       277,  955,  277,  956,  957,  958,  959,  960,  962,  963,
   1225       965,  966,  968,  970,  973,  974,  975,  977,  978,  986,
   1226       987,  277,  277,  277,  277,  277,  277,  988,  989,  990,
   1227       277,  991,  277,  330,  330,  330,  330,  330,  993,  994,
   1228       995,  996,  992,  997,  330,  330,  330,  330,  330,  330,
   1229 
   1230       992,  998,  999, 1000,  330,  992,  330, 1001, 1002, 1003,
   1231      1004, 1005, 1006, 1007, 1008, 1001, 1011, 1012, 1013, 1015,
   1232      1016, 1017, 1018, 1014, 1019,  330,  330,  330,  330,  330,
   1233       330, 1014, 1020, 1021,  330, 1022,  330,  635,  635, 1023,
   1234       635,  635,  635, 1024,  635,  635,  635,  635,  635, 1025,
   1235       635, 1026, 1028, 1029, 1030, 1031, 1032, 1034, 1037, 1038,
   1236       635,  635,  635,  635,  635, 1039, 1040, 1042, 1043, 1044,
   1237      1045, 1046, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056,
   1238      1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066,
   1239      1068, 1069, 1070, 1071,  635, 1072, 1073, 1074, 1075, 1076,
   1240 
   1241      1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
   1242      1087, 1088, 1089, 1090, 1091, 1092,  635,  635,  635,  651,
   1243       651, 1093,  651,  651,  651, 1094,  651,  651,  651,  651,
   1244       651, 1095,  651, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
   1245      1104, 1106,  651,  651,  651,  651,  651, 1108, 1109, 1110,
   1246      1111, 1112, 1114, 1115, 1116, 1117, 1118, 1115, 1119, 1121,
   1247      1123, 1124, 1125, 1126, 1127, 1129, 1125, 1130, 1131, 1132,
   1248      1115, 1133, 1134, 1135, 1136, 1137,  651, 1138, 1139, 1125,
   1249      1140, 1141, 1142, 1146, 1147, 1148, 1149, 1153, 1154, 1157,
   1250      1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165,  651,  651,
   1251 
   1252       651,  757,  757, 1166,  757,  757,  757, 1167,  757,  757,
   1253       757,  757,  757, 1168,  757, 1169, 1170, 1171, 1172, 1173,
   1254      1175, 1177, 1178, 1179,  757,  757,  757,  757,  757, 1180,
   1255      1182, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
   1256      1193, 1194, 1195, 1196, 1197, 1199, 1201, 1202, 1203, 1204,
   1257      1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,  757, 1214,
   1258      1215, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225,
   1259      1226, 1227, 1228, 1229, 1233, 1235, 1238, 1239,  804,  802,
   1260       757,  757,  757,  768,  768,  801,  768,  768,  768,  797,
   1261       768,  768,  768,  768,  768,  796,  768,  795,  792,  791,
   1262 
   1263       790,  789,  783,  782,  781,  780,  768,  768,  768,  768,
   1264       768,  779,  778,  777,  776,  775,  774,  772,  770,  766,
   1265       765,  764,  762,  761,  759,  755,  754,  753,  752,  750,
   1266       749,  748,  747,  746,  745,  744,  743,  742,  741,  740,
   1267       768,  739,  738,  737,  736,  735,  734,  732,  731,  730,
   1268       728,  726,  725,  724,  723,  722,  721,  720,  719,  718,
   1269       717,  716,  768,  768,  768, 1242, 1242, 1242, 1242, 1242,
   1270      1242, 1242, 1242, 1242, 1242, 1242, 1242, 1243, 1243, 1243,
   1271      1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1244,
   1272      1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
   1273 
   1274      1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
   1275      1245, 1245, 1245, 1246, 1246, 1246, 1246, 1246, 1246, 1246,
   1276      1246, 1246, 1246, 1246, 1246, 1247,  715, 1247, 1247, 1247,
   1277      1247, 1247, 1247, 1247, 1247, 1247, 1247, 1248, 1248, 1248,
   1278      1248, 1248, 1248, 1248, 1248, 1248, 1249,  714,  713,  712,
   1279      1249, 1249,  710, 1249, 1249, 1250,  709,  708,  707, 1250,
   1280      1250, 1250, 1250, 1250, 1251, 1251, 1251, 1251, 1251, 1251,
   1281      1251, 1251, 1251, 1251, 1251, 1251, 1252, 1252,  706, 1252,
   1282      1252, 1252, 1252, 1252, 1252, 1253,  705, 1253, 1253, 1253,
   1283      1253, 1253, 1253, 1253, 1253, 1253, 1253, 1254,  704, 1254,
   1284 
   1285      1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1255,
   1286      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1256,
   1287       703, 1256, 1256, 1256, 1257, 1257,  702,  701, 1257, 1257,
   1288       700, 1257, 1257, 1257, 1258, 1258, 1259, 1259, 1259, 1259,
   1289      1259, 1259, 1259, 1259, 1259, 1260, 1260, 1260, 1260, 1260,
   1290      1260, 1260, 1260, 1260, 1261, 1261, 1261, 1262,  699, 1262,
   1291      1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1263,
   1292       697, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
   1293      1263, 1264,  696, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
   1294      1264, 1264, 1264, 1265,  695, 1265, 1265, 1265, 1265, 1265,
   1295 
   1296      1265, 1265, 1265, 1265, 1265,  693,  691,  689,  688,  687,
   1297       685,  684,  681,  677,  676,  675,  674,  672,  670,  668,
   1298       667,  666,  664,  663,  662,  660,  659,  658,  657,  655,
   1299       654,  650,  649,  645,  644,  643,  642,  641,  639,  638,
   1300       634,  633,  632,  628,  627,  626,  624,  623,  622,  621,
   1301       620,  619,  618,  617,  616,  615,  614,  612,  611,  610,
   1302       608,  607,  606,  605,  604,  602,  601,  599,  598,  596,
   1303       595,  594,  593,  592,  591,  590,  589,  588,  587,  586,
   1304       585,  584,  583,  582,  581,  580,  579,  578,  577,  576,
   1305       575,  573,  572,  571,  570,  569,  568,  567,  566,  565,
   1306 
   1307       564,  563,  562,  561,  560,  559,  558,  557,  556,  555,
   1308       553,  552,  551,  550,  548,  544,  543,  542,  541,  540,
   1309       539,  538,  537,  536,  535,  534,  533,  532,  531,  530,
   1310       529,  528,  527,  526,  525,  524,  523,  522,  521,  520,
   1311       519,  518,  517,  516,  514,  513,  512,  510,  509,  508,
   1312       507,  506,  505,  504,  503,  502,  501,  500,  499,  497,
   1313       496,  495,  493,  491,  490,  489,  488,  487,  486,  485,
   1314       484,  483,  482,  481,  480,  479,  476,  475,  474,  473,
   1315       472,  471,  470,  468,  467,  466,  465,  464,  463,  462,
   1316       460,  459,  457,  452,  451,  450,  449,  448,  447,  446,
   1317 
   1318       445,  444,  443,  442,  441,  440,  439,  438,  437,  436,
   1319       435,  434,  433,  431,  428,  427,  426,  425,  424,  423,
   1320       422,  421,  419,  418,  417,  416,  415,  414,  413,  412,
   1321       411,  410,  409,  408,  407,  406,  405,  404,  403,  395,
   1322       394,  391,  390,  389,  388,  387,  386,  385,  384,  383,
   1323       381,  380,  379,  378,  377,  376,  368,  367,  366,  365,
   1324       364,  363,  362,  361,  360,  359,  358,  357,  354,  352,
   1325       351,  350,  349,  348,  347,  346,  345,  344,  343,  342,
   1326       341,  340,  337,  327,  325,  324,  323,  322,  321,  320,
   1327       319,  318,  317,  316,  314,  313,  312,  310,  308,  307,
   1328 
   1329       303,  302,  300,  299,  294,  290,  280,  274,  270,  269,
   1330       267,  266,  265,  264,  263,  262,  261,  259,  258,  257,
   1331       256,  255,  254,  253,  251,  250,  249,  246,  245,  243,
   1332       242,  241,  240,  239,  238,  237,  236,  235,  234,  233,
   1333       232,  231,  229,  228,  227,  226,  225,  224,  223,  209,
   1334       208,  202,  196,  195,  191,  190,  189,  187,  186,  185,
   1335       184,  183,  181,  179,  177,  176,  175,  174,  173,  169,
   1336       167,  166,  165,  158,  155,  153,  152,  151,  149,  140,
   1337       133,  131,  127,  126,  120,  119,  117,  116,  111,  110,
   1338       102,   92,   90,   89,   82,   81,   80,   78,   76,   75,
   1339 
   1340        70,   69,   66,   64,   63,   62,   61,   60,   58,   52,
   1341        50,   46,   43,   41,   34,   32,   31,   28,   25,   22,
   1342        19, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1343      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1344      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1345      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1346      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1347      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1348      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1349      1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
   1350 
   1351      1241, 1241, 1241, 1241, 1241
   1352     } ;
   1353 
   1354 static yy_state_type yy_last_accepting_state;
   1355 static char *yy_last_accepting_cpos;
   1356 
   1357 extern int yy_flex_debug;
   1358 int yy_flex_debug = 0;
   1359 
   1360 /* The intent behind this definition is that it'll catch
   1361  * any uses of REJECT which flex missed.
   1362  */
   1363 #define REJECT reject_used_but_not_detected
   1364 #define yymore() yymore_used_but_not_detected
   1365 #define YY_MORE_ADJ 0
   1366 #define YY_RESTORE_YY_MORE_OFFSET
   1367 char *yytext;
   1368 #line 1 "ldlex.l"
   1369 #line 4 "ldlex.l"
   1370 
   1371 /* Copyright (C) 1991-2026 Free Software Foundation, Inc.
   1372    Written by Steve Chamberlain of Cygnus Support.
   1373 
   1374    This file is part of the GNU Binutils.
   1375 
   1376    This program is free software; you can redistribute it and/or modify
   1377    it under the terms of the GNU General Public License as published by
   1378    the Free Software Foundation; either version 3 of the License, or
   1379    (at your option) any later version.
   1380 
   1381    This program is distributed in the hope that it will be useful,
   1382    but WITHOUT ANY WARRANTY; without even the implied warranty of
   1383    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   1384    GNU General Public License for more details.
   1385 
   1386    You should have received a copy of the GNU General Public License
   1387    along with this program; if not, write to the Free Software
   1388    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
   1389    MA 02110-1301, USA.  */
   1390 
   1391 #include "bfd.h"
   1392 #include "safe-ctype.h"
   1393 #include "bfdlink.h"
   1394 #include "ctf-api.h"
   1395 #include "ld.h"
   1396 #include "ldmisc.h"
   1397 #include "ldexp.h"
   1398 #include "ldlang.h"
   1399 #include <ldgram.h>
   1400 #include "ldfile.h"
   1401 #include "ldlex.h"
   1402 #include "ldmain.h"
   1403 #include "libiberty.h"
   1404 
   1405 /* The type of top-level parser input.
   1406    yylex and yyparse (indirectly) both check this.  */
   1407 input_type parser_input;
   1408 
   1409 /* Line number in the current input file.  */
   1410 unsigned int lineno;
   1411 
   1412 /* The string we are currently lexing, or NULL if we are reading a
   1413    file.  */
   1414 const char *lex_string = NULL;
   1415 
   1416 /* Support for flex reading from more than one input file (stream).
   1417    `include_stack' is flex's input state for each open file;
   1418    `file_name_stack' is the file names.  `lineno_stack' is the current
   1419    line numbers.
   1420 
   1421    If `include_stack_ptr' is 0, we haven't started reading anything yet.
   1422    Otherwise, stack elements 0 through `include_stack_ptr - 1' are valid.  */
   1423 
   1424 #undef YY_INPUT
   1425 #define YY_INPUT(buf,result,max_size) result = yy_input (buf, max_size)
   1426 
   1427 #ifndef YY_NO_UNPUT
   1428 #define YY_NO_UNPUT
   1429 #endif
   1430 
   1431 #define MAX_INCLUDE_DEPTH 10
   1432 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
   1433 static const char *file_name_stack[MAX_INCLUDE_DEPTH];
   1434 static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
   1435 static unsigned int sysrooted_stack[MAX_INCLUDE_DEPTH];
   1436 static unsigned int include_stack_ptr = 0;
   1437 static int vers_node_nesting = 0;
   1438 
   1439 static int yy_input (char *, int);
   1440 static void comment (void);
   1441 static void lex_warn_invalid (char *where, char *what);
   1442 
   1443 /* STATES
   1444 	EXPRESSION	in an expression
   1445 	SCRIPT		in a script
   1446 	INPUTLIST	in a script, a filename-list
   1447 	MRI		in an MRI script
   1448 	WILD		inside the braces of an output section or overlay,
   1449 			for input section wildcards
   1450 	VERS_START	starting a Sun style mapfile
   1451 	VERS_SCRIPT	a Sun style mapfile
   1452 	VERS_NODE	a node within a Sun style mapfile
   1453 */
   1454 #define RTOKEN(x)  {  yylval.token = x; return x; }
   1455 
   1456 #line 1456 "ldlex.c"
   1457 
   1458 #line 1458 "ldlex.c"
   1459 
   1460 #define INITIAL 0
   1461 #define SCRIPT 1
   1462 #define INPUTLIST 2
   1463 #define EXPRESSION 3
   1464 #define MRI 4
   1465 #define WILD 5
   1466 #define VERS_START 6
   1467 #define VERS_SCRIPT 7
   1468 #define VERS_NODE 8
   1469 
   1470 #ifndef YY_NO_UNISTD_H
   1471 /* Special case for "unistd.h", since it is non-ANSI. We include it way
   1472  * down here because we want the user's section 1 to have been scanned first.
   1473  * The user has a chance to override it with an option.
   1474  */
   1475 #include <unistd.h>
   1476 #endif
   1477 
   1478 #ifndef YY_EXTRA_TYPE
   1479 #define YY_EXTRA_TYPE void *
   1480 #endif
   1481 
   1482 static int yy_init_globals ( void );
   1483 
   1484 /* Accessor methods to globals.
   1485    These are made visible to non-reentrant scanners for convenience. */
   1486 
   1487 int yylex_destroy ( void );
   1488 
   1489 int yyget_debug ( void );
   1490 
   1491 void yyset_debug ( int debug_flag  );
   1492 
   1493 YY_EXTRA_TYPE yyget_extra ( void );
   1494 
   1495 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
   1496 
   1497 FILE *yyget_in ( void );
   1498 
   1499 void yyset_in  ( FILE * _in_str  );
   1500 
   1501 FILE *yyget_out ( void );
   1502 
   1503 void yyset_out  ( FILE * _out_str  );
   1504 
   1505 			int yyget_leng ( void );
   1506 
   1507 char *yyget_text ( void );
   1508 
   1509 int yyget_lineno ( void );
   1510 
   1511 void yyset_lineno ( int _line_number  );
   1512 
   1513 /* Macros after this point can all be overridden by user definitions in
   1514  * section 1.
   1515  */
   1516 
   1517 #ifndef YY_SKIP_YYWRAP
   1518 #ifdef __cplusplus
   1519 extern "C" int yywrap ( void );
   1520 #else
   1521 extern int yywrap ( void );
   1522 #endif
   1523 #endif
   1524 
   1525 #ifndef YY_NO_UNPUT
   1526 
   1527 #endif
   1528 
   1529 #ifndef yytext_ptr
   1530 static void yy_flex_strncpy ( char *, const char *, int );
   1531 #endif
   1532 
   1533 #ifdef YY_NEED_STRLEN
   1534 static int yy_flex_strlen ( const char * );
   1535 #endif
   1536 
   1537 #ifndef YY_NO_INPUT
   1538 #ifdef __cplusplus
   1539 static int yyinput ( void );
   1540 #else
   1541 static int input ( void );
   1542 #endif
   1543 
   1544 #endif
   1545 
   1546 /* Amount of stuff to slurp up with each read. */
   1547 #ifndef YY_READ_BUF_SIZE
   1548 #ifdef __ia64__
   1549 /* On IA-64, the buffer size is 16k, not 8k */
   1550 #define YY_READ_BUF_SIZE 16384
   1551 #else
   1552 #define YY_READ_BUF_SIZE 8192
   1553 #endif /* __ia64__ */
   1554 #endif
   1555 
   1556 /* Copy whatever the last rule matched to the standard output. */
   1557 #ifndef ECHO
   1558 /* This used to be an fputs(), but since the string might contain NUL's,
   1559  * we now use fwrite().
   1560  */
   1561 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
   1562 #endif
   1563 
   1564 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
   1565  * is returned in "result".
   1566  */
   1567 #ifndef YY_INPUT
   1568 #define YY_INPUT(buf,result,max_size) \
   1569 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
   1570 		{ \
   1571 		int c = '*'; \
   1572 		int n; \
   1573 		for ( n = 0; n < max_size && \
   1574 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
   1575 			buf[n] = (char) c; \
   1576 		if ( c == '\n' ) \
   1577 			buf[n++] = (char) c; \
   1578 		if ( c == EOF && ferror( yyin ) ) \
   1579 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
   1580 		result = n; \
   1581 		} \
   1582 	else \
   1583 		{ \
   1584 		errno=0; \
   1585 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
   1586 			{ \
   1587 			if( errno != EINTR) \
   1588 				{ \
   1589 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
   1590 				break; \
   1591 				} \
   1592 			errno=0; \
   1593 			clearerr(yyin); \
   1594 			} \
   1595 		}\
   1596 \
   1597 
   1598 #endif
   1599 
   1600 /* No semi-colon after return; correct usage is to write "yyterminate();" -
   1601  * we don't want an extra ';' after the "return" because that will cause
   1602  * some compilers to complain about unreachable statements.
   1603  */
   1604 #ifndef yyterminate
   1605 #define yyterminate() return YY_NULL
   1606 #endif
   1607 
   1608 /* Number of entries by which start-condition stack grows. */
   1609 #ifndef YY_START_STACK_INCR
   1610 #define YY_START_STACK_INCR 25
   1611 #endif
   1612 
   1613 /* Report a fatal error. */
   1614 #ifndef YY_FATAL_ERROR
   1615 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
   1616 #endif
   1617 
   1618 /* end tables serialization structures and prototypes */
   1619 
   1620 /* Default declaration of generated scanner - a define so the user can
   1621  * easily add parameters.
   1622  */
   1623 #ifndef YY_DECL
   1624 #define YY_DECL_IS_OURS 1
   1625 
   1626 extern int yylex (void);
   1627 
   1628 #define YY_DECL int yylex (void)
   1629 #endif /* !YY_DECL */
   1630 
   1631 /* Code executed at the beginning of each rule, after yytext and yyleng
   1632  * have been set up.
   1633  */
   1634 #ifndef YY_USER_ACTION
   1635 #define YY_USER_ACTION
   1636 #endif
   1637 
   1638 /* Code executed at the end of each rule. */
   1639 #ifndef YY_BREAK
   1640 #define YY_BREAK /*LINTED*/break;
   1641 #endif
   1642 
   1643 #define YY_RULE_SETUP \
   1644 	YY_USER_ACTION
   1645 
   1646 /** The main scanner function which does all the work.
   1647  */
   1648 YY_DECL
   1649 {
   1650 	yy_state_type yy_current_state;
   1651 	char *yy_cp, *yy_bp;
   1652 	int yy_act;
   1653 
   1654 	if ( !(yy_init) )
   1655 		{
   1656 		(yy_init) = 1;
   1657 
   1658 #ifdef YY_USER_INIT
   1659 		YY_USER_INIT;
   1660 #endif
   1661 
   1662 		if ( ! (yy_start) )
   1663 			(yy_start) = 1;	/* first start state */
   1664 
   1665 		if ( ! yyin )
   1666 			yyin = stdin;
   1667 
   1668 		if ( ! yyout )
   1669 			yyout = stdout;
   1670 
   1671 		if ( ! YY_CURRENT_BUFFER ) {
   1672 			yyensure_buffer_stack ();
   1673 			YY_CURRENT_BUFFER_LVALUE =
   1674 				yy_create_buffer( yyin, YY_BUF_SIZE );
   1675 		}
   1676 
   1677 		yy_load_buffer_state(  );
   1678 		}
   1679 
   1680 	{
   1681 #line 114 "ldlex.l"
   1682 
   1683 
   1684 #line 117 "ldlex.l"
   1685   if (parser_input != input_selected)
   1686     {
   1687       /* The first token of the input determines the initial parser state.  */
   1688       input_type t = parser_input;
   1689       parser_input = input_selected;
   1690       switch (t)
   1691 	{
   1692 	case input_script: return INPUT_SCRIPT;
   1693 	case input_mri_script: return INPUT_MRI_SCRIPT;
   1694 	case input_version_script: return INPUT_VERSION_SCRIPT;
   1695 	case input_section_ordering_script: return INPUT_SECTION_ORDERING_SCRIPT;
   1696 	case input_dynamic_list: return INPUT_DYNAMIC_LIST;
   1697 	case input_defsym: return INPUT_DEFSYM;
   1698 	default: abort ();
   1699 	}
   1700     }
   1701 
   1702 #line 1702 "ldlex.c"
   1703 
   1704 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
   1705 		{
   1706 		yy_cp = (yy_c_buf_p);
   1707 
   1708 		/* Support of yytext. */
   1709 		*yy_cp = (yy_hold_char);
   1710 
   1711 		/* yy_bp points to the position in yy_ch_buf of the start of
   1712 		 * the current run.
   1713 		 */
   1714 		yy_bp = yy_cp;
   1715 
   1716 		yy_current_state = (yy_start);
   1717 yy_match:
   1718 		do
   1719 			{
   1720 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
   1721 			if ( yy_accept[yy_current_state] )
   1722 				{
   1723 				(yy_last_accepting_state) = yy_current_state;
   1724 				(yy_last_accepting_cpos) = yy_cp;
   1725 				}
   1726 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   1727 				{
   1728 				yy_current_state = (int) yy_def[yy_current_state];
   1729 				if ( yy_current_state >= 1242 )
   1730 					yy_c = yy_meta[yy_c];
   1731 				}
   1732 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   1733 			++yy_cp;
   1734 			}
   1735 		while ( yy_base[yy_current_state] != 2222 );
   1736 
   1737 yy_find_action:
   1738 		yy_act = yy_accept[yy_current_state];
   1739 		if ( yy_act == 0 )
   1740 			{ /* have to back up */
   1741 			yy_cp = (yy_last_accepting_cpos);
   1742 			yy_current_state = (yy_last_accepting_state);
   1743 			yy_act = yy_accept[yy_current_state];
   1744 			}
   1745 
   1746 		YY_DO_BEFORE_ACTION;
   1747 
   1748 do_action:	/* This label is used only to access EOF actions. */
   1749 
   1750 		switch ( yy_act )
   1751 	{ /* beginning of action switch */
   1752 			case 0: /* must back up */
   1753 			/* undo the effects of YY_DO_BEFORE_ACTION */
   1754 			*yy_cp = (yy_hold_char);
   1755 			yy_cp = (yy_last_accepting_cpos);
   1756 			yy_current_state = (yy_last_accepting_state);
   1757 			goto yy_find_action;
   1758 
   1759 case 1:
   1760 YY_RULE_SETUP
   1761 #line 134 "ldlex.l"
   1762 {
   1763 				comment (); }
   1764 	YY_BREAK
   1765 case 2:
   1766 YY_RULE_SETUP
   1767 #line 137 "ldlex.l"
   1768 {
   1769 				yylval.integer = strtoull (yytext + 1, 0, 16);
   1770 				yylval.bigint.str = NULL;
   1771 				return INT;
   1772 			}
   1773 	YY_BREAK
   1774 case 3:
   1775 YY_RULE_SETUP
   1776 #line 143 "ldlex.l"
   1777 {
   1778 				   int ibase ;
   1779 				   switch (yytext[yyleng - 1]) {
   1780 				    case 'X':
   1781 				    case 'x':
   1782 				    case 'H':
   1783 				    case 'h':
   1784 				     ibase = 16;
   1785 				     break;
   1786 				    case 'O':
   1787 				    case 'o':
   1788 				     ibase = 8;
   1789 				     break;
   1790 				    case 'B':
   1791 				    case 'b':
   1792 				     ibase = 2;
   1793 				     break;
   1794 				    default:
   1795 				     ibase = 10;
   1796 				   }
   1797 				   yylval.integer = strtoull (yytext, 0, ibase);
   1798 				   yylval.bigint.str = NULL;
   1799 				   return INT;
   1800 				 }
   1801 	YY_BREAK
   1802 case 4:
   1803 YY_RULE_SETUP
   1804 #line 167 "ldlex.l"
   1805 {
   1806 				  char *s = yytext;
   1807 				  int ibase = 0;
   1808 
   1809 				  if (*s == '$')
   1810 				    {
   1811 				      ++s;
   1812 				      ibase = 16;
   1813 				    }
   1814 				  yylval.integer = strtoull (s, 0, ibase);
   1815 				  yylval.bigint.str = NULL;
   1816 				  if (yytext[yyleng - 1] == 'M'
   1817 				      || yytext[yyleng - 1] == 'm')
   1818 				    {
   1819 				      yylval.integer *= 1024 * 1024;
   1820 				    }
   1821 				  else if (yytext[yyleng - 1] == 'K'
   1822 				      || yytext[yyleng - 1]=='k')
   1823 				    {
   1824 				      yylval.integer *= 1024;
   1825 				    }
   1826 				  else if (yytext[0] == '0'
   1827 					   && (yytext[1] == 'x'
   1828 					       || yytext[1] == 'X'))
   1829 				    {
   1830 				      yylval.bigint.str
   1831 					= stat_strdup (yytext + 2);
   1832 				    }
   1833 				  return INT;
   1834 				}
   1835 	YY_BREAK
   1836 /* Some tokens that only appear in expressions must be enabled for
   1837      states other than EXPRESSION, since parser lookahead means they
   1838      must be recognised before the parser switches the lexer out of
   1839      SCRIPT or WILD state into EXPRESSION state.
   1840 
   1841      This sort of thing happens for example with NAME in ldgram.y
   1842      "section" rule, which is immediately followed by ldlex_expression.
   1843      However, if you follow the grammar from "sec_or_group_p1" you see
   1844      "assignment" appearing in "statement_anywhere".  Now,
   1845      "assignment" also has NAME as its first token, just like
   1846      "section".  So the parser can't know whether it is in the
   1847      "section" or the "assignment" rule until it has scanned the next
   1848      token to find an assignment operator.  Thus the next token after
   1849      NAME in the "section" rule may be lexed before the lexer is
   1850      switched to EXPRESSION state, and there are quite a number of
   1851      optional components.  The first token in all those components
   1852      must be able to be lexed in SCRIPT state, as well as the
   1853      assignment operators.  In fact, due to "opt_exp_with_type",
   1854      anything that can appear on the left hand side of "exp" might
   1855      need to be lexed in SCRIPT state.
   1856 
   1857      MRI mode tends to cover everything in MRI scripts.
   1858   */
   1859 case 5:
   1860 YY_RULE_SETUP
   1861 #line 221 "ldlex.l"
   1862 { RTOKEN(']'); }
   1863 	YY_BREAK
   1864 case 6:
   1865 YY_RULE_SETUP
   1866 #line 222 "ldlex.l"
   1867 { RTOKEN('['); }
   1868 	YY_BREAK
   1869 case 7:
   1870 YY_RULE_SETUP
   1871 #line 223 "ldlex.l"
   1872 { RTOKEN(LSHIFTEQ); }
   1873 	YY_BREAK
   1874 case 8:
   1875 YY_RULE_SETUP
   1876 #line 224 "ldlex.l"
   1877 { RTOKEN(RSHIFTEQ); }
   1878 	YY_BREAK
   1879 case 9:
   1880 YY_RULE_SETUP
   1881 #line 225 "ldlex.l"
   1882 { RTOKEN(OROR); }
   1883 	YY_BREAK
   1884 case 10:
   1885 YY_RULE_SETUP
   1886 #line 226 "ldlex.l"
   1887 { RTOKEN(EQ); }
   1888 	YY_BREAK
   1889 case 11:
   1890 YY_RULE_SETUP
   1891 #line 227 "ldlex.l"
   1892 { RTOKEN(NE); }
   1893 	YY_BREAK
   1894 case 12:
   1895 YY_RULE_SETUP
   1896 #line 228 "ldlex.l"
   1897 { RTOKEN(GE); }
   1898 	YY_BREAK
   1899 case 13:
   1900 YY_RULE_SETUP
   1901 #line 229 "ldlex.l"
   1902 { RTOKEN(LE); }
   1903 	YY_BREAK
   1904 case 14:
   1905 YY_RULE_SETUP
   1906 #line 230 "ldlex.l"
   1907 { RTOKEN(LSHIFT); }
   1908 	YY_BREAK
   1909 case 15:
   1910 YY_RULE_SETUP
   1911 #line 231 "ldlex.l"
   1912 { RTOKEN(RSHIFT); }
   1913 	YY_BREAK
   1914 case 16:
   1915 YY_RULE_SETUP
   1916 #line 232 "ldlex.l"
   1917 { RTOKEN(PLUSEQ); }
   1918 	YY_BREAK
   1919 case 17:
   1920 YY_RULE_SETUP
   1921 #line 233 "ldlex.l"
   1922 { RTOKEN(MINUSEQ); }
   1923 	YY_BREAK
   1924 case 18:
   1925 YY_RULE_SETUP
   1926 #line 234 "ldlex.l"
   1927 { RTOKEN(MULTEQ); }
   1928 	YY_BREAK
   1929 case 19:
   1930 YY_RULE_SETUP
   1931 #line 235 "ldlex.l"
   1932 { RTOKEN(DIVEQ); }
   1933 	YY_BREAK
   1934 case 20:
   1935 YY_RULE_SETUP
   1936 #line 236 "ldlex.l"
   1937 { RTOKEN(ANDEQ); }
   1938 	YY_BREAK
   1939 case 21:
   1940 YY_RULE_SETUP
   1941 #line 237 "ldlex.l"
   1942 { RTOKEN(OREQ); }
   1943 	YY_BREAK
   1944 case 22:
   1945 YY_RULE_SETUP
   1946 #line 238 "ldlex.l"
   1947 { RTOKEN(XOREQ); }
   1948 	YY_BREAK
   1949 case 23:
   1950 YY_RULE_SETUP
   1951 #line 239 "ldlex.l"
   1952 { RTOKEN(ANDAND); }
   1953 	YY_BREAK
   1954 case 24:
   1955 YY_RULE_SETUP
   1956 #line 240 "ldlex.l"
   1957 { RTOKEN('>'); }
   1958 	YY_BREAK
   1959 case 25:
   1960 YY_RULE_SETUP
   1961 #line 241 "ldlex.l"
   1962 { RTOKEN(','); }
   1963 	YY_BREAK
   1964 case 26:
   1965 YY_RULE_SETUP
   1966 #line 242 "ldlex.l"
   1967 { RTOKEN('&'); }
   1968 	YY_BREAK
   1969 case 27:
   1970 YY_RULE_SETUP
   1971 #line 243 "ldlex.l"
   1972 { RTOKEN('|'); }
   1973 	YY_BREAK
   1974 case 28:
   1975 YY_RULE_SETUP
   1976 #line 244 "ldlex.l"
   1977 { RTOKEN('~'); }
   1978 	YY_BREAK
   1979 case 29:
   1980 YY_RULE_SETUP
   1981 #line 245 "ldlex.l"
   1982 { RTOKEN('!'); }
   1983 	YY_BREAK
   1984 case 30:
   1985 YY_RULE_SETUP
   1986 #line 246 "ldlex.l"
   1987 { RTOKEN('?'); }
   1988 	YY_BREAK
   1989 case 31:
   1990 YY_RULE_SETUP
   1991 #line 247 "ldlex.l"
   1992 { RTOKEN('*'); }
   1993 	YY_BREAK
   1994 case 32:
   1995 YY_RULE_SETUP
   1996 #line 248 "ldlex.l"
   1997 { RTOKEN('+'); }
   1998 	YY_BREAK
   1999 case 33:
   2000 YY_RULE_SETUP
   2001 #line 249 "ldlex.l"
   2002 { RTOKEN('-'); }
   2003 	YY_BREAK
   2004 case 34:
   2005 YY_RULE_SETUP
   2006 #line 250 "ldlex.l"
   2007 { RTOKEN('/'); }
   2008 	YY_BREAK
   2009 case 35:
   2010 YY_RULE_SETUP
   2011 #line 251 "ldlex.l"
   2012 { RTOKEN('%'); }
   2013 	YY_BREAK
   2014 case 36:
   2015 YY_RULE_SETUP
   2016 #line 252 "ldlex.l"
   2017 { RTOKEN('<'); }
   2018 	YY_BREAK
   2019 case 37:
   2020 YY_RULE_SETUP
   2021 #line 253 "ldlex.l"
   2022 { RTOKEN('^'); }
   2023 	YY_BREAK
   2024 case 38:
   2025 YY_RULE_SETUP
   2026 #line 254 "ldlex.l"
   2027 { RTOKEN('='); }
   2028 	YY_BREAK
   2029 case 39:
   2030 YY_RULE_SETUP
   2031 #line 255 "ldlex.l"
   2032 { RTOKEN('}'); }
   2033 	YY_BREAK
   2034 case 40:
   2035 YY_RULE_SETUP
   2036 #line 256 "ldlex.l"
   2037 { RTOKEN('{'); }
   2038 	YY_BREAK
   2039 case 41:
   2040 YY_RULE_SETUP
   2041 #line 257 "ldlex.l"
   2042 { RTOKEN(')'); }
   2043 	YY_BREAK
   2044 case 42:
   2045 YY_RULE_SETUP
   2046 #line 258 "ldlex.l"
   2047 { RTOKEN('('); }
   2048 	YY_BREAK
   2049 case 43:
   2050 YY_RULE_SETUP
   2051 #line 259 "ldlex.l"
   2052 { RTOKEN(':'); }
   2053 	YY_BREAK
   2054 case 44:
   2055 YY_RULE_SETUP
   2056 #line 260 "ldlex.l"
   2057 { RTOKEN(';'); }
   2058 	YY_BREAK
   2059 case 45:
   2060 YY_RULE_SETUP
   2061 #line 261 "ldlex.l"
   2062 { RTOKEN(MEMORY); }
   2063 	YY_BREAK
   2064 case 46:
   2065 YY_RULE_SETUP
   2066 #line 262 "ldlex.l"
   2067 { RTOKEN(REGION_ALIAS); }
   2068 	YY_BREAK
   2069 case 47:
   2070 YY_RULE_SETUP
   2071 #line 263 "ldlex.l"
   2072 { RTOKEN(LD_FEATURE); }
   2073 	YY_BREAK
   2074 case 48:
   2075 YY_RULE_SETUP
   2076 #line 264 "ldlex.l"
   2077 { RTOKEN(ORIGIN); }
   2078 	YY_BREAK
   2079 case 49:
   2080 YY_RULE_SETUP
   2081 #line 265 "ldlex.l"
   2082 { RTOKEN(VERSIONK); }
   2083 	YY_BREAK
   2084 case 50:
   2085 YY_RULE_SETUP
   2086 #line 266 "ldlex.l"
   2087 { RTOKEN(BLOCK); }
   2088 	YY_BREAK
   2089 case 51:
   2090 YY_RULE_SETUP
   2091 #line 267 "ldlex.l"
   2092 { RTOKEN(BIND); }
   2093 	YY_BREAK
   2094 case 52:
   2095 YY_RULE_SETUP
   2096 #line 268 "ldlex.l"
   2097 { RTOKEN(LENGTH); }
   2098 	YY_BREAK
   2099 case 53:
   2100 YY_RULE_SETUP
   2101 #line 269 "ldlex.l"
   2102 { RTOKEN(ALIGN_K); }
   2103 	YY_BREAK
   2104 case 54:
   2105 YY_RULE_SETUP
   2106 #line 270 "ldlex.l"
   2107 { RTOKEN(DATA_SEGMENT_ALIGN); }
   2108 	YY_BREAK
   2109 case 55:
   2110 YY_RULE_SETUP
   2111 #line 271 "ldlex.l"
   2112 { RTOKEN(DATA_SEGMENT_RELRO_END); }
   2113 	YY_BREAK
   2114 case 56:
   2115 YY_RULE_SETUP
   2116 #line 272 "ldlex.l"
   2117 { RTOKEN(DATA_SEGMENT_END); }
   2118 	YY_BREAK
   2119 case 57:
   2120 YY_RULE_SETUP
   2121 #line 273 "ldlex.l"
   2122 { RTOKEN(ADDR); }
   2123 	YY_BREAK
   2124 case 58:
   2125 YY_RULE_SETUP
   2126 #line 274 "ldlex.l"
   2127 { RTOKEN(LOADADDR); }
   2128 	YY_BREAK
   2129 case 59:
   2130 YY_RULE_SETUP
   2131 #line 275 "ldlex.l"
   2132 { RTOKEN(ALIGNOF); }
   2133 	YY_BREAK
   2134 case 60:
   2135 YY_RULE_SETUP
   2136 #line 276 "ldlex.l"
   2137 { RTOKEN(ABSOLUTE); }
   2138 	YY_BREAK
   2139 case 61:
   2140 YY_RULE_SETUP
   2141 #line 277 "ldlex.l"
   2142 { RTOKEN(MAX_K); }
   2143 	YY_BREAK
   2144 case 62:
   2145 YY_RULE_SETUP
   2146 #line 278 "ldlex.l"
   2147 { RTOKEN(MIN_K); }
   2148 	YY_BREAK
   2149 case 63:
   2150 YY_RULE_SETUP
   2151 #line 279 "ldlex.l"
   2152 { RTOKEN(LOG2CEIL); }
   2153 	YY_BREAK
   2154 case 64:
   2155 YY_RULE_SETUP
   2156 #line 280 "ldlex.l"
   2157 { RTOKEN(ASSERT_K); }
   2158 	YY_BREAK
   2159 case 65:
   2160 YY_RULE_SETUP
   2161 #line 281 "ldlex.l"
   2162 { RTOKEN(ENTRY); }
   2163 	YY_BREAK
   2164 case 66:
   2165 YY_RULE_SETUP
   2166 #line 282 "ldlex.l"
   2167 { RTOKEN(EXTERN); }
   2168 	YY_BREAK
   2169 case 67:
   2170 YY_RULE_SETUP
   2171 #line 283 "ldlex.l"
   2172 { RTOKEN(NEXT); }
   2173 	YY_BREAK
   2174 case 68:
   2175 YY_RULE_SETUP
   2176 #line 284 "ldlex.l"
   2177 { RTOKEN(SIZEOF_HEADERS); }
   2178 	YY_BREAK
   2179 case 69:
   2180 YY_RULE_SETUP
   2181 #line 285 "ldlex.l"
   2182 { RTOKEN(SEGMENT_START); }
   2183 	YY_BREAK
   2184 case 70:
   2185 YY_RULE_SETUP
   2186 #line 286 "ldlex.l"
   2187 { RTOKEN(MAP); }
   2188 	YY_BREAK
   2189 case 71:
   2190 YY_RULE_SETUP
   2191 #line 287 "ldlex.l"
   2192 { RTOKEN(SIZEOF); }
   2193 	YY_BREAK
   2194 case 72:
   2195 YY_RULE_SETUP
   2196 #line 288 "ldlex.l"
   2197 { RTOKEN(TARGET_K); }
   2198 	YY_BREAK
   2199 case 73:
   2200 YY_RULE_SETUP
   2201 #line 289 "ldlex.l"
   2202 { RTOKEN(SEARCH_DIR); }
   2203 	YY_BREAK
   2204 case 74:
   2205 YY_RULE_SETUP
   2206 #line 290 "ldlex.l"
   2207 { RTOKEN(OUTPUT); }
   2208 	YY_BREAK
   2209 case 75:
   2210 YY_RULE_SETUP
   2211 #line 291 "ldlex.l"
   2212 { RTOKEN(INPUT); }
   2213 	YY_BREAK
   2214 case 76:
   2215 YY_RULE_SETUP
   2216 #line 292 "ldlex.l"
   2217 { RTOKEN(GROUP); }
   2218 	YY_BREAK
   2219 case 77:
   2220 YY_RULE_SETUP
   2221 #line 293 "ldlex.l"
   2222 { RTOKEN(AS_NEEDED); }
   2223 	YY_BREAK
   2224 case 78:
   2225 YY_RULE_SETUP
   2226 #line 294 "ldlex.l"
   2227 { RTOKEN(DEFINED); }
   2228 	YY_BREAK
   2229 case 79:
   2230 YY_RULE_SETUP
   2231 #line 295 "ldlex.l"
   2232 { RTOKEN(CREATE_OBJECT_SYMBOLS); }
   2233 	YY_BREAK
   2234 case 80:
   2235 YY_RULE_SETUP
   2236 #line 296 "ldlex.l"
   2237 { RTOKEN(CONSTRUCTORS); }
   2238 	YY_BREAK
   2239 case 81:
   2240 YY_RULE_SETUP
   2241 #line 297 "ldlex.l"
   2242 { RTOKEN(FORCE_COMMON_ALLOCATION); }
   2243 	YY_BREAK
   2244 case 82:
   2245 YY_RULE_SETUP
   2246 #line 298 "ldlex.l"
   2247 { RTOKEN(FORCE_GROUP_ALLOCATION); }
   2248 	YY_BREAK
   2249 case 83:
   2250 YY_RULE_SETUP
   2251 #line 299 "ldlex.l"
   2252 { RTOKEN(INHIBIT_COMMON_ALLOCATION); }
   2253 	YY_BREAK
   2254 case 84:
   2255 YY_RULE_SETUP
   2256 #line 300 "ldlex.l"
   2257 { RTOKEN(SECTIONS); }
   2258 	YY_BREAK
   2259 case 85:
   2260 YY_RULE_SETUP
   2261 #line 301 "ldlex.l"
   2262 { RTOKEN(INSERT_K); }
   2263 	YY_BREAK
   2264 case 86:
   2265 YY_RULE_SETUP
   2266 #line 302 "ldlex.l"
   2267 { RTOKEN(AFTER); }
   2268 	YY_BREAK
   2269 case 87:
   2270 YY_RULE_SETUP
   2271 #line 303 "ldlex.l"
   2272 { RTOKEN(BEFORE); }
   2273 	YY_BREAK
   2274 case 88:
   2275 YY_RULE_SETUP
   2276 #line 304 "ldlex.l"
   2277 { RTOKEN(FILL); }
   2278 	YY_BREAK
   2279 case 89:
   2280 YY_RULE_SETUP
   2281 #line 305 "ldlex.l"
   2282 { RTOKEN(STARTUP); }
   2283 	YY_BREAK
   2284 case 90:
   2285 YY_RULE_SETUP
   2286 #line 306 "ldlex.l"
   2287 { RTOKEN(OUTPUT_FORMAT); }
   2288 	YY_BREAK
   2289 case 91:
   2290 YY_RULE_SETUP
   2291 #line 307 "ldlex.l"
   2292 { RTOKEN(OUTPUT_ARCH); }
   2293 	YY_BREAK
   2294 case 92:
   2295 YY_RULE_SETUP
   2296 #line 308 "ldlex.l"
   2297 { RTOKEN(HLL); }
   2298 	YY_BREAK
   2299 case 93:
   2300 YY_RULE_SETUP
   2301 #line 309 "ldlex.l"
   2302 { RTOKEN(SYSLIB); }
   2303 	YY_BREAK
   2304 case 94:
   2305 YY_RULE_SETUP
   2306 #line 310 "ldlex.l"
   2307 { RTOKEN(FLOAT); }
   2308 	YY_BREAK
   2309 case 95:
   2310 YY_RULE_SETUP
   2311 #line 311 "ldlex.l"
   2312 { RTOKEN(QUAD); }
   2313 	YY_BREAK
   2314 case 96:
   2315 YY_RULE_SETUP
   2316 #line 312 "ldlex.l"
   2317 { RTOKEN(SQUAD); }
   2318 	YY_BREAK
   2319 case 97:
   2320 YY_RULE_SETUP
   2321 #line 313 "ldlex.l"
   2322 { RTOKEN(LONG); }
   2323 	YY_BREAK
   2324 case 98:
   2325 YY_RULE_SETUP
   2326 #line 314 "ldlex.l"
   2327 { RTOKEN(SHORT); }
   2328 	YY_BREAK
   2329 case 99:
   2330 YY_RULE_SETUP
   2331 #line 315 "ldlex.l"
   2332 { RTOKEN(BYTE); }
   2333 	YY_BREAK
   2334 case 100:
   2335 YY_RULE_SETUP
   2336 #line 316 "ldlex.l"
   2337 { RTOKEN(ASCIZ); }
   2338 	YY_BREAK
   2339 case 101:
   2340 YY_RULE_SETUP
   2341 #line 317 "ldlex.l"
   2342 { RTOKEN(LINKER_VERSION); }
   2343 	YY_BREAK
   2344 case 102:
   2345 YY_RULE_SETUP
   2346 #line 318 "ldlex.l"
   2347 { RTOKEN(NOFLOAT); }
   2348 	YY_BREAK
   2349 case 103:
   2350 YY_RULE_SETUP
   2351 #line 319 "ldlex.l"
   2352 { RTOKEN(NOCROSSREFS); }
   2353 	YY_BREAK
   2354 case 104:
   2355 YY_RULE_SETUP
   2356 #line 320 "ldlex.l"
   2357 { RTOKEN(NOCROSSREFS_TO); }
   2358 	YY_BREAK
   2359 case 105:
   2360 YY_RULE_SETUP
   2361 #line 321 "ldlex.l"
   2362 { RTOKEN(OVERLAY); }
   2363 	YY_BREAK
   2364 case 106:
   2365 YY_RULE_SETUP
   2366 #line 322 "ldlex.l"
   2367 { RTOKEN(SORT_BY_NAME); }
   2368 	YY_BREAK
   2369 case 107:
   2370 YY_RULE_SETUP
   2371 #line 323 "ldlex.l"
   2372 { RTOKEN(SORT_BY_ALIGNMENT); }
   2373 	YY_BREAK
   2374 case 108:
   2375 YY_RULE_SETUP
   2376 #line 324 "ldlex.l"
   2377 { RTOKEN(SORT_BY_NAME); }
   2378 	YY_BREAK
   2379 case 109:
   2380 YY_RULE_SETUP
   2381 #line 325 "ldlex.l"
   2382 { RTOKEN(SORT_BY_INIT_PRIORITY); }
   2383 	YY_BREAK
   2384 case 110:
   2385 YY_RULE_SETUP
   2386 #line 326 "ldlex.l"
   2387 { RTOKEN(SORT_NONE); }
   2388 	YY_BREAK
   2389 case 111:
   2390 YY_RULE_SETUP
   2391 #line 327 "ldlex.l"
   2392 { RTOKEN(REVERSE); }
   2393 	YY_BREAK
   2394 case 112:
   2395 YY_RULE_SETUP
   2396 #line 328 "ldlex.l"
   2397 { RTOKEN(NOLOAD); }
   2398 	YY_BREAK
   2399 case 113:
   2400 YY_RULE_SETUP
   2401 #line 329 "ldlex.l"
   2402 { RTOKEN(READONLY); }
   2403 	YY_BREAK
   2404 case 114:
   2405 YY_RULE_SETUP
   2406 #line 330 "ldlex.l"
   2407 { RTOKEN(DSECT); }
   2408 	YY_BREAK
   2409 case 115:
   2410 YY_RULE_SETUP
   2411 #line 331 "ldlex.l"
   2412 { RTOKEN(COPY); }
   2413 	YY_BREAK
   2414 case 116:
   2415 YY_RULE_SETUP
   2416 #line 332 "ldlex.l"
   2417 { RTOKEN(INFO); }
   2418 	YY_BREAK
   2419 case 117:
   2420 YY_RULE_SETUP
   2421 #line 333 "ldlex.l"
   2422 { RTOKEN(TYPE); }
   2423 	YY_BREAK
   2424 case 118:
   2425 YY_RULE_SETUP
   2426 #line 334 "ldlex.l"
   2427 { RTOKEN(ONLY_IF_RO); }
   2428 	YY_BREAK
   2429 case 119:
   2430 YY_RULE_SETUP
   2431 #line 335 "ldlex.l"
   2432 { RTOKEN(ONLY_IF_RW); }
   2433 	YY_BREAK
   2434 case 120:
   2435 YY_RULE_SETUP
   2436 #line 336 "ldlex.l"
   2437 { RTOKEN(SPECIAL); }
   2438 	YY_BREAK
   2439 case 121:
   2440 YY_RULE_SETUP
   2441 #line 337 "ldlex.l"
   2442 { RTOKEN(ORIGIN); }
   2443 	YY_BREAK
   2444 case 122:
   2445 YY_RULE_SETUP
   2446 #line 338 "ldlex.l"
   2447 { RTOKEN(ORIGIN); }
   2448 	YY_BREAK
   2449 case 123:
   2450 YY_RULE_SETUP
   2451 #line 339 "ldlex.l"
   2452 { RTOKEN(LENGTH); }
   2453 	YY_BREAK
   2454 case 124:
   2455 YY_RULE_SETUP
   2456 #line 340 "ldlex.l"
   2457 { RTOKEN(LENGTH); }
   2458 	YY_BREAK
   2459 case 125:
   2460 YY_RULE_SETUP
   2461 #line 341 "ldlex.l"
   2462 { RTOKEN(INPUT_SECTION_FLAGS); }
   2463 	YY_BREAK
   2464 case 126:
   2465 YY_RULE_SETUP
   2466 #line 342 "ldlex.l"
   2467 { RTOKEN(INCLUDE);}
   2468 	YY_BREAK
   2469 case 127:
   2470 YY_RULE_SETUP
   2471 #line 343 "ldlex.l"
   2472 { RTOKEN(PHDRS); }
   2473 	YY_BREAK
   2474 case 128:
   2475 YY_RULE_SETUP
   2476 #line 344 "ldlex.l"
   2477 { RTOKEN(AT);}
   2478 	YY_BREAK
   2479 case 129:
   2480 YY_RULE_SETUP
   2481 #line 345 "ldlex.l"
   2482 { RTOKEN(ALIGN_WITH_INPUT);}
   2483 	YY_BREAK
   2484 case 130:
   2485 YY_RULE_SETUP
   2486 #line 346 "ldlex.l"
   2487 { RTOKEN(SUBALIGN);}
   2488 	YY_BREAK
   2489 case 131:
   2490 YY_RULE_SETUP
   2491 #line 347 "ldlex.l"
   2492 { RTOKEN(HIDDEN); }
   2493 	YY_BREAK
   2494 case 132:
   2495 YY_RULE_SETUP
   2496 #line 348 "ldlex.l"
   2497 { RTOKEN(PROVIDE); }
   2498 	YY_BREAK
   2499 case 133:
   2500 YY_RULE_SETUP
   2501 #line 349 "ldlex.l"
   2502 { RTOKEN(PROVIDE_HIDDEN); }
   2503 	YY_BREAK
   2504 case 134:
   2505 YY_RULE_SETUP
   2506 #line 350 "ldlex.l"
   2507 { RTOKEN(KEEP); }
   2508 	YY_BREAK
   2509 case 135:
   2510 YY_RULE_SETUP
   2511 #line 351 "ldlex.l"
   2512 { RTOKEN(EXCLUDE_FILE); }
   2513 	YY_BREAK
   2514 case 136:
   2515 YY_RULE_SETUP
   2516 #line 352 "ldlex.l"
   2517 { RTOKEN(CONSTANT);}
   2518 	YY_BREAK
   2519 case 137:
   2520 /* rule 137 can match eol */
   2521 YY_RULE_SETUP
   2522 #line 354 "ldlex.l"
   2523 { ++ lineno; }
   2524 	YY_BREAK
   2525 case 138:
   2526 /* rule 138 can match eol */
   2527 YY_RULE_SETUP
   2528 #line 355 "ldlex.l"
   2529 { ++ lineno;  RTOKEN(NEWLINE); }
   2530 	YY_BREAK
   2531 case 139:
   2532 YY_RULE_SETUP
   2533 #line 356 "ldlex.l"
   2534 { /* Mri comment line */ }
   2535 	YY_BREAK
   2536 case 140:
   2537 YY_RULE_SETUP
   2538 #line 357 "ldlex.l"
   2539 { /* Mri comment line */ }
   2540 	YY_BREAK
   2541 case 141:
   2542 YY_RULE_SETUP
   2543 #line 358 "ldlex.l"
   2544 { RTOKEN(ENDWORD); }
   2545 	YY_BREAK
   2546 case 142:
   2547 YY_RULE_SETUP
   2548 #line 359 "ldlex.l"
   2549 { RTOKEN(ABSOLUTE); }
   2550 	YY_BREAK
   2551 case 143:
   2552 YY_RULE_SETUP
   2553 #line 360 "ldlex.l"
   2554 { RTOKEN(ALIGNMOD);}
   2555 	YY_BREAK
   2556 case 144:
   2557 YY_RULE_SETUP
   2558 #line 361 "ldlex.l"
   2559 { RTOKEN(ALIGN_K);}
   2560 	YY_BREAK
   2561 case 145:
   2562 YY_RULE_SETUP
   2563 #line 362 "ldlex.l"
   2564 { RTOKEN(CHIP); }
   2565 	YY_BREAK
   2566 case 146:
   2567 YY_RULE_SETUP
   2568 #line 363 "ldlex.l"
   2569 { RTOKEN(BASE); }
   2570 	YY_BREAK
   2571 case 147:
   2572 YY_RULE_SETUP
   2573 #line 364 "ldlex.l"
   2574 { RTOKEN(ALIAS); }
   2575 	YY_BREAK
   2576 case 148:
   2577 YY_RULE_SETUP
   2578 #line 365 "ldlex.l"
   2579 { RTOKEN(TRUNCATE); }
   2580 	YY_BREAK
   2581 case 149:
   2582 YY_RULE_SETUP
   2583 #line 366 "ldlex.l"
   2584 { RTOKEN(LOAD); }
   2585 	YY_BREAK
   2586 case 150:
   2587 YY_RULE_SETUP
   2588 #line 367 "ldlex.l"
   2589 { RTOKEN(PUBLIC); }
   2590 	YY_BREAK
   2591 case 151:
   2592 YY_RULE_SETUP
   2593 #line 368 "ldlex.l"
   2594 { RTOKEN(ORDER); }
   2595 	YY_BREAK
   2596 case 152:
   2597 YY_RULE_SETUP
   2598 #line 369 "ldlex.l"
   2599 { RTOKEN(NAMEWORD); }
   2600 	YY_BREAK
   2601 case 153:
   2602 YY_RULE_SETUP
   2603 #line 370 "ldlex.l"
   2604 { RTOKEN(FORMAT); }
   2605 	YY_BREAK
   2606 case 154:
   2607 YY_RULE_SETUP
   2608 #line 371 "ldlex.l"
   2609 { RTOKEN(CASE); }
   2610 	YY_BREAK
   2611 case 155:
   2612 YY_RULE_SETUP
   2613 #line 372 "ldlex.l"
   2614 { RTOKEN(START); }
   2615 	YY_BREAK
   2616 case 156:
   2617 YY_RULE_SETUP
   2618 #line 373 "ldlex.l"
   2619 { RTOKEN(LIST); /* LIST and ignore to end of line */ }
   2620 	YY_BREAK
   2621 case 157:
   2622 YY_RULE_SETUP
   2623 #line 374 "ldlex.l"
   2624 { RTOKEN(SECT); }
   2625 	YY_BREAK
   2626 case 158:
   2627 YY_RULE_SETUP
   2628 #line 375 "ldlex.l"
   2629 { RTOKEN(ENDWORD); }
   2630 	YY_BREAK
   2631 case 159:
   2632 YY_RULE_SETUP
   2633 #line 376 "ldlex.l"
   2634 { RTOKEN(ABSOLUTE); }
   2635 	YY_BREAK
   2636 case 160:
   2637 YY_RULE_SETUP
   2638 #line 377 "ldlex.l"
   2639 { RTOKEN(ALIGNMOD);}
   2640 	YY_BREAK
   2641 case 161:
   2642 YY_RULE_SETUP
   2643 #line 378 "ldlex.l"
   2644 { RTOKEN(ALIGN_K);}
   2645 	YY_BREAK
   2646 case 162:
   2647 YY_RULE_SETUP
   2648 #line 379 "ldlex.l"
   2649 { RTOKEN(CHIP); }
   2650 	YY_BREAK
   2651 case 163:
   2652 YY_RULE_SETUP
   2653 #line 380 "ldlex.l"
   2654 { RTOKEN(BASE); }
   2655 	YY_BREAK
   2656 case 164:
   2657 YY_RULE_SETUP
   2658 #line 381 "ldlex.l"
   2659 { RTOKEN(ALIAS); }
   2660 	YY_BREAK
   2661 case 165:
   2662 YY_RULE_SETUP
   2663 #line 382 "ldlex.l"
   2664 { RTOKEN(TRUNCATE); }
   2665 	YY_BREAK
   2666 case 166:
   2667 YY_RULE_SETUP
   2668 #line 383 "ldlex.l"
   2669 { RTOKEN(LOAD); }
   2670 	YY_BREAK
   2671 case 167:
   2672 YY_RULE_SETUP
   2673 #line 384 "ldlex.l"
   2674 { RTOKEN(PUBLIC); }
   2675 	YY_BREAK
   2676 case 168:
   2677 YY_RULE_SETUP
   2678 #line 385 "ldlex.l"
   2679 { RTOKEN(ORDER); }
   2680 	YY_BREAK
   2681 case 169:
   2682 YY_RULE_SETUP
   2683 #line 386 "ldlex.l"
   2684 { RTOKEN(NAMEWORD); }
   2685 	YY_BREAK
   2686 case 170:
   2687 YY_RULE_SETUP
   2688 #line 387 "ldlex.l"
   2689 { RTOKEN(FORMAT); }
   2690 	YY_BREAK
   2691 case 171:
   2692 YY_RULE_SETUP
   2693 #line 388 "ldlex.l"
   2694 { RTOKEN(CASE); }
   2695 	YY_BREAK
   2696 case 172:
   2697 YY_RULE_SETUP
   2698 #line 389 "ldlex.l"
   2699 { RTOKEN(EXTERN); }
   2700 	YY_BREAK
   2701 case 173:
   2702 YY_RULE_SETUP
   2703 #line 390 "ldlex.l"
   2704 { RTOKEN(START); }
   2705 	YY_BREAK
   2706 case 174:
   2707 YY_RULE_SETUP
   2708 #line 391 "ldlex.l"
   2709 { RTOKEN(LIST); /* LIST and ignore to end of line */ }
   2710 	YY_BREAK
   2711 case 175:
   2712 YY_RULE_SETUP
   2713 #line 392 "ldlex.l"
   2714 { RTOKEN(SECT); }
   2715 	YY_BREAK
   2716 case 176:
   2717 YY_RULE_SETUP
   2718 #line 394 "ldlex.l"
   2719 {
   2720 /* Filename without commas, needed to parse mri stuff */
   2721 				  yylval.name = stat_strdup (yytext);
   2722 				  return NAME;
   2723 				}
   2724 	YY_BREAK
   2725 case 177:
   2726 YY_RULE_SETUP
   2727 #line 401 "ldlex.l"
   2728 {
   2729 				  yylval.name = stat_strdup (yytext);
   2730 				  return NAME;
   2731 				}
   2732 	YY_BREAK
   2733 case 178:
   2734 YY_RULE_SETUP
   2735 #line 405 "ldlex.l"
   2736 {
   2737 /* Filename to be prefixed by --sysroot or when non-sysrooted, nothing.  */
   2738 				  yylval.name = stat_strdup (yytext);
   2739 				  return NAME;
   2740 				}
   2741 	YY_BREAK
   2742 case 179:
   2743 YY_RULE_SETUP
   2744 #line 410 "ldlex.l"
   2745 {
   2746 				  yylval.name = stat_strdup (yytext + 2);
   2747 				  return LNAME;
   2748 				}
   2749 	YY_BREAK
   2750 case 180:
   2751 YY_RULE_SETUP
   2752 #line 414 "ldlex.l"
   2753 {
   2754 				  yylval.name = stat_strdup (yytext);
   2755 				  return NAME;
   2756 				}
   2757 	YY_BREAK
   2758 /* The following rule is to prevent a fill expression on the output
   2759      section before /DISCARD/ interpreting the '/' as a divide.  */
   2760 case 181:
   2761 YY_RULE_SETUP
   2762 #line 420 "ldlex.l"
   2763 {
   2764 				  yylval.name = stat_strdup (yytext);
   2765 				  return NAME;
   2766 				}
   2767 	YY_BREAK
   2768 case 182:
   2769 YY_RULE_SETUP
   2770 #line 424 "ldlex.l"
   2771 {
   2772 		/* Annoyingly, this pattern can match comments, and we have
   2773 		   longest match issues to consider.  So if the first two
   2774 		   characters are a comment opening, put the input back and
   2775 		   try again.  */
   2776 		if (yytext[0] == '/' && yytext[1] == '*')
   2777 		  {
   2778 		    yyless (2);
   2779 		    comment ();
   2780 		  }
   2781 		else
   2782 		  {
   2783 		    yylval.name = stat_strdup (yytext);
   2784 		    return NAME;
   2785 		  }
   2786 	}
   2787 	YY_BREAK
   2788 case 183:
   2789 /* rule 183 can match eol */
   2790 YY_RULE_SETUP
   2791 #line 441 "ldlex.l"
   2792 {
   2793 		/* No matter the state, quotes give what's inside.  */
   2794 		yylval.name = stat_memdup (yytext + 1, yyleng - 2, yyleng - 1);
   2795 		return NAME;
   2796 	}
   2797 	YY_BREAK
   2798 case 184:
   2799 /* rule 184 can match eol */
   2800 YY_RULE_SETUP
   2801 #line 447 "ldlex.l"
   2802 {
   2803 				lineno++; }
   2804 	YY_BREAK
   2805 case 185:
   2806 YY_RULE_SETUP
   2807 #line 449 "ldlex.l"
   2808 {
   2809 				/* Eat up whitespace */ }
   2810 	YY_BREAK
   2811 case 186:
   2812 YY_RULE_SETUP
   2813 #line 451 "ldlex.l"
   2814 {
   2815 				/* Eat up comments */ }
   2816 	YY_BREAK
   2817 case 187:
   2818 YY_RULE_SETUP
   2819 #line 454 "ldlex.l"
   2820 { return *yytext; }
   2821 	YY_BREAK
   2822 case 188:
   2823 YY_RULE_SETUP
   2824 #line 456 "ldlex.l"
   2825 { RTOKEN(GLOBAL); }
   2826 	YY_BREAK
   2827 case 189:
   2828 YY_RULE_SETUP
   2829 #line 458 "ldlex.l"
   2830 { RTOKEN(LOCAL); }
   2831 	YY_BREAK
   2832 case 190:
   2833 YY_RULE_SETUP
   2834 #line 460 "ldlex.l"
   2835 { RTOKEN(EXTERN); }
   2836 	YY_BREAK
   2837 case 191:
   2838 YY_RULE_SETUP
   2839 #line 462 "ldlex.l"
   2840 { yylval.name = stat_strdup (yytext);
   2841 				  return VERS_IDENTIFIER; }
   2842 	YY_BREAK
   2843 case 192:
   2844 YY_RULE_SETUP
   2845 #line 465 "ldlex.l"
   2846 { yylval.name = stat_strdup (yytext);
   2847 				  return VERS_TAG; }
   2848 	YY_BREAK
   2849 case 193:
   2850 YY_RULE_SETUP
   2851 #line 468 "ldlex.l"
   2852 { BEGIN(VERS_SCRIPT); return *yytext; }
   2853 	YY_BREAK
   2854 case 194:
   2855 YY_RULE_SETUP
   2856 #line 470 "ldlex.l"
   2857 { BEGIN(VERS_NODE);
   2858 				  vers_node_nesting = 0;
   2859 				  return *yytext;
   2860 				}
   2861 	YY_BREAK
   2862 case 195:
   2863 YY_RULE_SETUP
   2864 #line 474 "ldlex.l"
   2865 { return *yytext; }
   2866 	YY_BREAK
   2867 case 196:
   2868 YY_RULE_SETUP
   2869 #line 475 "ldlex.l"
   2870 { vers_node_nesting++; return *yytext; }
   2871 	YY_BREAK
   2872 case 197:
   2873 YY_RULE_SETUP
   2874 #line 476 "ldlex.l"
   2875 { if (--vers_node_nesting < 0)
   2876 				    BEGIN(VERS_SCRIPT);
   2877 				  return *yytext;
   2878 				}
   2879 	YY_BREAK
   2880 case YY_STATE_EOF(INITIAL):
   2881 case YY_STATE_EOF(SCRIPT):
   2882 case YY_STATE_EOF(INPUTLIST):
   2883 case YY_STATE_EOF(EXPRESSION):
   2884 case YY_STATE_EOF(MRI):
   2885 case YY_STATE_EOF(WILD):
   2886 case YY_STATE_EOF(VERS_START):
   2887 case YY_STATE_EOF(VERS_SCRIPT):
   2888 case YY_STATE_EOF(VERS_NODE):
   2889 #line 481 "ldlex.l"
   2890 {
   2891   yy_delete_buffer (YY_CURRENT_BUFFER);
   2892   include_stack_ptr--;
   2893   if (include_stack_ptr == 0)
   2894     {
   2895       lineno = 0;
   2896       yyterminate ();
   2897     }
   2898   else
   2899     yy_switch_to_buffer (include_stack[include_stack_ptr]);
   2900 
   2901   lineno = lineno_stack[include_stack_ptr];
   2902   input_flags.sysrooted = sysrooted_stack[include_stack_ptr];
   2903 
   2904   return END;
   2905 }
   2906 	YY_BREAK
   2907 case 198:
   2908 YY_RULE_SETUP
   2909 #line 498 "ldlex.l"
   2910 lex_warn_invalid (_(" in script"), yytext);
   2911 	YY_BREAK
   2912 case 199:
   2913 YY_RULE_SETUP
   2914 #line 499 "ldlex.l"
   2915 lex_warn_invalid (_(" in expression"), yytext);
   2916 	YY_BREAK
   2917 case 200:
   2918 YY_RULE_SETUP
   2919 #line 501 "ldlex.l"
   2920 ECHO;
   2921 	YY_BREAK
   2922 #line 2922 "ldlex.c"
   2923 
   2924 	case YY_END_OF_BUFFER:
   2925 		{
   2926 		/* Amount of text matched not including the EOB char. */
   2927 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
   2928 
   2929 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
   2930 		*yy_cp = (yy_hold_char);
   2931 		YY_RESTORE_YY_MORE_OFFSET
   2932 
   2933 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
   2934 			{
   2935 			/* We're scanning a new file or input source.  It's
   2936 			 * possible that this happened because the user
   2937 			 * just pointed yyin at a new source and called
   2938 			 * yylex().  If so, then we have to assure
   2939 			 * consistency between YY_CURRENT_BUFFER and our
   2940 			 * globals.  Here is the right place to do so, because
   2941 			 * this is the first action (other than possibly a
   2942 			 * back-up) that will match for the new input source.
   2943 			 */
   2944 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
   2945 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
   2946 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
   2947 			}
   2948 
   2949 		/* Note that here we test for yy_c_buf_p "<=" to the position
   2950 		 * of the first EOB in the buffer, since yy_c_buf_p will
   2951 		 * already have been incremented past the NUL character
   2952 		 * (since all states make transitions on EOB to the
   2953 		 * end-of-buffer state).  Contrast this with the test
   2954 		 * in input().
   2955 		 */
   2956 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
   2957 			{ /* This was really a NUL. */
   2958 			yy_state_type yy_next_state;
   2959 
   2960 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
   2961 
   2962 			yy_current_state = yy_get_previous_state(  );
   2963 
   2964 			/* Okay, we're now positioned to make the NUL
   2965 			 * transition.  We couldn't have
   2966 			 * yy_get_previous_state() go ahead and do it
   2967 			 * for us because it doesn't know how to deal
   2968 			 * with the possibility of jamming (and we don't
   2969 			 * want to build jamming into it because then it
   2970 			 * will run more slowly).
   2971 			 */
   2972 
   2973 			yy_next_state = yy_try_NUL_trans( yy_current_state );
   2974 
   2975 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
   2976 
   2977 			if ( yy_next_state )
   2978 				{
   2979 				/* Consume the NUL. */
   2980 				yy_cp = ++(yy_c_buf_p);
   2981 				yy_current_state = yy_next_state;
   2982 				goto yy_match;
   2983 				}
   2984 
   2985 			else
   2986 				{
   2987 				yy_cp = (yy_c_buf_p);
   2988 				goto yy_find_action;
   2989 				}
   2990 			}
   2991 
   2992 		else switch ( yy_get_next_buffer(  ) )
   2993 			{
   2994 			case EOB_ACT_END_OF_FILE:
   2995 				{
   2996 				(yy_did_buffer_switch_on_eof) = 0;
   2997 
   2998 				if ( yywrap(  ) )
   2999 					{
   3000 					/* Note: because we've taken care in
   3001 					 * yy_get_next_buffer() to have set up
   3002 					 * yytext, we can now set up
   3003 					 * yy_c_buf_p so that if some total
   3004 					 * hoser (like flex itself) wants to
   3005 					 * call the scanner after we return the
   3006 					 * YY_NULL, it'll still work - another
   3007 					 * YY_NULL will get returned.
   3008 					 */
   3009 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
   3010 
   3011 					yy_act = YY_STATE_EOF(YY_START);
   3012 					goto do_action;
   3013 					}
   3014 
   3015 				else
   3016 					{
   3017 					if ( ! (yy_did_buffer_switch_on_eof) )
   3018 						YY_NEW_FILE;
   3019 					}
   3020 				break;
   3021 				}
   3022 
   3023 			case EOB_ACT_CONTINUE_SCAN:
   3024 				(yy_c_buf_p) =
   3025 					(yytext_ptr) + yy_amount_of_matched_text;
   3026 
   3027 				yy_current_state = yy_get_previous_state(  );
   3028 
   3029 				yy_cp = (yy_c_buf_p);
   3030 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
   3031 				goto yy_match;
   3032 
   3033 			case EOB_ACT_LAST_MATCH:
   3034 				(yy_c_buf_p) =
   3035 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
   3036 
   3037 				yy_current_state = yy_get_previous_state(  );
   3038 
   3039 				yy_cp = (yy_c_buf_p);
   3040 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
   3041 				goto yy_find_action;
   3042 			}
   3043 		break;
   3044 		}
   3045 
   3046 	default:
   3047 		YY_FATAL_ERROR(
   3048 			"fatal flex scanner internal error--no action found" );
   3049 	} /* end of action switch */
   3050 		} /* end of scanning one token */
   3051 	} /* end of user's declarations */
   3052 } /* end of yylex */
   3053 
   3054 /* yy_get_next_buffer - try to read in a new buffer
   3055  *
   3056  * Returns a code representing an action:
   3057  *	EOB_ACT_LAST_MATCH -
   3058  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
   3059  *	EOB_ACT_END_OF_FILE - end of file
   3060  */
   3061 static int yy_get_next_buffer (void)
   3062 {
   3063     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
   3064 	char *source = (yytext_ptr);
   3065 	int number_to_move, i;
   3066 	int ret_val;
   3067 
   3068 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
   3069 		YY_FATAL_ERROR(
   3070 		"fatal flex scanner internal error--end of buffer missed" );
   3071 
   3072 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
   3073 		{ /* Don't try to fill the buffer, so this is an EOF. */
   3074 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
   3075 			{
   3076 			/* We matched a single character, the EOB, so
   3077 			 * treat this as a final EOF.
   3078 			 */
   3079 			return EOB_ACT_END_OF_FILE;
   3080 			}
   3081 
   3082 		else
   3083 			{
   3084 			/* We matched some text prior to the EOB, first
   3085 			 * process it.
   3086 			 */
   3087 			return EOB_ACT_LAST_MATCH;
   3088 			}
   3089 		}
   3090 
   3091 	/* Try to read more data. */
   3092 
   3093 	/* First move last chars to start of buffer. */
   3094 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
   3095 
   3096 	for ( i = 0; i < number_to_move; ++i )
   3097 		*(dest++) = *(source++);
   3098 
   3099 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
   3100 		/* don't do the read, it's not guaranteed to return an EOF,
   3101 		 * just force an EOF
   3102 		 */
   3103 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
   3104 
   3105 	else
   3106 		{
   3107 			int num_to_read =
   3108 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
   3109 
   3110 		while ( num_to_read <= 0 )
   3111 			{ /* Not enough room in the buffer - grow it. */
   3112 
   3113 			/* just a shorter name for the current buffer */
   3114 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
   3115 
   3116 			int yy_c_buf_p_offset =
   3117 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
   3118 
   3119 			if ( b->yy_is_our_buffer )
   3120 				{
   3121 				int new_size = b->yy_buf_size * 2;
   3122 
   3123 				if ( new_size <= 0 )
   3124 					b->yy_buf_size += b->yy_buf_size / 8;
   3125 				else
   3126 					b->yy_buf_size *= 2;
   3127 
   3128 				b->yy_ch_buf = (char *)
   3129 					/* Include room in for 2 EOB chars. */
   3130 					yyrealloc( (void *) b->yy_ch_buf,
   3131 							 (yy_size_t) (b->yy_buf_size + 2)  );
   3132 				}
   3133 			else
   3134 				/* Can't grow it, we don't own it. */
   3135 				b->yy_ch_buf = NULL;
   3136 
   3137 			if ( ! b->yy_ch_buf )
   3138 				YY_FATAL_ERROR(
   3139 				"fatal error - scanner input buffer overflow" );
   3140 
   3141 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
   3142 
   3143 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
   3144 						number_to_move - 1;
   3145 
   3146 			}
   3147 
   3148 		if ( num_to_read > YY_READ_BUF_SIZE )
   3149 			num_to_read = YY_READ_BUF_SIZE;
   3150 
   3151 		/* Read in more data. */
   3152 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
   3153 			(yy_n_chars), num_to_read );
   3154 
   3155 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
   3156 		}
   3157 
   3158 	if ( (yy_n_chars) == 0 )
   3159 		{
   3160 		if ( number_to_move == YY_MORE_ADJ )
   3161 			{
   3162 			ret_val = EOB_ACT_END_OF_FILE;
   3163 			yyrestart( yyin  );
   3164 			}
   3165 
   3166 		else
   3167 			{
   3168 			ret_val = EOB_ACT_LAST_MATCH;
   3169 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
   3170 				YY_BUFFER_EOF_PENDING;
   3171 			}
   3172 		}
   3173 
   3174 	else
   3175 		ret_val = EOB_ACT_CONTINUE_SCAN;
   3176 
   3177 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
   3178 		/* Extend the array by 50%, plus the number we really need. */
   3179 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
   3180 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
   3181 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
   3182 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
   3183 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
   3184 		/* "- 2" to take care of EOB's */
   3185 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
   3186 	}
   3187 
   3188 	(yy_n_chars) += number_to_move;
   3189 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
   3190 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
   3191 
   3192 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
   3193 
   3194 	return ret_val;
   3195 }
   3196 
   3197 /* yy_get_previous_state - get the state just before the EOB char was reached */
   3198 
   3199     static yy_state_type yy_get_previous_state (void)
   3200 {
   3201 	yy_state_type yy_current_state;
   3202 	char *yy_cp;
   3203 
   3204 	yy_current_state = (yy_start);
   3205 
   3206 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
   3207 		{
   3208 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
   3209 		if ( yy_accept[yy_current_state] )
   3210 			{
   3211 			(yy_last_accepting_state) = yy_current_state;
   3212 			(yy_last_accepting_cpos) = yy_cp;
   3213 			}
   3214 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   3215 			{
   3216 			yy_current_state = (int) yy_def[yy_current_state];
   3217 			if ( yy_current_state >= 1242 )
   3218 				yy_c = yy_meta[yy_c];
   3219 			}
   3220 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   3221 		}
   3222 
   3223 	return yy_current_state;
   3224 }
   3225 
   3226 /* yy_try_NUL_trans - try to make a transition on the NUL character
   3227  *
   3228  * synopsis
   3229  *	next_state = yy_try_NUL_trans( current_state );
   3230  */
   3231     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
   3232 {
   3233 	int yy_is_jam;
   3234     	char *yy_cp = (yy_c_buf_p);
   3235 
   3236 	YY_CHAR yy_c = 1;
   3237 	if ( yy_accept[yy_current_state] )
   3238 		{
   3239 		(yy_last_accepting_state) = yy_current_state;
   3240 		(yy_last_accepting_cpos) = yy_cp;
   3241 		}
   3242 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   3243 		{
   3244 		yy_current_state = (int) yy_def[yy_current_state];
   3245 		if ( yy_current_state >= 1242 )
   3246 			yy_c = yy_meta[yy_c];
   3247 		}
   3248 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   3249 	yy_is_jam = (yy_current_state == 1241);
   3250 
   3251 		return yy_is_jam ? 0 : yy_current_state;
   3252 }
   3253 
   3254 #ifndef YY_NO_UNPUT
   3255 
   3256 #endif
   3257 
   3258 #ifndef YY_NO_INPUT
   3259 #ifdef __cplusplus
   3260     static int yyinput (void)
   3261 #else
   3262     static int input  (void)
   3263 #endif
   3264 
   3265 {
   3266 	int c;
   3267 
   3268 	*(yy_c_buf_p) = (yy_hold_char);
   3269 
   3270 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
   3271 		{
   3272 		/* yy_c_buf_p now points to the character we want to return.
   3273 		 * If this occurs *before* the EOB characters, then it's a
   3274 		 * valid NUL; if not, then we've hit the end of the buffer.
   3275 		 */
   3276 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
   3277 			/* This was really a NUL. */
   3278 			*(yy_c_buf_p) = '\0';
   3279 
   3280 		else
   3281 			{ /* need more input */
   3282 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
   3283 			++(yy_c_buf_p);
   3284 
   3285 			switch ( yy_get_next_buffer(  ) )
   3286 				{
   3287 				case EOB_ACT_LAST_MATCH:
   3288 					/* This happens because yy_g_n_b()
   3289 					 * sees that we've accumulated a
   3290 					 * token and flags that we need to
   3291 					 * try matching the token before
   3292 					 * proceeding.  But for input(),
   3293 					 * there's no matching to consider.
   3294 					 * So convert the EOB_ACT_LAST_MATCH
   3295 					 * to EOB_ACT_END_OF_FILE.
   3296 					 */
   3297 
   3298 					/* Reset buffer status. */
   3299 					yyrestart( yyin );
   3300 
   3301 					/*FALLTHROUGH*/
   3302 
   3303 				case EOB_ACT_END_OF_FILE:
   3304 					{
   3305 					if ( yywrap(  ) )
   3306 						return 0;
   3307 
   3308 					if ( ! (yy_did_buffer_switch_on_eof) )
   3309 						YY_NEW_FILE;
   3310 #ifdef __cplusplus
   3311 					return yyinput();
   3312 #else
   3313 					return input();
   3314 #endif
   3315 					}
   3316 
   3317 				case EOB_ACT_CONTINUE_SCAN:
   3318 					(yy_c_buf_p) = (yytext_ptr) + offset;
   3319 					break;
   3320 				}
   3321 			}
   3322 		}
   3323 
   3324 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
   3325 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
   3326 	(yy_hold_char) = *++(yy_c_buf_p);
   3327 
   3328 	return c;
   3329 }
   3330 #endif	/* ifndef YY_NO_INPUT */
   3331 
   3332 /** Immediately switch to a different input stream.
   3333  * @param input_file A readable stream.
   3334  *
   3335  * @note This function does not reset the start condition to @c INITIAL .
   3336  */
   3337     void yyrestart  (FILE * input_file )
   3338 {
   3339 
   3340 	if ( ! YY_CURRENT_BUFFER ){
   3341         yyensure_buffer_stack ();
   3342 		YY_CURRENT_BUFFER_LVALUE =
   3343             yy_create_buffer( yyin, YY_BUF_SIZE );
   3344 	}
   3345 
   3346 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
   3347 	yy_load_buffer_state(  );
   3348 }
   3349 
   3350 /** Switch to a different input buffer.
   3351  * @param new_buffer The new input buffer.
   3352  *
   3353  */
   3354     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
   3355 {
   3356 
   3357 	/* TODO. We should be able to replace this entire function body
   3358 	 * with
   3359 	 *		yypop_buffer_state();
   3360 	 *		yypush_buffer_state(new_buffer);
   3361      */
   3362 	yyensure_buffer_stack ();
   3363 	if ( YY_CURRENT_BUFFER == new_buffer )
   3364 		return;
   3365 
   3366 	if ( YY_CURRENT_BUFFER )
   3367 		{
   3368 		/* Flush out information for old buffer. */
   3369 		*(yy_c_buf_p) = (yy_hold_char);
   3370 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
   3371 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
   3372 		}
   3373 
   3374 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
   3375 	yy_load_buffer_state(  );
   3376 
   3377 	/* We don't actually know whether we did this switch during
   3378 	 * EOF (yywrap()) processing, but the only time this flag
   3379 	 * is looked at is after yywrap() is called, so it's safe
   3380 	 * to go ahead and always set it.
   3381 	 */
   3382 	(yy_did_buffer_switch_on_eof) = 1;
   3383 }
   3384 
   3385 static void yy_load_buffer_state  (void)
   3386 {
   3387     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
   3388 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
   3389 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
   3390 	(yy_hold_char) = *(yy_c_buf_p);
   3391 }
   3392 
   3393 /** Allocate and initialize an input buffer state.
   3394  * @param file A readable stream.
   3395  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
   3396  *
   3397  * @return the allocated buffer state.
   3398  */
   3399     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
   3400 {
   3401 	YY_BUFFER_STATE b;
   3402 
   3403 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
   3404 	if ( ! b )
   3405 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
   3406 
   3407 	b->yy_buf_size = size;
   3408 
   3409 	/* yy_ch_buf has to be 2 characters longer than the size given because
   3410 	 * we need to put in 2 end-of-buffer characters.
   3411 	 */
   3412 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
   3413 	if ( ! b->yy_ch_buf )
   3414 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
   3415 
   3416 	b->yy_is_our_buffer = 1;
   3417 
   3418 	yy_init_buffer( b, file );
   3419 
   3420 	return b;
   3421 }
   3422 
   3423 /** Destroy the buffer.
   3424  * @param b a buffer created with yy_create_buffer()
   3425  *
   3426  */
   3427     void yy_delete_buffer (YY_BUFFER_STATE  b )
   3428 {
   3429 
   3430 	if ( ! b )
   3431 		return;
   3432 
   3433 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
   3434 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
   3435 
   3436 	if ( b->yy_is_our_buffer )
   3437 		yyfree( (void *) b->yy_ch_buf  );
   3438 
   3439 	yyfree( (void *) b  );
   3440 }
   3441 
   3442 /* Initializes or reinitializes a buffer.
   3443  * This function is sometimes called more than once on the same buffer,
   3444  * such as during a yyrestart() or at EOF.
   3445  */
   3446     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
   3447 
   3448 {
   3449 	int oerrno = errno;
   3450 
   3451 	yy_flush_buffer( b );
   3452 
   3453 	b->yy_input_file = file;
   3454 	b->yy_fill_buffer = 1;
   3455 
   3456     /* If b is the current buffer, then yy_init_buffer was _probably_
   3457      * called from yyrestart() or through yy_get_next_buffer.
   3458      * In that case, we don't want to reset the lineno or column.
   3459      */
   3460     if (b != YY_CURRENT_BUFFER){
   3461         b->yy_bs_lineno = 1;
   3462         b->yy_bs_column = 0;
   3463     }
   3464 
   3465         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
   3466 
   3467 	errno = oerrno;
   3468 }
   3469 
   3470 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
   3471  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
   3472  *
   3473  */
   3474     void yy_flush_buffer (YY_BUFFER_STATE  b )
   3475 {
   3476     	if ( ! b )
   3477 		return;
   3478 
   3479 	b->yy_n_chars = 0;
   3480 
   3481 	/* We always need two end-of-buffer characters.  The first causes
   3482 	 * a transition to the end-of-buffer state.  The second causes
   3483 	 * a jam in that state.
   3484 	 */
   3485 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
   3486 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
   3487 
   3488 	b->yy_buf_pos = &b->yy_ch_buf[0];
   3489 
   3490 	b->yy_at_bol = 1;
   3491 	b->yy_buffer_status = YY_BUFFER_NEW;
   3492 
   3493 	if ( b == YY_CURRENT_BUFFER )
   3494 		yy_load_buffer_state(  );
   3495 }
   3496 
   3497 /** Pushes the new state onto the stack. The new state becomes
   3498  *  the current state. This function will allocate the stack
   3499  *  if necessary.
   3500  *  @param new_buffer The new state.
   3501  *
   3502  */
   3503 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
   3504 {
   3505     	if (new_buffer == NULL)
   3506 		return;
   3507 
   3508 	yyensure_buffer_stack();
   3509 
   3510 	/* This block is copied from yy_switch_to_buffer. */
   3511 	if ( YY_CURRENT_BUFFER )
   3512 		{
   3513 		/* Flush out information for old buffer. */
   3514 		*(yy_c_buf_p) = (yy_hold_char);
   3515 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
   3516 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
   3517 		}
   3518 
   3519 	/* Only push if top exists. Otherwise, replace top. */
   3520 	if (YY_CURRENT_BUFFER)
   3521 		(yy_buffer_stack_top)++;
   3522 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
   3523 
   3524 	/* copied from yy_switch_to_buffer. */
   3525 	yy_load_buffer_state(  );
   3526 	(yy_did_buffer_switch_on_eof) = 1;
   3527 }
   3528 
   3529 /** Removes and deletes the top of the stack, if present.
   3530  *  The next element becomes the new top.
   3531  *
   3532  */
   3533 void yypop_buffer_state (void)
   3534 {
   3535     	if (!YY_CURRENT_BUFFER)
   3536 		return;
   3537 
   3538 	yy_delete_buffer(YY_CURRENT_BUFFER );
   3539 	YY_CURRENT_BUFFER_LVALUE = NULL;
   3540 	if ((yy_buffer_stack_top) > 0)
   3541 		--(yy_buffer_stack_top);
   3542 
   3543 	if (YY_CURRENT_BUFFER) {
   3544 		yy_load_buffer_state(  );
   3545 		(yy_did_buffer_switch_on_eof) = 1;
   3546 	}
   3547 }
   3548 
   3549 /* Allocates the stack if it does not exist.
   3550  *  Guarantees space for at least one push.
   3551  */
   3552 static void yyensure_buffer_stack (void)
   3553 {
   3554 	yy_size_t num_to_alloc;
   3555 
   3556 	if (!(yy_buffer_stack)) {
   3557 
   3558 		/* First allocation is just for 2 elements, since we don't know if this
   3559 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
   3560 		 * immediate realloc on the next call.
   3561          */
   3562       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
   3563 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
   3564 								(num_to_alloc * sizeof(struct yy_buffer_state*)
   3565 								);
   3566 		if ( ! (yy_buffer_stack) )
   3567 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
   3568 
   3569 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
   3570 
   3571 		(yy_buffer_stack_max) = num_to_alloc;
   3572 		(yy_buffer_stack_top) = 0;
   3573 		return;
   3574 	}
   3575 
   3576 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
   3577 
   3578 		/* Increase the buffer to prepare for a possible push. */
   3579 		yy_size_t grow_size = 8 /* arbitrary grow size */;
   3580 
   3581 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
   3582 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
   3583 								((yy_buffer_stack),
   3584 								num_to_alloc * sizeof(struct yy_buffer_state*)
   3585 								);
   3586 		if ( ! (yy_buffer_stack) )
   3587 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
   3588 
   3589 		/* zero only the new slots.*/
   3590 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
   3591 		(yy_buffer_stack_max) = num_to_alloc;
   3592 	}
   3593 }
   3594 
   3595 /** Setup the input buffer state to scan directly from a user-specified character buffer.
   3596  * @param base the character buffer
   3597  * @param size the size in bytes of the character buffer
   3598  *
   3599  * @return the newly allocated buffer state object.
   3600  */
   3601 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
   3602 {
   3603 	YY_BUFFER_STATE b;
   3604 
   3605 	if ( size < 2 ||
   3606 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
   3607 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
   3608 		/* They forgot to leave room for the EOB's. */
   3609 		return NULL;
   3610 
   3611 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
   3612 	if ( ! b )
   3613 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
   3614 
   3615 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
   3616 	b->yy_buf_pos = b->yy_ch_buf = base;
   3617 	b->yy_is_our_buffer = 0;
   3618 	b->yy_input_file = NULL;
   3619 	b->yy_n_chars = b->yy_buf_size;
   3620 	b->yy_is_interactive = 0;
   3621 	b->yy_at_bol = 1;
   3622 	b->yy_fill_buffer = 0;
   3623 	b->yy_buffer_status = YY_BUFFER_NEW;
   3624 
   3625 	yy_switch_to_buffer( b  );
   3626 
   3627 	return b;
   3628 }
   3629 
   3630 /** Setup the input buffer state to scan a string. The next call to yylex() will
   3631  * scan from a @e copy of @a str.
   3632  * @param yystr a NUL-terminated string to scan
   3633  *
   3634  * @return the newly allocated buffer state object.
   3635  * @note If you want to scan bytes that may contain NUL values, then use
   3636  *       yy_scan_bytes() instead.
   3637  */
   3638 YY_BUFFER_STATE yy_scan_string (const char * yystr )
   3639 {
   3640 
   3641 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
   3642 }
   3643 
   3644 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
   3645  * scan from a @e copy of @a bytes.
   3646  * @param yybytes the byte buffer to scan
   3647  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
   3648  *
   3649  * @return the newly allocated buffer state object.
   3650  */
   3651 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
   3652 {
   3653 	YY_BUFFER_STATE b;
   3654 	char *buf;
   3655 	yy_size_t n;
   3656 	int i;
   3657 
   3658 	/* Get memory for full buffer, including space for trailing EOB's. */
   3659 	n = (yy_size_t) (_yybytes_len + 2);
   3660 	buf = (char *) yyalloc( n  );
   3661 	if ( ! buf )
   3662 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
   3663 
   3664 	for ( i = 0; i < _yybytes_len; ++i )
   3665 		buf[i] = yybytes[i];
   3666 
   3667 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
   3668 
   3669 	b = yy_scan_buffer( buf, n );
   3670 	if ( ! b )
   3671 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
   3672 
   3673 	/* It's okay to grow etc. this buffer, and we should throw it
   3674 	 * away when we're done.
   3675 	 */
   3676 	b->yy_is_our_buffer = 1;
   3677 
   3678 	return b;
   3679 }
   3680 
   3681 #ifndef YY_EXIT_FAILURE
   3682 #define YY_EXIT_FAILURE 2
   3683 #endif
   3684 
   3685 static void yynoreturn yy_fatal_error (const char* msg )
   3686 {
   3687 			fprintf( stderr, "%s\n", msg );
   3688 	exit( YY_EXIT_FAILURE );
   3689 }
   3690 
   3691 /* Redefine yyless() so it works in section 3 code. */
   3692 
   3693 #undef yyless
   3694 #define yyless(n) \
   3695 	do \
   3696 		{ \
   3697 		/* Undo effects of setting up yytext. */ \
   3698         int yyless_macro_arg = (n); \
   3699         YY_LESS_LINENO(yyless_macro_arg);\
   3700 		yytext[yyleng] = (yy_hold_char); \
   3701 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
   3702 		(yy_hold_char) = *(yy_c_buf_p); \
   3703 		*(yy_c_buf_p) = '\0'; \
   3704 		yyleng = yyless_macro_arg; \
   3705 		} \
   3706 	while ( 0 )
   3707 
   3708 /* Accessor  methods (get/set functions) to struct members. */
   3709 
   3710 /** Get the current line number.
   3711  *
   3712  */
   3713 int yyget_lineno  (void)
   3714 {
   3715 
   3716     return yylineno;
   3717 }
   3718 
   3719 /** Get the input stream.
   3720  *
   3721  */
   3722 FILE *yyget_in  (void)
   3723 {
   3724         return yyin;
   3725 }
   3726 
   3727 /** Get the output stream.
   3728  *
   3729  */
   3730 FILE *yyget_out  (void)
   3731 {
   3732         return yyout;
   3733 }
   3734 
   3735 /** Get the length of the current token.
   3736  *
   3737  */
   3738 int yyget_leng  (void)
   3739 {
   3740         return yyleng;
   3741 }
   3742 
   3743 /** Get the current token.
   3744  *
   3745  */
   3746 
   3747 char *yyget_text  (void)
   3748 {
   3749         return yytext;
   3750 }
   3751 
   3752 /** Set the current line number.
   3753  * @param _line_number line number
   3754  *
   3755  */
   3756 void yyset_lineno (int  _line_number )
   3757 {
   3758 
   3759     yylineno = _line_number;
   3760 }
   3761 
   3762 /** Set the input stream. This does not discard the current
   3763  * input buffer.
   3764  * @param _in_str A readable stream.
   3765  *
   3766  * @see yy_switch_to_buffer
   3767  */
   3768 void yyset_in (FILE *  _in_str )
   3769 {
   3770         yyin = _in_str ;
   3771 }
   3772 
   3773 void yyset_out (FILE *  _out_str )
   3774 {
   3775         yyout = _out_str ;
   3776 }
   3777 
   3778 int yyget_debug  (void)
   3779 {
   3780         return yy_flex_debug;
   3781 }
   3782 
   3783 void yyset_debug (int  _bdebug )
   3784 {
   3785         yy_flex_debug = _bdebug ;
   3786 }
   3787 
   3788 static int yy_init_globals (void)
   3789 {
   3790         /* Initialization is the same as for the non-reentrant scanner.
   3791      * This function is called from yylex_destroy(), so don't allocate here.
   3792      */
   3793 
   3794     (yy_buffer_stack) = NULL;
   3795     (yy_buffer_stack_top) = 0;
   3796     (yy_buffer_stack_max) = 0;
   3797     (yy_c_buf_p) = NULL;
   3798     (yy_init) = 0;
   3799     (yy_start) = 0;
   3800 
   3801 /* Defined in main.c */
   3802 #ifdef YY_STDINIT
   3803     yyin = stdin;
   3804     yyout = stdout;
   3805 #else
   3806     yyin = NULL;
   3807     yyout = NULL;
   3808 #endif
   3809 
   3810     /* For future reference: Set errno on error, since we are called by
   3811      * yylex_init()
   3812      */
   3813     return 0;
   3814 }
   3815 
   3816 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
   3817 int yylex_destroy  (void)
   3818 {
   3819 
   3820     /* Pop the buffer stack, destroying each element. */
   3821 	while(YY_CURRENT_BUFFER){
   3822 		yy_delete_buffer( YY_CURRENT_BUFFER  );
   3823 		YY_CURRENT_BUFFER_LVALUE = NULL;
   3824 		yypop_buffer_state();
   3825 	}
   3826 
   3827 	/* Destroy the stack itself. */
   3828 	yyfree((yy_buffer_stack) );
   3829 	(yy_buffer_stack) = NULL;
   3830 
   3831     /* Reset the globals. This is important in a non-reentrant scanner so the next time
   3832      * yylex() is called, initialization will occur. */
   3833     yy_init_globals( );
   3834 
   3835     return 0;
   3836 }
   3837 
   3838 /*
   3839  * Internal utility routines.
   3840  */
   3841 
   3842 #ifndef yytext_ptr
   3843 static void yy_flex_strncpy (char* s1, const char * s2, int n )
   3844 {
   3845 
   3846 	int i;
   3847 	for ( i = 0; i < n; ++i )
   3848 		s1[i] = s2[i];
   3849 }
   3850 #endif
   3851 
   3852 #ifdef YY_NEED_STRLEN
   3853 static int yy_flex_strlen (const char * s )
   3854 {
   3855 	int n;
   3856 	for ( n = 0; s[n]; ++n )
   3857 		;
   3858 
   3859 	return n;
   3860 }
   3861 #endif
   3862 
   3863 void *yyalloc (yy_size_t  size )
   3864 {
   3865 			return malloc(size);
   3866 }
   3867 
   3868 void *yyrealloc  (void * ptr, yy_size_t  size )
   3869 {
   3870 
   3871 	/* The cast to (char *) in the following accommodates both
   3872 	 * implementations that use char* generic pointers, and those
   3873 	 * that use void* generic pointers.  It works with the latter
   3874 	 * because both ANSI C and C++ allow castless assignment from
   3875 	 * any pointer type to void*, and deal with argument conversions
   3876 	 * as though doing an assignment.
   3877 	 */
   3878 	return realloc(ptr, size);
   3879 }
   3880 
   3881 void yyfree (void * ptr )
   3882 {
   3883 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
   3884 }
   3885 
   3886 #define YYTABLES_NAME "yytables"
   3887 
   3888 #line 501 "ldlex.l"
   3889 
   3890 
   3891 
   3893 /* Switch flex to reading script file NAME, open on FILE,
   3894    saving the current input info on the include stack.  */
   3895 
   3896 void
   3897 lex_push_file (FILE *file, const char *name, unsigned int sysrooted)
   3898 {
   3899   if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
   3900     fatal (_("%P: includes nested too deeply\n"));
   3901   file_name_stack[include_stack_ptr] = name;
   3902   lineno_stack[include_stack_ptr] = lineno;
   3903   sysrooted_stack[include_stack_ptr] = input_flags.sysrooted;
   3904   include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
   3905 
   3906   include_stack_ptr++;
   3907   lineno = 1;
   3908   input_flags.sysrooted = sysrooted;
   3909   yyin = file;
   3910   yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE));
   3911 }
   3912 
   3913 /* Return a newly created flex input buffer containing STRING,
   3914    which is SIZE bytes long.  */
   3915 
   3916 static YY_BUFFER_STATE
   3917 yy_create_string_buffer (const char *string, size_t size)
   3918 {
   3919   YY_BUFFER_STATE b;
   3920 
   3921   b = xmalloc (sizeof (struct yy_buffer_state));
   3922   b->yy_input_file = 0;
   3923   b->yy_buf_size = size;
   3924 
   3925   /* yy_ch_buf has to be 2 characters longer than the size given because
   3926      we need to put in 2 end-of-buffer characters.  */
   3927   b->yy_ch_buf = xmalloc (b->yy_buf_size + 3);
   3928 
   3929   b->yy_ch_buf[0] = '\n';
   3930   strcpy (b->yy_ch_buf+1, string);
   3931   b->yy_ch_buf[size+1] = YY_END_OF_BUFFER_CHAR;
   3932   b->yy_ch_buf[size+2] = YY_END_OF_BUFFER_CHAR;
   3933   b->yy_n_chars = size+1;
   3934   b->yy_buf_pos = &b->yy_ch_buf[1];
   3935 
   3936   b->yy_is_our_buffer = 1;
   3937   b->yy_is_interactive = 0;
   3938   b->yy_at_bol = 1;
   3939   b->yy_fill_buffer = 0;
   3940 
   3941   /* flex 2.4.7 changed the interface.  FIXME: We should not be using
   3942      a flex internal interface in the first place!  */
   3943 #ifdef YY_BUFFER_NEW
   3944   b->yy_buffer_status = YY_BUFFER_NEW;
   3945 #else
   3946   b->yy_eof_status = EOF_NOT_SEEN;
   3947 #endif
   3948 
   3949   return b;
   3950 }
   3951 
   3952 /* Switch flex to reading from STRING, saving the current input info
   3953    on the include stack.  */
   3954 
   3955 void
   3956 lex_redirect (const char *string, const char *fake_filename, unsigned int count)
   3957 {
   3958   YY_BUFFER_STATE tmp;
   3959 
   3960   yy_init = 0;
   3961   if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
   3962     fatal (_("%P: macros nested too deeply\n"));
   3963   file_name_stack[include_stack_ptr] = fake_filename;
   3964   lineno_stack[include_stack_ptr] = lineno;
   3965   include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
   3966   include_stack_ptr++;
   3967   lineno = count;
   3968   tmp = yy_create_string_buffer (string, strlen (string));
   3969   yy_switch_to_buffer (tmp);
   3970 }
   3971 
   3972 /* Functions to switch to a different flex start condition,
   3974    saving the current start condition on `state_stack'.  */
   3975 
   3976 static int state_stack[MAX_INCLUDE_DEPTH * 2];
   3977 static int *state_stack_p = state_stack;
   3978 
   3979 void
   3980 ldlex_script (void)
   3981 {
   3982   *(state_stack_p)++ = yy_start;
   3983   BEGIN (SCRIPT);
   3984 }
   3985 
   3986 void
   3987 ldlex_inputlist (void)
   3988 {
   3989   *(state_stack_p)++ = yy_start;
   3990   BEGIN (INPUTLIST);
   3991 }
   3992 
   3993 void
   3994 ldlex_mri_script (void)
   3995 {
   3996   *(state_stack_p)++ = yy_start;
   3997   BEGIN (MRI);
   3998 }
   3999 
   4000 void
   4001 ldlex_version_script (void)
   4002 {
   4003   *(state_stack_p)++ = yy_start;
   4004   BEGIN (VERS_START);
   4005 }
   4006 
   4007 void
   4008 ldlex_version_file (void)
   4009 {
   4010   *(state_stack_p)++ = yy_start;
   4011   BEGIN (VERS_SCRIPT);
   4012 }
   4013 
   4014 void
   4015 ldlex_expression (void)
   4016 {
   4017   *(state_stack_p)++ = yy_start;
   4018   BEGIN (EXPRESSION);
   4019 }
   4020 
   4021 void
   4022 ldlex_wild (void)
   4023 {
   4024   *(state_stack_p)++ = yy_start;
   4025   BEGIN (WILD);
   4026 }
   4027 
   4028 void
   4029 ldlex_popstate (void)
   4030 {
   4031   yy_start = *(--state_stack_p);
   4032 }
   4033 
   4034 /* In cases where the parser needs to look ahead and the context
   4035    changes from expression to script or vice-versa, throw away a
   4036    NAME.  What constitutes a NAME depends on context.  */
   4037 
   4038 void
   4039 ldlex_backup (void)
   4040 {
   4041   yyless (0);
   4042 }
   4043 
   4044 /* Return the current file name, or the previous file if no file is
   4045    current.  */
   4046 
   4047 const char*
   4048 ldlex_filename (void)
   4049 {
   4050   return file_name_stack[include_stack_ptr - (include_stack_ptr != 0)];
   4051 }
   4052 
   4053 
   4055 /* Place up to MAX_SIZE characters in BUF and return
   4056    either the number of characters read, or 0 to indicate EOF.  */
   4057 
   4058 static int
   4059 yy_input (char *buf, int max_size)
   4060 {
   4061   int result = 0;
   4062   if (YY_CURRENT_BUFFER != NULL && YY_CURRENT_BUFFER->yy_input_file)
   4063     {
   4064       if (yyin)
   4065 	{
   4066 	  result = fread (buf, 1, max_size, yyin);
   4067 	  if (result < max_size && ferror (yyin))
   4068 	    fatal (_("%P: read in flex scanner failed\n"));
   4069 	}
   4070     }
   4071   return result;
   4072 }
   4073 
   4074 /* Eat the rest of a C-style comment.  */
   4075 
   4076 static void
   4077 comment (void)
   4078 {
   4079   int c;
   4080 
   4081   while (1)
   4082     {
   4083       c = input();
   4084       while (c != '*' && c != 0)
   4085 	{
   4086 	  if (c == '\n')
   4087 	    lineno++;
   4088 	  c = input();
   4089 	}
   4090 
   4091       if (c == '*')
   4092 	{
   4093 	  c = input();
   4094 	  while (c == '*')
   4095 	    c = input();
   4096 	  if (c == '/')
   4097 	    break;			/* found the end */
   4098 	}
   4099 
   4100       if (c == '\n')
   4101 	lineno++;
   4102 
   4103       if (c == 0)
   4104 	{
   4105 	  fatal (_("%P: EOF in comment\n"));
   4106 	  break;
   4107 	}
   4108     }
   4109 }
   4110 
   4111 /* Warn the user about a garbage character WHAT in the input
   4112    in context WHERE.  */
   4113 
   4114 static void
   4115 lex_warn_invalid (char *where, char *what)
   4116 {
   4117   char buf[5];
   4118 
   4119   /* If we have found an input file whose format we do not recognize,
   4120      and we are therefore treating it as a linker script, and we find
   4121      an invalid character, then most likely this is a real object file
   4122      of some different format.  Treat it as such.  */
   4123   if (ldfile_assumed_script)
   4124     {
   4125       bfd_set_error (bfd_error_file_not_recognized);
   4126       fatal (_("%s: file not recognized: %E\n"), ldlex_filename ());
   4127     }
   4128 
   4129   if (! ISPRINT (*what))
   4130     {
   4131       sprintf (buf, "\\%03o", *(unsigned char *) what);
   4132       what = buf;
   4133     }
   4134 
   4135   einfo (_("%P:%pS: ignoring invalid character `%s'%s\n"), NULL, what, where);
   4136 }
   4137 
   4138