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