Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

5287 lines (4534 sloc) 179.005 kb
#line 2 "compilers/imcc/imclexer.c"
#line 2 "compilers/imcc/imcc.l"
/* ex: set ro ft=c: -*- buffer-read-only:t -*-
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
*
* This file is generated automatically by the Parrot build process
* from the file compilers/imcc/imcc.l.
*
* Any changes made here will be lost!
*
*/
/* HEADERIZER HFILE: none */
/* HEADERIZER STOP */
#ifndef __STDC_VERSION__
# define __STDC_VERSION__ 0
#endif
#include "imc.h"
#include "parser.h"
#line 28 "compilers/imcc/imclexer.c"
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
#define YY_FLEX_SUBMINOR_VERSION 39
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
/* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
/* end standard C headers. */
/* flex integer type definitions */
#ifndef FLEXINT_H
#define FLEXINT_H
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
* if you want the limit (max/min) macros for int types.
*/
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS 1
#endif
#include <inttypes.h>
typedef int8_t flex_int8_t;
typedef uint8_t flex_uint8_t;
typedef int16_t flex_int16_t;
typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
#else
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
/* Limits of integral types. */
#ifndef INT8_MIN
#define INT8_MIN (-128)
#endif
#ifndef INT16_MIN
#define INT16_MIN (-32767-1)
#endif
#ifndef INT32_MIN
#define INT32_MIN (-2147483647-1)
#endif
#ifndef INT8_MAX
#define INT8_MAX (127)
#endif
#ifndef INT16_MAX
#define INT16_MAX (32767)
#endif
#ifndef INT32_MAX
#define INT32_MAX (2147483647)
#endif
#ifndef UINT8_MAX
#define UINT8_MAX (255U)
#endif
#ifndef UINT16_MAX
#define UINT16_MAX (65535U)
#endif
#ifndef UINT32_MAX
#define UINT32_MAX (4294967295U)
#endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST
#else /* ! __cplusplus */
/* C99 requires __STDC__ to be defined as 1. */
#if defined (__STDC__)
#define YY_USE_CONST
#endif /* defined (__STDC__) */
#endif /* ! __cplusplus */
#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
/* Promotes a possibly negative, possibly signed char to an unsigned
* integer for use as an array index. If the signed char is negative,
* we want to instead treat it as an 8-bit unsigned char, hence the
* double cast.
*/
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
/* An opaque pointer. */
#ifndef YY_TYPEDEF_YY_SCANNER_T
#define YY_TYPEDEF_YY_SCANNER_T
typedef void* yyscan_t;
#endif
/* For convenience, these vars (plus the bison vars far below)
are macros in the reentrant scanner. */
#define yyin yyg->yyin_r
#define yyout yyg->yyout_r
#define yyextra yyg->yyextra_r
#define yyleng yyg->yyleng_r
#define yytext yyg->yytext_r
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
#define yy_flex_debug yyg->yy_flex_debug_r
/* Enter a start condition. This macro really ought to take a parameter,
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
#define BEGIN yyg->yy_start = 1 + 2 *
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START ((yyg->yy_start - 1) / 2)
#define YYSTATE YY_START
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart(yyin ,yyscanner )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
*/
#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE
typedef struct yy_buffer_state *YY_BUFFER_STATE;
#endif
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
#endif
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
/* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
* access to the local variable yy_act. Since yyless() is a macro, it would break
* existing scanners that call yyless() from OUTSIDE yylex.
* One obvious solution it to make yy_act a global. I tried that, and saw
* a 5% performance hit in a non-yylineno scanner, because yy_act is
* normally declared as a register variable-- so it is not worth it.
*/
#define YY_LESS_LINENO(n) \
do { \
int yyl;\
for ( yyl = n; yyl < yyleng; ++yyl )\
if ( yytext[yyl] == '\n' )\
--yylineno;\
}while(0)
#define YY_LINENO_REWIND_TO(dst) \
do {\
const char *p;\
for ( p = yy_cp-1; p >= (dst); --p)\
if ( *p == '\n' )\
--yylineno;\
}while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
{ \
/* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = yyg->yy_hold_char; \
YY_RESTORE_YY_MORE_OFFSET \
yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
#ifndef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state
{
FILE *yy_input_file;
char *yy_ch_buf; /* input buffer */
char *yy_buf_pos; /* current position in input buffer */
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
yy_size_t yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
yy_size_t yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
* delete it.
*/
int yy_is_our_buffer;
/* Whether this is an "interactive" input source; if so, and
* if we're using stdio for input, then we want to use getc()
* instead of fread(), to make sure we stop fetching input after
* each newline.
*/
int yy_is_interactive;
/* Whether we're considered to be at the beginning of a line.
* If so, '^' rules will be active on the next match, otherwise
* not.
*/
int yy_at_bol;
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
int yy_fill_buffer;
int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
/* When an EOF's been seen but there's still some text to process
* then we mark the buffer as YY_EOF_PENDING, to indicate that we
* shouldn't try reading from the input source any more. We might
* still have a bunch of tokens to match, though, because of
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
* (via yyrestart()), so that the user can continue scanning by
* just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
};
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
* "scanner state".
*
* Returns the top of the stack, or NULL.
*/
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
: NULL)
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
void yyrestart (FILE *input_file ,yyscan_t yyscanner );
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
void yypop_buffer_state (yyscan_t yyscanner );
static void yyensure_buffer_stack (yyscan_t yyscanner );
static void yy_load_buffer_state (yyscan_t yyscanner );
static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
void *yyalloc (yy_size_t ,yyscan_t yyscanner );
void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
void yyfree (void * ,yyscan_t yyscanner );
#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
yyensure_buffer_stack (yyscanner); \
YY_CURRENT_BUFFER_LVALUE = \
yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
yyensure_buffer_stack (yyscanner); \
YY_CURRENT_BUFFER_LVALUE = \
yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
typedef unsigned char YY_CHAR;
typedef int yy_state_type;
#define yytext_ptr yytext_r
static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
static int yy_get_next_buffer (yyscan_t yyscanner );
static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
yyg->yytext_ptr = yy_bp; \
yyleng = (size_t) (yy_cp - yy_bp); \
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 141
#define YY_END_OF_BUFFER 142
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
{
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[861] =
{ 0,
0, 1, 0, 1, 0, 1, 15, 1, 0, 1,
0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
4, 1, 142, 129, 128, 9, 128, 129, 129, 10,
129, 129, 129, 129, 129, 129, 110, 129, 90, 129,
114, 114, 129, 82, 129, 84, 127, 127, 127, 127,
127, 127, 127, 127, 129, 129, 1, 1, 129, 128,
128, 129, 129, 129, 129, 1, 1, 129, 140, 135,
131, 135, 140, 140, 140, 140, 140, 114, 114, 140,
138, 138, 1, 1, 140, 15, 16, 15, 15, 15,
15, 15, 15, 15, 15, 15, 1, 1, 15, 141,
129, 7, 7, 129, 1, 5, 5, 5, 5, 5,
5, 5, 5, 5, 1, 6, 129, 8, 129, 129,
129, 129, 129, 114, 114, 129, 129, 1, 1, 129,
11, 129, 129, 129, 129, 129, 114, 114, 129, 129,
1, 1, 141, 2, 141, 141, 141, 141, 141, 114,
114, 141, 141, 1, 1, 4, 3, 141, 4, 4,
4, 4, 4, 4, 4, 4, 1, 1, 128, 0,
9, 87, 0, 118, 0, 125, 125, 125, 125, 125,
95, 79, 98, 0, 88, 93, 0, 114, 91, 92,
113, 104, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 96, 94,
113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 76, 83, 86,
59, 85, 77, 109, 0, 127, 111, 126, 127, 69,
127, 127, 127, 127, 127, 99, 80, 100, 81, 1,
0, 13, 0, 86, 59, 0, 128, 112, 112, 112,
112, 0, 0, 0, 0, 1, 135, 131, 135, 0,
0, 0, 139, 139, 139, 138, 0, 136, 1, 1,
15, 16, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 1, 15, 7,
1, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 1, 0, 8, 0, 0,
0, 118, 0, 0, 0, 0, 114, 113, 113, 0,
0, 0, 0, 0, 0, 0, 1, 1, 0, 11,
0, 0, 0, 118, 0, 0, 0, 0, 114, 113,
113, 0, 0, 0, 0, 0, 0, 0, 1, 1,
0, 2, 0, 0, 0, 118, 0, 0, 0, 0,
114, 113, 113, 0, 0, 0, 0, 0, 0, 0,
1, 1, 4, 0, 3, 4, 0, 4, 4, 4,
0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 1, 1, 89, 121, 122, 124, 123, 0,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 97, 113, 116, 0, 113, 117, 115, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
101, 78, 108, 0, 126, 127, 72, 127, 73, 74,
127, 127, 0, 112, 112, 0, 0, 132, 137, 134,
139, 139, 139, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 5, 5, 5, 5, 5, 5,
5, 5, 0, 113, 116, 0, 113, 117, 115, 0,
0, 0, 0, 113, 116, 0, 113, 117, 115, 0,
0, 0, 0, 113, 116, 0, 113, 117, 115, 0,
0, 0, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 0, 113, 63, 112, 112, 112, 112, 21,
112, 112, 112, 112, 18, 112, 112, 112, 112, 112,
112, 112, 112, 20, 112, 112, 0, 0, 0, 0,
0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 38, 0, 0, 119, 0,
0, 103, 0, 120, 0, 68, 71, 127, 127, 0,
134, 139, 139, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 5, 5, 5, 5, 0, 113, 0,
0, 119, 0, 0, 0, 0, 0, 120, 0, 0,
113, 0, 0, 119, 0, 0, 0, 0, 0, 120,
0, 0, 113, 0, 0, 119, 0, 0, 0, 0,
0, 120, 0, 4, 4, 4, 0, 4, 4, 4,
0, 4, 0, 4, 4, 112, 112, 24, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 39, 0, 54, 0, 35, 0,
0, 34, 33, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 127, 127, 12, 0, 130, 139,
14, 15, 112, 112, 65, 112, 112, 112, 112, 112,
112, 112, 112, 64, 106, 112, 67, 112, 112, 112,
112, 112, 112, 48, 0, 0, 0, 0, 0, 32,
58, 0, 0, 0, 40, 0, 0, 45, 0, 75,
70, 139, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 50, 112, 112, 112, 112,
0, 0, 0, 0, 31, 0, 0, 0, 0, 55,
42, 133, 112, 112, 112, 112, 112, 112, 112, 112,
112, 107, 112, 53, 112, 112, 26, 19, 112, 112,
112, 0, 0, 0, 0, 43, 0, 0, 0, 17,
112, 112, 112, 23, 112, 112, 112, 112, 25, 112,
112, 112, 112, 52, 61, 0, 0, 60, 57, 56,
37, 112, 112, 112, 112, 30, 112, 112, 112, 62,
112, 49, 36, 0, 22, 112, 112, 28, 46, 112,
112, 51, 44, 112, 29, 47, 66, 105, 27, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1, 2, 5, 6, 7, 8, 9, 10, 11, 1,
1, 12, 13, 14, 15, 16, 17, 18, 19, 20,
20, 20, 20, 20, 20, 21, 21, 22, 1, 23,
24, 25, 1, 26, 27, 28, 27, 27, 29, 27,
30, 31, 32, 30, 30, 33, 30, 34, 35, 36,
30, 30, 37, 30, 30, 30, 30, 38, 30, 30,
1, 39, 1, 1, 40, 1, 41, 42, 43, 44,
45, 46, 47, 48, 49, 30, 30, 50, 51, 52,
53, 54, 30, 55, 56, 57, 58, 59, 30, 60,
61, 30, 1, 62, 1, 63, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
static yyconst flex_int32_t yy_meta[64] =
{ 0,
1, 1, 2, 1, 1, 3, 1, 4, 1, 1,
1, 1, 1, 1, 5, 1, 1, 6, 6, 6,
6, 7, 1, 1, 1, 8, 9, 9, 9, 10,
10, 10, 10, 10, 10, 10, 10, 10, 1, 11,
9, 9, 9, 9, 9, 9, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 1, 1
} ;
static yyconst flex_int16_t yy_base[981] =
{ 0,
0, 62, 85, 67, 148, 68, 211, 72, 274, 63,
337, 71, 62, 109, 400, 75, 463, 101, 526, 102,
589, 110, 4146, 4147, 115, 4147, 119, 4121, 79, 4147,
108, 4120, 114, 4132, 641, 638, 4147, 648, 655, 109,
701, 729, 734, 637, 646, 653, 710, 744, 716, 774,
718, 719, 745, 720, 54, 631, 790, 795, 797, 753,
801, 794, 817, 778, 4119, 769, 805, 775, 4147, 821,
4147, 840, 717, 802, 4130, 829, 861, 0, 867, 4117,
722, 836, 873, 887, 849, 0, 4147, 4136, 855, 4127,
879, 883, 897, 892, 4114, 957, 861, 905, 4093, 4147,
903, 928, 968, 4113, 866, 0, 0, 925, 935, 957,
1005, 957, 4111, 1065, 936, 904, 813, 4147, 987, 997,
1001, 1011, 1034, 1126, 1056, 1005, 1186, 1042, 1057, 990,
4147, 1003, 1093, 1038, 1099, 1103, 1247, 1098, 1060, 1307,
1108, 1135, 1053, 4147, 1082, 1146, 1089, 1156, 1162, 1368,
1177, 1203, 1428, 1214, 1218, 4129, 4147, 4129, 1012, 933,
1220, 1224, 1488, 1218, 910, 1548, 1139, 1229, 1253, 1165,
4147, 4147, 996, 4147, 0, 0, 1275, 1283, 1307, 1315,
4147, 4147, 4147, 4120, 4147, 4147, 1319, 1329, 4147, 4147,
1323, 4147, 0, 4097, 4077, 4083, 852, 4075, 43, 4074,
1060, 4084, 4083, 1186, 4078, 723, 4081, 4072, 4096, 4147,
1335, 1116, 1380, 1254, 0, 4067, 4077, 4067, 1105, 1117,
1239, 43, 1200, 4063, 1212, 4074, 4057, 1253, 4147, 4147,
4147, 4147, 1189, 4091, 4090, 1283, 4105, 1396, 1351, 1368,
1370, 1397, 1441, 1446, 1447, 4147, 4147, 4147, 4147, 1359,
1231, 4147, 1283, 1378, 1419, 1421, 1277, 4057, 4057, 1312,
4065, 1406, 4051, 4048, 114, 1286, 1462, 4147, 1468, 4083,
1455, 0, 0, 4052, 4062, 1086, 4096, 1467, 1491, 1496,
0, 4147, 1056, 0, 0, 4090, 1492, 1518, 1500, 1548,
1441, 1561, 1524, 1594, 1142, 1640, 4094, 1358, 4041, 1579,
1375, 0, 1521, 0, 1565, 1651, 1598, 1655, 1462, 1613,
1570, 1686, 1167, 1732, 4092, 1405, 1499, 4147, 1511, 1655,
1679, 1588, 1598, 1684, 1686, 1705, 1747, 1769, 1781, 1674,
1800, 1804, 1824, 1758, 1870, 1600, 1708, 1717, 1626, 4147,
1695, 1777, 1851, 1713, 1749, 1771, 1775, 1828, 1885, 1907,
1919, 1793, 1938, 1942, 1962, 1830, 2008, 1834, 1756, 1856,
1802, 4147, 1826, 1858, 1896, 1904, 1909, 1913, 1964, 1951,
2023, 2045, 2057, 1974, 1981, 2069, 2100, 2034, 2146, 1915,
1984, 2032, 4093, 0, 4147, 1662, 1811, 4092, 4091, 1295,
4083, 2063, 2093, 2087, 2157, 1925, 2169, 2075, 2206, 2047,
2252, 1590, 1603, 1789, 1894, 2036, 2080, 2105, 2115, 2178,
0, 4060, 4040, 4044, 4040, 4037, 3937, 3912, 3905, 1308,
3887, 1906, 3893, 3879, 3869, 3851, 3826, 3815, 3825, 3817,
3810, 4147, 2185, 1955, 2146, 2197, 2161, 0, 3791, 3783,
3781, 3618, 2081, 3597, 3605, 3586, 3567, 3568, 3561, 3531,
3508, 3497, 3495, 3492, 3503, 3497, 3499, 1989, 3528, 4147,
4147, 3504, 4147, 2023, 2214, 2263, 2223, 2271, 2224, 2265,
2273, 2274, 2237, 3474, 3465, 3446, 3331, 4147, 2279, 0,
0, 3287, 3277, 2289, 2305, 1979, 2309, 2317, 2193, 2333,
2053, 3297, 2133, 3240, 2326, 2337, 2176, 2349, 2365, 2201,
2369, 2300, 2388, 2401, 2314, 2413, 2420, 2345, 2444, 2396,
2309, 2422, 2439, 2463, 2475, 2492, 2496, 2500, 2518, 2503,
2369, 2526, 2537, 2550, 2530, 2563, 2569, 2573, 2593, 2601,
2433, 2612, 2628, 2581, 2224, 2638, 2646, 2605, 2664, 2266,
1524, 2613, 2456, 2505, 0, 3233, 3224, 3191, 3184, 3195,
3194, 3181, 3169, 3165, 0, 3163, 3155, 3130, 3129, 2991,
2970, 2933, 2940, 0, 2919, 2908, 2893, 2893, 2852, 2860,
2847, 2836, 2837, 4147, 2845, 2836, 2839, 2829, 2840, 2832,
999, 2838, 2825, 2826, 2830, 4147, 2836, 2168, 4147, 0,
2866, 4147, 2388, 4147, 0, 2483, 2647, 2664, 2655, 2197,
0, 2825, 2829, 2609, 2655, 2412, 0, 0, 2862, 2462,
0, 0, 2280, 2669, 2676, 2709, 0, 2710, 2714, 2697,
2718, 2339, 2446, 2524, 2540, 2734, 2738, 2452, 2466, 2742,
2746, 2748, 2752, 2571, 2641, 2650, 2765, 2768, 2775, 2677,
2695, 2779, 2785, 2789, 2805, 2722, 2744, 2809, 2812, 2815,
2821, 2781, 2798, 2813, 2818, 2790, 2592, 2868, 2867, 1766,
2858, 2836, 2665, 2864, 2863, 2809, 2810, 0, 2804, 2792,
2804, 2789, 2768, 2767, 2740, 2736, 2727, 2719, 2719, 2687,
2672, 2698, 2680, 2675, 4147, 2662, 4147, 2634, 4147, 2619,
2590, 4147, 4147, 2555, 2557, 2559, 2537, 2540, 2527, 2523,
2488, 2448, 2453, 2430, 2833, 2835, 4147, 2842, 0, 2403,
4147, 2442, 2388, 2355, 0, 2352, 2336, 2322, 2314, 2290,
2287, 2226, 2206, 0, 2204, 2183, 0, 2165, 2140, 2128,
2086, 2061, 2055, 0, 2029, 2031, 2017, 2009, 2002, 4147,
4147, 1968, 1929, 1924, 4147, 1910, 1889, 4147, 1889, 2841,
2843, 2113, 1874, 2809, 1870, 1858, 1846, 1829, 1820, 1811,
1787, 1793, 1782, 1768, 1705, 0, 1691, 1665, 1646, 1636,
1632, 1619, 1612, 1573, 4147, 1559, 1568, 1537, 1524, 4147,
4147, 2288, 1506, 1505, 1495, 1482, 1475, 1464, 1455, 1438,
1430, 0, 1421, 0, 1393, 1400, 0, 0, 1368, 1370,
1352, 1347, 1334, 1277, 1226, 4147, 1214, 1202, 1193, 0,
1173, 1147, 1156, 0, 1129, 1119, 1081, 1073, 0, 1062,
1035, 1016, 978, 0, 4147, 966, 945, 4147, 4147, 4147,
4147, 933, 914, 910, 889, 0, 872, 863, 828, 0,
794, 0, 4147, 787, 0, 740, 707, 0, 624, 606,
89, 0, 4147, 84, 0, 0, 0, 0, 0, 4147,
2891, 2897, 2907, 2915, 2926, 2930, 2938, 2945, 2956, 2967,
2978, 2989, 2996, 3007, 3018, 3029, 3040, 3051, 3062, 3073,
3084, 3095, 3106, 3117, 3128, 3139, 3150, 3161, 3172, 3183,
3194, 3205, 3211, 3221, 3227, 3233, 3239, 3250, 3256, 3260,
3266, 3273, 3284, 3295, 3306, 3317, 3328, 3339, 3350, 3361,
3372, 3383, 3394, 3405, 3416, 3427, 3438, 3449, 3460, 3471,
3482, 3493, 3504, 3515, 3526, 3532, 3537, 3543, 3552, 3563,
3574, 3582, 3593, 3599, 3605, 3611, 3622, 3633, 3644, 3655,
3666, 3677, 3688, 3699, 3710, 3721, 3732, 3743, 3754, 3765,
3776, 3787, 3798, 3809, 3820, 3831, 3842, 3853, 3859, 3870,
3881, 3892, 3900, 3911, 3917, 3923, 3934, 3945, 3956, 3967,
3978, 3989, 4000, 4011, 4022, 4033, 4044, 4055, 4066, 4077
} ;
static yyconst flex_int16_t yy_def[981] =
{ 0,
860, 1, 1, 3, 860, 5, 860, 7, 860, 9,
860, 11, 9, 9, 860, 15, 860, 17, 860, 19,
860, 21, 860, 860, 860, 860, 860, 860, 861, 860,
862, 860, 860, 863, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 864, 864, 864, 864,
864, 864, 864, 864, 860, 860, 860, 860, 865, 860,
860, 860, 39, 860, 860, 860, 860, 865, 860, 860,
860, 860, 861, 866, 863, 860, 867, 41, 860, 860,
868, 868, 860, 860, 865, 869, 860, 869, 870, 871,
869, 869, 869, 93, 869, 872, 869, 869, 869, 860,
860, 41, 860, 873, 860, 874, 874, 875, 874, 874,
874, 111, 874, 876, 874, 861, 877, 860, 877, 878,
879, 877, 877, 877, 124, 877, 880, 877, 877, 881,
860, 881, 882, 883, 881, 881, 881, 137, 881, 884,
881, 881, 885, 860, 885, 886, 887, 885, 885, 885,
150, 885, 888, 885, 885, 889, 860, 889, 890, 891,
889, 889, 889, 163, 889, 892, 889, 889, 860, 860,
860, 860, 861, 860, 861, 893, 893, 893, 893, 893,
860, 860, 860, 894, 860, 860, 860, 860, 860, 860,
860, 860, 895, 895, 895, 895, 895, 895, 895, 895,
895, 895, 895, 895, 895, 895, 895, 895, 860, 860,
860, 860, 860, 860, 896, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 873, 897, 860, 897, 897, 897,
897, 897, 897, 897, 897, 860, 860, 860, 860, 860,
898, 860, 898, 898, 898, 898, 860, 895, 895, 895,
895, 860, 860, 860, 860, 860, 860, 860, 860, 899,
899, 900, 901, 901, 901, 902, 860, 902, 860, 860,
903, 860, 904, 903, 904, 905, 903, 903, 903, 903,
903, 903, 903, 903, 903, 906, 903, 903, 903, 860,
860, 907, 908, 907, 907, 907, 907, 907, 907, 907,
907, 907, 907, 909, 907, 907, 910, 860, 910, 911,
911, 910, 911, 912, 912, 910, 910, 910, 910, 910,
910, 910, 910, 910, 913, 910, 910, 910, 914, 860,
914, 915, 915, 914, 915, 916, 916, 914, 914, 914,
914, 914, 914, 914, 914, 914, 917, 914, 914, 914,
918, 860, 918, 919, 919, 918, 919, 920, 920, 918,
918, 918, 918, 918, 918, 918, 918, 918, 921, 918,
918, 918, 922, 922, 860, 923, 923, 922, 923, 924,
924, 922, 922, 922, 922, 922, 922, 922, 922, 922,
925, 922, 922, 922, 860, 926, 926, 926, 926, 860,
927, 927, 927, 927, 927, 927, 927, 927, 927, 927,
927, 927, 927, 927, 927, 927, 927, 927, 927, 927,
927, 860, 860, 860, 860, 860, 860, 928, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 929, 930, 860,
860, 860, 860, 931, 932, 932, 932, 932, 932, 932,
932, 932, 933, 927, 927, 860, 934, 860, 934, 935,
936, 936, 936, 937, 937, 937, 937, 937, 937, 937,
938, 939, 940, 937, 941, 941, 941, 941, 941, 941,
941, 942, 943, 943, 943, 943, 943, 943, 943, 944,
945, 946, 947, 947, 947, 947, 947, 947, 947, 948,
949, 950, 951, 951, 951, 951, 951, 951, 951, 952,
953, 954, 955, 955, 955, 955, 955, 955, 955, 956,
957, 958, 860, 860, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 959, 959, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 960, 860, 960,
961, 860, 962, 860, 962, 963, 963, 963, 963, 964,
965, 966, 966, 967, 967, 968, 967, 968, 969, 970,
967, 970, 967, 971, 971, 972, 971, 973, 973, 974,
974, 973, 974, 975, 975, 976, 976, 973, 976, 977,
977, 978, 978, 977, 978, 979, 979, 980, 980, 977,
980, 951, 951, 952, 952, 951, 952, 953, 953, 954,
954, 951, 954, 955, 955, 956, 956, 955, 956, 957,
957, 958, 958, 955, 958, 959, 959, 959, 959, 959,
959, 959, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 963, 963, 860, 964, 966, 966,
860, 967, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 963,
963, 966, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 959, 959, 959, 959, 959, 959,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 959, 959, 959, 959, 959, 959,
959, 860, 860, 860, 860, 860, 860, 860, 860, 959,
959, 959, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 959, 959, 860, 860, 860, 860, 860, 860,
860, 959, 959, 959, 959, 959, 959, 959, 959, 959,
959, 959, 860, 860, 959, 959, 959, 959, 959, 959,
959, 959, 860, 959, 959, 959, 959, 959, 959, 0,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860
} ;
static yyconst flex_int16_t yy_nxt[4211] =
{ 0,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 42,
42, 43, 44, 45, 46, 47, 47, 47, 47, 47,
47, 48, 47, 48, 47, 48, 48, 47, 24, 47,
47, 47, 47, 47, 47, 47, 49, 47, 50, 47,
47, 51, 47, 52, 47, 53, 47, 54, 47, 47,
47, 55, 56, 57, 105, 58, 105, 116, 66, 83,
67, 84, 115, 97, 115, 98, 128, 246, 129, 41,
42, 42, 42, 449, 174, 59, 60, 418, 61, 24,
68, 85, 419, 24, 24, 99, 24, 62, 450, 62,
63, 24, 141, 154, 142, 155, 64, 65, 24, 24,
105, 167, 105, 168, 116, 247, 169, 175, 169, 458,
169, 171, 169, 182, 459, 209, 41, 42, 42, 42,
170, 47, 210, 47, 170, 859, 47, 183, 47, 177,
47, 178, 47, 179, 180, 858, 24, 24, 69, 70,
71, 72, 69, 73, 69, 74, 69, 69, 75, 69,
76, 69, 76, 77, 69, 78, 79, 79, 79, 69,
80, 69, 69, 81, 81, 81, 81, 81, 81, 82,
81, 82, 81, 82, 82, 81, 69, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 69,
69, 86, 86, 87, 88, 86, 89, 86, 86, 86,
86, 90, 86, 91, 86, 91, 92, 86, 93, 94,
94, 94, 86, 95, 86, 86, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 86,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 86, 86, 24, 24, 100, 24, 24, 29,
24, 24, 24, 24, 34, 24, 62, 24, 62, 101,
24, 102, 103, 103, 103, 24, 65, 24, 24, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
104, 104, 24, 104, 104, 104, 104, 104, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
104, 104, 104, 104, 104, 24, 24, 106, 106, 107,
106, 106, 29, 106, 106, 106, 106, 108, 106, 109,
106, 109, 110, 106, 111, 112, 112, 112, 106, 113,
106, 106, 114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 106, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114, 106, 106,
117, 117, 118, 119, 117, 120, 117, 117, 117, 117,
121, 117, 122, 117, 122, 123, 117, 124, 125, 125,
125, 117, 126, 117, 117, 127, 127, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 117, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
127, 117, 117, 130, 130, 131, 132, 130, 133, 130,
130, 130, 130, 134, 130, 135, 130, 135, 136, 130,
137, 138, 138, 138, 130, 139, 130, 130, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
140, 130, 140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 130, 130, 143, 143, 144, 145,
143, 146, 143, 143, 143, 143, 147, 143, 148, 143,
148, 149, 143, 150, 151, 151, 151, 143, 152, 143,
143, 153, 153, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 143, 153, 153, 153, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 153, 153, 153, 143, 143, 156,
156, 157, 158, 156, 159, 156, 156, 156, 156, 160,
156, 161, 156, 161, 162, 156, 163, 164, 164, 164,
156, 165, 156, 156, 166, 166, 166, 166, 166, 166,
166, 166, 166, 166, 166, 166, 166, 156, 166, 166,
166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
156, 156, 185, 187, 248, 188, 188, 188, 188, 228,
229, 189, 857, 187, 186, 188, 188, 188, 188, 230,
231, 190, 191, 191, 191, 191, 232, 233, 192, 856,
193, 193, 193, 193, 193, 194, 193, 193, 193, 193,
193, 193, 193, 249, 193, 195, 196, 197, 193, 198,
193, 199, 193, 200, 201, 202, 203, 193, 204, 205,
206, 207, 193, 193, 193, 208, 211, 234, 188, 188,
188, 188, 174, 234, 235, 234, 234, 234, 212, 213,
235, 237, 235, 235, 235, 214, 235, 237, 215, 237,
237, 237, 212, 277, 211, 213, 188, 188, 188, 188,
855, 234, 234, 214, 257, 175, 257, 213, 235, 235,
215, 238, 238, 238, 238, 237, 237, 428, 239, 243,
266, 245, 266, 213, 216, 242, 217, 252, 253, 218,
429, 234, 219, 220, 221, 222, 223, 224, 235, 225,
226, 250, 227, 250, 854, 237, 250, 171, 250, 252,
253, 244, 257, 171, 257, 170, 266, 171, 266, 187,
170, 188, 188, 188, 188, 318, 319, 256, 216, 240,
254, 255, 267, 268, 269, 241, 262, 220, 221, 263,
264, 224, 853, 271, 226, 271, 227, 271, 271, 256,
860, 267, 268, 269, 187, 852, 188, 188, 188, 188,
235, 252, 253, 278, 278, 278, 278, 277, 193, 258,
284, 193, 298, 193, 298, 259, 260, 301, 272, 301,
261, 193, 193, 193, 279, 268, 280, 193, 191, 191,
191, 191, 211, 851, 188, 188, 188, 188, 279, 268,
280, 256, 415, 285, 287, 213, 288, 288, 288, 288,
289, 289, 289, 289, 416, 274, 298, 282, 298, 174,
275, 213, 290, 384, 288, 288, 288, 288, 850, 281,
191, 191, 191, 191, 291, 292, 281, 302, 849, 281,
184, 293, 400, 281, 294, 304, 391, 316, 291, 316,
848, 292, 175, 388, 281, 300, 300, 300, 300, 293,
305, 281, 306, 306, 306, 306, 294, 281, 281, 847,
281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
281, 846, 281, 281, 307, 307, 307, 307, 297, 281,
281, 281, 845, 211, 302, 300, 300, 300, 300, 318,
319, 302, 340, 341, 302, 281, 213, 844, 302, 318,
321, 174, 322, 318, 325, 340, 341, 318, 319, 302,
843, 322, 213, 318, 319, 387, 302, 388, 281, 281,
308, 842, 306, 306, 306, 306, 326, 334, 327, 327,
327, 327, 309, 310, 175, 323, 318, 319, 698, 311,
340, 347, 312, 337, 318, 338, 309, 699, 344, 310,
389, 328, 328, 328, 328, 362, 363, 311, 337, 318,
338, 284, 340, 341, 312, 302, 302, 302, 302, 302,
841, 302, 302, 302, 302, 302, 302, 302, 302, 840,
302, 302, 356, 317, 362, 363, 315, 302, 302, 302,
317, 362, 369, 317, 285, 340, 343, 317, 344, 366,
235, 340, 341, 302, 421, 340, 341, 277, 317, 359,
340, 360, 422, 839, 348, 317, 349, 349, 349, 349,
350, 350, 350, 350, 838, 339, 302, 302, 318, 319,
837, 345, 339, 434, 434, 339, 359, 340, 360, 339,
403, 329, 404, 327, 327, 327, 327, 491, 362, 365,
339, 366, 492, 330, 331, 442, 443, 339, 362, 363,
332, 444, 836, 333, 362, 363, 405, 330, 405, 445,
331, 370, 458, 371, 371, 371, 371, 502, 332, 372,
372, 372, 372, 835, 367, 333, 317, 317, 318, 319,
317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
834, 317, 317, 833, 361, 362, 363, 336, 317, 317,
317, 361, 461, 462, 361, 381, 362, 382, 361, 381,
362, 382, 832, 384, 317, 378, 425, 384, 426, 361,
403, 385, 403, 252, 253, 392, 361, 393, 393, 393,
393, 394, 394, 394, 394, 383, 831, 317, 317, 340,
341, 830, 383, 451, 169, 383, 169, 452, 458, 383,
829, 454, 351, 459, 349, 349, 349, 349, 170, 455,
383, 437, 437, 437, 352, 353, 460, 383, 257, 446,
257, 354, 828, 447, 355, 252, 253, 266, 352, 266,
234, 353, 406, 406, 406, 406, 448, 235, 391, 354,
407, 407, 407, 407, 237, 388, 355, 339, 339, 340,
341, 339, 339, 339, 339, 339, 339, 339, 339, 339,
339, 827, 339, 339, 408, 408, 408, 408, 358, 339,
339, 339, 409, 409, 409, 409, 191, 191, 191, 191,
191, 191, 191, 191, 211, 339, 188, 188, 188, 188,
553, 410, 433, 433, 433, 433, 421, 213, 234, 298,
250, 298, 250, 410, 475, 235, 554, 410, 339, 339,
362, 363, 237, 213, 170, 234, 301, 234, 301, 410,
252, 253, 235, 373, 235, 371, 371, 371, 371, 237,
826, 237, 435, 825, 435, 374, 375, 436, 436, 436,
436, 824, 376, 234, 234, 377, 316, 466, 316, 374,
235, 235, 375, 465, 465, 465, 465, 237, 237, 823,
376, 252, 253, 252, 253, 822, 467, 377, 361, 361,
362, 363, 361, 361, 361, 361, 361, 361, 361, 361,
361, 361, 821, 361, 361, 820, 468, 469, 234, 380,
361, 361, 361, 234, 234, 235, 442, 476, 486, 486,
235, 235, 237, 267, 268, 269, 361, 237, 237, 267,
268, 269, 479, 479, 479, 479, 478, 819, 473, 497,
497, 235, 818, 470, 278, 278, 278, 278, 277, 361,
361, 384, 279, 268, 280, 817, 472, 279, 268, 280,
471, 318, 319, 395, 816, 393, 393, 393, 393, 289,
289, 289, 289, 318, 319, 396, 397, 289, 289, 289,
289, 815, 398, 302, 814, 399, 184, 661, 484, 396,
813, 304, 397, 290, 658, 288, 288, 288, 288, 812,
398, 489, 489, 489, 484, 811, 292, 399, 383, 383,
810, 384, 383, 383, 383, 383, 383, 383, 383, 383,
383, 383, 292, 383, 383, 485, 485, 485, 485, 402,
383, 383, 383, 487, 809, 487, 484, 808, 488, 488,
488, 488, 307, 307, 307, 307, 383, 500, 500, 500,
318, 319, 484, 384, 211, 542, 300, 300, 300, 300,
318, 321, 318, 319, 403, 512, 404, 213, 807, 383,
383, 490, 490, 490, 490, 307, 307, 307, 307, 806,
490, 490, 490, 213, 805, 498, 495, 498, 340, 341,
499, 499, 499, 499, 490, 490, 490, 490, 490, 490,
281, 281, 495, 281, 281, 281, 281, 281, 281, 281,
281, 281, 281, 281, 804, 281, 281, 318, 321, 803,
322, 297, 281, 281, 281, 387, 308, 388, 306, 306,
306, 306, 496, 496, 496, 496, 318, 319, 281, 310,
802, 318, 321, 495, 322, 801, 318, 325, 318, 325,
800, 505, 505, 323, 322, 310, 322, 340, 341, 495,
389, 281, 281, 501, 501, 501, 501, 318, 319, 337,
318, 338, 501, 501, 501, 340, 341, 323, 337, 318,
338, 799, 328, 328, 328, 328, 501, 501, 501, 501,
501, 501, 302, 302, 302, 302, 302, 798, 302, 302,
302, 302, 302, 302, 302, 302, 797, 302, 302, 318,
319, 340, 343, 315, 302, 302, 302, 359, 340, 360,
318, 319, 329, 510, 327, 327, 327, 327, 511, 661,
302, 318, 319, 340, 347, 331, 658, 340, 347, 340,
343, 344, 344, 318, 319, 344, 328, 328, 328, 328,
403, 331, 403, 302, 302, 340, 341, 503, 504, 504,
504, 504, 318, 319, 362, 363, 318, 319, 796, 503,
515, 515, 506, 503, 506, 345, 388, 507, 507, 507,
507, 508, 508, 508, 795, 503, 318, 319, 362, 363,
340, 341, 340, 341, 794, 520, 340, 341, 793, 522,
521, 509, 509, 509, 509, 350, 350, 350, 350, 389,
509, 509, 509, 340, 343, 792, 344, 359, 340, 360,
362, 365, 791, 366, 509, 509, 509, 509, 509, 509,
317, 317, 318, 319, 317, 317, 317, 317, 317, 317,
317, 317, 317, 317, 790, 317, 317, 340, 341, 345,
789, 336, 317, 317, 317, 405, 367, 405, 362, 365,
351, 366, 349, 349, 349, 349, 362, 363, 317, 340,
341, 362, 365, 353, 788, 362, 369, 362, 363, 787,
532, 340, 341, 366, 350, 350, 350, 350, 384, 353,
783, 317, 317, 781, 367, 513, 514, 514, 514, 514,
340, 341, 535, 535, 340, 341, 556, 513, 557, 780,
516, 513, 516, 362, 363, 517, 517, 517, 517, 518,
518, 518, 779, 513, 340, 341, 362, 369, 372, 372,
372, 372, 434, 434, 366, 778, 362, 363, 777, 519,
519, 519, 519, 362, 363, 381, 362, 382, 519, 519,
519, 525, 525, 526, 589, 526, 486, 486, 527, 527,
527, 527, 519, 519, 519, 519, 519, 519, 339, 339,
340, 341, 339, 339, 339, 339, 339, 339, 339, 339,
339, 339, 776, 339, 339, 362, 363, 590, 594, 358,
339, 339, 339, 381, 362, 382, 362, 363, 373, 530,
371, 371, 371, 371, 531, 775, 339, 362, 363, 774,
384, 375, 540, 406, 406, 406, 406, 541, 607, 362,
363, 595, 372, 372, 372, 372, 384, 375, 773, 339,
339, 362, 363, 523, 524, 524, 524, 524, 384, 772,
394, 394, 394, 394, 771, 523, 528, 528, 528, 523,
384, 608, 538, 538, 538, 770, 384, 407, 407, 407,
407, 523, 362, 363, 394, 394, 394, 394, 395, 769,
393, 393, 393, 393, 782, 533, 782, 529, 529, 529,
529, 397, 408, 408, 408, 408, 529, 529, 529, 571,
768, 533, 409, 409, 409, 409, 572, 397, 611, 573,
529, 529, 529, 529, 529, 529, 361, 361, 362, 363,
361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
384, 361, 361, 436, 436, 436, 436, 380, 361, 361,
361, 612, 384, 589, 534, 534, 534, 534, 437, 437,
437, 536, 767, 536, 361, 533, 537, 537, 537, 537,
543, 766, 543, 497, 497, 544, 544, 544, 544, 707,
708, 533, 433, 433, 433, 433, 590, 361, 361, 384,
489, 489, 489, 410, 436, 436, 436, 436, 500, 500,
500, 234, 765, 539, 539, 539, 539, 384, 235, 410,
234, 234, 539, 539, 539, 237, 764, 235, 235, 252,
253, 535, 535, 763, 237, 237, 539, 539, 539, 539,
539, 539, 383, 383, 762, 384, 383, 383, 383, 383,
383, 383, 383, 383, 383, 383, 761, 383, 383, 657,
234, 658, 234, 402, 383, 383, 383, 235, 234, 235,
234, 234, 711, 712, 237, 235, 237, 235, 235, 782,
383, 782, 237, 600, 237, 237, 479, 479, 479, 479,
478, 604, 302, 604, 659, 591, 605, 605, 605, 605,
617, 318, 625, 383, 383, 596, 318, 319, 599, 622,
597, 598, 485, 485, 485, 485, 488, 488, 488, 488,
760, 505, 505, 484, 488, 488, 488, 488, 614, 759,
614, 318, 319, 615, 615, 615, 615, 318, 319, 484,
490, 490, 490, 490, 496, 496, 496, 496, 758, 490,
490, 490, 508, 508, 508, 495, 499, 499, 499, 499,
757, 340, 637, 490, 490, 490, 490, 490, 490, 634,
756, 495, 499, 499, 499, 499, 501, 501, 501, 501,
318, 319, 755, 594, 754, 501, 501, 501, 318, 621,
618, 622, 618, 318, 319, 619, 619, 619, 619, 501,
501, 501, 501, 501, 501, 318, 319, 607, 504, 504,
504, 504, 318, 319, 318, 627, 595, 628, 753, 503,
507, 507, 507, 507, 623, 362, 649, 507, 507, 507,
507, 340, 341, 646, 711, 503, 318, 319, 318, 621,
608, 630, 752, 630, 318, 319, 631, 631, 631, 631,
629, 509, 509, 509, 509, 340, 341, 611, 318, 627,
509, 509, 509, 544, 544, 544, 544, 340, 341, 749,
514, 514, 514, 514, 509, 509, 509, 509, 509, 509,
234, 513, 515, 515, 340, 341, 748, 235, 340, 341,
612, 747, 340, 341, 237, 340, 633, 513, 634, 517,
517, 517, 517, 517, 517, 517, 517, 518, 518, 518,
340, 341, 544, 544, 544, 544, 318, 625, 340, 639,
746, 640, 362, 363, 622, 519, 519, 519, 519, 362,
363, 635, 318, 625, 519, 519, 519, 525, 525, 642,
622, 642, 362, 363, 643, 643, 643, 643, 519, 519,
519, 519, 519, 519, 641, 362, 363, 524, 524, 524,
524, 362, 363, 340, 341, 362, 363, 745, 523, 744,
527, 527, 527, 527, 384, 743, 527, 527, 527, 527,
528, 528, 528, 742, 523, 362, 363, 658, 534, 534,
534, 534, 741, 362, 645, 740, 646, 739, 384, 533,
529, 529, 529, 529, 362, 651, 663, 652, 664, 529,
529, 529, 538, 538, 538, 533, 605, 605, 605, 605,
659, 384, 738, 529, 529, 529, 529, 529, 529, 647,
654, 384, 654, 340, 633, 655, 655, 655, 655, 384,
653, 665, 340, 637, 234, 537, 537, 537, 537, 737,
634, 235, 234, 537, 537, 537, 537, 384, 237, 235,
664, 234, 605, 605, 605, 605, 237, 736, 235, 340,
341, 539, 539, 539, 539, 237, 615, 615, 615, 615,
539, 539, 539, 615, 615, 615, 615, 340, 639, 318,
621, 735, 622, 665, 539, 539, 539, 539, 539, 539,
706, 302, 318, 319, 591, 705, 318, 319, 734, 617,
318, 621, 733, 622, 362, 363, 729, 619, 619, 619,
619, 619, 619, 619, 619, 623, 318, 627, 730, 628,
318, 627, 728, 628, 340, 341, 362, 645, 340, 341,
340, 633, 731, 634, 340, 633, 623, 634, 732, 631,
631, 631, 631, 631, 631, 631, 631, 340, 637, 727,
340, 639, 629, 640, 726, 634, 629, 340, 639, 725,
640, 362, 363, 362, 363, 724, 635, 362, 363, 723,
635, 362, 645, 657, 646, 658, 643, 643, 643, 643,
362, 651, 643, 643, 643, 643, 641, 362, 645, 722,
646, 362, 649, 641, 362, 649, 384, 362, 651, 646,
652, 384, 646, 362, 651, 721, 652, 647, 659, 720,
655, 655, 655, 655, 716, 655, 655, 655, 655, 663,
234, 664, 234, 647, 707, 253, 717, 235, 234, 235,
234, 784, 718, 653, 237, 235, 237, 235, 719, 653,
715, 714, 237, 785, 237, 713, 663, 384, 658, 786,
657, 384, 607, 710, 665, 709, 589, 704, 703, 750,
702, 701, 700, 697, 696, 695, 694, 693, 692, 691,
751, 173, 690, 173, 173, 173, 173, 173, 173, 173,
173, 173, 176, 689, 688, 176, 176, 184, 687, 184,
184, 184, 184, 184, 184, 184, 184, 184, 236, 236,
236, 236, 236, 236, 236, 236, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 270, 270, 270,
270, 273, 686, 273, 685, 273, 273, 273, 273, 276,
276, 276, 276, 276, 276, 276, 281, 684, 281, 281,
281, 281, 281, 281, 281, 281, 281, 283, 683, 283,
283, 283, 283, 283, 283, 283, 283, 283, 286, 682,
286, 286, 286, 286, 286, 286, 286, 286, 286, 296,
681, 296, 296, 296, 296, 296, 296, 296, 296, 296,
235, 235, 235, 235, 235, 235, 235, 302, 302, 680,
302, 302, 302, 302, 302, 302, 302, 302, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303, 303, 314,
314, 679, 314, 314, 314, 314, 314, 314, 314, 314,
317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
317, 320, 320, 320, 320, 320, 320, 320, 320, 320,
320, 320, 324, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 335, 335, 335, 335, 335, 335, 335,
335, 335, 335, 335, 339, 339, 339, 339, 339, 339,
339, 339, 339, 339, 339, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 346, 346, 346, 346,
346, 346, 346, 346, 346, 346, 346, 357, 357, 357,
357, 357, 357, 357, 357, 357, 357, 357, 361, 361,
361, 361, 361, 361, 361, 361, 361, 361, 361, 364,
364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
368, 379, 379, 379, 379, 379, 379, 379, 379, 379,
379, 379, 383, 678, 383, 383, 383, 383, 383, 383,
383, 383, 383, 386, 677, 386, 386, 386, 386, 386,
386, 386, 386, 386, 390, 676, 390, 390, 390, 390,
390, 390, 390, 390, 390, 401, 675, 401, 401, 401,
401, 401, 401, 401, 401, 401, 176, 674, 673, 176,
176, 184, 672, 184, 184, 184, 184, 184, 184, 184,
184, 184, 411, 671, 670, 411, 411, 411, 438, 669,
668, 438, 236, 236, 236, 236, 236, 236, 236, 236,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 477, 477, 477, 477, 477, 477, 480, 480, 480,
480, 481, 667, 481, 481, 481, 481, 276, 276, 276,
276, 276, 276, 276, 281, 666, 281, 281, 281, 281,
281, 281, 281, 281, 281, 283, 613, 283, 283, 283,
283, 283, 283, 283, 283, 283, 286, 607, 286, 286,
286, 286, 286, 286, 286, 286, 286, 296, 603, 296,
296, 296, 296, 296, 296, 296, 296, 296, 302, 302,
602, 302, 302, 302, 302, 302, 302, 302, 302, 303,
303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
314, 314, 478, 314, 314, 314, 314, 314, 314, 314,
314, 317, 317, 317, 317, 317, 317, 317, 317, 317,
317, 317, 320, 320, 320, 320, 320, 320, 320, 320,
320, 320, 320, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 335, 335, 335, 335, 335, 335,
335, 335, 335, 335, 335, 339, 339, 339, 339, 339,
339, 339, 339, 339, 339, 339, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 346, 346, 346,
346, 346, 346, 346, 346, 346, 346, 346, 357, 357,
357, 357, 357, 357, 357, 357, 357, 357, 357, 361,
361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
364, 368, 368, 368, 368, 368, 368, 368, 368, 368,
368, 368, 379, 379, 379, 379, 379, 379, 379, 379,
379, 379, 379, 383, 571, 383, 383, 383, 383, 383,
383, 383, 383, 383, 386, 556, 386, 386, 386, 386,
386, 386, 386, 386, 386, 390, 553, 390, 390, 390,
390, 390, 390, 390, 390, 390, 401, 592, 401, 401,
401, 401, 401, 401, 401, 401, 401, 176, 589, 587,
176, 176, 411, 586, 585, 411, 411, 411, 438, 584,
583, 438, 588, 582, 588, 588, 588, 588, 588, 588,
588, 588, 588, 591, 581, 591, 591, 591, 591, 591,
591, 591, 591, 591, 593, 580, 593, 593, 593, 593,
593, 593, 593, 593, 593, 236, 236, 236, 236, 236,
236, 236, 236, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 477, 477, 477, 477, 477, 477,
601, 579, 601, 601, 601, 601, 481, 578, 481, 481,
481, 481, 281, 577, 281, 281, 281, 281, 281, 281,
281, 281, 281, 606, 576, 606, 606, 606, 606, 606,
606, 606, 606, 606, 609, 575, 609, 609, 609, 609,
609, 609, 609, 609, 609, 610, 574, 610, 610, 610,
610, 610, 610, 610, 610, 610, 302, 302, 570, 302,
302, 302, 302, 302, 302, 302, 302, 616, 616, 616,
616, 616, 616, 616, 616, 616, 616, 616, 317, 317,
317, 317, 317, 317, 317, 317, 317, 317, 317, 620,
620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
624, 626, 626, 626, 626, 626, 626, 626, 626, 626,
626, 626, 339, 339, 339, 339, 339, 339, 339, 339,
339, 339, 339, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 636, 636, 636, 636, 636, 636,
636, 636, 636, 636, 636, 638, 638, 638, 638, 638,
638, 638, 638, 638, 638, 638, 361, 361, 361, 361,
361, 361, 361, 361, 361, 361, 361, 644, 644, 644,
644, 644, 644, 644, 644, 644, 644, 644, 648, 648,
648, 648, 648, 648, 648, 648, 648, 648, 648, 650,
650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
383, 569, 383, 383, 383, 383, 383, 383, 383, 383,
383, 656, 568, 656, 656, 656, 656, 656, 656, 656,
656, 656, 660, 567, 660, 660, 660, 660, 660, 660,
660, 660, 660, 662, 566, 662, 662, 662, 662, 662,
662, 662, 662, 662, 411, 565, 564, 411, 411, 411,
588, 563, 588, 588, 588, 588, 588, 588, 588, 588,
588, 591, 562, 591, 591, 591, 591, 591, 591, 591,
591, 591, 593, 561, 593, 593, 593, 593, 593, 593,
593, 593, 593, 236, 236, 236, 236, 236, 236, 236,
236, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 601, 560, 601, 601, 601, 601, 481, 559,
481, 481, 481, 481, 281, 558, 281, 281, 281, 281,
281, 281, 281, 281, 281, 606, 555, 606, 606, 606,
606, 606, 606, 606, 606, 606, 609, 552, 609, 609,
609, 609, 609, 609, 609, 609, 609, 610, 551, 610,
610, 610, 610, 610, 610, 610, 610, 610, 302, 302,
550, 302, 302, 302, 302, 302, 302, 302, 302, 616,
616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
317, 620, 620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 624, 624, 624, 624, 624, 624, 624, 624,
624, 624, 624, 626, 626, 626, 626, 626, 626, 626,
626, 626, 626, 626, 339, 339, 339, 339, 339, 339,
339, 339, 339, 339, 339, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 636, 636, 636, 636,
636, 636, 636, 636, 636, 636, 636, 638, 638, 638,
638, 638, 638, 638, 638, 638, 638, 638, 549, 548,
547, 546, 545, 388, 387, 384, 384, 464, 494, 493,
284, 464, 483, 482, 478, 452, 450, 426, 474, 416,
464, 277, 463, 457, 456, 453, 441, 440, 439, 432,
431, 430, 427, 424, 423, 420, 417, 414, 413, 412,
174, 385, 384, 313, 277, 299, 295, 284, 282, 265,
174, 265, 174, 181, 172, 860, 23, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860
} ;
static yyconst flex_int16_t yy_chk[4211] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 10, 2, 10, 13, 4, 6,
4, 6, 12, 8, 12, 8, 16, 55, 16, 13,
13, 13, 13, 222, 29, 2, 3, 199, 3, 3,
4, 6, 199, 3, 3, 8, 3, 3, 222, 3,
3, 3, 18, 20, 18, 20, 3, 3, 3, 3,
14, 22, 14, 22, 14, 55, 25, 29, 25, 265,
27, 27, 27, 33, 265, 40, 14, 14, 14, 14,
25, 3, 40, 3, 27, 854, 3, 33, 3, 31,
3, 31, 3, 31, 31, 851, 3, 3, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 35, 36, 56, 36, 36, 36, 36, 44,
44, 36, 850, 38, 35, 38, 38, 38, 38, 45,
45, 38, 39, 39, 39, 39, 46, 46, 39, 849,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 56, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 41, 47, 41, 41,
41, 41, 73, 49, 47, 51, 52, 54, 41, 41,
49, 47, 51, 52, 54, 41, 81, 49, 41, 51,
52, 54, 41, 81, 42, 41, 42, 42, 42, 42,
847, 48, 53, 41, 60, 73, 60, 42, 48, 53,
41, 48, 48, 48, 48, 48, 53, 206, 49, 52,
66, 54, 66, 42, 43, 51, 43, 68, 68, 43,
206, 50, 43, 43, 43, 43, 43, 43, 50, 43,
43, 57, 43, 57, 846, 50, 58, 58, 58, 59,
59, 53, 61, 61, 61, 57, 67, 67, 67, 62,
58, 62, 62, 62, 62, 117, 117, 68, 64, 50,
59, 59, 70, 70, 70, 50, 64, 64, 64, 64,
64, 64, 844, 74, 64, 74, 64, 74, 74, 59,
63, 72, 72, 72, 76, 841, 76, 76, 76, 76,
82, 85, 85, 82, 82, 82, 82, 82, 63, 63,
89, 63, 97, 63, 97, 63, 63, 105, 77, 105,
63, 63, 63, 63, 83, 83, 83, 63, 77, 77,
77, 77, 79, 839, 79, 79, 79, 79, 84, 84,
84, 85, 197, 89, 91, 79, 91, 91, 91, 91,
92, 92, 92, 92, 197, 77, 98, 98, 98, 116,
77, 79, 93, 165, 93, 93, 93, 93, 838, 94,
101, 101, 101, 101, 93, 93, 94, 108, 837, 94,
108, 93, 165, 94, 93, 108, 160, 115, 93, 115,
835, 93, 116, 160, 94, 102, 102, 102, 102, 93,
109, 94, 109, 109, 109, 109, 93, 96, 96, 834,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
96, 833, 96, 96, 110, 110, 110, 110, 96, 96,
96, 96, 832, 103, 112, 103, 103, 103, 103, 119,
119, 112, 130, 130, 112, 96, 103, 827, 112, 120,
120, 173, 120, 121, 121, 132, 132, 126, 126, 112,
826, 121, 103, 122, 122, 159, 112, 159, 96, 96,
111, 823, 111, 111, 111, 111, 122, 126, 122, 122,
122, 122, 111, 111, 173, 120, 123, 123, 581, 111,
134, 134, 111, 128, 128, 128, 111, 581, 134, 111,
159, 123, 123, 123, 123, 143, 143, 111, 129, 129,
129, 283, 139, 139, 111, 114, 114, 114, 114, 114,
822, 114, 114, 114, 114, 114, 114, 114, 114, 821,
114, 114, 139, 125, 145, 145, 114, 114, 114, 114,
125, 147, 147, 125, 283, 133, 133, 125, 133, 147,
276, 135, 135, 114, 201, 136, 136, 276, 125, 141,
141, 141, 201, 820, 135, 125, 135, 135, 135, 135,
136, 136, 136, 136, 818, 138, 114, 114, 124, 124,
817, 133, 138, 212, 212, 138, 142, 142, 142, 138,
167, 124, 167, 124, 124, 124, 124, 295, 146, 146,
138, 146, 295, 124, 124, 219, 219, 138, 148, 148,
124, 220, 816, 124, 149, 149, 170, 124, 170, 220,
124, 148, 313, 148, 148, 148, 148, 313, 124, 149,
149, 149, 149, 815, 146, 124, 127, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
813, 127, 127, 812, 151, 152, 152, 127, 127, 127,
127, 151, 233, 233, 151, 154, 154, 154, 151, 155,
155, 155, 811, 161, 127, 152, 204, 162, 204, 151,
168, 168, 168, 251, 251, 161, 151, 161, 161, 161,
161, 162, 162, 162, 162, 164, 809, 127, 127, 137,
137, 808, 164, 223, 169, 164, 169, 223, 228, 164,
807, 225, 137, 228, 137, 137, 137, 137, 169, 225,
164, 214, 214, 214, 137, 137, 228, 164, 257, 221,
257, 137, 805, 221, 137, 253, 253, 266, 137, 266,
236, 137, 177, 177, 177, 177, 221, 236, 390, 137,
178, 178, 178, 178, 236, 390, 137, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
140, 804, 140, 140, 179, 179, 179, 179, 140, 140,
140, 140, 180, 180, 180, 180, 187, 187, 187, 187,
191, 191, 191, 191, 188, 140, 188, 188, 188, 188,
420, 191, 211, 211, 211, 211, 260, 188, 239, 298,
250, 298, 250, 211, 260, 239, 420, 191, 140, 140,
150, 150, 239, 188, 250, 240, 301, 241, 301, 211,
254, 254, 240, 150, 241, 150, 150, 150, 150, 240,
803, 241, 213, 802, 213, 150, 150, 213, 213, 213,
213, 801, 150, 238, 242, 150, 316, 239, 316, 150,
238, 242, 150, 238, 238, 238, 238, 238, 242, 800,
150, 255, 255, 256, 256, 799, 241, 150, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
153, 153, 796, 153, 153, 795, 242, 242, 243, 153,
153, 153, 153, 244, 245, 243, 262, 262, 291, 291,
244, 245, 243, 267, 267, 267, 153, 244, 245, 269,
269, 269, 271, 271, 271, 271, 271, 793, 256, 309,
309, 278, 791, 243, 278, 278, 278, 278, 278, 153,
153, 163, 279, 279, 279, 790, 245, 280, 280, 280,
244, 317, 317, 163, 789, 163, 163, 163, 163, 287,
287, 287, 287, 319, 319, 163, 163, 289, 289, 289,
289, 788, 163, 303, 787, 163, 303, 541, 289, 163,
786, 303, 163, 288, 541, 288, 288, 288, 288, 785,
163, 293, 293, 293, 289, 784, 288, 163, 166, 166,
783, 166, 166, 166, 166, 166, 166, 166, 166, 166,
166, 166, 288, 166, 166, 290, 290, 290, 290, 166,
166, 166, 166, 292, 779, 292, 290, 778, 292, 292,
292, 292, 305, 305, 305, 305, 166, 311, 311, 311,
322, 322, 290, 402, 300, 402, 300, 300, 300, 300,
323, 323, 336, 336, 403, 336, 403, 300, 777, 166,
166, 294, 294, 294, 294, 307, 307, 307, 307, 776,
294, 294, 294, 300, 774, 310, 307, 310, 339, 339,
310, 310, 310, 310, 294, 294, 294, 294, 294, 294,
296, 296, 307, 296, 296, 296, 296, 296, 296, 296,
296, 296, 296, 296, 773, 296, 296, 320, 320, 772,
320, 296, 296, 296, 296, 386, 306, 386, 306, 306,
306, 306, 308, 308, 308, 308, 330, 330, 296, 306,
771, 321, 321, 308, 321, 770, 324, 324, 325, 325,
769, 330, 330, 320, 324, 306, 325, 341, 341, 308,
386, 296, 296, 312, 312, 312, 312, 326, 326, 337,
337, 337, 312, 312, 312, 344, 344, 321, 338, 338,
338, 768, 326, 326, 326, 326, 312, 312, 312, 312,
312, 312, 314, 314, 314, 314, 314, 767, 314, 314,
314, 314, 314, 314, 314, 314, 765, 314, 314, 327,
327, 345, 345, 314, 314, 314, 314, 359, 359, 359,
334, 334, 327, 334, 327, 327, 327, 327, 334, 660,
314, 328, 328, 346, 346, 327, 660, 347, 347, 342,
342, 346, 342, 329, 329, 347, 328, 328, 328, 328,
404, 327, 404, 314, 314, 352, 352, 328, 329, 329,
329, 329, 331, 331, 361, 361, 332, 332, 764, 329,
352, 352, 331, 328, 331, 342, 387, 331, 331, 331,
331, 332, 332, 332, 763, 329, 333, 333, 363, 363,
348, 348, 356, 356, 762, 356, 358, 358, 761, 358,
356, 333, 333, 333, 333, 348, 348, 348, 348, 387,
333, 333, 333, 343, 343, 760, 343, 360, 360, 360,
364, 364, 759, 364, 333, 333, 333, 333, 333, 333,
335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
335, 335, 335, 335, 758, 335, 335, 349, 349, 343,
757, 335, 335, 335, 335, 405, 364, 405, 365, 365,
349, 365, 349, 349, 349, 349, 366, 366, 335, 350,
350, 367, 367, 349, 756, 368, 368, 380, 380, 755,
380, 351, 351, 368, 350, 350, 350, 350, 396, 349,
753, 335, 335, 749, 365, 350, 351, 351, 351, 351,
353, 353, 396, 396, 354, 354, 422, 351, 422, 747,
353, 350, 353, 370, 370, 353, 353, 353, 353, 354,
354, 354, 746, 351, 355, 355, 369, 369, 370, 370,
370, 370, 434, 434, 369, 744, 374, 374, 743, 355,
355, 355, 355, 375, 375, 381, 381, 381, 355, 355,
355, 374, 374, 375, 458, 375, 486, 486, 375, 375,
375, 375, 355, 355, 355, 355, 355, 355, 357, 357,
357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
357, 357, 742, 357, 357, 371, 371, 458, 464, 357,
357, 357, 357, 382, 382, 382, 378, 378, 371, 378,
371, 371, 371, 371, 378, 739, 357, 372, 372, 738,
400, 371, 400, 406, 406, 406, 406, 400, 491, 373,
373, 464, 372, 372, 372, 372, 392, 371, 737, 357,
357, 376, 376, 372, 373, 373, 373, 373, 398, 736,
392, 392, 392, 392, 735, 373, 376, 376, 376, 372,
394, 491, 398, 398, 398, 733, 393, 407, 407, 407,
407, 373, 377, 377, 394, 394, 394, 394, 393, 732,
393, 393, 393, 393, 752, 394, 752, 377, 377, 377,
377, 393, 408, 408, 408, 408, 377, 377, 377, 443,
731, 394, 409, 409, 409, 409, 443, 393, 493, 443,
377, 377, 377, 377, 377, 377, 379, 379, 379, 379,
379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
395, 379, 379, 435, 435, 435, 435, 379, 379, 379,
379, 493, 397, 588, 395, 395, 395, 395, 437, 437,
437, 397, 730, 397, 379, 395, 397, 397, 397, 397,
410, 729, 410, 497, 497, 410, 410, 410, 410, 600,
600, 395, 433, 433, 433, 433, 588, 379, 379, 399,
489, 489, 489, 433, 436, 436, 436, 436, 500, 500,
500, 465, 728, 399, 399, 399, 399, 535, 465, 433,
467, 469, 399, 399, 399, 465, 726, 467, 469, 473,
473, 535, 535, 725, 467, 469, 399, 399, 399, 399,
399, 399, 401, 401, 723, 401, 401, 401, 401, 401,
401, 401, 401, 401, 401, 401, 722, 401, 401, 540,
466, 540, 470, 401, 401, 401, 401, 466, 468, 470,
471, 472, 613, 613, 466, 468, 470, 471, 472, 782,
401, 782, 468, 473, 471, 472, 479, 479, 479, 479,
479, 484, 502, 484, 540, 502, 484, 484, 484, 484,
502, 511, 511, 401, 401, 466, 505, 505, 472, 511,
468, 471, 485, 485, 485, 485, 487, 487, 487, 487,
721, 505, 505, 485, 488, 488, 488, 488, 495, 720,
495, 622, 622, 495, 495, 495, 495, 508, 508, 485,
490, 490, 490, 490, 496, 496, 496, 496, 719, 490,
490, 490, 508, 508, 508, 496, 498, 498, 498, 498,
718, 521, 521, 490, 490, 490, 490, 490, 490, 521,
717, 496, 499, 499, 499, 499, 501, 501, 501, 501,
503, 503, 716, 593, 714, 501, 501, 501, 510, 510,
503, 510, 503, 504, 504, 503, 503, 503, 503, 501,
501, 501, 501, 501, 501, 506, 506, 606, 504, 504,
504, 504, 507, 507, 512, 512, 593, 512, 713, 504,
506, 506, 506, 506, 510, 531, 531, 507, 507, 507,
507, 513, 513, 531, 712, 504, 509, 509, 623, 623,
606, 513, 710, 513, 628, 628, 513, 513, 513, 513,
512, 509, 509, 509, 509, 514, 514, 610, 629, 629,
509, 509, 509, 543, 543, 543, 543, 515, 515, 704,
514, 514, 514, 514, 509, 509, 509, 509, 509, 509,
596, 514, 515, 515, 516, 516, 703, 596, 517, 517,
610, 702, 518, 518, 596, 520, 520, 514, 520, 516,
516, 516, 516, 517, 517, 517, 517, 518, 518, 518,
519, 519, 544, 544, 544, 544, 624, 624, 522, 522,
701, 522, 525, 525, 624, 519, 519, 519, 519, 523,
523, 520, 625, 625, 519, 519, 519, 525, 525, 523,
625, 523, 524, 524, 523, 523, 523, 523, 519, 519,
519, 519, 519, 519, 522, 526, 526, 524, 524, 524,
524, 527, 527, 634, 634, 528, 528, 700, 524, 699,
526, 526, 526, 526, 534, 698, 527, 527, 527, 527,
528, 528, 528, 697, 524, 529, 529, 657, 534, 534,
534, 534, 696, 530, 530, 695, 530, 694, 538, 534,
529, 529, 529, 529, 532, 532, 542, 532, 542, 529,
529, 529, 538, 538, 538, 534, 604, 604, 604, 604,
657, 533, 691, 529, 529, 529, 529, 529, 529, 530,
533, 536, 533, 635, 635, 533, 533, 533, 533, 537,
532, 542, 636, 636, 597, 536, 536, 536, 536, 690,
636, 597, 599, 537, 537, 537, 537, 539, 597, 599,
663, 598, 605, 605, 605, 605, 599, 688, 598, 640,
640, 539, 539, 539, 539, 598, 614, 614, 614, 614,
539, 539, 539, 615, 615, 615, 615, 641, 641, 620,
620, 686, 620, 663, 539, 539, 539, 539, 539, 539,
599, 616, 618, 618, 616, 598, 619, 619, 684, 616,
621, 621, 683, 621, 646, 646, 681, 618, 618, 618,
618, 619, 619, 619, 619, 620, 626, 626, 682, 626,
627, 627, 680, 627, 630, 630, 647, 647, 631, 631,
632, 632, 682, 632, 633, 633, 621, 633, 682, 630,
630, 630, 630, 631, 631, 631, 631, 637, 637, 679,
638, 638, 626, 638, 678, 637, 627, 639, 639, 677,
639, 642, 642, 652, 652, 676, 632, 643, 643, 675,
633, 644, 644, 656, 644, 656, 642, 642, 642, 642,
653, 653, 643, 643, 643, 643, 638, 645, 645, 674,
645, 648, 648, 639, 649, 649, 654, 650, 650, 648,
650, 655, 649, 651, 651, 673, 651, 644, 656, 672,
654, 654, 654, 654, 670, 655, 655, 655, 655, 662,
705, 662, 706, 645, 708, 708, 670, 705, 750, 706,
751, 754, 670, 650, 705, 750, 706, 751, 671, 651,
669, 667, 750, 754, 751, 666, 665, 664, 661, 754,
659, 658, 609, 603, 662, 602, 591, 587, 585, 705,
584, 583, 582, 580, 579, 578, 577, 576, 575, 573,
706, 861, 572, 861, 861, 861, 861, 861, 861, 861,
861, 861, 862, 571, 570, 862, 862, 863, 569, 863,
863, 863, 863, 863, 863, 863, 863, 863, 864, 864,
864, 864, 864, 864, 864, 864, 865, 865, 865, 865,
865, 865, 865, 865, 865, 865, 865, 866, 866, 866,
866, 867, 568, 867, 567, 867, 867, 867, 867, 868,
868, 868, 868, 868, 868, 868, 869, 566, 869, 869,
869, 869, 869, 869, 869, 869, 869, 870, 565, 870,
870, 870, 870, 870, 870, 870, 870, 870, 871, 563,
871, 871, 871, 871, 871, 871, 871, 871, 871, 872,
562, 872, 872, 872, 872, 872, 872, 872, 872, 872,
873, 873, 873, 873, 873, 873, 873, 874, 874, 561,
874, 874, 874, 874, 874, 874, 874, 874, 875, 875,
875, 875, 875, 875, 875, 875, 875, 875, 875, 876,
876, 560, 876, 876, 876, 876, 876, 876, 876, 876,
877, 877, 877, 877, 877, 877, 877, 877, 877, 877,
877, 878, 878, 878, 878, 878, 878, 878, 878, 878,
878, 878, 879, 879, 879, 879, 879, 879, 879, 879,
879, 879, 879, 880, 880, 880, 880, 880, 880, 880,
880, 880, 880, 880, 881, 881, 881, 881, 881, 881,
881, 881, 881, 881, 881, 882, 882, 882, 882, 882,
882, 882, 882, 882, 882, 882, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 884, 884, 884,
884, 884, 884, 884, 884, 884, 884, 884, 885, 885,
885, 885, 885, 885, 885, 885, 885, 885, 885, 886,
886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
887, 887, 887, 887, 887, 887, 887, 887, 887, 887,
887, 888, 888, 888, 888, 888, 888, 888, 888, 888,
888, 888, 889, 559, 889, 889, 889, 889, 889, 889,
889, 889, 889, 890, 558, 890, 890, 890, 890, 890,
890, 890, 890, 890, 891, 557, 891, 891, 891, 891,
891, 891, 891, 891, 891, 892, 556, 892, 892, 892,
892, 892, 892, 892, 892, 892, 893, 554, 553, 893,
893, 894, 552, 894, 894, 894, 894, 894, 894, 894,
894, 894, 895, 551, 550, 895, 895, 895, 896, 549,
548, 896, 897, 897, 897, 897, 897, 897, 897, 897,
898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
898, 899, 899, 899, 899, 899, 899, 900, 900, 900,
900, 901, 547, 901, 901, 901, 901, 902, 902, 902,
902, 902, 902, 902, 903, 546, 903, 903, 903, 903,
903, 903, 903, 903, 903, 904, 494, 904, 904, 904,
904, 904, 904, 904, 904, 904, 905, 492, 905, 905,
905, 905, 905, 905, 905, 905, 905, 906, 483, 906,
906, 906, 906, 906, 906, 906, 906, 906, 907, 907,
482, 907, 907, 907, 907, 907, 907, 907, 907, 908,
908, 908, 908, 908, 908, 908, 908, 908, 908, 908,
909, 909, 477, 909, 909, 909, 909, 909, 909, 909,
909, 910, 910, 910, 910, 910, 910, 910, 910, 910,
910, 910, 911, 911, 911, 911, 911, 911, 911, 911,
911, 911, 911, 912, 912, 912, 912, 912, 912, 912,
912, 912, 912, 912, 913, 913, 913, 913, 913, 913,
913, 913, 913, 913, 913, 914, 914, 914, 914, 914,
914, 914, 914, 914, 914, 914, 915, 915, 915, 915,
915, 915, 915, 915, 915, 915, 915, 916, 916, 916,
916, 916, 916, 916, 916, 916, 916, 916, 917, 917,
917, 917, 917, 917, 917, 917, 917, 917, 917, 918,
918, 918, 918, 918, 918, 918, 918, 918, 918, 918,
919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
919, 920, 920, 920, 920, 920, 920, 920, 920, 920,
920, 920, 921, 921, 921, 921, 921, 921, 921, 921,
921, 921, 921, 922, 476, 922, 922, 922, 922, 922,
922, 922, 922, 922, 923, 475, 923, 923, 923, 923,
923, 923, 923, 923, 923, 924, 474, 924, 924, 924,
924, 924, 924, 924, 924, 924, 925, 462, 925, 925,
925, 925, 925, 925, 925, 925, 925, 926, 459, 457,
926, 926, 927, 456, 455, 927, 927, 927, 928, 454,
453, 928, 929, 452, 929, 929, 929, 929, 929, 929,
929, 929, 929, 930, 451, 930, 930, 930, 930, 930,
930, 930, 930, 930, 931, 450, 931, 931, 931, 931,
931, 931, 931, 931, 931, 932, 932, 932, 932, 932,
932, 932, 932, 933, 933, 933, 933, 933, 933, 933,
933, 933, 933, 933, 934, 934, 934, 934, 934, 934,
935, 449, 935, 935, 935, 935, 936, 448, 936, 936,
936, 936, 937, 447, 937, 937, 937, 937, 937, 937,
937, 937, 937, 938, 446, 938, 938, 938, 938, 938,
938, 938, 938, 938, 939, 445, 939, 939, 939, 939,
939, 939, 939, 939, 939, 940, 444, 940, 940, 940,
940, 940, 940, 940, 940, 940, 941, 941, 442, 941,
941, 941, 941, 941, 941, 941, 941, 942, 942, 942,
942, 942, 942, 942, 942, 942, 942, 942, 943, 943,
943, 943, 943, 943, 943, 943, 943, 943, 943, 944,
944, 944, 944, 944, 944, 944, 944, 944, 944, 944,
945, 945, 945, 945, 945, 945, 945, 945, 945, 945,
945, 946, 946, 946, 946, 946, 946, 946, 946, 946,
946, 946, 947, 947, 947, 947, 947, 947, 947, 947,
947, 947, 947, 948, 948, 948, 948, 948, 948, 948,
948, 948, 948, 948, 949, 949, 949, 949, 949, 949,
949, 949, 949, 949, 949, 950, 950, 950, 950, 950,
950, 950, 950, 950, 950, 950, 951, 951, 951, 951,
951, 951, 951, 951, 951, 951, 951, 952, 952, 952,
952, 952, 952, 952, 952, 952, 952, 952, 953, 953,
953, 953, 953, 953, 953, 953, 953, 953, 953, 954,
954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
955, 441, 955, 955, 955, 955, 955, 955, 955, 955,
955, 956, 440, 956, 956, 956, 956, 956, 956, 956,
956, 956, 957, 439, 957, 957, 957, 957, 957, 957,
957, 957, 957, 958, 431, 958, 958, 958, 958, 958,
958, 958, 958, 958, 959, 430, 429, 959, 959, 959,
960, 428, 960, 960, 960, 960, 960, 960, 960, 960,
960, 961, 427, 961, 961, 961, 961, 961, 961, 961,
961, 961, 962, 426, 962, 962, 962, 962, 962, 962,
962, 962, 962, 963, 963, 963, 963, 963, 963, 963,
963, 964, 964, 964, 964, 964, 964, 964, 964, 964,
964, 964, 965, 425, 965, 965, 965, 965, 966, 424,
966, 966, 966, 966, 967, 423, 967, 967, 967, 967,
967, 967, 967, 967, 967, 968, 421, 968, 968, 968,
968, 968, 968, 968, 968, 968, 969, 419, 969, 969,
969, 969, 969, 969, 969, 969, 969, 970, 418, 970,
970, 970, 970, 970, 970, 970, 970, 970, 971, 971,
417, 971, 971, 971, 971, 971, 971, 971, 971, 972,
972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
973, 974, 974, 974, 974, 974, 974, 974, 974, 974,
974, 974, 975, 975, 975, 975, 975, 975, 975, 975,
975, 975, 975, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 976, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 978, 978, 978, 978, 978,
978, 978, 978, 978, 978, 978, 979, 979, 979, 979,
979, 979, 979, 979, 979, 979, 979, 980, 980, 980,
980, 980, 980, 980, 980, 980, 980, 980, 416, 415,
414, 413, 412, 391, 389, 388, 383, 315, 299, 297,
286, 277, 275, 274, 270, 264, 263, 261, 259, 258,
237, 235, 234, 227, 226, 224, 218, 217, 216, 209,
208, 207, 205, 203, 202, 200, 198, 196, 195, 194,
184, 158, 156, 113, 104, 99, 95, 90, 88, 80,
75, 65, 34, 32, 28, 23, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860
} ;
/* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[142] =
{ 0,
0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
#define REJECT reject_used_but_not_detected
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
#line 1 "compilers/imcc/imcc.l"
#line 26 "compilers/imcc/imcc.l"
/*
* imcc.l
*
* Intermediate Code Compiler for Parrot
*
* Copyright (C) 2002 Melvin Smith <melvin.smith@mindspring.com>
* Copyright (C) 2002-2008, Parrot Foundation.
*
* The tokenizer.
*
*
*/
/* static function declarations */
static void pop_parser_state(ARGMOD(imc_info_t *imcc), ARGMOD(void *yyscanner));
static struct macro_frame_t *new_frame(ARGMOD(imc_info_t *imcc));
static void define_macro(ARGMOD(imc_info_t *imcc), ARGIN(const char *name), ARGIN(const params_t *params),
ARGIN(const char *expansion), int start_line);
static macro_t *find_macro(ARGMOD(imc_info_t *imcc), ARGIN(const char *name));
static void scan_string(macro_frame_t *frame, ARGIN(const char *expansion),
ARGMOD(void *yyscanner));
static void scan_file(ARGMOD(imc_info_t *imcc), ARGIN(struct macro_frame_t *frame), PIOHANDLE file,
ARGMOD(void *yyscanner));
static int destroy_frame(macro_frame_t *frame, ARGMOD(void *yyscanner));
static int yylex_skip(YYSTYPE *valp, ARGMOD(imc_info_t *imcc), ARGIN(const char *skip),
ARGMOD(void *yyscanner));
static int read_macro(YYSTYPE *valp, ARGMOD(imc_info_t *imcc), ARGMOD(void *yyscanner));
static int expand_macro(ARGMOD(imc_info_t *imcc), ARGIN(const char *name), ARGMOD(void *yyscanner));
static void include_file(ARGMOD(imc_info_t *imcc), ARGIN(STRING *file_name), ARGMOD(void *yyscanner));
static int handle_identifier(ARGMOD(imc_info_t *imcc), YYSTYPE *valp, ARGIN(const char *id));
#define YY_DECL int yylex(YYSTYPE *valp,yyscan_t yyscanner,ARGMOD(imc_info_t *imcc))
#define YYCHOP() (yytext[--yyleng] = '\0')
#define SET_LINE_NUMBER (imcc->line = yylineno)
#define DUP_AND_RET(valp, token) \
do { \
if (valp) (valp)->s = mem_sys_strndup(yytext, yyleng); \
return (token); \
} while (0)
#define DUP_AND_RET_FREE(valp, token) \
do { \
if (valp) { \
mem_sys_free((valp)->s); \
(valp)->s = mem_sys_strndup(yytext, yyleng); \
return (token); \
} \
} while (0)
#define YY_INPUT(buf, result, max_size) \
(result) = Parrot_io_internal_read((Interp *)yyextra->interp, (PIOHANDLE)yyin, (buf), (max_size))
#line 1806 "compilers/imcc/imclexer.c"
#define INITIAL 0
#define emit 1
#define macro 2
#define pod 3
#define cmt1 4
#define cmt2 5
#define cmt3 6
#define cmt4 7
#define cmt5 8
#define heredoc1 9
#define heredoc2 10
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
* down here because we want the user's section 1 to have been scanned first.
* The user has a chance to override it with an option.
*/
#include <unistd.h>
#endif
#ifndef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#endif
/* Holds the entire state of the reentrant scanner. */
struct yyguts_t
{
/* User-defined. Not touched by flex. */
YY_EXTRA_TYPE yyextra_r;
/* The rest are the same as the globals declared in the non-reentrant scanner. */
FILE *yyin_r, *yyout_r;
size_t yy_buffer_stack_top; /**< index of top of stack. */
size_t yy_buffer_stack_max; /**< capacity of stack. */
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
yy_size_t yy_n_chars;
yy_size_t yyleng_r;
char *yy_c_buf_p;
int yy_init;
int yy_start;
int yy_did_buffer_switch_on_eof;
int yy_start_stack_ptr;
int yy_start_stack_depth;
int *yy_start_stack;
yy_state_type yy_last_accepting_state;
char* yy_last_accepting_cpos;
int yylineno_r;
int yy_flex_debug_r;
char *yytext_r;
int yy_more_flag;
int yy_more_len;
}; /* end struct yyguts_t */
static int yy_init_globals (yyscan_t yyscanner );
int yylex_init (yyscan_t* scanner);
int yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
int yylex_destroy (yyscan_t yyscanner );
int yyget_debug (yyscan_t yyscanner );
void yyset_debug (int debug_flag ,yyscan_t yyscanner );
YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner );
void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
FILE *yyget_in (yyscan_t yyscanner );
void yyset_in (FILE * in_str ,yyscan_t yyscanner );
FILE *yyget_out (yyscan_t yyscanner );
void yyset_out (FILE * out_str ,yyscan_t yyscanner );
yy_size_t yyget_leng (yyscan_t yyscanner );
char *yyget_text (yyscan_t yyscanner );
int yyget_lineno (yyscan_t yyscanner );
void yyset_lineno (int line_number ,yyscan_t yyscanner );
int yyget_column (yyscan_t yyscanner );
void yyset_column (int column_no ,yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
*/
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap (yyscan_t yyscanner );
#else
extern int yywrap (yyscan_t yyscanner );
#endif
#endif
static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (yyscan_t yyscanner );
#else
static int input (yyscan_t yyscanner );
#endif
#endif
static void yy_push_state (int new_state ,yyscan_t yyscanner);
static void yy_pop_state (yyscan_t yyscanner );
static int yy_top_state (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
* is returned in "result".
*/
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
size_t n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else \
{ \
errno=0; \
while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
break; \
} \
errno=0; \
clearerr(yyin); \
} \
}\
\
#endif
/* No semi-colon after return; correct usage is to write "yyterminate();" -
* we don't want an extra ';' after the "return" because that will cause
* some compilers to complain about unreachable statements.
*/
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif
/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif
/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
#endif
/* end tables serialization structures and prototypes */
/* Default declaration of generated scanner - a define so the user can
* easily add parameters.
*/
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
extern int yylex (yyscan_t yyscanner);
#define YY_DECL int yylex (yyscan_t yyscanner)
#endif /* !YY_DECL */
/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
*/
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif
#define YY_RULE_SETUP \
if ( yyleng > 0 ) \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
(yytext[yyleng - 1] == '\n'); \
YY_USER_ACTION
/** The main scanner function which does all the work.
*/
YY_DECL
{
register yy_state_type yy_current_state;
register char *yy_cp, *yy_bp;
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if ( !yyg->yy_init )
{
yyg->yy_init = 1;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
if ( ! yyg->yy_start )
yyg->yy_start = 1; /* first start state */
if ( ! yyin )
yyin = stdin;
if ( ! yyout )
yyout = stdout;
if ( ! YY_CURRENT_BUFFER ) {
yyensure_buffer_stack (yyscanner);
YY_CURRENT_BUFFER_LVALUE =
yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
}
yy_load_buffer_state(yyscanner );
}
{
#line 133 "compilers/imcc/imcc.l"
/* for emacs "*/
if (imcc->expect_pasm == 1 && !imcc->in_pod) {
imcc->expect_pasm = 2;
BEGIN(emit);
}
if (imcc->frames->s.pasm_file && YYSTATE == INITIAL &&
!imcc->in_pod)
{
if (imcc->frames->s.pasm_file == 1) {
BEGIN(emit);
return EMIT;
}
return 0;
}
#line 2101 "compilers/imcc/imclexer.c"
while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = yyg->yy_c_buf_p;
/* Support of yytext. */
*yy_cp = yyg->yy_hold_char;
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
yy_current_state = yyg->yy_start;
yy_current_state += YY_AT_BOL();
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
yyg->yy_last_accepting_state = yy_current_state;
yyg->yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 861 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 860 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
yy_find_action:
yy_act = yy_accept[yy_current_state];
YY_DO_BEFORE_ACTION;
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
{
yy_size_t yyl;
for ( yyl = 0; yyl < yyleng; ++yyl )
if ( yytext[yyl] == '\n' )
do{ yylineno++;
yycolumn=0;
}while(0)
;
}
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yyg->yy_hold_char;
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
goto yy_find_action;
case 1:
YY_RULE_SETUP
#line 151 "compilers/imcc/imcc.l"
{ SET_LINE_NUMBER; }
YY_BREAK
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
#line 153 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
imcc->frames->heredoc_rest = mem_sys_strndup(yytext, yyleng);
BEGIN(heredoc2);
}
YY_BREAK
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
#line 159 "compilers/imcc/imcc.l"
{
/* heredocs have highest priority
* arrange them before all wildcard state matches */
/* Newline in the heredoc. Realloc and cat on. */
imcc->heredoc_content =
(char*)mem_sys_realloc(imcc->heredoc_content,
strlen(imcc->heredoc_content) + 3);
strcpy(imcc->heredoc_content +
strlen(imcc->heredoc_content), "\n");
}
YY_BREAK
case 4:
YY_RULE_SETUP
#line 171 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
/* Are we at the end of the heredoc? */
if (STREQ(imcc->heredoc_end, yytext)) {
/* End of the heredoc. */
/*yyguts_t * const yyg = (yyguts_t *)yyscanner;*/
const int len = strlen(imcc->heredoc_content);
/* delim */
imcc->heredoc_content[len] =
imcc->heredoc_content[0];
imcc->heredoc_content[len + 1] = 0;
mem_sys_free(imcc->heredoc_end);
imcc->heredoc_end = NULL;
imcc->frames->buffer = YY_CURRENT_BUFFER;
valp->s =
imcc->heredoc_content;
yy_pop_state(yyscanner);
yy_scan_string(imcc->frames->heredoc_rest,yyscanner);
return STRINGC;
}
else {
/* Part of the heredoc. Realloc and cat the line on. */
imcc->heredoc_content =
(char *)mem_sys_realloc(imcc->heredoc_content,
strlen(imcc->heredoc_content) +
strlen(yytext) + 2);
strcpy(imcc->heredoc_content +
strlen(imcc->heredoc_content), yytext);
}
}
YY_BREAK
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
#line 208 "compilers/imcc/imcc.l"
{
STRING *str;
yy_pop_state(yyscanner);
yy_push_state(cmt3, yyscanner);
str = Parrot_str_new(imcc->interp, yytext, 0);
imcc->frames->s.file = str;
imcc->cur_unit->file = str;
return FILECOMMENT;
}
YY_BREAK
case 6:
YY_RULE_SETUP
#line 221 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
}
YY_BREAK
case 7:
YY_RULE_SETUP
#line 226 "compilers/imcc/imcc.l"
{
yylineno = imcc->line = atoi(yytext);
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
return LINECOMMENT;
}
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
#line 233 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
}
YY_BREAK
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
#line 237 "compilers/imcc/imcc.l"
{
if (imcc->expect_pasm == 2)
BEGIN(INITIAL);
imcc->expect_pasm = 0;
return '\n';
}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 246 "compilers/imcc/imcc.l"
{
yy_push_state(cmt5, yyscanner);
}
YY_BREAK
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
#line 250 "compilers/imcc/imcc.l"
{
if (imcc->expect_pasm == 2)
BEGIN(INITIAL);
else
yy_pop_state(yyscanner);
imcc->expect_pasm = 0;
return '\n';
}
YY_BREAK
case 12:
/* rule 12 can match eol */
YY_RULE_SETUP
#line 262 "compilers/imcc/imcc.l"
{
/* this is a stand-alone =cut, but we're not in POD mode, so ignore. */
SET_LINE_NUMBER;
}
YY_BREAK
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
#line 267 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
imcc->in_pod = 1;
yy_push_state(pod, yyscanner);
}
YY_BREAK
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
#line 273 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
imcc->in_pod = 0;
yy_pop_state(yyscanner);
}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 279 "compilers/imcc/imcc.l"
{ SET_LINE_NUMBER; }
YY_BREAK
case 16:
/* rule 16 can match eol */
YY_RULE_SETUP
#line 281 "compilers/imcc/imcc.l"
{ /* ignore */ }
YY_BREAK
case 17:
YY_RULE_SETUP
#line 283 "compilers/imcc/imcc.l"
return ANNOTATE;
YY_BREAK
case 18:
YY_RULE_SETUP
#line 284 "compilers/imcc/imcc.l"
return LEXICAL;
YY_BREAK
case 19:
YY_RULE_SETUP
#line 285 "compilers/imcc/imcc.l"
return ARG;
YY_BREAK
case 20:
YY_RULE_SETUP
#line 286 "compilers/imcc/imcc.l"
{ SET_LINE_NUMBER; return SUB; }
YY_BREAK
case 21:
YY_RULE_SETUP
#line 287 "compilers/imcc/imcc.l"
return ESUB;
YY_BREAK
case 22:
YY_RULE_SETUP
#line 288 "compilers/imcc/imcc.l"
return PCC_BEGIN;
YY_BREAK
case 23:
YY_RULE_SETUP
#line 289 "compilers/imcc/imcc.l"
return PCC_END;
YY_BREAK
case 24:
YY_RULE_SETUP
#line 290 "compilers/imcc/imcc.l"
return PCC_CALL;
YY_BREAK
case 25:
YY_RULE_SETUP
#line 291 "compilers/imcc/imcc.l"
return INVOCANT;
YY_BREAK
case 26:
YY_RULE_SETUP
#line 292 "compilers/imcc/imcc.l"
return PCC_SUB;
YY_BREAK
case 27:
YY_RULE_SETUP
#line 293 "compilers/imcc/imcc.l"
return PCC_BEGIN_RETURN;
YY_BREAK
case 28:
YY_RULE_SETUP
#line 294 "compilers/imcc/imcc.l"
return PCC_END_RETURN;
YY_BREAK
case 29:
YY_RULE_SETUP
#line 295 "compilers/imcc/imcc.l"
return PCC_BEGIN_YIELD;
YY_BREAK
case 30:
YY_RULE_SETUP
#line 296 "compilers/imcc/imcc.l"
return PCC_END_YIELD;
YY_BREAK
case 31:
YY_RULE_SETUP
#line 298 "compilers/imcc/imcc.l"
return METHOD;
YY_BREAK
case 32:
YY_RULE_SETUP
#line 299 "compilers/imcc/imcc.l"
return MULTI;
YY_BREAK
case 33:
YY_RULE_SETUP
#line 300 "compilers/imcc/imcc.l"
return MAIN;
YY_BREAK
case 34:
YY_RULE_SETUP
#line 301 "compilers/imcc/imcc.l"
return LOAD;
YY_BREAK
case 35:
YY_RULE_SETUP
#line 302 "compilers/imcc/imcc.l"
return INIT;
YY_BREAK
case 36:
YY_RULE_SETUP
#line 303 "compilers/imcc/imcc.l"
return IMMEDIATE;
YY_BREAK
case 37:
YY_RULE_SETUP
#line 304 "compilers/imcc/imcc.l"
return POSTCOMP;
YY_BREAK
case 38:
YY_RULE_SETUP
#line 305 "compilers/imcc/imcc.l"
return SUBTAG;
YY_BREAK
case 39:
YY_RULE_SETUP
#line 306 "compilers/imcc/imcc.l"
return ANON;
YY_BREAK
case 40:
YY_RULE_SETUP
#line 307 "compilers/imcc/imcc.l"
return OUTER;
YY_BREAK
case 41:
YY_RULE_SETUP
#line 308 "compilers/imcc/imcc.l"
return NEED_LEX;
YY_BREAK
case 42:
YY_RULE_SETUP
#line 309 "compilers/imcc/imcc.l"
return VTABLE_METHOD;
YY_BREAK
case 43:
YY_RULE_SETUP
#line 310 "compilers/imcc/imcc.l"
return NS_ENTRY;
YY_BREAK
case 44:
YY_RULE_SETUP
#line 311 "compilers/imcc/imcc.l"
return SUB_INSTANCE_OF;
YY_BREAK
case 45:
YY_RULE_SETUP
#line 312 "compilers/imcc/imcc.l"
return SUBID;
YY_BREAK
case 46:
YY_RULE_SETUP
#line 314 "compilers/imcc/imcc.l"
return RESULT;
YY_BREAK
case 47:
YY_RULE_SETUP
#line 315 "compilers/imcc/imcc.l"
return GET_RESULTS;
YY_BREAK
case 48:
YY_RULE_SETUP
#line 316 "compilers/imcc/imcc.l"
return YIELDT;
YY_BREAK