#line 2 "libmemcached/csl/scanner.cc"
#line 39 "libmemcached/csl/scanner.l"
#include <libmemcached/csl/common.h>
#include <libmemcached/csl/context.h>
#include <libmemcached/csl/parser.h>
#include <libmemcached/csl/symbol.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wsign-compare"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wmissing-declarations"
#pragma GCC diagnostic ignored "-Wunused-result"
#pragma GCC diagnostic ignored "-Wmissing-noreturn"
#endif
#ifdef __clang__
#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
#endif
#ifndef __INTEL_COMPILER
#ifndef __clang__
#pragma GCC diagnostic ignored "-Wlogical-op"
#endif
#endif
#line 32 "libmemcached/csl/scanner.cc"
#define YY_INT_ALIGNED short int
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
#define YY_FLEX_SUBMINOR_VERSION 36
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#ifndef FLEXINT_H
#define FLEXINT_H
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#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;
#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
#define YY_USE_CONST
#else /* ! __cplusplus */
#if defined (__STDC__)
#define YY_USE_CONST
#endif /* defined (__STDC__) */
#endif /* ! __cplusplus */
#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif
#define YY_NULL 0
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
#ifndef YY_TYPEDEF_YY_SCANNER_T
#define YY_TYPEDEF_YY_SCANNER_T
typedef
void
* yyscan_t;
#endif
#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
#define BEGIN yyg->yy_start = 1 + 2 *
#define YY_START ((yyg->yy_start - 1) / 2)
#define YYSTATE YY_START
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
#define YY_NEW_FILE config_restart(yyin ,yyscanner )
#define YY_END_OF_BUFFER_CHAR 0
#ifndef YY_BUF_SIZE
#define YY_BUF_SIZE 16384
#endif
#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
#define YY_LESS_LINENO(n)
#define yyless(n) \
do
\
{ \
\
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;
\
} \
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;
char
*yy_buf_pos;
yy_size_t yy_buf_size;
yy_size_t yy_n_chars;
int
yy_is_our_buffer;
int
yy_is_interactive;
int
yy_at_bol;
int
yy_bs_lineno;
int
yy_bs_column;
int
yy_fill_buffer;
int
yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
#define YY_BUFFER_EOF_PENDING 2
};
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
: NULL)
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
void
config_restart (
FILE
*input_file ,yyscan_t yyscanner );
void
config__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
YY_BUFFER_STATE config__create_buffer (
FILE
*file,
int
size ,yyscan_t yyscanner );
void
config__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void
config__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void
config_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
void
config_pop_buffer_state (yyscan_t yyscanner );
static
void
config_ensure_buffer_stack (yyscan_t yyscanner );
static
void
config__load_buffer_state (yyscan_t yyscanner );
static
void
config__init_buffer (YY_BUFFER_STATE b,
FILE
*file ,yyscan_t yyscanner );
#define YY_FLUSH_BUFFER config__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
YY_BUFFER_STATE config__scan_buffer (
char
*base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE config__scan_string (yyconst
char
*yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE config__scan_bytes (yyconst
char
*bytes,yy_size_t len ,yyscan_t yyscanner );
void
*config_alloc (yy_size_t ,yyscan_t yyscanner );
void
*config_realloc (
void
*,yy_size_t ,yyscan_t yyscanner );
void
config_free (
void
* ,yyscan_t yyscanner );
#define yy_new_buffer config__create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if
( ! YY_CURRENT_BUFFER ){ \
config_ensure_buffer_stack (yyscanner); \
YY_CURRENT_BUFFER_LVALUE = \
config__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 ){\
config_ensure_buffer_stack (yyscanner); \
YY_CURRENT_BUFFER_LVALUE = \
config__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)
#define config_wrap(yyscanner) 1
#define YY_SKIP_YYWRAP
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 );
#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 66
#define YY_END_OF_BUFFER 67
struct
yy_trans_info
{
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static
yyconst flex_int16_t yy_accept[538] =
{ 0,
0, 0, 67, 65, 5, 5, 1, 65, 65, 65,
2, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 0, 64, 0, 49,
0, 0, 0, 2, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 4,
63, 63, 2, 3, 63, 54, 63, 63, 45, 63,
63, 63, 63, 63, 64, 0, 63, 53, 63, 63,
63, 63, 63, 63, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 4, 0, 63, 2, 3,
63, 0, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 47, 49, 49, 49, 49, 49, 49,
0, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 4, 63,
63, 3, 63, 63, 43, 48, 63, 0, 59, 63,
63, 63, 63, 63, 42, 63, 49, 49, 49, 49,
49, 49, 49, 0, 0, 0, 49, 49, 49, 49,
49, 49, 0, 49, 49, 49, 0, 49, 49, 49,
0, 0, 49, 49, 4, 0, 63, 3, 63, 63,
0, 63, 63, 63, 63, 51, 60, 52, 63, 49,
49, 49, 49, 49, 49, 0, 15, 0, 0, 0,
49, 49, 49, 0, 0, 49, 0, 49, 49, 49,
0, 49, 0, 49, 0, 0, 0, 0, 49, 4,
62, 63, 63, 63, 63, 63, 57, 55, 41, 61,
44, 49, 49, 49, 49, 49, 0, 0, 0, 0,
0, 49, 49, 49, 0, 0, 49, 0, 49, 0,
49, 0, 49, 0, 49, 0, 0, 0, 0, 49,
62, 63, 63, 58, 56, 0, 0, 49, 49, 49,
0, 0, 0, 0, 0, 49, 19, 0, 0, 0,
0, 49, 0, 0, 0, 7, 0, 0, 8, 0,
49, 0, 0, 34, 0, 0, 62, 63, 46, 0,
0, 49, 0, 49, 0, 0, 0, 0, 0, 49,
0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
49, 0, 49, 0, 0, 0, 0, 0, 49, 0,
0, 38, 37, 49, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 35, 0, 0, 0, 0,
0, 49, 0, 0, 0, 0, 0, 39, 0, 0,
0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
0, 0, 36, 0, 0, 0, 0, 49, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 30, 0, 0, 33, 0, 0, 0, 0,
49, 0, 0, 0, 0, 0, 0, 0, 0, 23,
0, 0, 26, 0, 0, 0, 32, 0, 0, 0,
0, 13, 40, 0, 0, 0, 0, 0, 21, 0,
0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 25, 0, 0, 9,
10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 12, 0, 0, 17, 0, 0, 0, 0,
0, 0, 0, 0, 18, 0, 0, 0, 27, 28,
0, 0, 0, 0, 0, 14, 16, 20, 0, 0,
0, 0, 0, 0, 22, 24, 0
} ;
static
yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 4, 1, 5, 6, 1, 1, 1, 1, 1,
1, 1, 1, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 11, 11, 11, 18, 1, 1,
19, 1, 20, 1, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1, 47, 1, 1, 48, 1, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 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[75] =
{ 0,
1, 1, 1, 1, 2, 1, 1, 2, 2, 1,
2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2
} ;
static
yyconst flex_int16_t yy_base[543] =
{ 0,
0, 615, 615, 1763, 1763, 1763, 1763, 70, 603, 579,
67, 74, 0, 57, 52, 59, 73, 58, 64, 74,
585, 77, 79, 77, 65, 581, 101, 1763, 579, 138,
202, 215, 217, 230, 237, 250, 252, 259, 261, 268,
281, 288, 296, 309, 318, 380, 326, 354, 356, 362,
364, 400, 406, 561, 1763, 454, 253, 73, 80, 85,
90, 78, 372, 79, 326, 398, 92, 77, 94, 457,
411, 520, 533, 486, 504, 437, 546, 548, 553, 558,
564, 570, 578, 583, 595, 643, 0, 611, 619, 624,
631, 661, 668, 673, 123, 132, 237, 235, 240, 248,
552, 295, 302, 315, 402, 363, 359, 423, 392, 412,
542, 417, 443, 461, 449, 688, 719, 732, 745, 757,
770, 776, 778, 783, 789, 795, 804, 806, 812, 841,
848, 850, 856, 703, 468, 544, 551, 534, 584, 581,
844, 605, 631, 642, 633, 636, 663, 551, 654, 656,
653, 532, 666, 762, 770, 531, 781, 810, 908, 921,
879, 928, 907, 942, 944, 949, 951, 956, 958, 963,
973, 980, 986, 1005, 1011, 1017, 802, 816, 813, 823,
833, 846, 126, 833, 854, 841, 846, 850, 875, 522,
519, 913, 935, 935, 939, 977, 969, 992, 518, 983,
1002, 982, 511, 1006, 1056, 1073, 1086, 1763, 1071, 1099,
1101, 1115, 1121, 1108, 1133, 1135, 1143, 1145, 1150, 1002,
1011, 1105, 1122, 1117, 449, 1114, 1763, 1122, 1119, 1139,
1131, 1136, 1133, 1135, 1143, 1144, 1149, 1154, 447, 1142,
1153, 1144, 1158, 1149, 1163, 1162, 1177, 1178, 1164, 1763,
1227, 1213, 1240, 1215, 1246, 1259, 1248, 1261, 1268, 1274,
1276, 444, 442, 1178, 1194, 1230, 1216, 1242, 1247, 441,
436, 1266, 1244, 435, 1261, 1274, 1262, 1259, 432, 1257,
407, 1265, 287, 1266, 1262, 1279, 1281, 1270, 1287, 410,
1330, 1343, 1345, 1350, 1352, 1276, 1283, 1290, 409, 1296,
1337, 1324, 1327, 1331, 1325, 1346, 0, 1336, 1340, 1330,
1341, 1330, 1354, 1354, 1352, 1763, 1357, 1346, 1763, 1347,
387, 1351, 1363, 1763, 1349, 1375, 1413, 1415, 1420, 1381,
1401, 1405, 1391, 1392, 1398, 1409, 384, 1400, 1418, 1416,
1416, 1418, 372, 336, 1419, 1410, 1425, 1415, 1414, 1425,
1426, 1412, 1430, 1461, 1424, 1436, 1450, 1483, 1451, 1450,
346, 1460, 1464, 1455, 342, 1452, 1471, 1457, 327, 337,
1463, 1763, 1763, 335, 1458, 1471, 1476, 1461, 1481, 1471,
1467, 1486, 1476, 1485, 1490, 1763, 1467, 1473, 1475, 1493,
1487, 1503, 1513, 1509, 1524, 1520, 1524, 1763, 1512, 1510,
1514, 1513, 1522, 1520, 1516, 1515, 1534, 1763, 1520, 1531,
1529, 1517, 1763, 1528, 1539, 1536, 1542, 1534, 1534, 1551,
1535, 1551, 1556, 1573, 1559, 1576, 320, 1577, 1564, 319,
329, 325, 1763, 1564, 1582, 1763, 1585, 1570, 1578, 1576,
305, 1578, 1580, 1589, 1575, 1583, 1581, 302, 1582, 1763,
1595, 1580, 1763, 1582, 1584, 1599, 1763, 1590, 1588, 1606,
1591, 1763, 1763, 1625, 1616, 1632, 1636, 1626, 1763, 1629,
280, 266, 1633, 1634, 1763, 1632, 1626, 262, 1626, 1628,
1635, 1641, 1632, 1642, 1643, 1634, 1763, 1628, 1629, 1763,
1763, 1763, 260, 1640, 1656, 253, 1648, 1657, 1658, 1659,
1662, 1663, 1763, 1685, 1672, 1763, 243, 1690, 1692, 1676,
237, 221, 1694, 1687, 1763, 1680, 229, 1678, 1763, 1763,
1696, 217, 208, 1684, 1698, 1763, 1763, 1763, 1699, 1687,
1705, 1688, 1704, 202, 1763, 1763, 1763, 1756, 154, 1758,
131, 1760
} ;
static
yyconst flex_int16_t yy_def[543] =
{ 0,
537, 1, 537, 537, 537, 537, 537, 538, 537, 537,
539, 537, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 540, 538, 537, 538, 537,
537, 541, 541, 541, 537, 541, 541, 541, 541, 541,
541, 541, 541, 541, 541, 542, 541, 541, 541, 541,
541, 541, 541, 540, 537, 30, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 537,
541, 541, 541, 537, 541, 541, 541, 541, 541, 541,
541, 541, 541, 541, 541, 542, 86, 541, 541, 541,
541, 541, 541, 541, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 537, 541, 541, 541, 537,
541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
541, 541, 541, 541, 56, 56, 56, 56, 56, 56,
537, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 537, 541,
541, 537, 541, 541, 541, 541, 541, 541, 541, 541,
541, 541, 541, 541, 541, 541, 56, 56, 56, 56,
56, 56, 56, 537, 537, 537, 56, 56, 56, 56,
56, 56, 537, 56, 56, 56, 537, 56, 56, 56,
537, 537, 56, 56, 537, 541, 541, 537, 541, 541,
541, 541, 541, 541, 541, 541, 541, 541, 541, 56,
56, 56, 56, 56, 56, 537, 537, 537, 537, 537,
56, 56, 56, 537, 537, 56, 537, 56, 56, 56,
537, 56, 537, 56, 537, 537, 537, 537, 56, 537,
541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
541, 56, 56, 56, 56, 56, 537, 537, 537, 537,
537, 56, 56, 56, 537, 537, 56, 537, 56, 537,
56, 537, 56, 537, 56, 537, 537, 537, 537, 56,
541, 541, 541, 541, 541, 537, 537, 56, 56, 56,
537, 537, 537, 537, 537, 56, 56, 537, 537, 537,
537, 56, 537, 537, 537, 537, 537, 537, 537, 537,
56, 537, 537, 537, 537, 537, 541, 541, 541, 537,
537, 56, 537, 56, 537, 537, 537, 537, 537, 56,
537, 537, 537, 537, 56, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 541, 537, 537,
56, 537, 56, 537, 537, 537, 537, 537, 56, 537,
537, 537, 537, 56, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 56, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 56, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
56, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 0, 537, 537, 537,
537, 537
} ;
static
yyconst flex_int16_t yy_nxt[1838] =
{ 0,
4, 5, 6, 7, 8, 4, 7, 9, 4, 10,
11, 11, 11, 11, 11, 11, 11, 12, 7, 4,
13, 13, 14, 15, 16, 17, 13, 18, 19, 20,
13, 21, 22, 13, 13, 13, 13, 23, 24, 25,
13, 13, 13, 13, 13, 13, 4, 4, 13, 13,
14, 15, 16, 17, 13, 18, 19, 20, 13, 21,
22, 13, 13, 13, 13, 23, 24, 25, 13, 13,
13, 13, 13, 13, 28, 33, 39, 34, 34, 34,
34, 34, 34, 34, 35, 35, 35, 35, 35, 35,
35, 36, 40, 41, 37, 38, 43, 44, 45, 50,
47, 52, 53, 51, 39, 28, 42, 97, 98, 99,
100, 48, 101, 105, 113, 114, 29, 49, 115, 36,
40, 41, 37, 38, 43, 44, 45, 50, 47, 52,
53, 51, 71, 226, 42, 97, 98, 99, 100, 48,
101, 105, 113, 114, 227, 49, 115, 29, 56, 56,
56, 56, 56, 56, 56, 32, 135, 136, 56, 57,
58, 59, 56, 60, 56, 61, 62, 56, 56, 56,
56, 63, 56, 64, 56, 65, 66, 67, 68, 69,
56, 56, 56, 56, 135, 136, 56, 57, 58, 59,
56, 60, 56, 61, 62, 56, 56, 56, 56, 63,
56, 64, 56, 65, 66, 67, 68, 69, 56, 56,
56, 56, 70, 70, 70, 70, 70, 70, 70, 32,
536, 32, 32, 32, 32, 32, 528, 72, 72, 72,
72, 72, 72, 72, 32, 527, 524, 32, 33, 520,
73, 73, 73, 73, 73, 73, 73, 74, 74, 74,
74, 74, 74, 74, 32, 519, 32, 32, 32, 32,
32, 515, 32, 32, 32, 32, 32, 32, 32, 32,
137, 506, 32, 138, 76, 32, 32, 32, 503, 139,
492, 95, 78, 75, 487, 32, 140, 486, 32, 32,
77, 79, 32, 96, 318, 32, 32, 32, 137, 32,
32, 138, 76, 32, 32, 319, 32, 139, 32, 95,
78, 75, 80, 32, 140, 32, 32, 32, 77, 79,
469, 96, 32, 462, 82, 32, 32, 142, 32, 81,
32, 83, 455, 32, 32, 32, 454, 453, 450, 143,
80, 88, 401, 32, 399, 398, 106, 144, 107, 394,
108, 84, 82, 390, 373, 142, 32, 81, 32, 83,
32, 32, 32, 32, 32, 32, 32, 143, 32, 32,
32, 32, 32, 32, 106, 144, 107, 89, 108, 84,
27, 27, 27, 27, 85, 27, 27, 86, 86, 27,
372, 366, 102, 90, 353, 91, 147, 27, 27, 27,
148, 32, 92, 32, 32, 89, 103, 32, 32, 32,
32, 32, 104, 32, 32, 32, 333, 326, 32, 32,
102, 90, 109, 91, 147, 316, 29, 86, 148, 151,
92, 110, 111, 145, 103, 152, 146, 93, 112, 314,
104, 32, 308, 305, 32, 32, 94, 32, 304, 297,
109, 296, 155, 32, 280, 149, 267, 151, 32, 110,
111, 145, 150, 152, 146, 93, 112, 116, 116, 116,
116, 116, 116, 116, 94, 56, 56, 56, 156, 56,
155, 56, 56, 149, 32, 157, 158, 56, 177, 56,
150, 56, 56, 56, 56, 56, 120, 120, 120, 120,
120, 120, 120, 56, 56, 56, 156, 56, 32, 56,
56, 32, 32, 157, 158, 56, 177, 56, 248, 56,
56, 56, 56, 56, 32, 243, 235, 32, 117, 234,
118, 118, 118, 118, 118, 118, 118, 32, 201, 197,
32, 33, 121, 119, 119, 119, 119, 119, 119, 119,
32, 32, 32, 32, 32, 32, 32, 32, 193, 141,
32, 32, 32, 55, 153, 32, 32, 32, 32, 178,
121, 32, 32, 181, 32, 125, 179, 32, 32, 154,
32, 537, 32, 55, 180, 32, 32, 32, 123, 46,
32, 32, 153, 122, 126, 32, 124, 178, 31, 32,
32, 181, 32, 32, 179, 32, 182, 154, 183, 127,
30, 32, 180, 128, 537, 32, 123, 32, 32, 32,
26, 537, 126, 32, 124, 32, 32, 32, 32, 187,
32, 32, 32, 537, 182, 32, 183, 127, 32, 32,
537, 128, 32, 27, 27, 27, 27, 85, 27, 27,
86, 86, 27, 537, 131, 188, 130, 187, 32, 129,
27, 27, 27, 189, 190, 32, 32, 191, 32, 32,
537, 32, 32, 537, 537, 32, 32, 32, 32, 537,
32, 32, 131, 188, 130, 132, 192, 129, 194, 29,
86, 189, 190, 195, 196, 191, 198, 134, 159, 159,
159, 159, 159, 159, 159, 537, 537, 32, 32, 133,
32, 32, 537, 132, 192, 32, 194, 537, 537, 537,
32, 195, 196, 32, 198, 134, 32, 32, 537, 160,
160, 160, 160, 160, 160, 160, 32, 133, 537, 32,
117, 537, 161, 161, 161, 161, 161, 161, 161, 32,
32, 537, 32, 32, 537, 119, 119, 119, 119, 119,
119, 119, 537, 537, 537, 537, 32, 162, 162, 162,
162, 162, 162, 162, 32, 537, 537, 32, 32, 32,
32, 537, 32, 32, 32, 32, 32, 32, 202, 537,
32, 32, 32, 32, 537, 537, 32, 32, 163, 32,
164, 199, 32, 32, 165, 200, 537, 166, 32, 167,
32, 32, 32, 32, 32, 537, 32, 32, 203, 32,
32, 537, 169, 32, 537, 32, 163, 537, 164, 199,
32, 537, 165, 200, 171, 166, 168, 167, 204, 220,
221, 222, 32, 172, 170, 32, 203, 223, 32, 32,
169, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 537, 171, 32, 32, 184, 204, 220, 221, 222,
224, 172, 170, 225, 185, 223, 186, 228, 229, 230,
176, 173, 174, 32, 231, 232, 32, 117, 32, 175,
537, 537, 537, 184, 537, 32, 537, 32, 224, 233,
537, 225, 185, 32, 186, 228, 229, 230, 176, 173,
174, 32, 231, 232, 32, 32, 537, 175, 205, 205,
205, 205, 205, 205, 205, 32, 32, 233, 32, 206,
537, 207, 207, 207, 207, 207, 207, 207, 208, 208,
208, 208, 208, 208, 208, 209, 32, 236, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 537, 32, 32, 32, 32, 32, 32, 32, 212,
32, 32, 213, 209, 237, 236, 238, 32, 537, 210,
32, 32, 537, 239, 32, 537, 214, 32, 32, 32,
32, 32, 537, 32, 32, 537, 32, 537, 211, 537,
216, 240, 237, 32, 238, 32, 215, 210, 241, 32,
32, 239, 32, 32, 214, 32, 242, 244, 32, 32,
32, 32, 247, 217, 32, 32, 537, 32, 216, 240,
537, 249, 245, 32, 215, 246, 241, 218, 537, 537,
537, 537, 537, 537, 242, 244, 262, 537, 263, 537,
247, 217, 32, 537, 219, 537, 537, 537, 32, 249,
245, 537, 537, 246, 32, 218, 250, 250, 250, 250,
250, 250, 250, 537, 262, 32, 263, 32, 32, 32,
32, 32, 219, 251, 251, 251, 251, 251, 251, 251,
32, 537, 537, 32, 206, 537, 252, 252, 252, 252,
252, 252, 252, 32, 537, 32, 32, 32, 32, 32,
253, 537, 32, 537, 255, 32, 32, 256, 32, 32,
32, 537, 32, 32, 537, 32, 537, 257, 32, 32,
537, 264, 259, 32, 537, 258, 254, 32, 253, 32,
32, 32, 32, 32, 265, 266, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 268, 32, 32, 264,
259, 269, 32, 270, 254, 271, 272, 273, 32, 537,
274, 260, 265, 266, 275, 276, 277, 278, 279, 281,
32, 282, 32, 283, 268, 284, 285, 286, 261, 269,
32, 270, 32, 271, 272, 273, 287, 32, 274, 260,
288, 289, 275, 276, 277, 278, 279, 281, 290, 282,
537, 283, 537, 284, 285, 286, 261, 32, 298, 32,
32, 206, 32, 32, 287, 537, 537, 537, 288, 289,
537, 32, 537, 299, 32, 32, 290, 291, 291, 291,
291, 291, 291, 291, 32, 537, 298, 32, 32, 293,
32, 300, 32, 32, 32, 32, 32, 301, 294, 537,
32, 299, 32, 32, 292, 32, 32, 32, 32, 32,
302, 303, 32, 295, 32, 32, 32, 293, 32, 300,
32, 32, 32, 32, 32, 301, 306, 32, 307, 309,
312, 313, 292, 32, 310, 32, 315, 317, 302, 303,
320, 321, 311, 322, 323, 324, 32, 325, 32, 537,
537, 330, 537, 537, 306, 32, 307, 309, 312, 313,
331, 32, 310, 32, 315, 317, 537, 332, 320, 321,
311, 322, 323, 324, 32, 325, 334, 32, 32, 330,
327, 327, 327, 327, 327, 327, 327, 32, 331, 32,
32, 32, 32, 32, 32, 332, 32, 32, 32, 32,
32, 335, 537, 336, 334, 337, 338, 339, 340, 537,
341, 537, 342, 343, 344, 345, 328, 32, 346, 347,
348, 349, 329, 350, 351, 352, 354, 355, 356, 335,
32, 336, 32, 337, 338, 339, 340, 32, 341, 32,
342, 343, 344, 345, 328, 357, 346, 347, 348, 349,
329, 350, 351, 352, 354, 355, 356, 32, 359, 32,
32, 32, 32, 32, 32, 360, 537, 32, 32, 361,
362, 363, 537, 357, 537, 364, 365, 367, 368, 537,
369, 370, 371, 374, 375, 376, 359, 377, 378, 379,
380, 381, 382, 360, 358, 385, 386, 361, 362, 363,
32, 537, 32, 364, 365, 367, 368, 32, 369, 370,
371, 374, 375, 376, 387, 377, 378, 379, 380, 381,
382, 383, 358, 385, 386, 388, 389, 32, 391, 384,
32, 32, 392, 393, 395, 396, 397, 400, 402, 403,
404, 405, 387, 406, 407, 408, 409, 410, 411, 383,
412, 413, 414, 388, 389, 415, 391, 384, 416, 417,
392, 393, 395, 396, 397, 400, 402, 403, 404, 405,
32, 406, 407, 408, 409, 410, 411, 418, 412, 413,
414, 419, 420, 415, 421, 422, 416, 417, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 418, 440, 441, 442, 419,
420, 443, 421, 422, 444, 445, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 446, 440, 441, 442, 447, 448, 443,
449, 451, 444, 445, 452, 456, 457, 458, 459, 460,
461, 463, 464, 465, 466, 467, 468, 470, 471, 472,
473, 446, 474, 475, 476, 447, 448, 477, 449, 451,
478, 479, 452, 456, 457, 458, 459, 460, 461, 463,
464, 465, 466, 467, 468, 470, 471, 472, 473, 480,
474, 475, 476, 481, 482, 477, 483, 484, 478, 479,
485, 488, 489, 490, 491, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 504, 505, 480, 507, 508,
509, 481, 482, 510, 483, 484, 511, 512, 485, 488,
489, 490, 491, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 504, 505, 513, 507, 508, 509, 514,
516, 510, 517, 518, 511, 512, 521, 522, 523, 525,
526, 529, 530, 531, 532, 533, 534, 535, 537, 537,
537, 537, 537, 513, 537, 537, 537, 514, 516, 537,
517, 518, 537, 537, 521, 522, 523, 525, 526, 529,
530, 531, 532, 533, 534, 535, 27, 27, 54, 54,
87, 87, 3, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537
} ;
static
yyconst flex_int16_t yy_chk[1838] =
{ 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, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 8, 11, 15, 11, 11, 11,
11, 11, 11, 11, 12, 12, 12, 12, 12, 12,
12, 14, 16, 17, 14, 14, 18, 19, 20, 23,
22, 24, 25, 23, 15, 27, 17, 58, 59, 60,
61, 22, 62, 64, 67, 68, 8, 22, 69, 14,
16, 17, 14, 14, 18, 19, 20, 23, 22, 24,
25, 23, 541, 183, 17, 58, 59, 60, 61, 22,
62, 64, 67, 68, 183, 22, 69, 27, 30, 30,
30, 30, 30, 30, 30, 539, 95, 96, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 30, 30, 95, 96, 30, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 31, 31, 31, 31, 31, 31, 31, 32,
534, 33, 32, 32, 33, 33, 523, 33, 33, 33,
33, 33, 33, 33, 34, 522, 517, 34, 34, 512,
34, 34, 34, 34, 34, 34, 34, 35, 35, 35,
35, 35, 35, 35, 36, 511, 37, 36, 36, 37,
37, 507, 32, 38, 33, 39, 38, 38, 39, 39,
97, 496, 40, 98, 37, 40, 40, 34, 493, 99,
478, 57, 39, 36, 472, 41, 100, 471, 41, 41,
38, 40, 42, 57, 283, 42, 42, 36, 97, 37,
43, 98, 37, 43, 43, 283, 38, 99, 39, 57,
39, 36, 41, 44, 100, 40, 44, 44, 38, 40,
448, 57, 45, 441, 43, 45, 45, 102, 41, 42,
47, 44, 432, 47, 47, 42, 431, 430, 427, 103,
41, 47, 374, 43, 370, 369, 65, 104, 65, 365,
65, 45, 43, 361, 344, 102, 44, 42, 48, 44,
49, 48, 48, 49, 49, 45, 50, 103, 51, 50,
50, 51, 51, 47, 65, 104, 65, 48, 65, 45,
46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
343, 337, 63, 49, 321, 50, 106, 46, 46, 46,
107, 48, 51, 49, 52, 48, 63, 52, 52, 50,
53, 51, 63, 53, 53, 71, 299, 290, 71, 71,
63, 49, 66, 50, 106, 281, 46, 46, 107, 109,
51, 66, 66, 105, 63, 110, 105, 52, 66, 279,
63, 76, 274, 271, 76, 76, 53, 52, 270, 263,
66, 262, 112, 53, 239, 108, 225, 109, 71, 66,
66, 105, 108, 110, 105, 52, 66, 70, 70, 70,
70, 70, 70, 70, 53, 56, 56, 56, 113, 56,
112, 56, 56, 108, 76, 114, 115, 56, 135, 56,
108, 56, 56, 56, 56, 56, 74, 74, 74, 74,
74, 74, 74, 56, 56, 56, 113, 56, 75, 56,
56, 75, 75, 114, 115, 56, 135, 56, 203, 56,
56, 56, 56, 56, 72, 199, 191, 72, 72, 190,
72, 72, 72, 72, 72, 72, 72, 73, 156, 152,
73, 73, 75, 73, 73, 73, 73, 73, 73, 73,
77, 75, 78, 77, 77, 78, 78, 79, 148, 101,
79, 79, 80, 54, 111, 80, 80, 72, 81, 136,
75, 81, 81, 138, 82, 81, 137, 82, 82, 111,
73, 29, 83, 26, 137, 83, 83, 84, 78, 21,
84, 84, 111, 77, 82, 78, 80, 136, 10, 85,
79, 138, 85, 85, 137, 80, 139, 111, 140, 83,
9, 81, 137, 84, 3, 88, 78, 82, 88, 88,
2, 0, 82, 89, 80, 83, 89, 89, 90, 142,
84, 90, 90, 0, 139, 91, 140, 83, 91, 91,
0, 84, 85, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 0, 91, 143, 90, 142, 88, 89,
86, 86, 86, 144, 145, 92, 89, 146, 92, 92,
0, 90, 93, 0, 0, 93, 93, 94, 91, 0,
94, 94, 91, 143, 90, 92, 147, 89, 149, 86,
86, 144, 145, 150, 151, 146, 153, 94, 116, 116,
116, 116, 116, 116, 116, 0, 0, 134, 92, 93,
134, 134, 0, 92, 147, 93, 149, 0, 0, 0,
94, 150, 151, 117, 153, 94, 117, 117, 0, 117,
117, 117, 117, 117, 117, 117, 118, 93, 0, 118,
118, 0, 118, 118, 118, 118, 118, 118, 118, 119,
134, 0, 119, 119, 0, 119, 119, 119, 119, 119,
119, 119, 0, 0, 0, 0, 117, 120, 120, 120,
120, 120, 120, 120, 121, 0, 0, 121, 121, 118,
122, 0, 123, 122, 122, 123, 123, 124, 157, 0,
124, 124, 119, 125, 0, 0, 125, 125, 121, 126,
122, 154, 126, 126, 123, 155, 0, 124, 127, 125,
128, 127, 127, 128, 128, 0, 129, 121, 157, 129,
129, 0, 126, 122, 0, 123, 121, 0, 122, 154,
124, 0, 123, 155, 128, 124, 125, 125, 158, 177,
178, 179, 126, 129, 127, 130, 157, 180, 130, 130,
126, 127, 131, 128, 132, 131, 131, 132, 132, 129,
133, 0, 128, 133, 133, 141, 158, 177, 178, 179,
181, 129, 127, 182, 141, 180, 141, 184, 185, 186,
133, 130, 131, 161, 187, 188, 161, 161, 130, 132,
0, 0, 0, 141, 0, 131, 0, 132, 181, 189,
0, 182, 141, 133, 141, 184, 185, 186, 133, 130,
131, 163, 187, 188, 163, 163, 0, 132, 159, 159,
159, 159, 159, 159, 159, 160, 161, 189, 160, 160,
0, 160, 160, 160, 160, 160, 160, 160, 162, 162,
162, 162, 162, 162, 162, 163, 164, 192, 165, 164,
164, 165, 165, 166, 163, 167, 166, 166, 167, 167,
168, 0, 169, 168, 168, 169, 169, 170, 160, 168,
170, 170, 168, 163, 193, 192, 194, 171, 0, 164,
171, 171, 0, 195, 172, 0, 170, 172, 172, 164,
173, 165, 0, 173, 173, 0, 166, 0, 167, 0,
172, 196, 193, 168, 194, 169, 171, 164, 197, 174,
170, 195, 174, 174, 170, 175, 198, 200, 175, 175,
171, 176, 202, 173, 176, 176, 0, 172, 172, 196,
0, 204, 201, 173, 171, 201, 197, 174, 0, 0,
0, 0, 0, 0, 198, 200, 220, 0, 221, 0,
202, 173, 174, 0, 176, 0, 0, 0, 175, 204,
201, 0, 0, 201, 176, 174, 205, 205, 205, 205,
205, 205, 205, 0, 220, 209, 221, 206, 209, 209,
206, 206, 176, 206, 206, 206, 206, 206, 206, 206,
207, 0, 0, 207, 207, 0, 207, 207, 207, 207,
207, 207, 207, 210, 0, 211, 210, 210, 211, 211,
209, 0, 214, 0, 211, 214, 214, 211, 209, 212,
206, 0, 212, 212, 0, 213, 0, 212, 213, 213,
0, 222, 214, 207, 0, 213, 210, 215, 209, 216,
215, 215, 216, 216, 223, 224, 210, 217, 211, 218,
217, 217, 218, 218, 219, 214, 226, 219, 219, 222,
214, 228, 212, 229, 210, 230, 231, 232, 213, 0,
233, 215, 223, 224, 234, 235, 236, 237, 238, 240,
215, 241, 216, 242, 226, 243, 244, 245, 219, 228,
217, 229, 218, 230, 231, 232, 246, 219, 233, 215,
247, 248, 234, 235, 236, 237, 238, 240, 249, 241,
0, 242, 0, 243, 244, 245, 219, 252, 264, 254,
252, 252, 254, 254, 246, 0, 0, 0, 247, 248,
0, 251, 0, 265, 251, 251, 249, 251, 251, 251,
251, 251, 251, 251, 253, 0, 264, 253, 253, 254,
255, 266, 257, 255, 255, 257, 257, 267, 255, 0,
252, 265, 254, 256, 253, 258, 256, 256, 258, 258,
268, 269, 259, 256, 251, 259, 259, 254, 260, 266,
261, 260, 260, 261, 261, 267, 272, 253, 273, 275,
277, 278, 253, 255, 276, 257, 280, 282, 268, 269,
284, 285, 276, 286, 287, 288, 256, 289, 258, 0,
0, 296, 0, 0, 272, 259, 273, 275, 277, 278,
297, 260, 276, 261, 280, 282, 0, 298, 284, 285,
276, 286, 287, 288, 291, 289, 300, 291, 291, 296,
291, 291, 291, 291, 291, 291, 291, 292, 297, 293,
292, 292, 293, 293, 294, 298, 295, 294, 294, 295,
295, 301, 0, 302, 300, 303, 304, 305, 306, 0,
308, 0, 309, 310, 311, 312, 292, 291, 313, 314,
315, 317, 293, 318, 318, 320, 322, 323, 325, 301,
292, 302, 293, 303, 304, 305, 306, 294, 308, 295,
309, 310, 311, 312, 292, 326, 313, 314, 315, 317,
293, 318, 318, 320, 322, 323, 325, 327, 330, 328,
327, 327, 328, 328, 329, 331, 0, 329, 329, 332,
333, 334, 0, 326, 0, 335, 336, 338, 339, 0,
340, 341, 342, 345, 346, 347, 330, 348, 349, 350,
351, 352, 353, 331, 328, 355, 356, 332, 333, 334,
327, 0, 328, 335, 336, 338, 339, 329, 340, 341,
342, 345, 346, 347, 357, 348, 349, 350, 351, 352,
353, 354, 328, 355, 356, 359, 360, 358, 362, 354,
358, 358, 363, 364, 366, 367, 368, 371, 375, 376,
377, 378, 357, 379, 380, 381, 382, 383, 384, 354,
385, 387, 388, 359, 360, 389, 362, 354, 390, 391,
363, 364, 366, 367, 368, 371, 375, 376, 377, 378,
358, 379, 380, 381, 382, 383, 384, 392, 385, 387,
388, 393, 394, 389, 395, 396, 390, 391, 397, 399,
400, 401, 402, 403, 404, 405, 406, 407, 409, 410,
411, 412, 414, 415, 416, 392, 417, 418, 419, 393,
394, 420, 395, 396, 421, 422, 397, 399, 400, 401,
402, 403, 404, 405, 406, 407, 409, 410, 411, 412,
414, 415, 416, 423, 417, 418, 419, 424, 425, 420,
426, 428, 421, 422, 429, 434, 435, 437, 438, 439,
440, 442, 443, 444, 445, 446, 447, 449, 451, 452,
454, 423, 455, 456, 458, 424, 425, 459, 426, 428,
460, 461, 429, 434, 435, 437, 438, 439, 440, 442,
443, 444, 445, 446, 447, 449, 451, 452, 454, 464,
455, 456, 458, 465, 466, 459, 467, 468, 460, 461,
470, 473, 474, 476, 477, 479, 480, 481, 482, 483,
484, 485, 486, 488, 489, 494, 495, 464, 497, 498,
499, 465, 466, 500, 467, 468, 501, 502, 470, 473,
474, 476, 477, 479, 480, 481, 482, 483, 484, 485,
486, 488, 489, 494, 495, 504, 497, 498, 499, 505,
508, 500, 509, 510, 501, 502, 513, 514, 516, 518,
521, 524, 525, 529, 530, 531, 532, 533, 0, 0,
0, 0, 0, 504, 0, 0, 0, 505, 508, 0,
509, 510, 0, 0, 513, 514, 516, 518, 521, 524,
525, 529, 530, 531, 532, 533, 538, 538, 540, 540,
542, 542, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537, 537, 537, 537, 537, 537, 537
} ;
#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 "libmemcached/csl/scanner.l"
#line 68 "libmemcached/csl/scanner.l"
#define PARAM config_get_extra(yyscanner)
#define get_lex_chars(buffer, result, max_size, context) \
{ \
if
(context->pos >= context->length) \
{ \
result= YY_NULL; \
} \
else
\
{ \
result= (
int
)(context->length - context->pos); \
(
size_t
)result > (
size_t
)max_size ? result= max_size : 0; \
memcpy
(buffer, context->buf + context->pos, result); \
context->pos += result; \
} \
}
#define YY_FATAL_ERROR(msg) \
{ \
}
#define YY_INPUT(buffer, result, max_size) get_lex_chars(buffer, result, max_size, PARAM)
#define YY_NO_INPUT 1
#line 1108 "libmemcached/csl/scanner.cc"
#define INITIAL 0
#ifndef YY_NO_UNISTD_H
#include <unistd.h>
#endif
#ifndef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#endif
struct
yyguts_t
{
YY_EXTRA_TYPE yyextra_r;
FILE
*yyin_r, *yyout_r;
size_t
yy_buffer_stack_top;
size_t
yy_buffer_stack_max;
YY_BUFFER_STATE * yy_buffer_stack;
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;
YYSTYPE * yylval_r;
};
static
int
yy_init_globals (yyscan_t yyscanner );
# define yylval yyg->yylval_r
int
config_lex_init (yyscan_t* scanner);
int
config_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
int
config_lex_destroy (yyscan_t yyscanner );
int
config_get_debug (yyscan_t yyscanner );
void
config_set_debug (
int
debug_flag ,yyscan_t yyscanner );
YY_EXTRA_TYPE config_get_extra (yyscan_t yyscanner );
void
config_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
FILE
*config_get_in (yyscan_t yyscanner );
void
config_set_in (
FILE
* in_str ,yyscan_t yyscanner );
FILE
*config_get_out (yyscan_t yyscanner );
void
config_set_out (
FILE
* out_str ,yyscan_t yyscanner );
yy_size_t config_get_leng (yyscan_t yyscanner );
char
*config_get_text (yyscan_t yyscanner );
int
config_get_lineno (yyscan_t yyscanner );
void
config_set_lineno (
int
line_number ,yyscan_t yyscanner );
int
config_get_column (yyscan_t yyscanner );
void
config_set_column (
int
column_no ,yyscan_t yyscanner );
YYSTYPE * config_get_lval (yyscan_t yyscanner );
void
config_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern
"C"
int
config_wrap (yyscan_t yyscanner );
#else
extern
int
config_wrap (yyscan_t yyscanner );
#endif
#endif
#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
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif
#ifndef ECHO
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#endif
#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
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
#endif
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
extern
int
config_lex \
(YYSTYPE * yylval_param ,yyscan_t yyscanner);
#define YY_DECL int config_lex \
(YYSTYPE * yylval_param , yyscan_t yyscanner)
#endif /* !YY_DECL */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif
#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
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;
#line 109 "libmemcached/csl/scanner.l"
#line 1350 "libmemcached/csl/scanner.cc"
yylval = yylval_param;
if
( !yyg->yy_init )
{
yyg->yy_init = 1;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
if
( ! yyg->yy_start )
yyg->yy_start = 1;
if
( ! yyin )
yyin = stdin;
if
( ! yyout )
yyout = stdout;
if
( ! YY_CURRENT_BUFFER ) {
config_ensure_buffer_stack (yyscanner);
YY_CURRENT_BUFFER_LVALUE =
config__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
}
config__load_buffer_state(yyscanner );
}
while
( 1 )
{
yy_cp = yyg->yy_c_buf_p;
*yy_cp = yyg->yy_hold_char;
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 >= 538 )
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 != 537 );
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;
do_action:
switch
( yy_act )
{
case
0:
*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 112 "libmemcached/csl/scanner.l"
{
return
yytext[0];}
YY_BREAK
case
2:
YY_RULE_SETUP
#line 114 "libmemcached/csl/scanner.l"
{ yylval->number=
atoi
(yytext);
return
(NUMBER); }
YY_BREAK
case
3:
YY_RULE_SETUP
#line 116 "libmemcached/csl/scanner.l"
{ yylval->number=
atoi
(yytext +1);
return
PORT; }
YY_BREAK
case
4:
YY_RULE_SETUP
#line 118 "libmemcached/csl/scanner.l"
{ yylval->number=
atoi
(yytext +2);
return
WEIGHT_START; }
YY_BREAK
case
5:
YY_RULE_SETUP
#line 120 "libmemcached/csl/scanner.l"
;
YY_BREAK
case
6:
*yy_cp = yyg->yy_hold_char;
yyg->yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION;
YY_RULE_SETUP
#line 123 "libmemcached/csl/scanner.l"
{
return
COMMENT;
}
YY_BREAK
case
7:
YY_RULE_SETUP
#line 127 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; yyextra->set_server();
return
yyextra->previous_token= SERVER; }
YY_BREAK
case
8:
YY_RULE_SETUP
#line 129 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= CSL_SOCKET; }
YY_BREAK
case
9:
YY_RULE_SETUP
#line 131 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= BINARY_PROTOCOL; }
YY_BREAK
case
10:
YY_RULE_SETUP
#line 132 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= BUFFER_REQUESTS; }
YY_BREAK
case
11:
YY_RULE_SETUP
#line 133 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= CONFIGURE_FILE; }
YY_BREAK
case
12:
YY_RULE_SETUP
#line 134 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= CONNECT_TIMEOUT; }
YY_BREAK
case
13:
YY_RULE_SETUP
#line 135 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= DISTRIBUTION; }
YY_BREAK
case
14:
YY_RULE_SETUP
#line 136 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= HASH_WITH_NAMESPACE; }
YY_BREAK
case
15:
YY_RULE_SETUP
#line 137 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= HASH; }
YY_BREAK
case
16:
YY_RULE_SETUP
#line 138 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= IO_BYTES_WATERMARK; }
YY_BREAK
case
17:
YY_RULE_SETUP
#line 139 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= IO_KEY_PREFETCH; }
YY_BREAK
case
18:
YY_RULE_SETUP
#line 140 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= IO_MSG_WATERMARK; }
YY_BREAK
case
19:
YY_RULE_SETUP
#line 141 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= NOREPLY; }
YY_BREAK
case
20:
YY_RULE_SETUP
#line 142 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= NUMBER_OF_REPLICAS; }
YY_BREAK
case
21:
YY_RULE_SETUP
#line 143 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= POLL_TIMEOUT; }
YY_BREAK
case
22:
YY_RULE_SETUP
#line 144 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= RANDOMIZE_REPLICA_READ; }
YY_BREAK
case
23:
YY_RULE_SETUP
#line 145 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= RCV_TIMEOUT; }
YY_BREAK
case
24:
YY_RULE_SETUP
#line 146 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= REMOVE_FAILED_SERVERS; }
YY_BREAK
case
25:
YY_RULE_SETUP
#line 147 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= RETRY_TIMEOUT; }
YY_BREAK
case
26:
YY_RULE_SETUP
#line 148 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= SND_TIMEOUT; }
YY_BREAK
case
27:
YY_RULE_SETUP
#line 149 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= SOCKET_RECV_SIZE; }
YY_BREAK
case
28:
YY_RULE_SETUP
#line 150 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= SOCKET_SEND_SIZE; }
YY_BREAK
case
29:
YY_RULE_SETUP
#line 151 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= SORT_HOSTS; }
YY_BREAK
case
30:
YY_RULE_SETUP
#line 152 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= SUPPORT_CAS; }
YY_BREAK
case
31:
YY_RULE_SETUP
#line 153 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= _TCP_KEEPALIVE; }
YY_BREAK
case
32:
YY_RULE_SETUP
#line 154 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= _TCP_KEEPIDLE; }
YY_BREAK
case
33:
YY_RULE_SETUP
#line 155 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= _TCP_NODELAY; }
YY_BREAK
case
34:
YY_RULE_SETUP
#line 156 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= USE_UDP; }
YY_BREAK
case
35:
YY_RULE_SETUP
#line 157 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= USER_DATA; }
YY_BREAK
case
36:
YY_RULE_SETUP
#line 158 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= VERIFY_KEY; }
YY_BREAK
case
37:
YY_RULE_SETUP
#line 160 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= POOL_MIN; }
YY_BREAK
case
38:
YY_RULE_SETUP
#line 161 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= POOL_MAX; }
YY_BREAK
case
39:
YY_RULE_SETUP
#line 163 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= NAMESPACE; }
YY_BREAK
case
40:
YY_RULE_SETUP
#line 165 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= FETCH_VERSION; }
YY_BREAK
case
41:
YY_RULE_SETUP
#line 167 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= INCLUDE; }
YY_BREAK
case
42:
YY_RULE_SETUP
#line 168 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= RESET; }
YY_BREAK
case
43:
YY_RULE_SETUP
#line 169 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= PARSER_DEBUG; }
YY_BREAK
case
44:
YY_RULE_SETUP
#line 170 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= SERVERS; }
YY_BREAK
case
45:
YY_RULE_SETUP
#line 171 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= END; }
YY_BREAK
case
46:
YY_RULE_SETUP
#line 172 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext;
return
yyextra->previous_token= CSL_ERROR; }
YY_BREAK
case
47:
YY_RULE_SETUP
#line 174 "libmemcached/csl/scanner.l"
{
return
yyextra->previous_token= CSL_TRUE; }
YY_BREAK
case
48:
YY_RULE_SETUP
#line 175 "libmemcached/csl/scanner.l"
{
return
yyextra->previous_token= CSL_FALSE; }
YY_BREAK
case
49:
YY_RULE_SETUP
#line 178 "libmemcached/csl/scanner.l"
{
yyextra->begin= yytext;
return
UNKNOWN_OPTION;
}
YY_BREAK
case
50:
YY_RULE_SETUP
#line 183 "libmemcached/csl/scanner.l"
{
return
CONSISTENT; }
YY_BREAK
case
51:
YY_RULE_SETUP
#line 184 "libmemcached/csl/scanner.l"
{
return
MODULA; }
YY_BREAK
case
52:
YY_RULE_SETUP
#line 185 "libmemcached/csl/scanner.l"
{
return
RANDOM; }
YY_BREAK
case
53:
YY_RULE_SETUP
#line 187 "libmemcached/csl/scanner.l"
{
return
MD5; }
YY_BREAK
case
54:
YY_RULE_SETUP
#line 188 "libmemcached/csl/scanner.l"
{
return
CRC; }
YY_BREAK
case
55:
YY_RULE_SETUP
#line 189 "libmemcached/csl/scanner.l"
{
return
FNV1_64; }
YY_BREAK
case
56:
YY_RULE_SETUP
#line 190 "libmemcached/csl/scanner.l"
{
return
FNV1A_64; }
YY_BREAK
case
57:
YY_RULE_SETUP
#line 191 "libmemcached/csl/scanner.l"
{
return
FNV1_32; }
YY_BREAK
case
58:
YY_RULE_SETUP
#line 192 "libmemcached/csl/scanner.l"
{
return
FNV1A_32; }
YY_BREAK
case
59:
YY_RULE_SETUP
#line 193 "libmemcached/csl/scanner.l"
{
return
HSIEH; }
YY_BREAK
case
60:
YY_RULE_SETUP
#line 194 "libmemcached/csl/scanner.l"
{
return
MURMUR; }
YY_BREAK
case
61:
YY_RULE_SETUP
#line 195 "libmemcached/csl/scanner.l"
{
return
JENKINS; }
YY_BREAK
case
62:
YY_RULE_SETUP
#line 197 "libmemcached/csl/scanner.l"
{
yyextra->hostname(yytext, yyleng, yylval->server);
return
IPADDRESS;
}
YY_BREAK
case
63:
YY_RULE_SETUP
#line 202 "libmemcached/csl/scanner.l"
{
if
(yyextra->is_server())
{
yyextra->hostname(yytext, yyleng, yylval->server);
return
HOSTNAME;
}
yyextra->string_buffer(yytext, yyleng, yylval->string);
return
STRING;
}
YY_BREAK
case
64:
YY_RULE_SETUP
#line 215 "libmemcached/csl/scanner.l"
{
config_get_text(yyscanner)[yyleng -1]= 0;
yyextra->string_buffer(yytext +1, yyleng -2, yylval->string);
return
QUOTED_STRING;
}
YY_BREAK
case
65:
YY_RULE_SETUP
#line 221 "libmemcached/csl/scanner.l"
{
yyextra->begin= yytext;
return
UNKNOWN;
}
YY_BREAK
case
66:
YY_RULE_SETUP
#line 226 "libmemcached/csl/scanner.l"
YY_FATAL_ERROR(
"flex scanner jammed"
);
YY_BREAK
#line 1793 "libmemcached/csl/scanner.cc"
case
YY_STATE_EOF(INITIAL):
yyterminate();
case
YY_END_OF_BUFFER:
{
int
yy_amount_of_matched_text = (
int
) (yy_cp - yyg->yytext_ptr) - 1;
*yy_cp = yyg->yy_hold_char;
YY_RESTORE_YY_MORE_OFFSET
if
( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
{
yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
}
if
( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
{
yy_state_type yy_next_state;
yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state( yyscanner );
yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
if
( yy_next_state )
{
yy_cp = ++yyg->yy_c_buf_p;
yy_current_state = yy_next_state;
goto
yy_match;
}
else
{
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
goto
yy_find_action;
}
}
else
switch
( yy_get_next_buffer( yyscanner ) )
{
case
EOB_ACT_END_OF_FILE:
{
yyg->yy_did_buffer_switch_on_eof = 0;
if
( config_wrap(yyscanner ) )
{
yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
yy_act = YY_STATE_EOF(YY_START);
goto
do_action;
}
else
{
if
( ! yyg->yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
}
break
;
}
case
EOB_ACT_CONTINUE_SCAN:
yyg->yy_c_buf_p =
yyg->yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state( yyscanner );
yy_cp = yyg->yy_c_buf_p;
yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
goto
yy_match;
case
EOB_ACT_LAST_MATCH:
yyg->yy_c_buf_p =
&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
yy_current_state = yy_get_previous_state( yyscanner );
yy_cp = yyg->yy_c_buf_p;
yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
goto
yy_find_action;
}
break
;
}
default
:
YY_FATAL_ERROR(
"fatal flex scanner internal error--no action found"
);
}
}
}
static
int
yy_get_next_buffer (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
register
char
*dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
register
char
*source = yyg->yytext_ptr;
register
int
number_to_move, i;
int
ret_val;
if
( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed"
);
if
( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
{
if
( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
{
return
EOB_ACT_END_OF_FILE;
}
else
{
return
EOB_ACT_LAST_MATCH;
}
}
number_to_move = (
int
) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
for
( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
if
( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
yy_size_t num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while
( num_to_read <= 0 )
{
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
int
yy_c_buf_p_offset =
(
int
) (yyg->yy_c_buf_p - b->yy_ch_buf);
if
( b->yy_is_our_buffer )
{
yy_size_t new_size = b->yy_buf_size * 2;
if
( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
else
b->yy_buf_size *= 2;
b->yy_ch_buf = (
char
*)
config_realloc((
void
*) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
}
else
b->yy_ch_buf = 0;
if
( ! b->yy_ch_buf )
YY_FATAL_ERROR(
"fatal error - scanner input buffer overflow"
);
yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1;
}
if
( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE;
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
yyg->yy_n_chars, num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
}
if
( yyg->yy_n_chars == 0 )
{
if
( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
config_restart(yyin ,yyscanner);
}
else
{
ret_val = EOB_ACT_LAST_MATCH;
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
YY_BUFFER_EOF_PENDING;
}
}
else
ret_val = EOB_ACT_CONTINUE_SCAN;
if
((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (
char
*) config_realloc((
void
*) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
if
( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()"
);
}
yyg->yy_n_chars += number_to_move;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
return
ret_val;
}
static
yy_state_type yy_get_previous_state (yyscan_t yyscanner)
{
register
yy_state_type yy_current_state;
register
char
*yy_cp;
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yy_current_state = yyg->yy_start;
yy_current_state += YY_AT_BOL();
for
( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
{
register
YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if
( yy_accept[yy_current_state] )
{
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 >= 538 )
yy_c = yy_meta[(unsigned
int
) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned
int
) yy_c];
}
return
yy_current_state;
}
static
yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
{
register
int
yy_is_jam;
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
register
char
*yy_cp = yyg->yy_c_buf_p;
register
YY_CHAR yy_c = 1;
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 >= 538 )
yy_c = yy_meta[(unsigned
int
) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned
int
) yy_c];
yy_is_jam = (yy_current_state == 537);
(
void
)yyg;
return
yy_is_jam ? 0 : yy_current_state;
}
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static
int
yyinput (yyscan_t yyscanner)
#else
static
int
input (yyscan_t yyscanner)
#endif
{
int
c;
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
*yyg->yy_c_buf_p = yyg->yy_hold_char;
if
( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
{
if
( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
*yyg->yy_c_buf_p =
'\0'
;
else
{
yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
++yyg->yy_c_buf_p;
switch
( yy_get_next_buffer( yyscanner ) )
{
case
EOB_ACT_LAST_MATCH:
config_restart(yyin ,yyscanner);
case
EOB_ACT_END_OF_FILE:
{
if
( config_wrap(yyscanner ) )
return
EOF;
if
( ! yyg->yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
#ifdef __cplusplus
return
yyinput(yyscanner);
#else
return
input(yyscanner);
#endif
}
case
EOB_ACT_CONTINUE_SCAN:
yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
break
;
}
}
}
c = *(unsigned
char
*) yyg->yy_c_buf_p;
*yyg->yy_c_buf_p =
'\0'
;
yyg->yy_hold_char = *++yyg->yy_c_buf_p;
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c ==
'\n'
);
return
c;
}
#endif /* ifndef YY_NO_INPUT */
void
config_restart (
FILE
* input_file , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
( ! YY_CURRENT_BUFFER ){
config_ensure_buffer_stack (yyscanner);
YY_CURRENT_BUFFER_LVALUE =
config__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
}
config__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
config__load_buffer_state(yyscanner );
}
void
config__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
config_ensure_buffer_stack (yyscanner);
if
( YY_CURRENT_BUFFER == new_buffer )
return
;
if
( YY_CURRENT_BUFFER )
{
*yyg->yy_c_buf_p = yyg->yy_hold_char;
YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
config__load_buffer_state(yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1;
}
static
void
config__load_buffer_state (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
yyg->yy_hold_char = *yyg->yy_c_buf_p;
}
YY_BUFFER_STATE config__create_buffer (
FILE
* file,
int
size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) config_alloc(
sizeof
(
struct
yy_buffer_state ) ,yyscanner );
if
( ! b )
YY_FATAL_ERROR(
"out of dynamic memory in config__create_buffer()"
);
b->yy_buf_size = size;
b->yy_ch_buf = (
char
*) config_alloc(b->yy_buf_size + 2 ,yyscanner );
if
( ! b->yy_ch_buf )
YY_FATAL_ERROR(
"out of dynamic memory in config__create_buffer()"
);
b->yy_is_our_buffer = 1;
config__init_buffer(b,file ,yyscanner);
return
b;
}
void
config__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
( ! b )
return
;
if
( b == YY_CURRENT_BUFFER )
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if
( b->yy_is_our_buffer )
config_free((
void
*) b->yy_ch_buf ,yyscanner );
config_free((
void
*) b ,yyscanner );
}
static
void
config__init_buffer (YY_BUFFER_STATE b,
FILE
* file , yyscan_t yyscanner)
{
int
oerrno =
errno
;
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
config__flush_buffer(b ,yyscanner);
b->yy_input_file = file;
b->yy_fill_buffer = 1;
if
(b != YY_CURRENT_BUFFER){
b->yy_bs_lineno = 1;
b->yy_bs_column = 0;
}
b->yy_is_interactive = 0;
errno
= oerrno;
}
void
config__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
( ! b )
return
;
b->yy_n_chars = 0;
b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
b->yy_buf_pos = &b->yy_ch_buf[0];
b->yy_at_bol = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
if
( b == YY_CURRENT_BUFFER )
config__load_buffer_state(yyscanner );
}
void
config_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(new_buffer == NULL)
return
;
config_ensure_buffer_stack(yyscanner);
if
( YY_CURRENT_BUFFER )
{
*yyg->yy_c_buf_p = yyg->yy_hold_char;
YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
}
if
(YY_CURRENT_BUFFER)
yyg->yy_buffer_stack_top++;
YY_CURRENT_BUFFER_LVALUE = new_buffer;
config__load_buffer_state(yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1;
}
void
config_pop_buffer_state (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(!YY_CURRENT_BUFFER)
return
;
config__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
YY_CURRENT_BUFFER_LVALUE = NULL;
if
(yyg->yy_buffer_stack_top > 0)
--yyg->yy_buffer_stack_top;
if
(YY_CURRENT_BUFFER) {
config__load_buffer_state(yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1;
}
}
static
void
config_ensure_buffer_stack (yyscan_t yyscanner)
{
yy_size_t num_to_alloc;
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(!yyg->yy_buffer_stack) {
num_to_alloc = 1;
yyg->yy_buffer_stack = (
struct
yy_buffer_state**)config_alloc
(num_to_alloc *
sizeof
(
struct
yy_buffer_state*)
, yyscanner);
if
( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR(
"out of dynamic memory in config_ensure_buffer_stack()"
);
memset
(yyg->yy_buffer_stack, 0, num_to_alloc *
sizeof
(
struct
yy_buffer_state*));
yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0;
return
;
}
if
(yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
int
grow_size = 8
;
num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
yyg->yy_buffer_stack = (
struct
yy_buffer_state**)config_realloc
(yyg->yy_buffer_stack,
num_to_alloc *
sizeof
(
struct
yy_buffer_state*)
, yyscanner);
if
( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR(
"out of dynamic memory in config_ensure_buffer_stack()"
);
memset
(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size *
sizeof
(
struct
yy_buffer_state*));
yyg->yy_buffer_stack_max = num_to_alloc;
}
}
YY_BUFFER_STATE config__scan_buffer (
char
* base, yy_size_t size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
if
( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
return
0;
b = (YY_BUFFER_STATE) config_alloc(
sizeof
(
struct
yy_buffer_state ) ,yyscanner );
if
( ! b )
YY_FATAL_ERROR(
"out of dynamic memory in config__scan_buffer()"
);
b->yy_buf_size = size - 2;
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
b->yy_input_file = 0;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
config__switch_to_buffer(b ,yyscanner );
return
b;
}
YY_BUFFER_STATE config__scan_string (yyconst
char
* yystr , yyscan_t yyscanner)
{
return
config__scan_bytes(yystr,
strlen
(yystr) ,yyscanner);
}
YY_BUFFER_STATE config__scan_bytes (yyconst
char
* yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
char
*buf;
yy_size_t n;
int
i;
n = _yybytes_len + 2;
buf = (
char
*) config_alloc(n ,yyscanner );
if
( ! buf )
YY_FATAL_ERROR(
"out of dynamic memory in config__scan_bytes()"
);
for
( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i];
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
b = config__scan_buffer(buf,n ,yyscanner);
if
( ! b )
YY_FATAL_ERROR(
"bad buffer in config__scan_bytes()"
);
b->yy_is_our_buffer = 1;
return
b;
}
#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif
static
void
yy_fatal_error (yyconst
char
* msg , yyscan_t yyscanner)
{
(
void
)
fprintf
( stderr,
"%s\n"
, msg );
exit
( YY_EXIT_FAILURE );
}
#undef yyless
#define yyless(n) \
do
\
{ \
\
int
yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
yytext[yyleng] = yyg->yy_hold_char; \
yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
yyg->yy_hold_char = *yyg->yy_c_buf_p; \
*yyg->yy_c_buf_p =
'\0'
; \
yyleng = yyless_macro_arg; \
} \
while
( 0 )
YY_EXTRA_TYPE config_get_extra (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yyextra;
}
int
config_get_lineno (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(! YY_CURRENT_BUFFER)
return
0;
return
yylineno;
}
int
config_get_column (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(! YY_CURRENT_BUFFER)
return
0;
return
yycolumn;
}
FILE
*config_get_in (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yyin;
}
FILE
*config_get_out (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yyout;
}
yy_size_t config_get_leng (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yyleng;
}
char
*config_get_text (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yytext;
}
void
config_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yyextra = user_defined ;
}
void
config_set_lineno (
int
line_number , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(! YY_CURRENT_BUFFER )
YY_FATAL_ERROR(
"config_set_lineno called with no buffer"
);
yylineno = line_number;
}
void
config_set_column (
int
column_no , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
if
(! YY_CURRENT_BUFFER )
YY_FATAL_ERROR(
"config_set_column called with no buffer"
);
yycolumn = column_no;
}
void
config_set_in (
FILE
* in_str , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yyin = in_str ;
}
void
config_set_out (
FILE
* out_str , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yyout = out_str ;
}
int
config_get_debug (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yy_flex_debug;
}
void
config_set_debug (
int
bdebug , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yy_flex_debug = bdebug ;
}
YYSTYPE * config_get_lval (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
return
yylval;
}
void
config_set_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yylval = yylval_param;
}
int
config_lex_init(yyscan_t* ptr_yy_globals)
{
if
(ptr_yy_globals == NULL){
errno
= EINVAL;
return
1;
}
*ptr_yy_globals = (yyscan_t) config_alloc (
sizeof
(
struct
yyguts_t ), NULL );
if
(*ptr_yy_globals == NULL){
errno
= ENOMEM;
return
1;
}
memset
(*ptr_yy_globals,0x00,
sizeof
(
struct
yyguts_t));
return
yy_init_globals ( *ptr_yy_globals );
}
int
config_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
{
struct
yyguts_t dummy_yyguts;
config_set_extra (yy_user_defined, &dummy_yyguts);
if
(ptr_yy_globals == NULL){
errno
= EINVAL;
return
1;
}
*ptr_yy_globals = (yyscan_t) config_alloc (
sizeof
(
struct
yyguts_t ), &dummy_yyguts );
if
(*ptr_yy_globals == NULL){
errno
= ENOMEM;
return
1;
}
memset
(*ptr_yy_globals,0x00,
sizeof
(
struct
yyguts_t));
config_set_extra (yy_user_defined, *ptr_yy_globals);
return
yy_init_globals ( *ptr_yy_globals );
}
static
int
yy_init_globals (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
yyg->yy_buffer_stack = 0;
yyg->yy_buffer_stack_top = 0;
yyg->yy_buffer_stack_max = 0;
yyg->yy_c_buf_p = (
char
*) 0;
yyg->yy_init = 0;
yyg->yy_start = 0;
yyg->yy_start_stack_ptr = 0;
yyg->yy_start_stack_depth = 0;
yyg->yy_start_stack = NULL;
#ifdef YY_STDINIT
yyin = stdin;
yyout = stdout;
#else
yyin = (
FILE
*) 0;
yyout = (
FILE
*) 0;
#endif
return
0;
}
int
config_lex_destroy (yyscan_t yyscanner)
{
struct
yyguts_t * yyg = (
struct
yyguts_t*)yyscanner;
while
(YY_CURRENT_BUFFER){
config__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
YY_CURRENT_BUFFER_LVALUE = NULL;
config_pop_buffer_state(yyscanner);
}
config_free(yyg->yy_buffer_stack ,yyscanner);
yyg->yy_buffer_stack = NULL;
config_free(yyg->yy_start_stack ,yyscanner );
yyg->yy_start_stack = NULL;
yy_init_globals( yyscanner);
config_free ( yyscanner , yyscanner );
yyscanner = NULL;
return
0;
}
#ifndef yytext_ptr
static
void
yy_flex_strncpy (
char
* s1, yyconst
char
* s2,
int
n , yyscan_t yyscanner)
{
register
int
i;
for
( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
static
int
yy_flex_strlen (yyconst
char
* s , yyscan_t yyscanner)
{
register
int
n;
for
( n = 0; s[n]; ++n )
;
return
n;
}
#endif
void
*config_alloc (yy_size_t size , yyscan_t yyscanner)
{
return
(
void
*)
malloc
( size );
}
void
*config_realloc (
void
* ptr, yy_size_t size , yyscan_t yyscanner)
{
return
(
void
*)
realloc
( (
char
*) ptr, size );
}
void
config_free (
void
* ptr , yyscan_t yyscanner)
{
free
( (
char
*) ptr );
}
#define YYTABLES_NAME "yytables"
#line 226 "libmemcached/csl/scanner.l"
void
Context::init_scanner()
{
config_lex_init(&scanner);
config_set_extra(
this
,scanner);
}
void
Context::destroy_scanner()
{
(
void
)yy_fatal_error;
config_lex_destroy(scanner);
}