125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 2 "ldlex.c"
225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 4 "ldlex.c"
425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define  YY_INT_ALIGNED short int
625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
725b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* A lexical scanner generated by flex */
825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_create_buffer ld_create_buffer
1025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_delete_buffer ld_delete_buffer
1125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_flex_debug ld_flex_debug
1225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_init_buffer ld_init_buffer
1325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_flush_buffer ld_flush_buffer
1425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_load_buffer_state ld_load_buffer_state
1525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_switch_to_buffer ld_switch_to_buffer
1625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyin ldin
1725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyleng ldleng
1825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yylex ldlex
1925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yylineno ldlineno
2025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyout ldout
2125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyrestart ldrestart
2225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yytext ldtext
2325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yywrap ldwrap
2425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyalloc ldalloc
2525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyrealloc ldrealloc
2625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyfree ldfree
2725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
2825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define FLEX_SCANNER
2925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_FLEX_MAJOR_VERSION 2
3025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_FLEX_MINOR_VERSION 5
3125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_FLEX_SUBMINOR_VERSION 35
3225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#if YY_FLEX_SUBMINOR_VERSION > 0
3325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define FLEX_BETA
3425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
3525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
3625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* First, we deal with  platform-specific or compiler-specific issues. */
3725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
3825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* begin standard C headers. */
3925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <stdio.h>
4025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <string.h>
4125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <errno.h>
4225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <stdlib.h>
4325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* end standard C headers. */
4525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* flex integer type definitions */
4725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef FLEXINT_H
4925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define FLEXINT_H
5025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
5125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
5225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
5325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
5425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
5525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
5625b3c049e70834cf33790a28643ab058b507b35cBen Cheng * if you want the limit (max/min) macros for int types.
5725b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
5825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef __STDC_LIMIT_MACROS
5925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define __STDC_LIMIT_MACROS 1
6025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
6125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
6225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <inttypes.h>
6325b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef int8_t flex_int8_t;
6425b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef uint8_t flex_uint8_t;
6525b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef int16_t flex_int16_t;
6625b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef uint16_t flex_uint16_t;
6725b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef int32_t flex_int32_t;
6825b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef uint32_t flex_uint32_t;
6925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
7025b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef signed char flex_int8_t;
7125b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef short int flex_int16_t;
7225b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef int flex_int32_t;
7325b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef unsigned char flex_uint8_t;
7425b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef unsigned short int flex_uint16_t;
7525b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef unsigned int flex_uint32_t;
7625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif /* ! C99 */
7725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
7825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Limits of integral types. */
7925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef INT8_MIN
8025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INT8_MIN               (-128)
8125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
8225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef INT16_MIN
8325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INT16_MIN              (-32767-1)
8425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
8525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef INT32_MIN
8625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INT32_MIN              (-2147483647-1)
8725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
8825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef INT8_MAX
8925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INT8_MAX               (127)
9025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
9125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef INT16_MAX
9225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INT16_MAX              (32767)
9325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
9425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef INT32_MAX
9525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INT32_MAX              (2147483647)
9625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
9725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef UINT8_MAX
9825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define UINT8_MAX              (255U)
9925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
10025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef UINT16_MAX
10125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define UINT16_MAX             (65535U)
10225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
10325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef UINT32_MAX
10425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define UINT32_MAX             (4294967295U)
10525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
10625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
10725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif /* ! FLEXINT_H */
10825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
10925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef __cplusplus
11025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
11125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* The "const" storage-class-modifier is valid. */
11225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_USE_CONST
11325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
11425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else	/* ! __cplusplus */
11525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
11625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* C99 requires __STDC__ to be defined as 1. */
11725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#if defined (__STDC__)
11825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
11925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_USE_CONST
12025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
12125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif	/* defined (__STDC__) */
12225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif	/* ! __cplusplus */
12325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
12425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef YY_USE_CONST
12525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyconst const
12625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
12725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyconst
12825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
12925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
13025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Returned upon end-of-file. */
13125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_NULL 0
13225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
13325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Promotes a possibly negative, possibly signed char to an unsigned
13425b3c049e70834cf33790a28643ab058b507b35cBen Cheng * integer for use as an array index.  If the signed char is negative,
13525b3c049e70834cf33790a28643ab058b507b35cBen Cheng * we want to instead treat it as an 8-bit unsigned char, hence the
13625b3c049e70834cf33790a28643ab058b507b35cBen Cheng * double cast.
13725b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
13825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
13925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
14025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Enter a start condition.  This macro really ought to take a parameter,
14125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * but we do it the disgusting crufty way forced on us by the ()-less
14225b3c049e70834cf33790a28643ab058b507b35cBen Cheng * definition of BEGIN.
14325b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
14425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define BEGIN (yy_start) = 1 + 2 *
14525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
14625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Translate the current start state into a value that can be later handed
14725b3c049e70834cf33790a28643ab058b507b35cBen Cheng * to BEGIN to return to the state.  The YYSTATE alias is for lex
14825b3c049e70834cf33790a28643ab058b507b35cBen Cheng * compatibility.
14925b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
15025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_START (((yy_start) - 1) / 2)
15125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YYSTATE YY_START
15225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
15325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Action number for EOF rule of a given start state. */
15425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
15525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
15625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Special action meaning "start processing a new file". */
15725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_NEW_FILE ldrestart(ldin  )
15825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
15925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_END_OF_BUFFER_CHAR 0
16025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
16125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Size of default input buffer. */
16225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_BUF_SIZE
16325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_BUF_SIZE 16384
16425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
16525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
16625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* The state buf must be large enough to hold one state per character in the main buffer.
16725b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
16825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
16925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
17025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_TYPEDEF_YY_BUFFER_STATE
17125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_TYPEDEF_YY_BUFFER_STATE
17225b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef struct yy_buffer_state *YY_BUFFER_STATE;
17325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
17425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
17525b3c049e70834cf33790a28643ab058b507b35cBen Chengextern int ldleng;
17625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
17725b3c049e70834cf33790a28643ab058b507b35cBen Chengextern FILE *ldin, *ldout;
17825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
17925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define EOB_ACT_CONTINUE_SCAN 0
18025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define EOB_ACT_END_OF_FILE 1
18125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define EOB_ACT_LAST_MATCH 2
18225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
18325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
18425b3c049e70834cf33790a28643ab058b507b35cBen Cheng     *       access to the local variable yy_act. Since yyless() is a macro, it would break
18525b3c049e70834cf33790a28643ab058b507b35cBen Cheng     *       existing scanners that call yyless() from OUTSIDE ldlex.
18625b3c049e70834cf33790a28643ab058b507b35cBen Cheng     *       One obvious solution it to make yy_act a global. I tried that, and saw
18725b3c049e70834cf33790a28643ab058b507b35cBen Cheng     *       a 5% performance hit in a non-ldlineno scanner, because yy_act is
18825b3c049e70834cf33790a28643ab058b507b35cBen Cheng     *       normally declared as a register variable-- so it is not worth it.
18925b3c049e70834cf33790a28643ab058b507b35cBen Cheng     */
19025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    #define  YY_LESS_LINENO(n) \
19125b3c049e70834cf33790a28643ab058b507b35cBen Cheng            do { \
19225b3c049e70834cf33790a28643ab058b507b35cBen Cheng                int yyl;\
19325b3c049e70834cf33790a28643ab058b507b35cBen Cheng                for ( yyl = n; yyl < ldleng; ++yyl )\
19425b3c049e70834cf33790a28643ab058b507b35cBen Cheng                    if ( ldtext[yyl] == '\n' )\
19525b3c049e70834cf33790a28643ab058b507b35cBen Cheng                        --ldlineno;\
19625b3c049e70834cf33790a28643ab058b507b35cBen Cheng            }while(0)
19725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
19825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Return all but the first "n" matched characters back to the input stream. */
19925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyless(n) \
20025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	do \
20125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{ \
20225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Undo effects of setting up ldtext. */ \
20325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        int yyless_macro_arg = (n); \
20425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        YY_LESS_LINENO(yyless_macro_arg);\
20525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*yy_cp = (yy_hold_char); \
20625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_RESTORE_YY_MORE_OFFSET \
20725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
20825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_DO_BEFORE_ACTION; /* set up ldtext again */ \
20925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		} \
21025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	while ( 0 )
21125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
21225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define unput(c) yyunput( c, (yytext_ptr)  )
21325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
21425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_TYPEDEF_YY_SIZE_T
21525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_TYPEDEF_YY_SIZE_T
21625b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef size_t yy_size_t;
21725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
21825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
21925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_STRUCT_YY_BUFFER_STATE
22025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_STRUCT_YY_BUFFER_STATE
22125b3c049e70834cf33790a28643ab058b507b35cBen Chengstruct yy_buffer_state
22225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
22325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	FILE *yy_input_file;
22425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
22525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	char *yy_ch_buf;		/* input buffer */
22625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	char *yy_buf_pos;		/* current position in input buffer */
22725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
22825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Size of input buffer in bytes, not including room for EOB
22925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * characters.
23025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
23125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yy_size_t yy_buf_size;
23225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
23325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Number of characters read into yy_ch_buf, not including EOB
23425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * characters.
23525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
23625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int yy_n_chars;
23725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
23825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Whether we "own" the buffer - i.e., we know we created it,
23925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * and can realloc() it to grow it, and should free() it to
24025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * delete it.
24125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
24225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int yy_is_our_buffer;
24325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
24425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Whether this is an "interactive" input source; if so, and
24525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * if we're using stdio for input, then we want to use getc()
24625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * instead of fread(), to make sure we stop fetching input after
24725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * each newline.
24825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
24925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int yy_is_interactive;
25025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Whether we're considered to be at the beginning of a line.
25225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * If so, '^' rules will be active on the next match, otherwise
25325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * not.
25425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
25525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int yy_at_bol;
25625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25725b3c049e70834cf33790a28643ab058b507b35cBen Cheng    int yy_bs_lineno; /**< The line count. */
25825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    int yy_bs_column; /**< The column count. */
25925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Whether to try to fill the input buffer when we reach the
26125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * end of it.
26225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
26325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int yy_fill_buffer;
26425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int yy_buffer_status;
26625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_BUFFER_NEW 0
26825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_BUFFER_NORMAL 1
26925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* When an EOF's been seen but there's still some text to process
27025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
27125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * shouldn't try reading from the input source any more.  We might
27225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * still have a bunch of tokens to match, though, because of
27325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * possible backing-up.
27425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 *
27525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * When we actually see the EOF, we change the status to "new"
27625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * (via ldrestart()), so that the user can continue scanning by
27725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * just pointing ldin at a new input file.
27825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
27925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_BUFFER_EOF_PENDING 2
28025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
28125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	};
28225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif /* !YY_STRUCT_YY_BUFFER_STATE */
28325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
28425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Stack of input buffers. */
28525b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
28625b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
28725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
28825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
28925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* We provide macros for accessing buffer states in case in the
29025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * future we want to put the buffer states in a more general
29125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * "scanner state".
29225b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
29325b3c049e70834cf33790a28643ab058b507b35cBen Cheng * Returns the top of the stack, or NULL.
29425b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
29525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
29625b3c049e70834cf33790a28643ab058b507b35cBen Cheng                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
29725b3c049e70834cf33790a28643ab058b507b35cBen Cheng                          : NULL)
29825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
29925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Same as previous macro, but useful when we know that the buffer stack is not
30025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * NULL or when we need an lvalue. For internal use only.
30125b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
30225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
30325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
30425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* yy_hold_char holds the character lost when ldtext is formed. */
30525b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic char yy_hold_char;
30625b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_n_chars;		/* number of characters read into yy_ch_buf */
30725b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldleng;
30825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
30925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Points to current character in buffer. */
31025b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic char *yy_c_buf_p = (char *) 0;
31125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_init = 0;		/* whether we need to initialize */
31225b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_start = 0;	/* start state number */
31325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Flag which is used to allow ldwrap()'s to do buffer switches
31525b3c049e70834cf33790a28643ab058b507b35cBen Cheng * instead of setting up a fresh ldin.  A bit of a hack ...
31625b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
31725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_did_buffer_switch_on_eof;
31825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31925b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldrestart (FILE *input_file  );
32025b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ld_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
32125b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_create_buffer (FILE *file,int size  );
32225b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ld_delete_buffer (YY_BUFFER_STATE b  );
32325b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ld_flush_buffer (YY_BUFFER_STATE b  );
32425b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldpush_buffer_state (YY_BUFFER_STATE new_buffer  );
32525b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldpop_buffer_state (void );
32625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
32725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void ldensure_buffer_stack (void );
32825b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void ld_load_buffer_state (void );
32925b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void ld_init_buffer (YY_BUFFER_STATE b,FILE *file  );
33025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_FLUSH_BUFFER ld_flush_buffer(YY_CURRENT_BUFFER )
33225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33325b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_scan_buffer (char *base,yy_size_t size  );
33425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_scan_string (yyconst char *yy_str  );
33525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_scan_bytes (yyconst char *bytes,int len  );
33625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33725b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid *ldalloc (yy_size_t  );
33825b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid *ldrealloc (void *,yy_size_t  );
33925b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldfree (void *  );
34025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
34125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_new_buffer ld_create_buffer
34225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
34325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_set_interactive(is_interactive) \
34425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{ \
34525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! YY_CURRENT_BUFFER ){ \
34625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        ldensure_buffer_stack (); \
34725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE =    \
34825b3c049e70834cf33790a28643ab058b507b35cBen Cheng            ld_create_buffer(ldin,YY_BUF_SIZE ); \
34925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	} \
35025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
35125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
35225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
35325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yy_set_bol(at_bol) \
35425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{ \
35525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! YY_CURRENT_BUFFER ){\
35625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        ldensure_buffer_stack (); \
35725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE =    \
35825b3c049e70834cf33790a28643ab058b507b35cBen Cheng            ld_create_buffer(ldin,YY_BUF_SIZE ); \
35925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	} \
36025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
36125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
36225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
36425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Begin user sect3 */
36625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define ldwrap(n) 1
36825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_SKIP_YYWRAP
36925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37025b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef unsigned char YY_CHAR;
37125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37225b3c049e70834cf33790a28643ab058b507b35cBen ChengFILE *ldin = (FILE *) 0, *ldout = (FILE *) 0;
37325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37425b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef int yy_state_type;
37525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37625b3c049e70834cf33790a28643ab058b507b35cBen Chengextern int ldlineno;
37725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37825b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldlineno = 1;
37925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
38025b3c049e70834cf33790a28643ab058b507b35cBen Chengextern char *ldtext;
38125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yytext_ptr ldtext
38225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
38325b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yy_state_type yy_get_previous_state (void );
38425b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
38525b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_get_next_buffer (void );
38625b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void yy_fatal_error (yyconst char msg[]  );
38725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
38825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Done after the current pattern has been matched and before the
38925b3c049e70834cf33790a28643ab058b507b35cBen Cheng * corresponding action - sets up ldtext.
39025b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
39125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_DO_BEFORE_ACTION \
39225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yytext_ptr) = yy_bp; \
39325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ldleng = (size_t) (yy_cp - yy_bp); \
39425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_hold_char) = *yy_cp; \
39525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	*yy_cp = '\0'; \
39625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_c_buf_p) = yy_cp;
39725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
39825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_NUM_RULES 50
39925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_END_OF_BUFFER 51
40025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* This struct is not used in this scanner,
40125b3c049e70834cf33790a28643ab058b507b35cBen Cheng   but its presence is necessary. */
40225b3c049e70834cf33790a28643ab058b507b35cBen Chengstruct yy_trans_info
40325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
40425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	flex_int32_t yy_verify;
40525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	flex_int32_t yy_nxt;
40625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	};
40725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int16_t yy_accept[219] =
40825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
40925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,   51,   49,   48,   48,   41,   42,
41025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       32,   33,   39,   37,   44,   38,   46,   40,   45,   45,
41125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       34,   35,   36,   46,   46,   46,   46,   46,   46,   46,
41225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   46,   49,   49,   46,   46,   30,   43,   31,
41325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       49,    9,    9,   48,   46,   47,   46,   10,   45,   45,
41425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       45,   46,   45,   46,   46,   46,   46,   46,   46,   46,
41525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   46,   46,   46,   46,   46,    0,   29,   46,
41625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,    0,    0,    0,    0,   45,   46,   46,   46,   46,
41725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
41825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,    0,   46,   46,    0,    0,    0,    0,    0,
41925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
42025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   45,   46,   46,   46,   46,   46,   46,   46,   19,
42125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   46,   46,   46,   46,   27,   46,    0,   46,
42225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,    0,    0,    0,    0,    0,    0,    0,    0,   11,
42325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   13,   46,   16,   17,   46,   46,   46,   46,   46,
42425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   46,   46,   46,    0,    0,    0,    0,    0,
42525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,   46,   46,   18,   46,   46,   46,   46,
42625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   46,   46,   20,    0,    2,    0,    0,    0,
42725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        6,    0,    0,   46,   46,   46,   46,   23,   46,   25,
42825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   28,   15,    0,    4,    1,    0,    8,    5,   46,
42925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,   22,   46,   46,    0,    0,   12,   46,   46,
43025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
43125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   46,    3,    7,   46,   46,   24,   46,   46,   46,
43225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   14,   46,   46,   21,   46,   26,    0
43325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
43425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
43525b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int32_t yy_ec[256] =
43625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
43725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
43825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        2,    2,    2,    1,    1,    1,    1,    1,    1,    1,
43925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
44025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    2,    1,    1,    4,    1,    5,    6,    1,    7,
44125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        8,    9,   10,   11,   12,   13,   14,   15,   16,   16,
44225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       16,   16,   16,   16,   16,   17,   17,   18,   19,    1,
44325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       20,    1,   21,    1,   22,   23,   24,   25,   26,   27,
44425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       28,   29,   30,   13,   31,   32,   33,   34,   35,   36,
44525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       13,   37,   38,   39,   40,   41,   42,   43,   44,   45,
44625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   47,   48,    1,   49,    1,   50,   51,   52,   53,
44725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
44825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       54,   55,   56,   13,   57,   13,   58,   59,   58,   60,
44925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       61,   13,   13,   13,   62,   13,   13,   13,   13,   63,
45025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       13,   13,   64,   65,   66,   47,    1,    1,    1,    1,
45125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
45825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
45925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
46025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
46125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
46225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
46325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
46425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1
46525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
46625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
46725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int32_t yy_meta[67] =
46825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
46925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    2,    2,    1,    1,    1,    2,    2,    3,    1,
47025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    3,    3,    1,    3,    3,    3,    2,    2,    1,
47125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
47225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
47325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        3,    3,    3,    3,    3,    2,    1,    2,    3,    3,
47425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
47525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        3,    3,    3,    2,    1,    2
47625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
47725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
47825b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int16_t yy_base[223] =
47925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
48025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  217,    0,  216,  216, 2250,   65,   67, 2250, 2250,
48125b3c049e70834cf33790a28643ab058b507b35cBen Cheng     2250, 2250,    0, 2250, 2250, 2250,   70,  206,  135,   62,
48225b3c049e70834cf33790a28643ab058b507b35cBen Cheng     2250, 2250, 2250,    0,  186,   70,  127,  146,  179,  210,
48325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      259,  308,  246,   46,    0,  268,  297, 2250, 2250, 2250,
48425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       25, 2250,   42,   70,    0,    0,  304,    0,   48,  224,
48525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      337,  386,  389,  438,  441,  444,  493,  496,  545,  532,
48625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      554,  583,  589,  638,  634,  641,  672,   73, 2250,  691,
48725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      695,   38,  159,   47,  158,   69,  728,  747,  751,  780,
48825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      784,  813,  819,  842,  848,  871,  877,  900,  908,  929,
48925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      937,  958,   81,  966,  987,   52,  158,  155,   69,  154,
49025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
49125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      153,  995, 1018, 1031, 1039, 1070, 1062, 1091, 1120, 1127,
49225b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1131, 1160, 1171, 1193, 1204, 1164, 1226, 1233,  151, 1237,
49325b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1266,  142,  138,  134,  134,  132,  132,  124,  115, 1277,
49425b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1288, 1301, 1322, 1341, 1345, 1374, 1380, 1409, 1430, 1433,
49525b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1464, 1485, 1488, 1509, 1538,  114,  135,  110,  104,   81,
49625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      145,   77,   75, 1545, 1549, 1578, 1582, 1589, 1611, 1633,
49725b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1640, 1644, 1684, 1693, 2250,   68, 2250,  151,  154,   65,
49825b3c049e70834cf33790a28643ab058b507b35cBen Cheng     2250,  169,  171, 1697, 1728, 1737, 1750, 1772, 1781, 1794,
49925b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1803, 1825, 2250,   57, 2250, 2250,   53, 2250, 2250, 1834,
50025b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1847, 1838, 1869, 1878, 1900,  173,  181, 1907, 1929, 1936,
50125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
50225b3c049e70834cf33790a28643ab058b507b35cBen Cheng     1960, 1967, 2250, 2250, 1989, 1996, 2000, 2040, 2051, 2029,
50325b3c049e70834cf33790a28643ab058b507b35cBen Cheng     2064, 2085, 2108, 2119, 2142, 2148, 2177, 2250, 2240,   89,
50425b3c049e70834cf33790a28643ab058b507b35cBen Cheng     2243, 2246
50525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
50625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
50725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int16_t yy_def[223] =
50825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
50925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,    1,  219,  219,  218,  218,  218,  218,  218,  218,
51025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  220,  218,  218,  218,  221,  222,  221,   19,
51125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  220,   19,   19,   19,   19,   19,   19,
51225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,  218,  222,   19,   19,  218,  218,  218,
51325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  220,  222,   19,  222,   19,   19,
51425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
51525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,   19,   19,  218,  218,   19,
51625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,  218,  218,  218,  218,   52,   19,   19,   19,   19,
51725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
51825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,  218,   19,   19,  218,  218,  218,  218,  218,
51925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
52025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   19,   19,   19,   19,   19,   19,   19,   19,   19,
52125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,   19,   19,   19,  218,   19,
52225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,  218,  218,  218,  218,  218,  218,  218,  218,   19,
52325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
52425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,  218,  218,  218,  218,  218,
52525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   19,   19,   19,   19,   19,   19,   19,
52625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,  218,  218,  218,  218,  218,  218,
52725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   19,   19,   19,   19,   19,   19,   19,
52825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,  218,  218,  218,  218,  218,  218,  218,   19,
52925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,  218,  218,   19,   19,   19,
53025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
53125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,  218,  218,   19,   19,   19,   19,   19,   19,
53225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,   19,   19,   19,   19,   19,    0,  218,  218,
53325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218
53425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
53525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
53625b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int16_t yy_nxt[2317] =
53725b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
53825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        6,    7,    8,    6,    9,   10,   11,   12,   13,   14,
53925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       15,   16,   17,   18,   19,   20,   20,   21,   22,   23,
54025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       24,   25,   17,   17,   17,   26,   17,   27,   17,   28,
54125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       29,   17,   17,   17,   30,   31,   17,   32,   17,   17,
54225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       33,   17,   17,   17,   17,   34,   35,    6,   17,   17,
54325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       17,   17,   17,   17,   17,   36,   17,   17,   37,   17,
54425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       17,   17,   17,   38,   39,   40,   44,   44,   44,   44,
54525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   44,   44,   46,   46,   46,   50,   50,   72,   46,
54625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   73,   68,   46,   47,   47,   47,   68,   68,   46,
54725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   45,   53,   69,   53,   74,   96,   97,   75,  102,
54825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
54925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  102,   47,   56,   47,   99,  100,  197,  122,   93,
55025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  196,   57,  123,   93,   93,   46,  119,  187,   53,
55125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       69,  184,  119,  119,   47,  126,  102,   47,   69,  173,
55225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      127,  172,   47,  170,   46,   46,  167,  167,   46,   46,
55325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       46,   47,   47,   47,   46,   46,  171,  171,   46,   49,
55425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       49,   50,  185,  185,   46,  186,  186,   47,  169,   47,
55525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   58,  168,   51,  166,   51,  153,   47,
55625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      188,  188,  189,  189,  203,  203,   47,   52,   47,   59,
55725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      152,   46,  204,  204,   47,  151,  150,  149,   47,   47,
55825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      148,  147,   51,   47,   47,   47,  146,   52,   69,   46,
55925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
56025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   60,  129,  128,  125,   47,   47,
56125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      124,   47,  101,   98,   48,  218,   47,   54,   47,   43,
56225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       41,   47,  218,   55,   47,   47,   47,  218,   47,  218,
56325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,   47,  218,   50,   50,
56425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,  218,  218,   47,   61,
56525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,  218,   53,  218,   53,  218,  218,  218,
56625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,   47,   47,  218,  218,
56725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   67,   47,   47,   47,   47,   47,  218,   47,  218,
56825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       62,   53,   47,   47,   47,  218,   47,  218,   47,   47,
56925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,   63,  218,  218,   47,  218,
57025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
57125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,  218,  218,  218,  218,   47,  218,
57225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,   47,  218,   47,   47,
57325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,   47,   70,   47,  218,   47,
57425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   64,   47,  218,   47,   65,   47,   47,
57525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   66,  218,  218,  218,   47,  218,  218,  218,
57625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,  218,  218,   71,  218,   47,
57725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,   47,   47,   47,  218,   47,
57825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  218,  218,  218,  218,   47,
57925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
58025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,   47,  218,  218,  218,  218,   47,
58125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
58225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       76,   76,   76,   47,   47,   47,  218,   76,   76,   76,
58325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       76,   76,   76,  218,  218,  218,   47,  218,   47,   47,
58425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,  218,  218,  218,   47,  218,
58525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,   76,   76,   76,   76,   76,
58625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       76,  218,  218,   47,  218,  218,   47,  218,   47,  218,
58725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,   47,   47,   47,   47,   47,
58825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  218,  218,   77,   47,  218,
58925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,   47,  218,   47,  218,  218,  218,
59025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   79,   47,  218,  218,   47,  218,  218,   78,
59125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,   47,  218,  218,   47,  218,
59225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
59325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,  218,  218,   47,   47,   47,   47,
59425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,   80,  218,  218,  218,
59525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,  218,   47,   47,  218,   47,  218,
59625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       81,  218,  218,  218,  218,   47,  218,  218,   47,  218,
59725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,   47,   47,   47,  218,
59825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,  218,   47,  218,   84,   47,   47,
59925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,   47,  218,  218,  218,   47,   47,
60025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,   47,   47,  218,   47,  218,  218,
60125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       82,  218,  218,   83,   47,  218,   47,   47,  218,   47,
60225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   85,  218,   47,  218,   47,   47,   47,   47,
60325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
60425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,   47,  218,   47,  218,  218,
60525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       86,   47,  218,   47,  218,   47,   47,  218,  218,   47,
60625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   87,  218,   47,  218,  218,  218,  218,
60725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,  218,  218,  218,  218,  218,
60825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,   47,   47,  218,   47,   47,
60925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,   47,   47,   47,  218,   88,
61025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,   47,   89,   47,  218,   47,  218,
61125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,  218,  218,   47,   91,   90,  218,
61225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,  218,  218,   47,   47,   47,  218,
61325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,   47,   47,  218,   47,  218,
61425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
61525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,   47,   47,   47,   92,   47,
61625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,   47,  218,  218,  218,  218,  218,
61725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,  218,   47,  218,   47,  218,   47,
61825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,   47,  218,  218,   47,  218,  218,
61925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,  218,   95,  218,   47,  218,
62025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   94,   47,   47,  218,  103,  218,   47,   47,  218,
62125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,   47,   47,   47,  218,  218,
62225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  218,  218,   47,  218,   47,
62325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      104,   47,  218,   47,  218,   47,  218,  105,  218,   47,
62425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,   47,   47,   47,  218,   47,   47,
62525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
62625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,   47,  218,  218,  218,   47,   47,
62725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  106,   47,   47,   47,  218,   47,  218,  218,  218,
62825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,  107,  218,  218,   47,   47,   47,   47,
62925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,   47,   47,  218,   47,  218,  218,
63025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,  109,   47,   47,  218,  218,   47,
63125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  108,  218,  218,   47,   47,   47,   47,  218,
63225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,  218,  218,  218,  218,  218,
63325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,   47,   47,   47,  110,   47,  218,
63425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  111,   47,   47,   47,   47,  218,  218,
63525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,  112,  218,  218,   47,
63625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
63725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,   47,   47,  218,   47,  218,   47,
63825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,   47,   47,   47,  113,  218,   47,
63925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,  218,  218,  218,   47,  218,
64025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,  218,  114,  218,   47,   47,
64125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      115,  218,   47,   47,   47,   47,  218,  218,  218,  218,
64225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  116,  218,  218,   47,  218,   47,
64325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,  218,  218,   47,  218,   47,  218,   47,
64425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,  117,  218,  218,  218,   47,
64525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,   47,  218,   47,  218,
64625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,   47,  118,   47,  218,   47,   47,
64725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
64825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,  218,  218,   47,   47,
64925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,  218,   47,  120,   47,  218,   47,
65025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,  218,   47,  218,   47,   47,   47,
65125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,  218,  121,   47,  218,  218,
65225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,   47,   47,   47,   47,   47,   47,
65325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  130,   47,   47,   47,   47,  131,   47,  218,  218,
65425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,  218,  218,  218,  218,  218,   47,
65525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,  218,   47,   47,   47,   47,  218,
65625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  132,  218,   47,   47,   47,  218,   47,  218,
65725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,  218,   47,  134,  218,  218,
65825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
65925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,   47,   47,   47,   47,  218,  133,
66025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,  218,  218,  218,  218,  218,  218,   47,
66125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,   47,  218,  218,   47,  218,  135,
66225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,   47,   47,  218,  218,  218,
66325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,  218,   47,   47,   47,   47,  218,
66425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,  218,  218,  136,   47,  218,   47,
66525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,  218,  218,  218,  218,  218,   47,
66625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      137,  218,  218,   47,   47,   47,   47,   47,   47,   47,
66725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,   47,   47,   47,   47,   47,   47,
66825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,  218,   47,  138,  142,  218,
66925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
67025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      139,   47,   47,   47,  218,  218,   47,   47,   47,   47,
67125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,  218,  218,  140,   47,   47,   47,
67225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,   47,   47,  218,   47,  141,
67325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,   47,   47,   47,  218,  218,  218,
67425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,   47,   47,   47,   47,
67525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,   47,   47,  218,   47,  218,
67625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  143,   47,  218,   47,   47,   47,   47,   47,
67725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,   47,  218,  218,  218,   47,
67825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,  144,  218,   47,  218,
67925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,   47,   47,  218,   47,   47,
68025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
68125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,  218,  218,   47,   47,   47,
68225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  154,  218,   47,   47,   47,   47,   47,
68325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,  145,  218,  218,  218,   47,  218,
68425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,   47,  218,   47,   47,   47,   47,
68525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,  218,   47,  155,  218,  218,  218,
68625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,   47,   47,   47,   47,   47,   47,
68725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,   47,  218,  218,  218,  218,  218,
68825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,  218,   47,  218,   47,  218,   47,
68925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,   47,  218,  218,   47,   47,   47,
69025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,   47,   47,   47,  218,   47,  218,
69125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
69225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,  218,   47,   47,  218,  156,
69325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,  218,  218,   47,  218,  157,  218,
69425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,   47,  218,  218,  218,  218,
69525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  218,  218,   47,   47,  158,   47,
69625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,  218,   47,   47,   47,   47,   47,   47,
69725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,  218,  159,  218,  218,  218,  218,  218,
69825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  160,   47,   47,  218,   47,   47,  218,  218,  218,
69925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,  218,  218,   47,  218,  218,   47,   47,
70025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  218,  218,   47,  218,  218,
70125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,   47,   47,   47,  161,  218,   47,
70225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
70325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,  218,   47,  218,  218,  218,
70425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  162,  218,  218,  218,   47,  218,   47,   47,  218,
70525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  163,   47,   47,   47,   47,   47,  218,  218,
70625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  218,  218,  218,  218,   47,
70725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,  218,  218,   47,  218,   47,  218,  218,
70825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,  165,  218,  218,  218,   47,
70925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,   47,   47,   47,  164,   47,  174,
71025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,  175,   47,  218,   47,  218,   47,
71125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,  218,  218,  218,   47,  218,  218,
71225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,   47,   47,   47,   47,  218,
71325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
71425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,   47,   47,   47,   47,  218,
71525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,   47,  218,  218,  218,  218,   47,
71625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,   47,   47,   47,   47,  218,  218,
71725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      176,   47,  218,  177,  218,   47,  178,  218,  218,   47,
71825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,   47,  218,   47,   47,   47,   47,
71925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,   47,   47,   47,  218,   47,   47,
72025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,   47,  218,   47,  218,  218,   47,  218,
72125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,   47,   47,  218,  180,  218,
72225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  179,   47,  218,  218,  218,   47,  218,  218,  218,
72325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  181,  218,  218,   47,  218,   47,   47,   47,
72425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
72525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,   47,   47,   47,   47,
72625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      183,   47,   47,   47,   47,  218,   47,  182,  218,  218,
72725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  190,   47,  218,   47,   47,   47,  218,   47,
72825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,   47,  218,  218,  218,   47,
72925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,  218,   47,  218,  218,  218,
73025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,   47,  218,  218,   47,   47,
73125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  192,   47,   47,   47,   47,  218,   47,
73225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  193,  191,  218,  218,   47,
73325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,  218,   47,   47,   47,   47,  218,
73425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,   47,   47,   47,   47,  218,   47,
73525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
73625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,  218,   47,  194,  218,   47,   47,   47,
73725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,  218,  218,   47,   47,   47,
73825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,   47,  218,   47,  218,  218,   47,
73925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  195,  218,   47,   47,   47,   47,  218,   47,   47,
74025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,   47,  218,   47,  218,  218,   47,   47,
74125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,   47,   47,   47,  198,  218,
74225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,   47,   47,   47,   47,   47,  218,
74325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  200,  199,  218,  218,   47,   47,  218,   47,
74425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,   47,  218,   47,  218,   47,
74525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,   47,   47,  218,  218,   47,
74625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
74725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,   47,  218,  218,  201,   47,   47,
74825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,   47,   47,   47,  218,  218,  218,
74925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  202,   47,  218,  218,  218,
75025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,   47,  218,   47,  218,   47,
75125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,   47,   47,   47,  218,  218,  218,   47,
75225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,  218,   47,  205,   47,
75325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,  218,   47,  218,   47,  218,   47,   47,
75425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  206,  218,   47,   47,   47,  218,   47,  218,
75525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,  218,  218,   47,  218,  208,  218,
75625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,  207,   47,   47,   47,
75725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
75825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,   47,  218,  218,  218,   47,
75925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,   47,   47,   47,   47,  218,   47,
76025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      209,   47,   47,  218,   47,  218,   47,  218,  210,   47,
76125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,  218,  218,   47,  218,
76225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,   47,   47,   47,   47,   47,  218,  218,  218,
76325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      213,   47,  218,   47,   47,   47,   47,   47,   47,   47,
76425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,  218,  211,   47,   47,   47,  218,  218,
76525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,  212,  218,   47,   47,
76625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,   47,  218,  218,  214,
76725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,  218,   47,   47,  218,   47,   47,  218,   47,
76825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
76925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,  218,  218,  218,   47,  218,   47,  218,
77025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,  218,   47,  218,   47,  218,  218,
77125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,  218,   47,   47,  218,  218,
77225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,   47,   47,   47,  218,  218,   47,  218,
77325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,  218,  218,  215,   47,  218,   47,
77425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,  218,  216,   47,   47,   47,  218,
77525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,   47,   47,   47,   47,   47,  218,  218,  218,  218,
77625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,   47,  218,   47,  218,   47,  218,   47,  218,
77725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,  218,  218,   47,  217,  218,  218,  218,  218,
77825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   47,   47,   47,  218,  218,  218,  218,  218,   47,
77925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
78025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,   47,   47,  218,   47,  218,   47,
78125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,  218,  218,  218,  218,  218,  218,  218,  218,   47,
78225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
78325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,   47,  218,  218,  218,  218,   47,
78425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       42,   42,   42,   47,  218,   47,   46,  218,   46,    5,
78525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
78625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
78725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
78825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
78925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
79025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
79125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
79225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218
79325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
79425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
79525b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int16_t yy_chk[2317] =
79625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
79725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
79825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
79925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
80025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
80125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
80225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
80325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        1,    1,    1,    1,    1,    1,    7,    7,    8,    8,
80425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       17,   44,   44,   17,   17,   17,   20,   20,   41,   17,
80525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       17,   41,   34,   17,   26,   26,   26,   34,   34,   17,
80625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       49,  220,   20,   34,   20,   43,   72,   72,   43,   76,
80725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
80825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       26,   76,   26,   26,   20,   74,   74,  187,   96,   68,
80925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       49,  184,   26,   96,   68,   68,   17,   93,  170,   20,
81025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       68,  166,   93,   93,   20,   99,   76,   26,   93,  153,
81125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       99,  152,   26,  150,   17,   19,  147,  147,   19,   19,
81225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   27,   27,   27,   19,   19,  151,  151,   19,   19,
81325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       19,   19,  168,  168,   19,  169,  169,   27,  149,   27,
81425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       28,   28,   28,   27,  148,   19,  146,   19,  129,   27,
81525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      172,  172,  173,  173,  196,  196,   28,   19,   28,   28,
81625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      128,   19,  197,  197,   27,  127,  126,  125,   28,   27,
81725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      124,  123,   19,   29,   29,   29,  122,   19,  119,   19,
81825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
81925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       25,   25,   25,   28,   29,  101,  100,   98,   28,   29,
82025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       97,   29,   75,   73,   18,    5,   25,   25,   25,    4,
82125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        2,   29,    0,   25,   30,   30,   30,    0,   25,    0,
82225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,    0,   29,    0,   50,   50,
82325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       30,   29,   30,   25,    0,    0,    0,    0,   25,   30,
82425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,   30,    0,   50,    0,   50,    0,    0,    0,
82525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       33,   33,   33,    0,    0,    0,   50,   30,    0,    0,
82625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   33,   30,   31,   31,   31,   33,    0,   33,    0,
82725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       31,   50,   36,   36,   36,    0,   50,    0,   33,   31,
82825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   31,    0,    0,    0,   31,    0,    0,   36,    0,
82925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
83025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       36,   31,    0,   33,    0,    0,    0,    0,   33,    0,
83125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       36,   37,   37,   37,    0,    0,   31,    0,   47,   47,
83225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       47,   31,   32,   32,   32,   36,   36,   37,    0,   37,
83325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       36,    0,    0,   32,   47,    0,   47,   32,   32,   37,
83425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       32,    0,   32,    0,    0,    0,   47,    0,    0,    0,
83525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       32,   51,   51,   51,   37,    0,    0,   37,    0,   37,
83625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   47,    0,    0,    0,   32,   47,   51,    0,   51,
83725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       32,    0,    0,    0,    0,    0,    0,    0,    0,   51,
83825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
83925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,   51,    0,    0,    0,    0,   51,
84025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
84125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       52,   52,   52,   53,   53,   53,    0,   52,   52,   52,
84225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       52,   52,   52,    0,    0,    0,   52,    0,   52,   53,
84325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   53,    0,    0,    0,    0,    0,    0,   52,    0,
84425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   53,    0,    0,    0,   52,   52,   52,   52,   52,
84525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       52,    0,    0,   52,    0,    0,   53,    0,   52,    0,
84625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   53,   54,   54,   54,   55,   55,   55,   56,   56,
84725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       56,    0,    0,    0,    0,    0,    0,   54,   54,    0,
84825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       54,   55,    0,   55,   56,    0,   56,    0,    0,    0,
84925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       54,    0,   56,   55,    0,    0,   56,    0,    0,   55,
85025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,   54,    0,    0,   55,    0,
85125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
85225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       54,   56,    0,   55,    0,    0,   56,   57,   57,   57,
85325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       58,   58,   58,    0,    0,    0,   57,    0,    0,    0,
85425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,   57,    0,   57,   58,    0,   58,    0,
85525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       58,    0,    0,    0,    0,   57,    0,    0,   58,    0,
85625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,    0,   60,   60,   60,    0,
85725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       57,    0,    0,   58,    0,   57,    0,   60,   58,   59,
85825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       59,   59,   60,    0,   60,    0,    0,    0,   61,   61,
85925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       61,    0,    0,    0,   60,   59,    0,   59,    0,    0,
86025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       59,    0,    0,   59,   61,    0,   61,   59,    0,   60,
86125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,   61,    0,   60,    0,   61,   62,   62,   62,
86225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
86325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,   59,   63,   63,   63,    0,   59,    0,    0,
86425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       62,   61,    0,   62,    0,   62,   61,    0,    0,   63,
86525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   63,    0,   63,    0,   62,    0,    0,    0,    0,
86625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   63,    0,    0,    0,    0,    0,    0,    0,    0,
86725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       62,    0,    0,    0,    0,   62,   63,    0,   65,   65,
86825b3c049e70834cf33790a28643ab058b507b35cBen Cheng       65,   63,   64,   64,   64,   66,   66,   66,    0,   64,
86925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,   65,   64,   65,    0,   64,    0,
87025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       64,   66,    0,   66,    0,    0,   65,   66,   65,    0,
87125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       64,    0,    0,   66,    0,    0,   67,   67,   67,    0,
87225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   65,    0,    0,    0,   64,   65,    0,   66,    0,
87325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
87425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       64,    0,   67,   66,   67,   70,   70,   70,   67,   71,
87525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       71,   71,    0,    0,   67,    0,    0,    0,    0,    0,
87625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   70,    0,   70,    0,   71,    0,   71,    0,   67,
87725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,   70,   67,    0,    0,   71,    0,    0,
87825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,   77,   77,   77,    0,   71,    0,   70,    0,
87925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   70,   71,   70,    0,   77,    0,   71,   77,    0,
88025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       77,   78,   78,   78,    0,   79,   79,   79,    0,    0,
88125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       77,    0,    0,    0,    0,    0,    0,   78,    0,   78,
88225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       78,   79,    0,   79,    0,   77,    0,   79,    0,   78,
88325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       77,    0,    0,   79,   80,   80,   80,    0,   81,   81,
88425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
88525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       81,    0,    0,    0,   78,    0,    0,    0,   79,   78,
88625b3c049e70834cf33790a28643ab058b507b35cBen Cheng       80,   80,   80,   79,   81,    0,   81,    0,    0,    0,
88725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,   80,   81,    0,    0,   81,   82,   82,   82,
88825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,   83,   83,   83,    0,   80,    0,    0,
88925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   81,   80,   82,   83,   82,   81,    0,    0,   83,
89025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   83,   82,    0,    0,   82,   84,   84,   84,    0,
89125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   83,   85,   85,   85,    0,    0,    0,    0,    0,
89225b3c049e70834cf33790a28643ab058b507b35cBen Cheng       82,    0,   84,    0,   84,   82,   83,   84,   85,    0,
89325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       85,   83,    0,   85,   84,   86,   86,   86,    0,    0,
89425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       85,   87,   87,   87,    0,    0,   86,    0,    0,   84,
89525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
89625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   86,    0,   86,   84,   85,    0,   87,    0,   87,
89725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       85,    0,    0,   86,   88,   88,   88,   87,    0,   87,
89825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,   89,   89,   89,    0,    0,    0,   86,    0,
89925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       88,    0,   88,   86,   87,    0,   88,    0,   89,   87,
90025b3c049e70834cf33790a28643ab058b507b35cBen Cheng       89,    0,   88,   90,   90,   90,    0,    0,    0,    0,
90125b3c049e70834cf33790a28643ab058b507b35cBen Cheng       89,   91,   91,   91,   90,    0,    0,   88,    0,   90,
90225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,   90,   88,    0,    0,   89,    0,   91,    0,   91,
90325b3c049e70834cf33790a28643ab058b507b35cBen Cheng       89,   90,   92,   92,   92,   91,    0,    0,    0,   91,
90425b3c049e70834cf33790a28643ab058b507b35cBen Cheng       94,   94,   94,    0,    0,    0,   90,    0,   92,    0,
90525b3c049e70834cf33790a28643ab058b507b35cBen Cheng       92,   90,    0,    0,   91,   92,   94,    0,   94,   91,
90625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
90725b3c049e70834cf33790a28643ab058b507b35cBen Cheng       92,   95,   95,   95,    0,    0,    0,    0,   94,  102,
90825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      102,  102,    0,    0,    0,   92,   94,   95,    0,   95,
90925b3c049e70834cf33790a28643ab058b507b35cBen Cheng       92,    0,    0,   94,    0,  102,    0,  102,   94,   95,
91025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  103,  103,  103,    0,   95,  102,    0,    0,
91125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,   95,  104,  104,  104,  103,   95,
91225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      103,  103,  102,  105,  105,  105,  104,  102,    0,    0,
91325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      103,  104,    0,  104,    0,    0,    0,    0,    0,  105,
91425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  105,    0,  104,    0,  103,  107,  107,  107,    0,
91525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      103,  105,  105,    0,  106,  106,  106,    0,  104,    0,
91625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  107,  104,  107,    0,  105,  107,    0,    0,
91725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
91825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      106,  105,  106,    0,  107,  108,  108,  108,    0,  106,
91925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  106,    0,    0,    0,    0,    0,    0,  107,
92025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  108,    0,  108,  107,    0,    0,  106,    0,  108,
92125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  106,  108,  109,  109,  109,    0,    0,    0,
92225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  110,  110,  110,    0,  111,  111,  111,  108,    0,
92325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      109,    0,  109,  108,    0,    0,  109,  110,    0,  110,
92425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  111,  109,  111,    0,    0,    0,    0,    0,  110,
92525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      111,    0,    0,  111,  112,  112,  112,  109,  116,  116,
92625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      116,    0,  109,    0,  110,  113,  113,  113,  111,  110,
92725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      112,    0,  112,  111,  116,    0,  116,  112,  116,    0,
92825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
92925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      113,  113,  112,  113,    0,    0,  116,  114,  114,  114,
93025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  113,    0,    0,  114,  112,  115,  115,
93125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      115,  116,  112,  114,    0,  114,  116,    0,  113,  115,
93225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  113,  115,  114,  115,    0,    0,    0,
93325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      117,  117,  117,    0,    0,    0,  115,  118,  118,  118,
93425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      114,  120,  120,  120,    0,  114,  117,    0,  117,    0,
93525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  115,  118,  118,    0,  118,  115,  120,  117,  120,
93625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,  118,    0,    0,    0,  120,
93725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      121,  121,  121,  117,    0,    0,  120,    0,  117,    0,
93825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      118,  130,  130,  130,  120,  118,  121,    0,  121,  120,
93925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
94025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  131,  131,  131,    0,    0,  130,  121,  130,
94125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  131,    0,  132,  132,  132,  131,  130,
94225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      131,    0,    0,  121,  121,    0,    0,    0,  121,    0,
94325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      131,  132,    0,  132,  130,    0,  133,  133,  133,  130,
94425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  132,    0,  131,  133,    0,    0,    0,
94525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      131,    0,  133,    0,  133,  134,  134,  134,  132,  135,
94625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      135,  135,    0,  132,  133,    0,    0,    0,    0,    0,
94725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  134,    0,  134,    0,  135,    0,  135,    0,  133,
94825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  134,  133,    0,    0,  135,  136,  136,
94925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      136,    0,    0,    0,  137,  137,  137,    0,  134,    0,
95025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
95125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  135,  134,  136,    0,  136,  135,    0,  136,
95225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      137,    0,  137,    0,    0,    0,  136,    0,  137,    0,
95325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  137,  138,  138,  138,    0,    0,    0,    0,
95425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  136,    0,    0,    0,    0,  136,  137,  138,  138,
95525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  138,  137,    0,  139,  139,  139,  140,  140,  140,
95625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  138,    0,    0,  139,    0,    0,    0,    0,    0,
95725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      139,  140,  139,  140,    0,  140,  138,    0,    0,    0,
95825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  138,  139,    0,    0,  140,    0,    0,  141,  141,
95925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      141,    0,    0,    0,    0,    0,    0,  139,    0,    0,
96025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      140,    0,  139,    0,  141,  140,  141,  141,    0,  142,
96125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
96225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      142,  142,  143,  143,  143,    0,  141,    0,    0,    0,
96325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  142,    0,    0,    0,  142,    0,  142,  143,    0,
96425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      143,  141,  143,  144,  144,  144,  141,  142,    0,    0,
96525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      143,    0,    0,    0,    0,    0,    0,    0,    0,  144,
96625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  144,  142,    0,    0,  143,    0,  142,    0,    0,
96725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      143,  144,  145,  145,  145,  145,    0,    0,    0,  154,
96825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      154,  154,    0,  155,  155,  155,  144,  144,  145,  154,
96925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      145,  144,    0,    0,  155,  154,    0,  154,    0,  155,
97025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      145,  155,    0,    0,    0,    0,    0,  154,    0,    0,
97125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  155,  156,  156,  156,  145,  157,  157,  157,    0,
97225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
97325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      145,    0,  154,  158,  158,  158,  155,  154,  156,    0,
97425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      156,  155,  157,    0,  157,    0,    0,    0,    0,  158,
97525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      156,  158,    0,    0,  157,  159,  159,  159,    0,    0,
97625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      157,  158,    0,  158,    0,  156,  159,    0,    0,  157,
97725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      156,  159,    0,  159,  157,    0,  158,  160,  160,  160,
97825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  158,    0,  159,  161,  161,  161,    0,  162,  162,
97925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      162,    0,    0,  160,    0,  160,    0,    0,  159,    0,
98025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      161,    0,  161,  159,  162,  160,  162,    0,  161,    0,
98125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  160,  161,    0,    0,    0,  162,    0,    0,    0,
98225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      160,    0,  162,    0,    0,  160,    0,  161,  163,  163,
98325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
98425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      163,  162,  161,    0,    0,    0,  162,  164,  164,  164,
98525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      164,  174,  174,  174,  163,    0,  163,  163,    0,    0,
98625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  174,  164,    0,  164,  163,  174,    0,  174,
98725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,  164,    0,    0,    0,  174,
98825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  163,  175,  175,  175,    0,  163,    0,    0,    0,
98925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      164,  176,  176,  176,  174,  164,    0,    0,  175,  174,
99025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      175,    0,    0,  176,  177,  177,  177,  176,    0,  176,
99125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      175,    0,    0,    0,    0,  177,  175,    0,    0,  176,
99225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      177,    0,  177,    0,    0,  175,  178,  178,  178,    0,
99325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      175,    0,  177,    0,  176,  179,  179,  179,    0,  176,
99425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
99525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  178,    0,  178,  179,    0,  177,  180,  180,
99625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      180,  179,  177,  179,  178,    0,    0,  181,  181,  181,
99725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  179,  180,    0,  180,    0,    0,  178,
99825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  181,    0,  181,  178,  181,  180,    0,  179,  182,
99925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      182,  182,    0,  179,    0,  181,    0,    0,  190,  190,
100025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      190,  180,  192,  192,  192,  182,  180,  182,  190,    0,
100125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      181,  191,  191,  191,  190,  181,  190,  182,  192,    0,
100225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      192,    0,  192,  191,    0,    0,  190,  191,    0,  191,
100325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      192,    0,  182,  193,  193,  193,    0,  182,    0,  191,
100425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  190,  194,  194,  194,  192,  190,    0,    0,  193,
100525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
100625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      192,  193,    0,    0,  191,    0,    0,  194,  194,  191,
100725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      194,  193,    0,    0,  195,  195,  195,    0,    0,    0,
100825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      194,  198,  198,  198,    0,  195,  193,    0,    0,    0,
100925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      195,  193,  195,    0,    0,  194,    0,  198,    0,  198,
101025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      194,    0,  195,  199,  199,  199,    0,    0,    0,  198,
101125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      200,  200,  200,    0,    0,    0,    0,  195,  199,  199,
101225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  199,  195,    0,  198,    0,  200,    0,  200,  198,
101325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  199,  200,    0,  201,  201,  201,    0,  200,    0,
101425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  202,  202,  202,    0,    0,  199,    0,  202,    0,
101525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      201,  199,  201,  200,    0,    0,  201,  202,  200,  202,
101625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
101725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  201,  205,  205,  205,    0,    0,    0,  202,
101825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      206,  206,  206,    0,  207,  207,  207,  201,    0,  205,
101925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      205,  205,  201,    0,  202,    0,  206,    0,  206,  202,
102025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      207,  205,  207,    0,    0,    0,    0,    0,  206,    0,
102125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,  207,  210,  210,  210,  205,    0,    0,    0,
102225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      210,  205,    0,  206,  208,  208,  208,  207,  206,  210,
102325b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  210,  207,    0,  208,  209,  209,  209,    0,    0,
102425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      208,  210,  208,    0,    0,    0,  209,    0,  211,  211,
102525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      211,  209,  208,  209,    0,    0,  210,    0,    0,  211,
102625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  210,    0,  209,  211,    0,  211,  208,    0,  212,
102725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
102825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      212,  212,  208,    0,    0,    0,  211,    0,  209,    0,
102925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  209,    0,  212,    0,  212,    0,    0,
103025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  211,  213,  213,  213,    0,  211,  212,    0,    0,
103125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,  214,  214,  214,    0,    0,  213,    0,
103225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      213,    0,  212,    0,    0,    0,  213,  212,    0,  214,
103325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      213,  214,    0,    0,    0,  214,  215,  215,  215,    0,
103425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,  214,  216,  216,  216,  213,    0,    0,    0,    0,
103525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      213,    0,  215,    0,  215,    0,  214,    0,  216,    0,
103625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      216,  214,    0,    0,  215,  216,    0,    0,    0,    0,
103725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      216,  217,  217,  217,    0,    0,    0,    0,    0,  215,
103825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
103925b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,  215,  216,    0,  217,    0,  217,
104025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      216,    0,    0,    0,    0,    0,    0,    0,    0,  217,
104125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
104225b3c049e70834cf33790a28643ab058b507b35cBen Cheng        0,    0,    0,    0,  217,    0,    0,    0,    0,  217,
104325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      219,  219,  219,  221,    0,  221,  222,    0,  222,  218,
104425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
104525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
104625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
104725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
104825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
104925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
105025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
105125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      218,  218,  218,  218,  218,  218
105225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    } ;
105325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
105425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Table of booleans, true if rule could match eol. */
105525b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yyconst flex_int32_t yy_rule_can_match_eol[51] =
105625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {   0,
105725b3c049e70834cf33790a28643ab058b507b35cBen Cheng1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
106025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic yy_state_type yy_last_accepting_state;
106225b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic char *yy_last_accepting_cpos;
106325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106425b3c049e70834cf33790a28643ab058b507b35cBen Chengextern int ld_flex_debug;
106525b3c049e70834cf33790a28643ab058b507b35cBen Chengint ld_flex_debug = 0;
106625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106725b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* The intent behind this definition is that it'll catch
106825b3c049e70834cf33790a28643ab058b507b35cBen Cheng * any uses of REJECT which flex missed.
106925b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
107025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define REJECT reject_used_but_not_detected
107125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yymore() yymore_used_but_not_detected
107225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_MORE_ADJ 0
107325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_RESTORE_YY_MORE_OFFSET
107425b3c049e70834cf33790a28643ab058b507b35cBen Chengchar *ldtext;
107525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 1 "ldlex.l"
107625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 2 "ldlex.l"
107725b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Red Hat, Inc.
107825b3c049e70834cf33790a28643ab058b507b35cBen Cheng   This file is part of Red Hat elfutils.
107925b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Written by Ulrich Drepper <drepper@redhat.com>, 2001.
108025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
108125b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Red Hat elfutils is free software; you can redistribute it and/or modify
108225b3c049e70834cf33790a28643ab058b507b35cBen Cheng   it under the terms of the GNU General Public License as published by the
108325b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Free Software Foundation; version 2 of the License.
108425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
108525b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Red Hat elfutils is distributed in the hope that it will be useful, but
108625b3c049e70834cf33790a28643ab058b507b35cBen Cheng   WITHOUT ANY WARRANTY; without even the implied warranty of
108725b3c049e70834cf33790a28643ab058b507b35cBen Cheng   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
108825b3c049e70834cf33790a28643ab058b507b35cBen Cheng   General Public License for more details.
108925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
109025b3c049e70834cf33790a28643ab058b507b35cBen Cheng   You should have received a copy of the GNU General Public License along
109125b3c049e70834cf33790a28643ab058b507b35cBen Cheng   with Red Hat elfutils; if not, write to the Free Software Foundation,
109225b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
109325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
109425b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Red Hat elfutils is an included package of the Open Invention Network.
109525b3c049e70834cf33790a28643ab058b507b35cBen Cheng   An included package of the Open Invention Network is a package for which
109625b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Open Invention Network licensees cross-license their patents.  No patent
109725b3c049e70834cf33790a28643ab058b507b35cBen Cheng   license is granted, either expressly or impliedly, by designation as an
109825b3c049e70834cf33790a28643ab058b507b35cBen Cheng   included package.  Should you wish to participate in the Open Invention
109925b3c049e70834cf33790a28643ab058b507b35cBen Cheng   Network licensing program, please visit www.openinventionnetwork.com
110025b3c049e70834cf33790a28643ab058b507b35cBen Cheng   <http://www.openinventionnetwork.com>.  */
110125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
110225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef HAVE_CONFIG_H
110325b3c049e70834cf33790a28643ab058b507b35cBen Cheng# include <config.h>
110425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
110525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
110625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <assert.h>
110725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <ctype.h>
110825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <elf.h>
110925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <error.h>
111025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <inttypes.h>
111125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <libintl.h>
111225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <stdbool.h>
111325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <stdio.h>
111425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <string.h>
111525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
111625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <system.h>
111725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <ld.h>
111825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include "ldscript.h"
111925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
112025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* We sure use no threads to read the stream, so use the _unlocked
112125b3c049e70834cf33790a28643ab058b507b35cBen Cheng   variants of the functions.  */
112225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#undef getc
112325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define getc(s) getc_unlocked (s)
112425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#undef ferror
112525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define ferror(s) ferror_unlocked (s)
112625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#undef fread
112725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define fread(b, m, n, s) fread_unlocked (b, m, n, s)
112825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#undef fwrite
112925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define fwrite(b, m, n, s) fwrite_unlocked (b, m, n, s)
113025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
113125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* ECHO must be redefined since the default implementation ignores
113225b3c049e70834cf33790a28643ab058b507b35cBen Cheng   the return value of fwrite_unlocked.  */
113325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define ECHO do { size_t n__ __attribute__ ((unused)) \
113425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			   = fwrite (ldtext, ldleng, 1, ldout); } while (0)
113525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
113625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Defined in ld.c.  */
113725b3c049e70834cf33790a28643ab058b507b35cBen Chengextern int ld_scan_version_script;
113825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
113925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define MAX_PREPDEPTH 20
114025b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic enum prepstate
114125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
114225b3c049e70834cf33790a28643ab058b507b35cBen Cheng  prep_normal,
114325b3c049e70834cf33790a28643ab058b507b35cBen Cheng  skip_if,
114425b3c049e70834cf33790a28643ab058b507b35cBen Cheng  skip_to_endif
114525b3c049e70834cf33790a28643ab058b507b35cBen Cheng} prepstate[MAX_PREPDEPTH];
114625b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int prepdepth;
114725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
114825b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void eat_comment (void);
114925b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void eat_to_eol (bool empty);
115025b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int attrib_convert (int c);
115125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void push_state (enum prepstate);
115225b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int pop_state (void);
115325b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int handle_ifdef (void);
115425b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void invalid_char (int ch);
115525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
115625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 1157 "ldlex.c"
115725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
115825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define INITIAL 0
115925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define IGNORE 1
116025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_NO_UNISTD_H
116225b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Special case for "unistd.h", since it is non-ANSI. We include it way
116325b3c049e70834cf33790a28643ab058b507b35cBen Cheng * down here because we want the user's section 1 to have been scanned first.
116425b3c049e70834cf33790a28643ab058b507b35cBen Cheng * The user has a chance to override it with an option.
116525b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
116625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#include <unistd.h>
116725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
116825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_EXTRA_TYPE
117025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_EXTRA_TYPE void *
117125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
117225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
117325b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_init_globals (void );
117425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
117525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Accessor methods to globals.
117625b3c049e70834cf33790a28643ab058b507b35cBen Cheng   These are made visible to non-reentrant scanners for convenience. */
117725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
117825b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldlex_destroy (void );
117925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118025b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldget_debug (void );
118125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118225b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_debug (int debug_flag  );
118325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_EXTRA_TYPE ldget_extra (void );
118525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118625b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_extra (YY_EXTRA_TYPE user_defined  );
118725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118825b3c049e70834cf33790a28643ab058b507b35cBen ChengFILE *ldget_in (void );
118925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119025b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_in  (FILE * in_str  );
119125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119225b3c049e70834cf33790a28643ab058b507b35cBen ChengFILE *ldget_out (void );
119325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119425b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_out  (FILE * out_str  );
119525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119625b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldget_leng (void );
119725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119825b3c049e70834cf33790a28643ab058b507b35cBen Chengchar *ldget_text (void );
119925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
120025b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldget_lineno (void );
120125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
120225b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_lineno (int line_number  );
120325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
120425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Macros after this point can all be overridden by user definitions in
120525b3c049e70834cf33790a28643ab058b507b35cBen Cheng * section 1.
120625b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
120725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
120825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_SKIP_YYWRAP
120925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef __cplusplus
121025b3c049e70834cf33790a28643ab058b507b35cBen Chengextern "C" int ldwrap (void );
121125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
121225b3c049e70834cf33790a28643ab058b507b35cBen Chengextern int ldwrap (void );
121325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
121425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
121525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
121625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static void yyunput (int c,char *buf_ptr  );
121725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
121825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef yytext_ptr
121925b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void yy_flex_strncpy (char *,yyconst char *,int );
122025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
122125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef YY_NEED_STRLEN
122325b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_flex_strlen (yyconst char * );
122425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
122525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_NO_INPUT
122725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef __cplusplus
122925b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yyinput (void );
123025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
123125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int input (void );
123225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
123325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
123425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
123525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
123625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Amount of stuff to slurp up with each read. */
123725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_READ_BUF_SIZE
123825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_READ_BUF_SIZE 8192
123925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
124025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
124125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Copy whatever the last rule matched to the standard output. */
124225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef ECHO
124325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* This used to be an fputs(), but since the string might contain NUL's,
124425b3c049e70834cf33790a28643ab058b507b35cBen Cheng * we now use fwrite().
124525b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
124625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define ECHO do { if (fwrite( ldtext, ldleng, 1, ldout )) {} } while (0)
124725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
124825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
124925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
125025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * is returned in "result".
125125b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
125225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_INPUT
125325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_INPUT(buf,result,max_size) \
125425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
125525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{ \
125625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		int c = '*'; \
125725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		unsigned n; \
125825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		for ( n = 0; n < max_size && \
125925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			     (c = getc( ldin )) != EOF && c != '\n'; ++n ) \
126025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			buf[n] = (char) c; \
126125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( c == '\n' ) \
126225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			buf[n++] = (char) c; \
126325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( c == EOF && ferror( ldin ) ) \
126425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_FATAL_ERROR( "input in flex scanner failed" ); \
126525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		result = n; \
126625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		} \
126725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	else \
126825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{ \
126925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		errno=0; \
127025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		while ( (result = fread(buf, 1, max_size, ldin))==0 && ferror(ldin)) \
127125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{ \
127225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			if( errno != EINTR) \
127325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{ \
127425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				YY_FATAL_ERROR( "input in flex scanner failed" ); \
127525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				break; \
127625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				} \
127725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			errno=0; \
127825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			clearerr(ldin); \
127925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			} \
128025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}\
128125b3c049e70834cf33790a28643ab058b507b35cBen Cheng\
128225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
128325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
128425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
128525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* No semi-colon after return; correct usage is to write "yyterminate();" -
128625b3c049e70834cf33790a28643ab058b507b35cBen Cheng * we don't want an extra ';' after the "return" because that will cause
128725b3c049e70834cf33790a28643ab058b507b35cBen Cheng * some compilers to complain about unreachable statements.
128825b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
128925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef yyterminate
129025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyterminate() return YY_NULL
129125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
129225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
129325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Number of entries by which start-condition stack grows. */
129425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_START_STACK_INCR
129525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_START_STACK_INCR 25
129625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
129725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
129825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Report a fatal error. */
129925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_FATAL_ERROR
130025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
130125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
130225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
130325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* end tables serialization structures and prototypes */
130425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
130525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Default declaration of generated scanner - a define so the user can
130625b3c049e70834cf33790a28643ab058b507b35cBen Cheng * easily add parameters.
130725b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
130825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_DECL
130925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_DECL_IS_OURS 1
131025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
131125b3c049e70834cf33790a28643ab058b507b35cBen Chengextern int ldlex (void);
131225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
131325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_DECL int ldlex (void)
131425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif /* !YY_DECL */
131525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
131625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Code executed at the beginning of each rule, after ldtext and ldleng
131725b3c049e70834cf33790a28643ab058b507b35cBen Cheng * have been set up.
131825b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
131925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_USER_ACTION
132025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_USER_ACTION
132125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
132225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
132325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Code executed at the end of each rule. */
132425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_BREAK
132525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_BREAK break;
132625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
132725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
132825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_RULE_SETUP \
132925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ldleng > 0 ) \
133025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
133125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(ldtext[ldleng - 1] == '\n'); \
133225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_USER_ACTION
133325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
133425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** The main scanner function which does all the work.
133525b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
133625b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DECL
133725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
133825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register yy_state_type yy_current_state;
133925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register char *yy_cp, *yy_bp;
134025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register int yy_act;
134125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
134225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 96 "ldlex.l"
134325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
134425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				if (unlikely (ld_scan_version_script))
134525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  {
134625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    ld_scan_version_script = -1;
134725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    return kVERSION_SCRIPT;
134825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  }
134925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
135025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 1351 "ldlex.c"
135125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
135225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( !(yy_init) )
135325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
135425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_init) = 1;
135525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
135625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef YY_USER_INIT
135725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_USER_INIT;
135825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
135925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! (yy_start) )
136125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_start) = 1;	/* first start state */
136225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! ldin )
136425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			ldin = stdin;
136525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! ldout )
136725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			ldout = stdout;
136825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! YY_CURRENT_BUFFER ) {
137025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			ldensure_buffer_stack ();
137125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_CURRENT_BUFFER_LVALUE =
137225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				ld_create_buffer(ldin,YY_BUF_SIZE );
137325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
137425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
137525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ld_load_buffer_state( );
137625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
137725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
137825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	while ( 1 )		/* loops until end-of-file is reached */
137925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
138025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_cp = (yy_c_buf_p);
138125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
138225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Support of ldtext. */
138325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*yy_cp = (yy_hold_char);
138425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
138525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* yy_bp points to the position in yy_ch_buf of the start of
138625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * the current run.
138725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 */
138825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_bp = yy_cp;
138925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
139025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_current_state = (yy_start);
139125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_current_state += YY_AT_BOL();
139225b3c049e70834cf33790a28643ab058b507b35cBen Chengyy_match:
139325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		do
139425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
139525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
139625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			if ( yy_accept[yy_current_state] )
139725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
139825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(yy_last_accepting_state) = yy_current_state;
139925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(yy_last_accepting_cpos) = yy_cp;
140025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
140125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
140225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
140325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_current_state = (int) yy_def[yy_current_state];
140425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				if ( yy_current_state >= 219 )
140525b3c049e70834cf33790a28643ab058b507b35cBen Cheng					yy_c = yy_meta[(unsigned int) yy_c];
140625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
140725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
140825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			++yy_cp;
140925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
141025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		while ( yy_current_state != 218 );
141125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_cp = (yy_last_accepting_cpos);
141225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_current_state = (yy_last_accepting_state);
141325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141425b3c049e70834cf33790a28643ab058b507b35cBen Chengyy_find_action:
141525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_act = yy_accept[yy_current_state];
141625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_DO_BEFORE_ACTION;
141825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
142025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
142125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			int yyl;
142225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			for ( yyl = 0; yyl < ldleng; ++yyl )
142325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				if ( ldtext[yyl] == '\n' )
142425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldlineno++;
142625b3c049e70834cf33790a28643ab058b507b35cBen Cheng;
142725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
142825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142925b3c049e70834cf33790a28643ab058b507b35cBen Chengdo_action:	/* This label is used only to access EOF actions. */
143025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
143125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		switch ( yy_act )
143225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{ /* beginning of action switch */
143325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			case 0: /* must back up */
143425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* undo the effects of YY_DO_BEFORE_ACTION */
143525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			*yy_cp = (yy_hold_char);
143625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_cp = (yy_last_accepting_cpos);
143725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_current_state = (yy_last_accepting_state);
143825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			goto yy_find_action;
143925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
144025b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 1:
144125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 1 can match eol */
144225b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
144325b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
144425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
144525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
144625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 103 "ldlex.l"
144725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ BEGIN (handle_ifdef ()); }
144825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
144925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 2:
145025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 2 can match eol */
145125b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
145225b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 5;
145325b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
145425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
145525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 104 "ldlex.l"
145625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_to_eol (true);
145725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  push_state (skip_to_endif);
145825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  BEGIN (IGNORE); }
145925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
146025b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 3:
146125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 3 can match eol */
146225b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
146325b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 8;
146425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
146525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
146625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 107 "ldlex.l"
146725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_to_eol (false);
146825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  push_state (skip_to_endif);
146925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  BEGIN (IGNORE); }
147025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
147125b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 4:
147225b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 4 can match eol */
147325b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
147425b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
147525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
147625b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
147725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 110 "ldlex.l"
147825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_to_eol (true) ; }
147925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
148025b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 5:
148125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 5 can match eol */
148225b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
148325b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
148425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
148525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
148625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 112 "ldlex.l"
148725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_to_eol (false);
148825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  push_state (skip_to_endif); }
148925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
149025b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 6:
149125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 6 can match eol */
149225b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
149325b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 5;
149425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
149525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
149625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 114 "ldlex.l"
149725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_to_eol (true);
149825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  assert (prepdepth > 0);
149925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  if (prepstate[prepdepth - 1] == skip_if)
150025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    {
150125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      /* Back to normal processing.  */
150225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      assert (prepdepth == 1);
150325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      BEGIN (pop_state ());
150425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    }
150525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
150625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
150725b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 7:
150825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 7 can match eol */
150925b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
151025b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 8;
151125b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
151225b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
151325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 123 "ldlex.l"
151425b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ assert (prepdepth > 0);
151525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  if (prepstate[prepdepth - 1] == skip_if)
151625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    {
151725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      /* Maybe this symbol is defined.  */
151825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      pop_state ();
151925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      BEGIN (handle_ifdef ());
152025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    }
152125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
152225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
152325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 8:
152425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 8 can match eol */
152525b3c049e70834cf33790a28643ab058b507b35cBen Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
152625b3c049e70834cf33790a28643ab058b507b35cBen Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
152725b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
152825b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
152925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 131 "ldlex.l"
153025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_to_eol (true);
153125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  BEGIN (pop_state ()); }
153225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
153325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 9:
153425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 9 can match eol */
153525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
153625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 133 "ldlex.l"
153725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ /* nothing */ }
153825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
153925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 10:
154025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
154125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 136 "ldlex.l"
154225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ eat_comment (); }
154325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
154425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 11:
154525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
154625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 138 "ldlex.l"
154725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kALIGN; }
154825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
154925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 12:
155025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
155125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 139 "ldlex.l"
155225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kAS_NEEDED; }
155325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
155425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 13:
155525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
155625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 140 "ldlex.l"
155725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kENTRY; }
155825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
155925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 14:
156025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
156125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 141 "ldlex.l"
156225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kEXCLUDE_FILE; }
156325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
156425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 15:
156525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
156625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 142 "ldlex.l"
156725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kGLOBAL; }
156825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
156925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 16:
157025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
157125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 143 "ldlex.l"
157225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kGROUP; }
157325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
157425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 17:
157525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
157625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 144 "ldlex.l"
157725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kINPUT; }
157825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
157925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 18:
158025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
158125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 145 "ldlex.l"
158225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kINTERP; }
158325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
158425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 19:
158525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
158625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 146 "ldlex.l"
158725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kKEEP; }
158825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
158925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 20:
159025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
159125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 147 "ldlex.l"
159225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kLOCAL; }
159325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
159425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 21:
159525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
159625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 148 "ldlex.l"
159725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kOUTPUT_FORMAT; }
159825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
159925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 22:
160025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
160125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 149 "ldlex.l"
160225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kPAGESIZE; }
160325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
160425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 23:
160525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
160625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 150 "ldlex.l"
160725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kPROVIDE; }
160825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
160925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 24:
161025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
161125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 151 "ldlex.l"
161225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kSEARCH_DIR; }
161325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
161425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 25:
161525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
161625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 152 "ldlex.l"
161725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kSEGMENT; }
161825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
161925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 26:
162025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
162125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 153 "ldlex.l"
162225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kSIZEOF_HEADERS; }
162325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
162425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 27:
162525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
162625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 154 "ldlex.l"
162725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kSORT; }
162825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
162925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 28:
163025b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
163125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 155 "ldlex.l"
163225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return kVERSION; }
163325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
163425b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 29:
163525b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
163625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 157 "ldlex.l"
163725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ int cnt = 1 ;
163825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  ldlval.num = 0;
163925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  while (cnt < ldleng - 1)
164025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    ldlval.num |= attrib_convert (ldtext[cnt++]);
164125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  return kMODE; }
164225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
164325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 30:
164425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
164525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 163 "ldlex.l"
164625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '{'; }
164725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
164825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 31:
164925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
165025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 164 "ldlex.l"
165125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '}'; }
165225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
165325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 32:
165425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
165525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 165 "ldlex.l"
165625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '('; }
165725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
165825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 33:
165925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
166025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 166 "ldlex.l"
166125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return ')'; }
166225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
166325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 34:
166425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
166525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 167 "ldlex.l"
166625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return ':'; }
166725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
166825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 35:
166925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
167025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 168 "ldlex.l"
167125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return ';'; }
167225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
167325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 36:
167425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
167525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 169 "ldlex.l"
167625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '='; }
167725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
167825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 37:
167925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
168025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 170 "ldlex.l"
168125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ ldlval.op = exp_plus; return kADD_OP; }
168225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
168325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 38:
168425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
168525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 171 "ldlex.l"
168625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ ldlval.op = exp_minus; return kADD_OP; }
168725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
168825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 39:
168925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
169025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 172 "ldlex.l"
169125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '*'; }
169225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
169325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 40:
169425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
169525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 173 "ldlex.l"
169625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ ldlval.op = exp_div; return kMUL_OP; }
169725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
169825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 41:
169925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
170025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 174 "ldlex.l"
170125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ ldlval.op = exp_mod; return kMUL_OP; }
170225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
170325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 42:
170425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
170525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 175 "ldlex.l"
170625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '&'; }
170725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
170825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 43:
170925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
171025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 176 "ldlex.l"
171125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return '|'; }
171225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
171325b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 44:
171425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
171525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 178 "ldlex.l"
171625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ return ','; }
171725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
171825b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 45:
171925b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
172025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 180 "ldlex.l"
172125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ char *endp;
172225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  ldlval.num = strtoumax (ldtext, &endp, 0);
172325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  if (*endp != '\0')
172425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    {
172525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      if (tolower (*endp) == 'k')
172625b3c049e70834cf33790a28643ab058b507b35cBen Cheng					ldlval.num *= 1024;
172725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				      else
172825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					{
172925b3c049e70834cf33790a28643ab058b507b35cBen Cheng					  assert (tolower (*endp) == 'm');
173025b3c049e70834cf33790a28643ab058b507b35cBen Cheng					  ldlval.num *= 1024 * 1024;
173125b3c049e70834cf33790a28643ab058b507b35cBen Cheng					}
173225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				    }
173325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  return kNUM; }
173425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
173525b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 46:
173625b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
173725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 194 "ldlex.l"
173825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ ldlval.str = obstack_strndup (&ld_state.smem,
173925b3c049e70834cf33790a28643ab058b507b35cBen Cheng								ldtext, ldleng);
174025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  return kID; }
174125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
174225b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 47:
174325b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
174425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 198 "ldlex.l"
174525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ ldlval.str = obstack_strndup (&ld_state.smem,
174625b3c049e70834cf33790a28643ab058b507b35cBen Cheng								ldtext, ldleng);
174725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				  return kFILENAME; }
174825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
174925b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 48:
175025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* rule 48 can match eol */
175125b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
175225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 202 "ldlex.l"
175325b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ /* IGNORE */ }
175425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
175525b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 49:
175625b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
175725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 204 "ldlex.l"
175825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ invalid_char (*ldtext); }
175925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
176025b3c049e70834cf33790a28643ab058b507b35cBen Chengcase 50:
176125b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_RULE_SETUP
176225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 206 "ldlex.l"
176325b3c049e70834cf33790a28643ab058b507b35cBen ChengECHO;
176425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BREAK
176525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 1766 "ldlex.c"
176625b3c049e70834cf33790a28643ab058b507b35cBen Chengcase YY_STATE_EOF(INITIAL):
176725b3c049e70834cf33790a28643ab058b507b35cBen Chengcase YY_STATE_EOF(IGNORE):
176825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yyterminate();
176925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
177025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	case YY_END_OF_BUFFER:
177125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
177225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Amount of text matched not including the EOB char. */
177325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
177425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
177525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Undo the effects of YY_DO_BEFORE_ACTION. */
177625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*yy_cp = (yy_hold_char);
177725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_RESTORE_YY_MORE_OFFSET
177825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
177925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
178025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
178125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* We're scanning a new file or input source.  It's
178225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * possible that this happened because the user
178325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * just pointed ldin at a new source and called
178425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * ldlex().  If so, then we have to assure
178525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * consistency between YY_CURRENT_BUFFER and our
178625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * globals.  Here is the right place to do so, because
178725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * this is the first action (other than possibly a
178825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * back-up) that will match for the new input source.
178925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 */
179025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
179125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_CURRENT_BUFFER_LVALUE->yy_input_file = ldin;
179225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
179325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
179425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
179525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Note that here we test for yy_c_buf_p "<=" to the position
179625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * of the first EOB in the buffer, since yy_c_buf_p will
179725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * already have been incremented past the NUL character
179825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * (since all states make transitions on EOB to the
179925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * end-of-buffer state).  Contrast this with the test
180025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * in input().
180125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 */
180225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
180325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{ /* This was really a NUL. */
180425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_state_type yy_next_state;
180525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
180625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
180725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
180825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_current_state = yy_get_previous_state(  );
180925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
181025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* Okay, we're now positioned to make the NUL
181125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * transition.  We couldn't have
181225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * yy_get_previous_state() go ahead and do it
181325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * for us because it doesn't know how to deal
181425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * with the possibility of jamming (and we don't
181525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * want to build jamming into it because then it
181625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * will run more slowly).
181725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 */
181825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
181925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_next_state = yy_try_NUL_trans( yy_current_state );
182025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
182125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
182225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
182325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			if ( yy_next_state )
182425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
182525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				/* Consume the NUL. */
182625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_cp = ++(yy_c_buf_p);
182725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_current_state = yy_next_state;
182825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				goto yy_match;
182925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
183025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
183125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			else
183225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
183325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_cp = (yy_last_accepting_cpos);
183425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_current_state = (yy_last_accepting_state);
183525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				goto yy_find_action;
183625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
183725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
183825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
183925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		else switch ( yy_get_next_buffer(  ) )
184025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
184125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			case EOB_ACT_END_OF_FILE:
184225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
184325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(yy_did_buffer_switch_on_eof) = 0;
184425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
184525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				if ( ldwrap( ) )
184625b3c049e70834cf33790a28643ab058b507b35cBen Cheng					{
184725b3c049e70834cf33790a28643ab058b507b35cBen Cheng					/* Note: because we've taken care in
184825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * yy_get_next_buffer() to have set up
184925b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * ldtext, we can now set up
185025b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * yy_c_buf_p so that if some total
185125b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * hoser (like flex itself) wants to
185225b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * call the scanner after we return the
185325b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * YY_NULL, it'll still work - another
185425b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * YY_NULL will get returned.
185525b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 */
185625b3c049e70834cf33790a28643ab058b507b35cBen Cheng					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
185725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
185825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					yy_act = YY_STATE_EOF(YY_START);
185925b3c049e70834cf33790a28643ab058b507b35cBen Cheng					goto do_action;
186025b3c049e70834cf33790a28643ab058b507b35cBen Cheng					}
186125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
186225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				else
186325b3c049e70834cf33790a28643ab058b507b35cBen Cheng					{
186425b3c049e70834cf33790a28643ab058b507b35cBen Cheng					if ( ! (yy_did_buffer_switch_on_eof) )
186525b3c049e70834cf33790a28643ab058b507b35cBen Cheng						YY_NEW_FILE;
186625b3c049e70834cf33790a28643ab058b507b35cBen Cheng					}
186725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				break;
186825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
186925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
187025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			case EOB_ACT_CONTINUE_SCAN:
187125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(yy_c_buf_p) =
187225b3c049e70834cf33790a28643ab058b507b35cBen Cheng					(yytext_ptr) + yy_amount_of_matched_text;
187325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
187425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_current_state = yy_get_previous_state(  );
187525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
187625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_cp = (yy_c_buf_p);
187725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
187825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				goto yy_match;
187925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
188025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			case EOB_ACT_LAST_MATCH:
188125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(yy_c_buf_p) =
188225b3c049e70834cf33790a28643ab058b507b35cBen Cheng				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
188325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
188425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_current_state = yy_get_previous_state(  );
188525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
188625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_cp = (yy_c_buf_p);
188725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
188825b3c049e70834cf33790a28643ab058b507b35cBen Cheng				goto yy_find_action;
188925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
189025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		break;
189125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
189225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
189325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	default:
189425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR(
189525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			"fatal flex scanner internal error--no action found" );
189625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	} /* end of action switch */
189725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		} /* end of scanning one token */
189825b3c049e70834cf33790a28643ab058b507b35cBen Cheng} /* end of ldlex */
189925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
190025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* yy_get_next_buffer - try to read in a new buffer
190125b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
190225b3c049e70834cf33790a28643ab058b507b35cBen Cheng * Returns a code representing an action:
190325b3c049e70834cf33790a28643ab058b507b35cBen Cheng *	EOB_ACT_LAST_MATCH -
190425b3c049e70834cf33790a28643ab058b507b35cBen Cheng *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
190525b3c049e70834cf33790a28643ab058b507b35cBen Cheng *	EOB_ACT_END_OF_FILE - end of file
190625b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
190725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_get_next_buffer (void)
190825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
190925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
191025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register char *source = (yytext_ptr);
191125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register int number_to_move, i;
191225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int ret_val;
191325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
191425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
191525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR(
191625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		"fatal flex scanner internal error--end of buffer missed" );
191725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
191825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
191925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{ /* Don't try to fill the buffer, so this is an EOF. */
192025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
192125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
192225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* We matched a single character, the EOB, so
192325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * treat this as a final EOF.
192425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 */
192525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			return EOB_ACT_END_OF_FILE;
192625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
192725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
192825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		else
192925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
193025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* We matched some text prior to the EOB, first
193125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 * process it.
193225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			 */
193325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			return EOB_ACT_LAST_MATCH;
193425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
193525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
193625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
193725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Try to read more data. */
193825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
193925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* First move last chars to start of buffer. */
194025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
194125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
194225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	for ( i = 0; i < number_to_move; ++i )
194325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*(dest++) = *(source++);
194425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
194525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
194625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* don't do the read, it's not guaranteed to return an EOF,
194725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * just force an EOF
194825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 */
194925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
195025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
195125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	else
195225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
195325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			int num_to_read =
195425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
195525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
195625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		while ( num_to_read <= 0 )
195725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{ /* Not enough room in the buffer - grow it. */
195825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
195925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* just a shorter name for the current buffer */
196025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
196125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
196225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			int yy_c_buf_p_offset =
196325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				(int) ((yy_c_buf_p) - b->yy_ch_buf);
196425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
196525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			if ( b->yy_is_our_buffer )
196625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
196725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				int new_size = b->yy_buf_size * 2;
196825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
196925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				if ( new_size <= 0 )
197025b3c049e70834cf33790a28643ab058b507b35cBen Cheng					b->yy_buf_size += b->yy_buf_size / 8;
197125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				else
197225b3c049e70834cf33790a28643ab058b507b35cBen Cheng					b->yy_buf_size *= 2;
197325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
197425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				b->yy_ch_buf = (char *)
197525b3c049e70834cf33790a28643ab058b507b35cBen Cheng					/* Include room in for 2 EOB chars. */
197625b3c049e70834cf33790a28643ab058b507b35cBen Cheng					ldrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
197725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
197825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			else
197925b3c049e70834cf33790a28643ab058b507b35cBen Cheng				/* Can't grow it, we don't own it. */
198025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				b->yy_ch_buf = 0;
198125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
198225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			if ( ! b->yy_ch_buf )
198325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				YY_FATAL_ERROR(
198425b3c049e70834cf33790a28643ab058b507b35cBen Cheng				"fatal error - scanner input buffer overflow" );
198525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
198625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
198725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
198825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
198925b3c049e70834cf33790a28643ab058b507b35cBen Cheng						number_to_move - 1;
199025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
199125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
199225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
199325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( num_to_read > YY_READ_BUF_SIZE )
199425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			num_to_read = YY_READ_BUF_SIZE;
199525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
199625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Read in more data. */
199725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
199825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_n_chars), (size_t) num_to_read );
199925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
200025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
200125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
200225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
200325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( (yy_n_chars) == 0 )
200425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
200525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( number_to_move == YY_MORE_ADJ )
200625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
200725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			ret_val = EOB_ACT_END_OF_FILE;
200825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			ldrestart(ldin  );
200925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
201025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
201125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		else
201225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
201325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			ret_val = EOB_ACT_LAST_MATCH;
201425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
201525b3c049e70834cf33790a28643ab058b507b35cBen Cheng				YY_BUFFER_EOF_PENDING;
201625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
201725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
201825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
201925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	else
202025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ret_val = EOB_ACT_CONTINUE_SCAN;
202125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
202225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
202325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Extend the array by 50%, plus the number we really need. */
202425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
202525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ldrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
202625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
202725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
202825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
202925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
203025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_n_chars) += number_to_move;
203125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
203225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
203325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
203425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
203525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
203625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return ret_val;
203725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
203825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
203925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* yy_get_previous_state - get the state just before the EOB char was reached */
204025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
204125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static yy_state_type yy_get_previous_state (void)
204225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
204325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register yy_state_type yy_current_state;
204425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register char *yy_cp;
204525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
204625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yy_current_state = (yy_start);
204725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yy_current_state += YY_AT_BOL();
204825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
204925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
205025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
205125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
205225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( yy_accept[yy_current_state] )
205325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
205425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_last_accepting_state) = yy_current_state;
205525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_last_accepting_cpos) = yy_cp;
205625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
205725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
205825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{
205925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_current_state = (int) yy_def[yy_current_state];
206025b3c049e70834cf33790a28643ab058b507b35cBen Cheng			if ( yy_current_state >= 219 )
206125b3c049e70834cf33790a28643ab058b507b35cBen Cheng				yy_c = yy_meta[(unsigned int) yy_c];
206225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
206325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
206425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
206525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
206625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return yy_current_state;
206725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
206825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
206925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* yy_try_NUL_trans - try to make a transition on the NUL character
207025b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
207125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * synopsis
207225b3c049e70834cf33790a28643ab058b507b35cBen Cheng *	next_state = yy_try_NUL_trans( current_state );
207325b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
207425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
207525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
207625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register int yy_is_jam;
207725b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	register char *yy_cp = (yy_c_buf_p);
207825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
207925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register YY_CHAR yy_c = 1;
208025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( yy_accept[yy_current_state] )
208125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
208225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_last_accepting_state) = yy_current_state;
208325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_last_accepting_cpos) = yy_cp;
208425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
208525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
208625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
208725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_current_state = (int) yy_def[yy_current_state];
208825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( yy_current_state >= 219 )
208925b3c049e70834cf33790a28643ab058b507b35cBen Cheng			yy_c = yy_meta[(unsigned int) yy_c];
209025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
209125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
209225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yy_is_jam = (yy_current_state == 218);
209325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
209425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return yy_is_jam ? 0 : yy_current_state;
209525b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
209625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
209725b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static void yyunput (int c, register char * yy_bp )
209825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
209925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register char *yy_cp;
210025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
210125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    yy_cp = (yy_c_buf_p);
210225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
210325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* undo effects of setting up ldtext */
210425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	*yy_cp = (yy_hold_char);
210525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
210625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
210725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{ /* need to shift things up to make room */
210825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* +2 for EOB chars. */
210925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		register int number_to_move = (yy_n_chars) + 2;
211025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
211125b3c049e70834cf33790a28643ab058b507b35cBen Cheng					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
211225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		register char *source =
211325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
211425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
211525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
211625b3c049e70834cf33790a28643ab058b507b35cBen Cheng			*--dest = *--source;
211725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
211825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_cp += (int) (dest - source);
211925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		yy_bp += (int) (dest - source);
212025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
212125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
212225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
212325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
212425b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_FATAL_ERROR( "flex scanner push-back overflow" );
212525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
212625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
212725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	*--yy_cp = (char) c;
212825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
212925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    if ( c == '\n' ){
213025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        --ldlineno;
213125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    }
213225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
213325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yytext_ptr) = yy_bp;
213425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_hold_char) = *yy_cp;
213525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_c_buf_p) = yy_cp;
213625b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
213725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
213825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_NO_INPUT
213925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef __cplusplus
214025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static int yyinput (void)
214125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
214225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static int input  (void)
214325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
214425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
214525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
214625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int c;
214725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
214825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	*(yy_c_buf_p) = (yy_hold_char);
214925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
215025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
215125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
215225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* yy_c_buf_p now points to the character we want to return.
215325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * If this occurs *before* the EOB characters, then it's a
215425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * valid NUL; if not, then we've hit the end of the buffer.
215525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 */
215625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
215725b3c049e70834cf33790a28643ab058b507b35cBen Cheng			/* This was really a NUL. */
215825b3c049e70834cf33790a28643ab058b507b35cBen Cheng			*(yy_c_buf_p) = '\0';
215925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
216025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		else
216125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			{ /* need more input */
216225b3c049e70834cf33790a28643ab058b507b35cBen Cheng			int offset = (yy_c_buf_p) - (yytext_ptr);
216325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			++(yy_c_buf_p);
216425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
216525b3c049e70834cf33790a28643ab058b507b35cBen Cheng			switch ( yy_get_next_buffer(  ) )
216625b3c049e70834cf33790a28643ab058b507b35cBen Cheng				{
216725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				case EOB_ACT_LAST_MATCH:
216825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					/* This happens because yy_g_n_b()
216925b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * sees that we've accumulated a
217025b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * token and flags that we need to
217125b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * try matching the token before
217225b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * proceeding.  But for input(),
217325b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * there's no matching to consider.
217425b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * So convert the EOB_ACT_LAST_MATCH
217525b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 * to EOB_ACT_END_OF_FILE.
217625b3c049e70834cf33790a28643ab058b507b35cBen Cheng					 */
217725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
217825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					/* Reset buffer status. */
217925b3c049e70834cf33790a28643ab058b507b35cBen Cheng					ldrestart(ldin );
218025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
218125b3c049e70834cf33790a28643ab058b507b35cBen Cheng					/*FALLTHROUGH*/
218225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
218325b3c049e70834cf33790a28643ab058b507b35cBen Cheng				case EOB_ACT_END_OF_FILE:
218425b3c049e70834cf33790a28643ab058b507b35cBen Cheng					{
218525b3c049e70834cf33790a28643ab058b507b35cBen Cheng					if ( ldwrap( ) )
218625b3c049e70834cf33790a28643ab058b507b35cBen Cheng						return EOF;
218725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
218825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					if ( ! (yy_did_buffer_switch_on_eof) )
218925b3c049e70834cf33790a28643ab058b507b35cBen Cheng						YY_NEW_FILE;
219025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef __cplusplus
219125b3c049e70834cf33790a28643ab058b507b35cBen Cheng					return yyinput();
219225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
219325b3c049e70834cf33790a28643ab058b507b35cBen Cheng					return input();
219425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
219525b3c049e70834cf33790a28643ab058b507b35cBen Cheng					}
219625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
219725b3c049e70834cf33790a28643ab058b507b35cBen Cheng				case EOB_ACT_CONTINUE_SCAN:
219825b3c049e70834cf33790a28643ab058b507b35cBen Cheng					(yy_c_buf_p) = (yytext_ptr) + offset;
219925b3c049e70834cf33790a28643ab058b507b35cBen Cheng					break;
220025b3c049e70834cf33790a28643ab058b507b35cBen Cheng				}
220125b3c049e70834cf33790a28643ab058b507b35cBen Cheng			}
220225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
220325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
220425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
220525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	*(yy_c_buf_p) = '\0';	/* preserve ldtext */
220625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_hold_char) = *++(yy_c_buf_p);
220725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
220825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
220925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
221025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
221125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldlineno++;
221225b3c049e70834cf33790a28643ab058b507b35cBen Cheng;
221325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
221425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return c;
221525b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
221625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif	/* ifndef YY_NO_INPUT */
221725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
221825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Immediately switch to a different input stream.
221925b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param input_file A readable stream.
222025b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
222125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @note This function does not reset the start condition to @c INITIAL .
222225b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
222325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    void ldrestart  (FILE * input_file )
222425b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
222525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
222625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! YY_CURRENT_BUFFER ){
222725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        ldensure_buffer_stack ();
222825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE =
222925b3c049e70834cf33790a28643ab058b507b35cBen Cheng            ld_create_buffer(ldin,YY_BUF_SIZE );
223025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
223125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
223225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_init_buffer(YY_CURRENT_BUFFER,input_file );
223325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_load_buffer_state( );
223425b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
223525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
223625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Switch to a different input buffer.
223725b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param new_buffer The new input buffer.
223825b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
223925b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
224025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    void ld_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
224125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
224225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
224325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* TODO. We should be able to replace this entire function body
224425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * with
224525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 *		ldpop_buffer_state();
224625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 *		ldpush_buffer_state(new_buffer);
224725b3c049e70834cf33790a28643ab058b507b35cBen Cheng     */
224825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ldensure_buffer_stack ();
224925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER == new_buffer )
225025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return;
225125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
225225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER )
225325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
225425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Flush out information for old buffer. */
225525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*(yy_c_buf_p) = (yy_hold_char);
225625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
225725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
225825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
225925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
226025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE = new_buffer;
226125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_load_buffer_state( );
226225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
226325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* We don't actually know whether we did this switch during
226425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * EOF (ldwrap()) processing, but the only time this flag
226525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * is looked at is after ldwrap() is called, so it's safe
226625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * to go ahead and always set it.
226725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
226825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_did_buffer_switch_on_eof) = 1;
226925b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
227025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
227125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void ld_load_buffer_state  (void)
227225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
227325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
227425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
227525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ldin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
227625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_hold_char) = *(yy_c_buf_p);
227725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
227825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
227925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Allocate and initialize an input buffer state.
228025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param file A readable stream.
228125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
228225b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
228325b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @return the allocated buffer state.
228425b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
228525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    YY_BUFFER_STATE ld_create_buffer  (FILE * file, int  size )
228625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
228725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BUFFER_STATE b;
228825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
228925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b = (YY_BUFFER_STATE) ldalloc(sizeof( struct yy_buffer_state )  );
229025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! b )
229125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_create_buffer()" );
229225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
229325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_buf_size = size;
229425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
229525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* yy_ch_buf has to be 2 characters longer than the size given because
229625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * we need to put in 2 end-of-buffer characters.
229725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
229825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_ch_buf = (char *) ldalloc(b->yy_buf_size + 2  );
229925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! b->yy_ch_buf )
230025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_create_buffer()" );
230125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
230225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_is_our_buffer = 1;
230325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
230425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_init_buffer(b,file );
230525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
230625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return b;
230725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
230825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
230925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Destroy the buffer.
231025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param b a buffer created with ld_create_buffer()
231125b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
231225b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
231325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    void ld_delete_buffer (YY_BUFFER_STATE  b )
231425b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
231525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
231625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! b )
231725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return;
231825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
231925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
232025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
232125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
232225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( b->yy_is_our_buffer )
232325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ldfree((void *) b->yy_ch_buf  );
232425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
232525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ldfree((void *) b  );
232625b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
232725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
232825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Initializes or reinitializes a buffer.
232925b3c049e70834cf33790a28643ab058b507b35cBen Cheng * This function is sometimes called more than once on the same buffer,
233025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * such as during a ldrestart() or at EOF.
233125b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
233225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    static void ld_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
233325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
233425b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
233525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int oerrno = errno;
233625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
233725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_flush_buffer(b );
233825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
233925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_input_file = file;
234025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_fill_buffer = 1;
234125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
234225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    /* If b is the current buffer, then ld_init_buffer was _probably_
234325b3c049e70834cf33790a28643ab058b507b35cBen Cheng     * called from ldrestart() or through yy_get_next_buffer.
234425b3c049e70834cf33790a28643ab058b507b35cBen Cheng     * In that case, we don't want to reset the lineno or column.
234525b3c049e70834cf33790a28643ab058b507b35cBen Cheng     */
234625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    if (b != YY_CURRENT_BUFFER){
234725b3c049e70834cf33790a28643ab058b507b35cBen Cheng        b->yy_bs_lineno = 1;
234825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        b->yy_bs_column = 0;
234925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    }
235025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
235125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        b->yy_is_interactive = 0;
235225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
235325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	errno = oerrno;
235425b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
235525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
235625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
235725b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
235825b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
235925b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
236025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    void ld_flush_buffer (YY_BUFFER_STATE  b )
236125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
236225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	if ( ! b )
236325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return;
236425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
236525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_n_chars = 0;
236625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
236725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* We always need two end-of-buffer characters.  The first causes
236825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * a transition to the end-of-buffer state.  The second causes
236925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * a jam in that state.
237025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
237125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
237225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
237325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
237425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_buf_pos = &b->yy_ch_buf[0];
237525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
237625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_at_bol = 1;
237725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_buffer_status = YY_BUFFER_NEW;
237825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
237925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( b == YY_CURRENT_BUFFER )
238025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ld_load_buffer_state( );
238125b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
238225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
238325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Pushes the new state onto the stack. The new state becomes
238425b3c049e70834cf33790a28643ab058b507b35cBen Cheng *  the current state. This function will allocate the stack
238525b3c049e70834cf33790a28643ab058b507b35cBen Cheng *  if necessary.
238625b3c049e70834cf33790a28643ab058b507b35cBen Cheng *  @param new_buffer The new state.
238725b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
238825b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
238925b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldpush_buffer_state (YY_BUFFER_STATE new_buffer )
239025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
239125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	if (new_buffer == NULL)
239225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return;
239325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
239425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ldensure_buffer_stack();
239525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
239625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* This block is copied from ld_switch_to_buffer. */
239725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( YY_CURRENT_BUFFER )
239825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{
239925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Flush out information for old buffer. */
240025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*(yy_c_buf_p) = (yy_hold_char);
240125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
240225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
240325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		}
240425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
240525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Only push if top exists. Otherwise, replace top. */
240625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if (YY_CURRENT_BUFFER)
240725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_buffer_stack_top)++;
240825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE = new_buffer;
240925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
241025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* copied from ld_switch_to_buffer. */
241125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_load_buffer_state( );
241225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_did_buffer_switch_on_eof) = 1;
241325b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
241425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
241525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Removes and deletes the top of the stack, if present.
241625b3c049e70834cf33790a28643ab058b507b35cBen Cheng *  The next element becomes the new top.
241725b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
241825b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
241925b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldpop_buffer_state (void)
242025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
242125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	if (!YY_CURRENT_BUFFER)
242225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return;
242325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
242425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_delete_buffer(YY_CURRENT_BUFFER );
242525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_CURRENT_BUFFER_LVALUE = NULL;
242625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ((yy_buffer_stack_top) > 0)
242725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		--(yy_buffer_stack_top);
242825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
242925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if (YY_CURRENT_BUFFER) {
243025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ld_load_buffer_state( );
243125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_did_buffer_switch_on_eof) = 1;
243225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
243325b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
243425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
243525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Allocates the stack if it does not exist.
243625b3c049e70834cf33790a28643ab058b507b35cBen Cheng *  Guarantees space for at least one push.
243725b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
243825b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void ldensure_buffer_stack (void)
243925b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
244025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int num_to_alloc;
244125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
244225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if (!(yy_buffer_stack)) {
244325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
244425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* First allocation is just for 2 elements, since we don't know if this
244525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
244625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		 * immediate realloc on the next call.
244725b3c049e70834cf33790a28643ab058b507b35cBen Cheng         */
244825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		num_to_alloc = 1;
244925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_buffer_stack) = (struct yy_buffer_state**)ldalloc
245025b3c049e70834cf33790a28643ab058b507b35cBen Cheng								(num_to_alloc * sizeof(struct yy_buffer_state*)
245125b3c049e70834cf33790a28643ab058b507b35cBen Cheng								);
245225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! (yy_buffer_stack) )
245325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_FATAL_ERROR( "out of dynamic memory in ldensure_buffer_stack()" );
245425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
245525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
245625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
245725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_buffer_stack_max) = num_to_alloc;
245825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_buffer_stack_top) = 0;
245925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return;
246025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
246125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
246225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
246325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
246425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Increase the buffer to prepare for a possible push. */
246525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		int grow_size = 8 /* arbitrary grow size */;
246625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
246725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		num_to_alloc = (yy_buffer_stack_max) + grow_size;
246825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_buffer_stack) = (struct yy_buffer_state**)ldrealloc
246925b3c049e70834cf33790a28643ab058b507b35cBen Cheng								((yy_buffer_stack),
247025b3c049e70834cf33790a28643ab058b507b35cBen Cheng								num_to_alloc * sizeof(struct yy_buffer_state*)
247125b3c049e70834cf33790a28643ab058b507b35cBen Cheng								);
247225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		if ( ! (yy_buffer_stack) )
247325b3c049e70834cf33790a28643ab058b507b35cBen Cheng			YY_FATAL_ERROR( "out of dynamic memory in ldensure_buffer_stack()" );
247425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
247525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* zero only the new slots.*/
247625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
247725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_buffer_stack_max) = num_to_alloc;
247825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
247925b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
248025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
248125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Setup the input buffer state to scan directly from a user-specified character buffer.
248225b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param base the character buffer
248325b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param size the size in bytes of the character buffer
248425b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
248525b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @return the newly allocated buffer state object.
248625b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
248725b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_scan_buffer  (char * base, yy_size_t  size )
248825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
248925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BUFFER_STATE b;
249025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
249125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( size < 2 ||
249225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
249325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	     base[size-1] != YY_END_OF_BUFFER_CHAR )
249425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* They forgot to leave room for the EOB's. */
249525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		return 0;
249625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
249725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b = (YY_BUFFER_STATE) ldalloc(sizeof( struct yy_buffer_state )  );
249825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! b )
249925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_scan_buffer()" );
250025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
250125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
250225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_buf_pos = b->yy_ch_buf = base;
250325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_is_our_buffer = 0;
250425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_input_file = 0;
250525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_n_chars = b->yy_buf_size;
250625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_is_interactive = 0;
250725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_at_bol = 1;
250825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_fill_buffer = 0;
250925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_buffer_status = YY_BUFFER_NEW;
251025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
251125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ld_switch_to_buffer(b  );
251225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
251325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return b;
251425b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
251525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
251625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Setup the input buffer state to scan a string. The next call to ldlex() will
251725b3c049e70834cf33790a28643ab058b507b35cBen Cheng * scan from a @e copy of @a str.
251825b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param yystr a NUL-terminated string to scan
251925b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
252025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @return the newly allocated buffer state object.
252125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @note If you want to scan bytes that may contain NUL values, then use
252225b3c049e70834cf33790a28643ab058b507b35cBen Cheng *       ld_scan_bytes() instead.
252325b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
252425b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_scan_string (yyconst char * yystr )
252525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
252625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
252725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return ld_scan_bytes(yystr,strlen(yystr) );
252825b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
252925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
253025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Setup the input buffer state to scan the given bytes. The next call to ldlex() will
253125b3c049e70834cf33790a28643ab058b507b35cBen Cheng * scan from a @e copy of @a bytes.
253225b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param bytes the byte buffer to scan
253325b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param len the number of bytes in the buffer pointed to by @a bytes.
253425b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
253525b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @return the newly allocated buffer state object.
253625b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
253725b3c049e70834cf33790a28643ab058b507b35cBen ChengYY_BUFFER_STATE ld_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
253825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
253925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	YY_BUFFER_STATE b;
254025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	char *buf;
254125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	yy_size_t n;
254225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	int i;
254325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
254425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Get memory for full buffer, including space for trailing EOB's. */
254525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	n = _yybytes_len + 2;
254625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	buf = (char *) ldalloc(n  );
254725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! buf )
254825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_scan_bytes()" );
254925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
255025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	for ( i = 0; i < _yybytes_len; ++i )
255125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		buf[i] = yybytes[i];
255225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
255325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
255425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
255525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b = ld_scan_buffer(buf,n );
255625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	if ( ! b )
255725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_FATAL_ERROR( "bad buffer in ld_scan_bytes()" );
255825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
255925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* It's okay to grow etc. this buffer, and we should throw it
256025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * away when we're done.
256125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
256225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	b->yy_is_our_buffer = 1;
256325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
256425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return b;
256525b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
256625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
256725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YY_EXIT_FAILURE
256825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YY_EXIT_FAILURE 2
256925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
257025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
257125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void yy_fatal_error (yyconst char* msg )
257225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
257325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    	(void) fprintf( stderr, "%s\n", msg );
257425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	exit( YY_EXIT_FAILURE );
257525b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
257625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
257725b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Redefine yyless() so it works in section 3 code. */
257825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
257925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#undef yyless
258025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define yyless(n) \
258125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	do \
258225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		{ \
258325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		/* Undo effects of setting up ldtext. */ \
258425b3c049e70834cf33790a28643ab058b507b35cBen Cheng        int yyless_macro_arg = (n); \
258525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        YY_LESS_LINENO(yyless_macro_arg);\
258625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ldtext[ldleng] = (yy_hold_char); \
258725b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_c_buf_p) = ldtext + yyless_macro_arg; \
258825b3c049e70834cf33790a28643ab058b507b35cBen Cheng		(yy_hold_char) = *(yy_c_buf_p); \
258925b3c049e70834cf33790a28643ab058b507b35cBen Cheng		*(yy_c_buf_p) = '\0'; \
259025b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ldleng = yyless_macro_arg; \
259125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		} \
259225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	while ( 0 )
259325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
259425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Accessor  methods (get/set functions) to struct members. */
259525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
259625b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Get the current line number.
259725b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
259825b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
259925b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldget_lineno  (void)
260025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
260125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
260225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    return ldlineno;
260325b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
260425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
260525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Get the input stream.
260625b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
260725b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
260825b3c049e70834cf33790a28643ab058b507b35cBen ChengFILE *ldget_in  (void)
260925b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
261025b3c049e70834cf33790a28643ab058b507b35cBen Cheng        return ldin;
261125b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
261225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
261325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Get the output stream.
261425b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
261525b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
261625b3c049e70834cf33790a28643ab058b507b35cBen ChengFILE *ldget_out  (void)
261725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
261825b3c049e70834cf33790a28643ab058b507b35cBen Cheng        return ldout;
261925b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
262025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
262125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Get the length of the current token.
262225b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
262325b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
262425b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldget_leng  (void)
262525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
262625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        return ldleng;
262725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
262825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
262925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Get the current token.
263025b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
263125b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
263225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
263325b3c049e70834cf33790a28643ab058b507b35cBen Chengchar *ldget_text  (void)
263425b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
263525b3c049e70834cf33790a28643ab058b507b35cBen Cheng        return ldtext;
263625b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
263725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
263825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Set the current line number.
263925b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param line_number
264025b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
264125b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
264225b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_lineno (int  line_number )
264325b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
264425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
264525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldlineno = line_number;
264625b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
264725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
264825b3c049e70834cf33790a28643ab058b507b35cBen Cheng/** Set the input stream. This does not discard the current
264925b3c049e70834cf33790a28643ab058b507b35cBen Cheng * input buffer.
265025b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @param in_str A readable stream.
265125b3c049e70834cf33790a28643ab058b507b35cBen Cheng *
265225b3c049e70834cf33790a28643ab058b507b35cBen Cheng * @see ld_switch_to_buffer
265325b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
265425b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_in (FILE *  in_str )
265525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
265625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        ldin = in_str ;
265725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
265825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
265925b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_out (FILE *  out_str )
266025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
266125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        ldout = out_str ;
266225b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
266325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
266425b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldget_debug  (void)
266525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
266625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        return ld_flex_debug;
266725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
266825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
266925b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldset_debug (int  bdebug )
267025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
267125b3c049e70834cf33790a28643ab058b507b35cBen Cheng        ld_flex_debug = bdebug ;
267225b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
267325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
267425b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_init_globals (void)
267525b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
267625b3c049e70834cf33790a28643ab058b507b35cBen Cheng        /* Initialization is the same as for the non-reentrant scanner.
267725b3c049e70834cf33790a28643ab058b507b35cBen Cheng     * This function is called from ldlex_destroy(), so don't allocate here.
267825b3c049e70834cf33790a28643ab058b507b35cBen Cheng     */
267925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
268025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    /* We do not touch ldlineno unless the option is enabled. */
268125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldlineno =  1;
268225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
268325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    (yy_buffer_stack) = 0;
268425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    (yy_buffer_stack_top) = 0;
268525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    (yy_buffer_stack_max) = 0;
268625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    (yy_c_buf_p) = (char *) 0;
268725b3c049e70834cf33790a28643ab058b507b35cBen Cheng    (yy_init) = 0;
268825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    (yy_start) = 0;
268925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
269025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Defined in main.c */
269125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef YY_STDINIT
269225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldin = stdin;
269325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldout = stdout;
269425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#else
269525b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldin = (FILE *) 0;
269625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    ldout = (FILE *) 0;
269725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
269825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
269925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    /* For future reference: Set errno on error, since we are called by
270025b3c049e70834cf33790a28643ab058b507b35cBen Cheng     * ldlex_init()
270125b3c049e70834cf33790a28643ab058b507b35cBen Cheng     */
270225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    return 0;
270325b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
270425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
270525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* ldlex_destroy is for both reentrant and non-reentrant scanners. */
270625b3c049e70834cf33790a28643ab058b507b35cBen Chengint ldlex_destroy  (void)
270725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
270825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
270925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    /* Pop the buffer stack, destroying each element. */
271025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	while(YY_CURRENT_BUFFER){
271125b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ld_delete_buffer(YY_CURRENT_BUFFER  );
271225b3c049e70834cf33790a28643ab058b507b35cBen Cheng		YY_CURRENT_BUFFER_LVALUE = NULL;
271325b3c049e70834cf33790a28643ab058b507b35cBen Cheng		ldpop_buffer_state();
271425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
271525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
271625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* Destroy the stack itself. */
271725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ldfree((yy_buffer_stack) );
271825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(yy_buffer_stack) = NULL;
271925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
272025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    /* Reset the globals. This is important in a non-reentrant scanner so the next time
272125b3c049e70834cf33790a28643ab058b507b35cBen Cheng     * ldlex() is called, initialization will occur. */
272225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    yy_init_globals( );
272325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
272425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    return 0;
272525b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
272625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
272725b3c049e70834cf33790a28643ab058b507b35cBen Cheng/*
272825b3c049e70834cf33790a28643ab058b507b35cBen Cheng * Internal utility routines.
272925b3c049e70834cf33790a28643ab058b507b35cBen Cheng */
273025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
273125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef yytext_ptr
273225b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
273325b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
273425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register int i;
273525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	for ( i = 0; i < n; ++i )
273625b3c049e70834cf33790a28643ab058b507b35cBen Cheng		s1[i] = s2[i];
273725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
273825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
273925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
274025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifdef YY_NEED_STRLEN
274125b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int yy_flex_strlen (yyconst char * s )
274225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
274325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	register int n;
274425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	for ( n = 0; s[n]; ++n )
274525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		;
274625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
274725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return n;
274825b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
274925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif
275025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
275125b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid *ldalloc (yy_size_t  size )
275225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
275325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return (void *) malloc( size );
275425b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
275525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
275625b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid *ldrealloc  (void * ptr, yy_size_t  size )
275725b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
275825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	/* The cast to (char *) in the following accommodates both
275925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * implementations that use char* generic pointers, and those
276025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * that use void* generic pointers.  It works with the latter
276125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * because both ANSI C and C++ allow castless assignment from
276225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * any pointer type to void*, and deal with argument conversions
276325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 * as though doing an assignment.
276425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 */
276525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return (void *) realloc( (char *) ptr, size );
276625b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
276725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
276825b3c049e70834cf33790a28643ab058b507b35cBen Chengvoid ldfree (void * ptr )
276925b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
277025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	free( (char *) ptr );	/* see ldrealloc() for (char *) cast */
277125b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
277225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
277325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define YYTABLES_NAME "yytables"
277425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
277525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 206 "ldlex.l"
277625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
277725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
277825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
277925b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void
278025b3c049e70834cf33790a28643ab058b507b35cBen Chengeat_comment (void)
278125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
278225b3c049e70834cf33790a28643ab058b507b35cBen Cheng  while (1)
278325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {
278425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      int c = input ();
278525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
278625b3c049e70834cf33790a28643ab058b507b35cBen Cheng      while (c != '*' && c != EOF)
278725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	c = input ();
278825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
278925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (c == '*')
279025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
279125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  c = input ();
279225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  while (c == '*')
279325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	    c = input ();
279425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  if (c == '/')
279525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	    break;
279625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
279725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
279825b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (c == EOF)
279925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
280025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  /* XXX Use the setjmp buffer and signal EOF in comment */
280125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  error (0, 0, gettext ("EOF in comment"));
280225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  break;
280325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
280425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    }
280525b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
280625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
280725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
280825b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void
280925b3c049e70834cf33790a28643ab058b507b35cBen Chengeat_to_eol (bool empty)
281025b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
281125b3c049e70834cf33790a28643ab058b507b35cBen Cheng  bool warned = false;
281225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
281325b3c049e70834cf33790a28643ab058b507b35cBen Cheng  while (1)
281425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {
281525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      int c = input ();
281625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
281725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (c == EOF)
281825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	break;
281925b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (c == '\n')
282025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
282125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  ++ldlineno;
282225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  break;
282325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
282425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
282525b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (empty && ! isspace (c) && ! warned)
282625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
282725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  error (0, 0, gettext ("%d: garbage at end of line"), ldlineno);
282825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  warned = true;
282925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
283025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    }
283125b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
283225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
283325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
283425b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int
283525b3c049e70834cf33790a28643ab058b507b35cBen Chengattrib_convert (int c)
283625b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
283725b3c049e70834cf33790a28643ab058b507b35cBen Cheng  if (c == 'X')
283825b3c049e70834cf33790a28643ab058b507b35cBen Cheng    return PF_X;
283925b3c049e70834cf33790a28643ab058b507b35cBen Cheng  if (c == 'W')
284025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    return PF_W;
284125b3c049e70834cf33790a28643ab058b507b35cBen Cheng  assert (c == 'R');
284225b3c049e70834cf33790a28643ab058b507b35cBen Cheng  return PF_R;
284325b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
284425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
284525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
284625b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void
284725b3c049e70834cf33790a28643ab058b507b35cBen Chengpush_state (enum prepstate state)
284825b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
284925b3c049e70834cf33790a28643ab058b507b35cBen Cheng  if (prepdepth >= MAX_PREPDEPTH)
285025b3c049e70834cf33790a28643ab058b507b35cBen Cheng    error (EXIT_FAILURE, 0, gettext ("%d: conditionals nested too deep"),
285125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	   ldlineno);
285225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
285325b3c049e70834cf33790a28643ab058b507b35cBen Cheng  prepstate[prepdepth++] = state;
285425b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
285525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
285625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
285725b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int
285825b3c049e70834cf33790a28643ab058b507b35cBen Chengpop_state (void)
285925b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
286025b3c049e70834cf33790a28643ab058b507b35cBen Cheng  if (prepdepth == 0)
286125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    error (0, 0, gettext ("%d: unexpected #endif"), ldlineno);
286225b3c049e70834cf33790a28643ab058b507b35cBen Cheng  else
286325b3c049e70834cf33790a28643ab058b507b35cBen Cheng    --prepdepth;
286425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
286525b3c049e70834cf33790a28643ab058b507b35cBen Cheng  return prepdepth == 0 ? INITIAL : IGNORE;
286625b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
286725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
286825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
286925b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic int
287025b3c049e70834cf33790a28643ab058b507b35cBen Chenghandle_ifdef (void)
287125b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
287225b3c049e70834cf33790a28643ab058b507b35cBen Cheng  char idbuf[50];
287325b3c049e70834cf33790a28643ab058b507b35cBen Cheng  char *id = idbuf;
287425b3c049e70834cf33790a28643ab058b507b35cBen Cheng  size_t idlen = 0;
287525b3c049e70834cf33790a28643ab058b507b35cBen Cheng  size_t idmax = sizeof (idbuf);
287625b3c049e70834cf33790a28643ab058b507b35cBen Cheng  bool ignore_ws = true;
287725b3c049e70834cf33790a28643ab058b507b35cBen Cheng  bool defined = false;
287825b3c049e70834cf33790a28643ab058b507b35cBen Cheng  int result;
287925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
288025b3c049e70834cf33790a28643ab058b507b35cBen Cheng  while (1)
288125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {
288225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      int c = input ();
288325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
288425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (isspace (c) && ignore_ws)
288525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	continue;
288625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
288725b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (c != '_' && (c < 'a' || c > 'z') && (c < 'A' || c > 'Z')
288825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  && (idlen == 0 || c < '0' || c > '9'))
288925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
289025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  unput (c);
289125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  break;
289225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
289325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
289425b3c049e70834cf33790a28643ab058b507b35cBen Cheng      if (idlen == idmax)
289525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	{
289625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  char *newp = (char *) alloca (idmax *= 2);
289725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	  id = memcpy (newp, id, idlen);
289825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	}
289925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
290025b3c049e70834cf33790a28643ab058b507b35cBen Cheng      id[idlen++] = c;
290125b3c049e70834cf33790a28643ab058b507b35cBen Cheng      ignore_ws = false;
290225b3c049e70834cf33790a28643ab058b507b35cBen Cheng    }
290325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
290425b3c049e70834cf33790a28643ab058b507b35cBen Cheng  /* XXX Compare in a better way.  */
290525b3c049e70834cf33790a28643ab058b507b35cBen Cheng  if (idlen == 6 && strncmp (id, "SHARED", 6) == 0)
290625b3c049e70834cf33790a28643ab058b507b35cBen Cheng    defined = ld_state.file_type == dso_file_type;
290725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
290825b3c049e70834cf33790a28643ab058b507b35cBen Cheng  if (defined)
290925b3c049e70834cf33790a28643ab058b507b35cBen Cheng    result = INITIAL;
291025b3c049e70834cf33790a28643ab058b507b35cBen Cheng  else
291125b3c049e70834cf33790a28643ab058b507b35cBen Cheng    {
291225b3c049e70834cf33790a28643ab058b507b35cBen Cheng      push_state (skip_if);
291325b3c049e70834cf33790a28643ab058b507b35cBen Cheng      result = IGNORE;
291425b3c049e70834cf33790a28643ab058b507b35cBen Cheng    }
291525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
291625b3c049e70834cf33790a28643ab058b507b35cBen Cheng  return result;
291725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
291825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
291925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
292025b3c049e70834cf33790a28643ab058b507b35cBen Chengstatic void
292125b3c049e70834cf33790a28643ab058b507b35cBen Chenginvalid_char (int ch)
292225b3c049e70834cf33790a28643ab058b507b35cBen Cheng{
292325b3c049e70834cf33790a28643ab058b507b35cBen Cheng  error (0, 0, (isascii (ch)
292425b3c049e70834cf33790a28643ab058b507b35cBen Cheng		? gettext ("invalid character '%c' at line %d; ignored")
292525b3c049e70834cf33790a28643ab058b507b35cBen Cheng		: gettext ("invalid character '\\%o' at line %d; ignored")),
292625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	 ch, ldlineno);
292725b3c049e70834cf33790a28643ab058b507b35cBen Cheng}
292825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
292925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
293025b3c049e70834cf33790a28643ab058b507b35cBen Cheng// Local Variables:
293125b3c049e70834cf33790a28643ab058b507b35cBen Cheng// mode: C
293225b3c049e70834cf33790a28643ab058b507b35cBen Cheng// End:
293325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
2934