1ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 3 "<stdout>" 3ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 4ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_INT_ALIGNED short int 5ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 6ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* A lexical scanner generated by flex */ 7ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 8ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define FLEX_SCANNER 9ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_FLEX_MAJOR_VERSION 2 10ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_FLEX_MINOR_VERSION 5 11ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_FLEX_SUBMINOR_VERSION 35 12ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#if YY_FLEX_SUBMINOR_VERSION > 0 13ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define FLEX_BETA 14ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 15ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 16ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* First, we deal with platform-specific or compiler-specific issues. */ 17ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 18ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* begin standard C headers. */ 19ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <stdio.h> 20ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <string.h> 21ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <errno.h> 22ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <stdlib.h> 23ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 24ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* end standard C headers. */ 25ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 26ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* flex integer type definitions */ 27ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 28ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef FLEXINT_H 29ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define FLEXINT_H 30ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 31ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 32ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 33ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 34ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 35ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 36ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * if you want the limit (max/min) macros for int types. 37ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 38ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef __STDC_LIMIT_MACROS 39ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define __STDC_LIMIT_MACROS 1 40ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 41ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 42ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <inttypes.h> 43ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef int8_t flex_int8_t; 44ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef uint8_t flex_uint8_t; 45ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef int16_t flex_int16_t; 46ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef uint16_t flex_uint16_t; 47ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef int32_t flex_int32_t; 48ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef uint32_t flex_uint32_t; 49ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 50ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef signed char flex_int8_t; 51ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef short int flex_int16_t; 52ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef int flex_int32_t; 53ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef unsigned char flex_uint8_t; 54ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef unsigned short int flex_uint16_t; 55ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef unsigned int flex_uint32_t; 56ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 57ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Limits of integral types. */ 58ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef INT8_MIN 59ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INT8_MIN (-128) 60ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 61ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef INT16_MIN 62ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INT16_MIN (-32767-1) 63ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 64ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef INT32_MIN 65ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INT32_MIN (-2147483647-1) 66ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 67ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef INT8_MAX 68ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INT8_MAX (127) 69ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 70ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef INT16_MAX 71ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INT16_MAX (32767) 72ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 73ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef INT32_MAX 74ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INT32_MAX (2147483647) 75ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 76ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef UINT8_MAX 77ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define UINT8_MAX (255U) 78ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 79ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef UINT16_MAX 80ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define UINT16_MAX (65535U) 81ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 82ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef UINT32_MAX 83ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define UINT32_MAX (4294967295U) 84ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 85ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 86ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* ! C99 */ 87ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 88ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* ! FLEXINT_H */ 89ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 90ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __cplusplus 91ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 92ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* The "const" storage-class-modifier is valid. */ 93ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_USE_CONST 94ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 95ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else /* ! __cplusplus */ 96ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 97ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* C99 requires __STDC__ to be defined as 1. */ 98ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#if defined (__STDC__) 99ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 100ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_USE_CONST 101ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 102ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* defined (__STDC__) */ 103ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* ! __cplusplus */ 104ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 105ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef YY_USE_CONST 106ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyconst const 107ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 108ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyconst 109ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 110ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 111ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Returned upon end-of-file. */ 112ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_NULL 0 113ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 114ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Promotes a possibly negative, possibly signed char to an unsigned 115ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * integer for use as an array index. If the signed char is negative, 116ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * we want to instead treat it as an 8-bit unsigned char, hence the 117ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * double cast. 118ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 119ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 120ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 121ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* An opaque pointer. */ 122ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_TYPEDEF_YY_SCANNER_T 123ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_TYPEDEF_YY_SCANNER_T 124ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef void* yyscan_t; 125ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 126ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 127ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* For convenience, these vars (plus the bison vars far below) 128ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng are macros in the reentrant scanner. */ 129ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyin yyg->yyin_r 130ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyout yyg->yyout_r 131ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyextra yyg->yyextra_r 132ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyleng yyg->yyleng_r 133ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yytext yyg->yytext_r 134ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) 135ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) 136ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yy_flex_debug yyg->yy_flex_debug_r 137ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 138ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Enter a start condition. This macro really ought to take a parameter, 139ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * but we do it the disgusting crufty way forced on us by the ()-less 140ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * definition of BEGIN. 141ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 142ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define BEGIN yyg->yy_start = 1 + 2 * 143ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 144ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Translate the current start state into a value that can be later handed 145ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * to BEGIN to return to the state. The YYSTATE alias is for lex 146ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * compatibility. 147ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 148ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_START ((yyg->yy_start - 1) / 2) 149ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YYSTATE YY_START 150ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 151ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Action number for EOF rule of a given start state. */ 152ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 153ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 154ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Special action meaning "start processing a new file". */ 155ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_NEW_FILE parse_events_restart(yyin ,yyscanner ) 156ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 157ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_END_OF_BUFFER_CHAR 0 158ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 159ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Size of default input buffer. */ 160ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_BUF_SIZE 161ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __ia64__ 162ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* On IA-64, the buffer size is 16k, not 8k. 163ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 164ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * Ditto for the __ia64__ case accordingly. 165ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 166ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_BUF_SIZE 32768 167ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 168ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_BUF_SIZE 16384 169ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* __ia64__ */ 170ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 171ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 172ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* The state buf must be large enough to hold one state per character in the main buffer. 173ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 174ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 175ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 176ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_TYPEDEF_YY_BUFFER_STATE 177ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_TYPEDEF_YY_BUFFER_STATE 178ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef struct yy_buffer_state *YY_BUFFER_STATE; 179ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 180ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 181ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define EOB_ACT_CONTINUE_SCAN 0 182ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define EOB_ACT_END_OF_FILE 1 183ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define EOB_ACT_LAST_MATCH 2 184ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 185ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng #define YY_LESS_LINENO(n) 186ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 187ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Return all but the first "n" matched characters back to the input stream. */ 188ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyless(n) \ 189ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng do \ 190ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 191ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Undo effects of setting up yytext. */ \ 192ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yyless_macro_arg = (n); \ 193ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_LESS_LINENO(yyless_macro_arg);\ 194ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yy_cp = yyg->yy_hold_char; \ 195ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_RESTORE_YY_MORE_OFFSET \ 196ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 197ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 198ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 199ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( 0 ) 200ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 201ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) 202ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 203ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_TYPEDEF_YY_SIZE_T 204ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_TYPEDEF_YY_SIZE_T 205ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef size_t yy_size_t; 206ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 207ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 208ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_STRUCT_YY_BUFFER_STATE 209ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_STRUCT_YY_BUFFER_STATE 210ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstruct yy_buffer_state 211ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 212ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng FILE *yy_input_file; 213ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 214ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *yy_ch_buf; /* input buffer */ 215ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *yy_buf_pos; /* current position in input buffer */ 216ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 217ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Size of input buffer in bytes, not including room for EOB 218ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * characters. 219ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 220ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_size_t yy_buf_size; 221ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 222ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Number of characters read into yy_ch_buf, not including EOB 223ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * characters. 224ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 225ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_n_chars; 226ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 227ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Whether we "own" the buffer - i.e., we know we created it, 228ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * and can realloc() it to grow it, and should free() it to 229ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * delete it. 230ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 231ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_is_our_buffer; 232ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 233ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Whether this is an "interactive" input source; if so, and 234ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * if we're using stdio for input, then we want to use getc() 235ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * instead of fread(), to make sure we stop fetching input after 236ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * each newline. 237ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 238ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_is_interactive; 239ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 240ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Whether we're considered to be at the beginning of a line. 241ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * If so, '^' rules will be active on the next match, otherwise 242ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * not. 243ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 244ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_at_bol; 245ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 246ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_bs_lineno; /**< The line count. */ 247ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_bs_column; /**< The column count. */ 248ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 249ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Whether to try to fill the input buffer when we reach the 250ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * end of it. 251ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 252ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_fill_buffer; 253ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 254ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_buffer_status; 255ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 256ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_BUFFER_NEW 0 257ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_BUFFER_NORMAL 1 258ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* When an EOF's been seen but there's still some text to process 259ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * then we mark the buffer as YY_EOF_PENDING, to indicate that we 260ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * shouldn't try reading from the input source any more. We might 261ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * still have a bunch of tokens to match, though, because of 262ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * possible backing-up. 263ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * 264ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * When we actually see the EOF, we change the status to "new" 265ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * (via parse_events_restart()), so that the user can continue scanning by 266ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * just pointing yyin at a new input file. 267ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 268ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_BUFFER_EOF_PENDING 2 269ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 270ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng }; 271ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* !YY_STRUCT_YY_BUFFER_STATE */ 272ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 273ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* We provide macros for accessing buffer states in case in the 274ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * future we want to put the buffer states in a more general 275ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * "scanner state". 276ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * 277ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * Returns the top of the stack, or NULL. 278ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 279ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \ 280ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ 281ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng : NULL) 282ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 283ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Same as previous macro, but useful when we know that the buffer stack is not 284ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * NULL or when we need an lvalue. For internal use only. 285ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 286ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] 287ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 288ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_restart (FILE *input_file ,yyscan_t yyscanner ); 289ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); 290ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__create_buffer (FILE *file,int size ,yyscan_t yyscanner ); 291ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); 292ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); 293ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); 294ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_pop_buffer_state (yyscan_t yyscanner ); 295ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 296ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void parse_events_ensure_buffer_stack (yyscan_t yyscanner ); 297ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void parse_events__load_buffer_state (yyscan_t yyscanner ); 298ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void parse_events__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); 299ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 300ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_FLUSH_BUFFER parse_events__flush_buffer(YY_CURRENT_BUFFER ,yyscanner) 301ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 302ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); 303ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); 304ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); 305ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 306ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid *parse_events_alloc (yy_size_t ,yyscan_t yyscanner ); 307ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid *parse_events_realloc (void *,yy_size_t ,yyscan_t yyscanner ); 308ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_free (void * ,yyscan_t yyscanner ); 309ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 310ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yy_new_buffer parse_events__create_buffer 311ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 312ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yy_set_interactive(is_interactive) \ 313ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 314ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! YY_CURRENT_BUFFER ){ \ 315ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_ensure_buffer_stack (yyscanner); \ 316ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = \ 317ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ 318ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 319ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 320ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 321ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 322ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yy_set_bol(at_bol) \ 323ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 324ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! YY_CURRENT_BUFFER ){\ 325ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_ensure_buffer_stack (yyscanner); \ 326ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = \ 327ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ 328ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 329ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 330ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 331ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 332ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 333ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 334ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Begin user sect3 */ 335ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 336ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef unsigned char YY_CHAR; 337ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 338ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengtypedef int yy_state_type; 339ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 340ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yytext_ptr yytext_r 341ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 342ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yy_state_type yy_get_previous_state (yyscan_t yyscanner ); 343ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); 344ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yy_get_next_buffer (yyscan_t yyscanner ); 345ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); 346ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 347ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Done after the current pattern has been matched and before the 348ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * corresponding action - sets up yytext. 349ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 350ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_DO_BEFORE_ACTION \ 351ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yytext_ptr = yy_bp; \ 352ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyleng = (size_t) (yy_cp - yy_bp); \ 353ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_hold_char = *yy_cp; \ 354ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yy_cp = '\0'; \ 355ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yy_cp; 356ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 357ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_NUM_RULES 66 358ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_END_OF_BUFFER 67 359ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* This struct is not used in this scanner, 360ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng but its presence is necessary. */ 361ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstruct yy_trans_info 362ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 363ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng flex_int32_t yy_verify; 364ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng flex_int32_t yy_nxt; 365ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng }; 366ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int16_t yy_accept[900] = 367ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 368ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 0, 0, 0, 0, 0, 67, 66, 369ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 60, 52, 55, 54, 53, 49, 49, 56, 59, 51, 370ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 371ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 52, 52, 52, 51, 52, 52, 52, 52, 372ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 57, 58, 65, 63, 63, 62, 61, 46, 44, 45, 373ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 374ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 375ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 3, 3, 4, 4, 52, 49, 0, 51, 52, 376ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 27, 52, 52, 52, 52, 52, 52, 52, 377ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 52, 52, 20, 52, 0, 52, 52, 52, 378ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 379ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 0, 52, 52, 52, 52, 52, 52, 52, 52, 380ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 52, 52, 48, 48, 52, 52, 52, 52, 381ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 63, 0, 61, 46, 46, 46, 46, 46, 46, 27, 382ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 383ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 20, 46, 46, 46, 46, 46, 46, 46, 46, 384ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 385ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 3, 386ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 1, 50, 52, 52, 0, 52, 52, 387ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 30, 52, 52, 52, 52, 52, 52, 0, 52, 388ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 52, 0, 52, 52, 52, 0, 25, 26, 389ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 390ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 52, 52, 52, 52, 52, 36, 52, 52, 391ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 48, 48, 52, 52, 52, 52, 52, 64, 61, 46, 392ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 30, 46, 46, 46, 46, 393ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 394ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 25, 26, 46, 46, 46, 46, 46, 46, 395ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 36, 46, 46, 46, 46, 46, 46, 46, 396ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 0, 2, 1, 52, 52, 0, 0, 397ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 52, 52, 0, 52, 52, 0, 52, 0, 398ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 28, 52, 52, 52, 0, 29, 52, 52, 25, 26, 399ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 32, 52, 47, 52, 52, 37, 31, 52, 52, 32, 400ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 401ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 52, 52, 52, 52, 52, 46, 46, 46, 46, 402ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 403ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 28, 46, 46, 46, 46, 29, 46, 46, 25, 404ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 26, 32, 46, 46, 46, 37, 41, 31, 46, 46, 405ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 32, 46, 46, 46, 46, 46, 46, 2, 0, 406ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 0, 0, 0, 0, 52, 52, 52, 52, 0, 407ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 0, 0, 52, 28, 24, 52, 52, 29, 408ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 52, 32, 52, 52, 52, 52, 0, 52, 0, 409ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 33, 0, 33, 46, 46, 46, 46, 46, 410ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 411ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 412ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 28, 24, 46, 46, 29, 46, 46, 32, 413ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 414ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 33, 46, 33, 0, 52, 0, 0, 0, 0, 52, 415ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 30, 0, 0, 52, 0, 0, 0, 5, 52, 416ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 17, 0, 52, 0, 52, 0, 37, 0, 52, 0, 417ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 0, 46, 46, 46, 46, 46, 46, 46, 418ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 30, 46, 46, 38, 46, 46, 46, 46, 5, 419ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 17, 46, 46, 46, 46, 46, 37, 46, 42, 420ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 0, 52, 0, 0, 0, 421ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 0, 52, 0, 0, 0, 52, 0, 0, 422ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 423ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 52, 0, 52, 0, 52, 0, 0, 52, 0, 424ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 52, 0, 46, 46, 46, 46, 46, 46, 46, 425ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 39, 40, 46, 46, 426ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 427ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 52, 0, 0, 0, 52, 52, 428ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 429ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 0, 52, 0, 52, 0, 0, 34, 0, 52, 430ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 46, 46, 46, 46, 46, 46, 46, 46, 431ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 11, 46, 46, 46, 46, 46, 46, 46, 46, 432ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 34, 46, 46, 46, 433ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 434ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 52, 0, 52, 0, 0, 0, 0, 0, 0, 435ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 15, 0, 0, 52, 0, 52, 0, 52, 0, 0, 436ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 0, 52, 0, 0, 46, 46, 46, 46, 46, 437ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 15, 46, 46, 46, 46, 438ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 439ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 0, 0, 0, 0, 13, 0, 0, 0, 5, 440ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 52, 0, 21, 0, 0, 34, 14, 441ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 52, 0, 16, 46, 46, 46, 46, 46, 46, 13, 442ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 5, 46, 46, 46, 46, 46, 21, 443ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 34, 14, 46, 46, 16, 52, 0, 0, 444ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 445ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 446ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 17, 52, 0, 46, 46, 46, 46, 46, 43, 447ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 46, 46, 46, 17, 448ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 0, 0, 0, 0, 0, 10, 0, 0, 449ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 8, 19, 18, 0, 0, 46, 46, 450ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 10, 46, 46, 46, 46, 46, 8, 451ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 19, 18, 46, 46, 0, 0, 0, 0, 12, 0, 452ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 453ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 12, 46, 46, 46, 46, 46, 46, 46, 454ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 0, 0, 0, 0, 0, 21, 0, 0, 455ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 456ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 0, 46, 46, 46, 46, 46, 21, 457ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 458ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 0, 0, 0, 0, 46, 46, 46, 46, 459ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 46, 46, 46, 46, 22, 0, 9, 20, 460ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 23, 0, 0, 35, 0, 0, 22, 46, 9, 20, 461ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 23, 46, 46, 35, 46, 46, 0, 0, 0, 0, 462ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 46, 46, 46, 46, 46, 0, 0, 0, 0, 463ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 46, 46, 46, 46, 46, 11, 7, 0, 0, 464ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 11, 7, 46, 46, 46, 6, 0, 0, 6, 465ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 46, 0, 0, 46, 46, 0, 46, 0 466ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 467ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 468ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 469ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int32_t yy_ec[256] = 470ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 471ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 472ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 473ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 474ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 475ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 3, 1, 4, 5, 1, 6, 7, 8, 9, 476ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 10, 10, 10, 10, 10, 10, 10, 11, 1, 1, 477ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 12, 1, 3, 1, 13, 14, 15, 16, 13, 13, 478ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 17, 17, 18, 3, 3, 19, 3, 3, 3, 3, 479ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 3, 20, 17, 21, 3, 3, 3, 3, 3, 3, 480ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 22, 1, 23, 24, 25, 26, 481ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 482ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 483ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 37, 38, 3, 39, 40, 41, 42, 43, 44, 45, 484ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 46, 3, 47, 1, 48, 1, 1, 1, 1, 1, 485ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 486ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 487ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 488ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 489ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 490ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 491ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 492ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 493ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 494ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 495ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 496ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 497ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 498ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1 499ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 500ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 501ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int32_t yy_meta[49] = 502ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 503ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 2, 3, 4, 5, 6, 6, 6, 6, 504ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 6, 6, 6, 6, 2, 2, 2, 2, 505ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2, 2, 6, 6, 6, 6, 6, 6, 2, 2, 506ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 507ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2, 2, 2, 2, 2, 2, 5, 3 508ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 509ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 510ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int16_t yy_base[912] = 511ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 512ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 47, 91, 136, 0, 57, 60, 1304, 1305, 513ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1305, 0, 1305, 1305, 1305, 43, 60, 1305, 1305, 73, 514ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 169, 1267, 63, 1275, 40, 37, 72, 92, 1266, 1277, 515ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 182, 77, 50, 1262, 1260, 203, 239, 42, 1274, 1257, 516ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1305, 1305, 1305, 182, 112, 1305, 84, 1290, 1305, 1305, 517ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 263, 1271, 89, 196, 183, 188, 190, 235, 193, 82, 518ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 189, 256, 201, 264, 220, 192, 251, 301, 218, 211, 519ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 212, 190, 238, 1305, 1245, 0, 290, 0, 93, 1251, 520ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1251, 1285, 0, 1274, 1260, 1262, 1255, 246, 1262, 1260, 521ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1243, 1257, 1245, 1238, 0, 1254, 1237, 1258, 1241, 1233, 522ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 523ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1232, 1232, 1253, 1237, 1230, 307, 1246, 1236, 1232, 294, 524ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1240, 1225, 1235, 1236, 1235, 308, 1234, 247, 1220, 1228, 525ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 311, 0, 298, 1253, 0, 1234, 219, 299, 1251, 1250, 526ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 298, 317, 327, 245, 335, 216, 278, 336, 339, 342, 527ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 341, 1249, 343, 1212, 344, 345, 346, 348, 1211, 350, 528ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 351, 349, 353, 284, 354, 352, 362, 357, 356, 360, 529ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 55, 365, 366, 1224, 378, 367, 376, 368, 390, 360, 530ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1244, 1201, 1200, 0, 0, 1224, 1205, 100, 1218, 1217, 531ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1214, 0, 1206, 1236, 1210, 1198, 1233, 1203, 1202, 1221, 532ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1199, 1199, 1198, 1197, 1216, 1202, 1187, 383, 0, 0, 533ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 534ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1201, 1189, 1214, 1185, 1186, 1182, 1194, 0, 1193, 1191, 535ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 348, 391, 1193, 1183, 1177, 1182, 1173, 0, 1305, 392, 536ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 398, 385, 405, 407, 412, 1208, 414, 1207, 415, 418, 537ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1206, 417, 1176, 119, 419, 421, 422, 1175, 423, 420, 538ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 424, 404, 1203, 1202, 431, 433, 437, 428, 435, 438, 539ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 439, 444, 1201, 447, 448, 453, 434, 457, 458, 459, 540ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 463, 468, 464, 1199, 0, 0, 1199, 1164, 452, 451, 541ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1163, 1161, 1164, 1174, 1173, 1170, 1169, 455, 1168, 1170, 542ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 1147, 1169, 1150, 1166, 0, 1184, 1149, 1305, 1305, 543ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1147, 1147, 1305, 1162, 1145, 1156, 0, 1177, 1154, 1153, 544ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 545ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1154, 1136, 1143, 1149, 1170, 1147, 1168, 477, 463, 460, 546ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 484, 486, 489, 487, 1147, 490, 493, 494, 475, 501, 547ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1147, 1165, 498, 499, 502, 1145, 1163, 1162, 503, 0, 548ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 506, 508, 504, 509, 510, 1161, 1160, 1159, 513, 549ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 514, 1136, 1137, 515, 524, 525, 1156, 526, 0, 1139, 550ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1117, 1117, 1134, 1133, 1115, 1127, 1113, 1117, 1121, 1104, 551ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1144, 1103, 499, 1116, 1106, 1305, 0, 1104, 1104, 1305, 552ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1118, 1100, 0, 1136, 1099, 1134, 1098, 1109, 1095, 1089, 553ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1100, 1106, 1092, 1106, 0, 1109, 527, 1088, 1105, 1104, 554ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1086, 529, 530, 531, 533, 1079, 1119, 535, 534, 515, 555ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 556ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1092, 546, 0, 1117, 549, 554, 0, 1096, 550, 1115, 557ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1114, 555, 1113, 557, 1089, 562, 560, 1070, 566, 568, 558ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 563, 1090, 1109, 1094, 1087, 1088, 1085, 1084, 1067, 1071, 559ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1079, 571, 1080, 539, 1063, 1066, 1077, 1072, 0, 1069, 560ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 1053, 1073, 1069, 1065, 1067, 0, 1071, 1068, 1067, 561ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1068, 1064, 1055, 1069, 577, 1064, 1061, 1060, 1043, 570, 562ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 572, 582, 1058, 545, 602, 567, 1045, 1056, 1051, 1074, 563ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 584, 1073, 1031, 580, 1048, 586, 1047, 1069, 1050, 1067, 564ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 588, 1046, 607, 609, 1036, 1055, 1027, 1037, 1036, 1026, 565ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1039, 1027, 585, 1022, 1027, 1029, 1032, 1053, 1032, 1022, 566ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 567ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1016, 1017, 1028, 1011, 1028, 1013, 1026, 1006, 1017, 1012, 568ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1004, 1039, 1006, 1028, 578, 1011, 1010, 1000, 613, 616, 569ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 591, 618, 620, 1004, 1006, 1009, 1030, 1029, 1028, 1007, 570ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 997, 991, 619, 1004, 622, 1005, 624, 1004, 984, 623, 571ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 991, 626, 1019, 986, 991, 994, 993, 977, 991, 976, 572ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 980, 984, 0, 987, 973, 984, 971, 977, 982, 985, 573ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 971, 972, 974, 962, 967, 960, 967, 973, 972, 967, 574ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 972, 971, 627, 968, 967, 951, 628, 629, 956, 960, 575ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 631, 985, 962, 948, 959, 946, 952, 957, 960, 632, 576ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 948, 634, 939, 635, 938, 945, 637, 951, 638, 952, 577ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 578ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 951, 938, 949, 968, 932, 931, 930, 929, 941, 923, 579ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1305, 926, 924, 959, 936, 925, 927, 920, 925, 917, 580ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 917, 916, 912, 908, 920, 636, 927, 946, 910, 909, 581ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 640, 908, 907, 919, 901, 0, 904, 902, 937, 914, 582ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 639, 906, 641, 905, 897, 642, 897, 643, 890, 902, 583ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 898, 892, 904, 890, 890, 1305, 902, 889, 896, 1305, 584ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 895, 897, 884, 887, 881, 0, 880, 880, 0, 1305, 585ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 892, 893, 1305, 644, 876, 888, 874, 874, 645, 0, 586ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 886, 873, 880, 0, 879, 881, 868, 649, 866, 901, 587ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 864, 864, 898, 0, 652, 877, 0, 896, 869, 876, 588ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 589ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 859, 870, 856, 868, 853, 856, 869, 886, 850, 849, 590ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 848, 1305, 882, 852, 880, 853, 860, 843, 854, 875, 591ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 839, 851, 836, 839, 852, 869, 657, 833, 832, 0, 592ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 866, 836, 848, 831, 825, 824, 825, 1305, 828, 838, 593ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 826, 819, 659, 0, 1305, 1305, 650, 833, 838, 821, 594ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 815, 814, 815, 0, 818, 828, 816, 809, 664, 845, 595ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 0, 656, 822, 829, 811, 812, 820, 1305, 819, 596ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 813, 802, 807, 817, 800, 801, 810, 796, 816, 798, 597ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 799, 807, 0, 806, 800, 789, 794, 804, 787, 788, 598ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 797, 783, 808, 780, 779, 792, 791, 1305, 776, 791, 599ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 600ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 777, 789, 785, 801, 782, 753, 742, 752, 750, 0, 601ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 733, 102, 163, 271, 558, 646, 626, 643, 635, 651, 602ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 653, 661, 660, 672, 673, 676, 661, 671, 663, 665, 603ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 666, 674, 672, 683, 684, 687, 1305, 675, 1305, 1305, 604ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1305, 686, 673, 1305, 693, 678, 0, 681, 0, 0, 605ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 0, 692, 679, 0, 698, 683, 687, 688, 698, 701, 606ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 690, 692, 693, 703, 706, 695, 693, 708, 699, 703, 607ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 701, 698, 713, 704, 708, 706, 1305, 1305, 717, 717, 608ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 704, 0, 0, 720, 720, 707, 1305, 713, 723, 0, 609ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 715, 725, 727, 718, 729, 720, 731, 732, 1305, 758, 610ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 611ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 764, 769, 774, 780, 786, 766, 767, 791, 797, 803, 612ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 809 613ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 614ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 615ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int16_t yy_def[912] = 616ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 617ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 1, 900, 900, 899, 5, 901, 901, 899, 899, 618ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 902, 899, 899, 899, 899, 899, 899, 899, 902, 619ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 620ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 621ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 903, 899, 899, 622ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 51, 903, 903, 903, 903, 903, 903, 903, 903, 623ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 903, 903, 903, 51, 903, 903, 903, 624ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 904, 904, 899, 905, 902, 899, 906, 36, 902, 625ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 626ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 902, 902, 899, 902, 902, 902, 627ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 628ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 902, 902, 902, 902, 902, 902, 902, 902, 629ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 37, 37, 902, 902, 902, 902, 630ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 907, 899, 903, 908, 51, 903, 903, 903, 903, 631ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 632ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 908, 903, 903, 903, 903, 908, 903, 633ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 634ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 68, 68, 903, 903, 903, 903, 904, 635ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 909, 905, 905, 910, 906, 902, 902, 899, 902, 902, 636ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 902, 902, 902, 902, 899, 902, 637ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 899, 902, 902, 902, 899, 902, 902, 638ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 639ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 640ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 37, 37, 902, 902, 902, 902, 902, 907, 899, 903, 641ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 903, 903, 903, 903, 903, 903, 903, 903, 642ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 908, 903, 903, 903, 903, 908, 903, 903, 643ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 903, 903, 903, 903, 903, 903, 903, 903, 644ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 903, 903, 903, 68, 68, 903, 903, 645ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 909, 911, 910, 902, 902, 899, 899, 646ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 899, 902, 902, 899, 902, 899, 647ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 902, 899, 902, 902, 902, 899, 899, 648ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 899, 902, 902, 902, 902, 902, 902, 37, 649ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 650ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 902, 902, 902, 902, 902, 903, 903, 908, 908, 651ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 903, 908, 903, 903, 903, 908, 903, 652ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 903, 903, 903, 908, 903, 903, 903, 908, 653ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 903, 903, 903, 903, 903, 903, 903, 903, 654ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 68, 908, 903, 903, 903, 903, 903, 911, 899, 655ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 899, 899, 899, 902, 902, 902, 902, 899, 656ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 899, 899, 902, 899, 902, 902, 902, 899, 657ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 902, 902, 902, 902, 902, 902, 899, 902, 899, 658ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 902, 899, 902, 908, 903, 908, 908, 908, 659ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 903, 903, 903, 908, 903, 903, 903, 908, 660ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 661ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 908, 903, 903, 903, 908, 908, 903, 903, 662ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 903, 903, 908, 903, 903, 908, 903, 903, 663ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 903, 899, 902, 899, 899, 899, 899, 902, 664ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 899, 899, 902, 899, 899, 899, 902, 902, 665ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 902, 899, 902, 899, 902, 899, 902, 899, 666ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 899, 908, 903, 908, 908, 908, 908, 903, 667ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 908, 908, 903, 903, 908, 908, 908, 903, 668ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 908, 903, 908, 903, 908, 903, 908, 903, 669ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 903, 903, 908, 899, 902, 899, 899, 899, 670ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 899, 902, 899, 899, 899, 902, 899, 899, 671ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 672ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 902, 899, 902, 899, 902, 899, 899, 902, 899, 673ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 902, 899, 908, 903, 908, 908, 908, 903, 903, 674ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 903, 908, 908, 908, 903, 903, 903, 908, 675ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 903, 908, 903, 908, 903, 908, 908, 903, 676ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 903, 908, 902, 899, 899, 899, 902, 902, 677ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 902, 899, 899, 899, 899, 899, 899, 899, 678ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 902, 899, 902, 899, 899, 902, 899, 902, 679ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 903, 908, 908, 908, 903, 903, 908, 908, 680ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 903, 908, 908, 908, 908, 908, 908, 908, 903, 681ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 903, 908, 903, 908, 908, 903, 908, 903, 908, 682ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 683ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 902, 899, 902, 899, 899, 899, 899, 899, 899, 684ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 902, 899, 902, 899, 902, 899, 899, 685ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 902, 899, 899, 903, 908, 903, 908, 908, 686ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 908, 908, 908, 908, 908, 908, 903, 908, 687ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 903, 908, 908, 903, 908, 903, 908, 908, 688ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 899, 899, 899, 899, 899, 899, 899, 899, 689ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 902, 899, 902, 899, 899, 902, 899, 690ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 899, 899, 903, 908, 908, 908, 908, 903, 908, 691ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 908, 903, 908, 903, 692ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 903, 908, 903, 908, 908, 902, 899, 899, 693ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 694ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 902, 899, 695ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 902, 899, 903, 908, 908, 908, 908, 903, 696ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 903, 908, 908, 908, 697ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 903, 908, 899, 899, 899, 899, 899, 899, 899, 899, 698ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 902, 899, 899, 899, 899, 908, 908, 699ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 908, 908, 908, 903, 700ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 899, 899, 899, 899, 899, 899, 701ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 908, 908, 702ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 703ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 899, 899, 899, 899, 899, 899, 899, 899, 704ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 705ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 908, 908, 908, 908, 908, 908, 706ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 899, 899, 899, 899, 707ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 908, 908, 908, 908, 708ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 899, 899, 899, 899, 709ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 908, 908, 908, 908, 710ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 908, 908, 908, 908, 899, 899, 899, 899, 711ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 908, 908, 908, 908, 908, 899, 899, 899, 899, 712ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 908, 908, 908, 908, 908, 899, 899, 899, 899, 713ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 908, 908, 908, 908, 908, 899, 899, 899, 908, 714ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908, 908, 899, 899, 908, 908, 899, 908, 0, 899, 715ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 716ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 717ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899 718ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 719ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 720ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int16_t yy_nxt[1354] = 721ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 722ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 723ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 18, 19, 12, 12, 12, 20, 21, 22, 23, 24, 724ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 12, 12, 25, 26, 27, 28, 29, 30, 12, 21, 725ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 31, 12, 21, 32, 33, 34, 35, 36, 37, 38, 726ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 39, 21, 12, 40, 12, 12, 41, 42, 10, 77, 727ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 77, 77, 77, 44, 45, 45, 45, 46, 73, 125, 728ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 74, 73, 74, 74, 86, 74, 77, 77, 77, 77, 729ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 82, 83, 108, 87, 88, 89, 109, 90, 91, 117, 730ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 110, 84, 118, 254, 106, 47, 125, 78, 79, 79, 731ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 47, 47, 10, 125, 92, 80, 97, 44, 45, 45, 732ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 733ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 45, 46, 79, 75, 74, 79, 75, 74, 93, 94, 734ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 79, 95, 98, 107, 79, 76, 147, 96, 121, 121, 735ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 121, 121, 123, 125, 128, 269, 832, 123, 123, 47, 736ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 270, 76, 322, 99, 47, 47, 10, 11, 48, 49, 737ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 14, 50, 16, 17, 17, 17, 18, 19, 48, 48, 738ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 48, 51, 52, 53, 54, 55, 48, 48, 56, 57, 739ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 58, 59, 60, 61, 48, 52, 62, 48, 52, 63, 740ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 64, 65, 66, 67, 68, 69, 70, 52, 48, 71, 741ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 48, 48, 41, 42, 79, 79, 102, 125, 121, 121, 742ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 121, 121, 125, 125, 125, 171, 125, 144, 79, 833, 743ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 744ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 79, 103, 129, 130, 125, 79, 104, 153, 132, 745ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 79, 148, 133, 145, 131, 125, 125, 105, 79, 79, 746ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 134, 125, 125, 125, 113, 122, 135, 136, 160, 747ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 137, 138, 79, 168, 146, 79, 172, 154, 227, 125, 748ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 79, 114, 158, 171, 79, 115, 115, 115, 115, 125, 749ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 169, 115, 115, 115, 115, 166, 159, 139, 167, 220, 750ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 149, 115, 115, 115, 115, 116, 115, 125, 125, 214, 751ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 182, 140, 141, 161, 142, 225, 150, 162, 126, 126, 752ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 143, 151, 125, 215, 172, 127, 155, 182, 125, 163, 753ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 156, 152, 126, 834, 157, 126, 77, 77, 77, 77, 754ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 755ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 126, 226, 125, 125, 126, 125, 245, 164, 164, 164, 756ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 164, 198, 130, 164, 164, 164, 164, 121, 121, 121, 757ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 121, 125, 204, 164, 164, 164, 164, 165, 164, 205, 758ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 211, 125, 199, 206, 115, 212, 219, 200, 221, 125, 759ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 219, 219, 125, 223, 125, 125, 125, 125, 125, 760ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 224, 125, 125, 125, 125, 125, 242, 125, 226, 761ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 234, 229, 125, 171, 125, 232, 239, 125, 762ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 125, 300, 115, 228, 226, 230, 243, 235, 763ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 252, 231, 244, 240, 246, 247, 236, 241, 237, 764ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 248, 251, 256, 259, 125, 301, 125, 249, 260, 253, 765ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 766ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 257, 250, 125, 255, 164, 258, 172, 262, 289, 125, 767ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 309, 125, 261, 290, 307, 310, 125, 115, 125, 125, 768ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 263, 125, 125, 125, 125, 125, 125, 125, 125, 330, 769ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 208, 311, 125, 312, 331, 125, 327, 125, 308, 125, 770ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 313, 125, 125, 125, 316, 317, 328, 293, 125, 314, 771ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 320, 125, 125, 323, 324, 325, 332, 125, 318, 342, 772ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 164, 343, 125, 125, 329, 337, 334, 125, 125, 333, 773ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 338, 335, 125, 339, 352, 354, 353, 336, 340, 363, 774ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 341, 125, 344, 164, 390, 388, 355, 389, 125, 364, 775ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 345, 125, 125, 391, 253, 125, 125, 400, 776ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 777ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 347, 346, 125, 125, 348, 125, 125, 125, 125, 401, 778ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 395, 125, 125, 125, 387, 397, 125, 125, 125, 779ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 399, 405, 392, 398, 394, 393, 412, 402, 125, 125, 780ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 436, 125, 125, 125, 414, 125, 125, 125, 781ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 417, 409, 406, 404, 437, 410, 411, 413, 467, 416, 782ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 421, 423, 125, 125, 460, 419, 420, 125, 125, 783ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 468, 125, 462, 465, 125, 461, 125, 125, 455, 253, 784ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 125, 496, 125, 493, 125, 497, 466, 525, 785ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 835, 125, 125, 526, 125, 470, 521, 480, 125, 471, 786ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 474, 125, 472, 484, 476, 478, 494, 520, 483, 787ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 788ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 481, 515, 423, 522, 535, 519, 125, 529, 523, 527, 789ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 528, 125, 540, 125, 533, 551, 537, 125, 573, 552, 790ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 579, 125, 125, 125, 580, 125, 125, 125, 542, 791ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 125, 125, 543, 125, 125, 577, 125, 125, 792ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 793ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 836, 578, 597, 125, 253, 590, 125, 626, 581, 582, 794ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 594, 125, 592, 646, 641, 837, 599, 639, 648, 628, 795ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 643, 720, 674, 838, 839, 688, 631, 679, 731, 715, 796ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 690, 693, 774, 776, 727, 695, 775, 788, 777, 790, 797ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 840, 789, 841, 842, 791, 843, 760, 844, 844, 845, 798ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 799ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 847, 848, 849, 846, 850, 851, 852, 853, 854, 854, 800ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 855, 857, 858, 859, 856, 860, 861, 862, 863, 864, 801ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 802ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 803ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 804ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 895, 896, 878, 897, 883, 898, 887, 890, 43, 43, 805ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 43, 43, 43, 43, 72, 72, 72, 72, 72, 72, 806ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 76, 175, 218, 831, 76, 124, 830, 124, 829, 124, 807ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 170, 170, 828, 170, 170, 170, 173, 173, 173, 173, 808ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 173, 173, 125, 827, 125, 407, 125, 264, 264, 264, 809ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 810ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 264, 264, 264, 266, 266, 826, 266, 825, 266, 349, 811ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 349, 824, 349, 823, 349, 822, 821, 820, 819, 818, 812ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 817, 370, 816, 815, 814, 813, 812, 811, 810, 809, 813ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 808, 807, 806, 331, 805, 804, 803, 802, 801, 800, 814ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 799, 798, 797, 796, 795, 794, 290, 793, 792, 125, 815ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 816ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 817ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 763, 762, 761, 759, 758, 757, 756, 755, 754, 125, 818ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 819ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 820ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 821ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 733, 732, 125, 730, 729, 125, 728, 726, 725, 724, 822ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 723, 722, 721, 719, 718, 717, 716, 714, 713, 712, 823ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 824ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 701, 700, 699, 698, 697, 696, 694, 692, 691, 689, 825ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 687, 686, 685, 684, 683, 682, 681, 680, 678, 677, 826ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 676, 675, 673, 672, 671, 670, 669, 668, 667, 666, 827ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 828ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 655, 654, 653, 652, 651, 650, 649, 647, 645, 644, 829ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 642, 640, 638, 637, 636, 635, 634, 633, 632, 125, 830ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 630, 629, 627, 331, 330, 625, 624, 623, 622, 621, 831ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 832ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 833ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 610, 609, 608, 607, 606, 605, 604, 208, 603, 290, 834ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 289, 602, 601, 600, 598, 596, 595, 593, 591, 589, 835ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 588, 587, 586, 125, 125, 585, 584, 583, 576, 575, 836ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 574, 403, 572, 571, 570, 569, 568, 567, 566, 565, 837ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 838ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 554, 553, 550, 549, 548, 547, 546, 545, 366, 544, 839ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 541, 125, 539, 125, 538, 536, 534, 125, 125, 532, 840ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 531, 530, 524, 518, 517, 516, 330, 514, 513, 512, 841ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 842ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 843ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 501, 500, 499, 498, 495, 492, 491, 490, 489, 488, 844ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 289, 487, 486, 125, 485, 482, 479, 477, 475, 125, 845ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 473, 125, 469, 464, 463, 459, 458, 457, 456, 454, 846ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 453, 385, 452, 451, 450, 449, 448, 447, 446, 445, 847ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 444, 443, 442, 441, 440, 439, 438, 435, 434, 433, 848ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 432, 431, 208, 430, 429, 428, 427, 426, 425, 424, 849ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 422, 418, 164, 415, 125, 125, 408, 125, 407, 125, 850ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 403, 396, 386, 385, 384, 383, 382, 381, 380, 115, 851ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 852ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 369, 368, 367, 366, 365, 362, 361, 360, 359, 358, 853ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 854ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 357, 356, 351, 350, 265, 125, 125, 125, 326, 321, 855ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 319, 315, 125, 306, 305, 304, 303, 302, 299, 298, 856ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 297, 296, 295, 294, 293, 292, 291, 288, 287, 286, 857ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 858ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 275, 274, 273, 272, 271, 268, 267, 174, 174, 265, 859ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 164, 238, 233, 125, 125, 222, 124, 125, 217, 216, 860ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 213, 115, 210, 209, 208, 207, 203, 202, 201, 197, 861ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 862ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 186, 185, 184, 182, 183, 181, 180, 179, 83, 178, 863ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 177, 176, 174, 124, 125, 120, 119, 112, 111, 101, 864ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 865ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 100, 85, 81, 899, 9, 899, 899, 899, 899, 899, 866ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 867ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 868ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 869ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 870ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899 871ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 872ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 873ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic yyconst flex_int16_t yy_chk[1354] = 874ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 0, 875ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 876ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 877ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 878ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 879ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1, 1, 1, 1, 1, 1, 1, 1, 3, 16, 880ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 16, 16, 16, 3, 3, 3, 3, 3, 7, 161, 881ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 7, 8, 7, 8, 25, 8, 17, 17, 17, 17, 882ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 23, 23, 33, 25, 26, 26, 33, 26, 26, 38, 883ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 33, 23, 38, 161, 32, 3, 60, 16, 20, 20, 884ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 3, 3, 4, 53, 27, 20, 28, 4, 4, 4, 885ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 886ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 4, 4, 20, 7, 7, 20, 8, 8, 27, 27, 887ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 20, 27, 28, 32, 20, 79, 60, 27, 45, 45, 888ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 45, 45, 47, 234, 53, 178, 812, 47, 47, 4, 889ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 178, 79, 234, 28, 4, 4, 5, 5, 5, 5, 890ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 891ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 892ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 893ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 894ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 5, 5, 5, 5, 21, 21, 31, 55, 44, 44, 895ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 44, 44, 56, 61, 57, 72, 66, 59, 21, 813, 896ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 897ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 54, 21, 31, 54, 54, 63, 21, 31, 63, 55, 898ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 21, 61, 56, 59, 54, 70, 71, 31, 36, 36, 899ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 136, 56, 69, 127, 65, 36, 44, 57, 57, 66, 900ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 57, 57, 36, 70, 59, 36, 72, 63, 136, 58, 901ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 36, 36, 65, 73, 36, 37, 37, 37, 37, 134, 902ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 71, 37, 37, 37, 37, 69, 65, 58, 69, 127, 903ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 62, 37, 37, 37, 37, 37, 37, 51, 64, 118, 904ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 88, 58, 58, 67, 58, 134, 62, 67, 51, 51, 905ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 58, 62, 137, 118, 73, 51, 64, 88, 154, 67, 906ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 64, 62, 51, 814, 64, 51, 77, 77, 77, 77, 907ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 908ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 51, 137, 131, 128, 51, 68, 154, 68, 68, 68, 909ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 68, 106, 131, 68, 68, 68, 68, 121, 121, 121, 910ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 121, 132, 110, 68, 68, 68, 68, 68, 68, 110, 911ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 116, 133, 106, 110, 116, 116, 123, 106, 128, 135, 912ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 138, 123, 123, 139, 132, 141, 140, 143, 145, 146, 913ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 147, 133, 148, 152, 150, 151, 156, 153, 155, 135, 914ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 159, 158, 145, 139, 160, 170, 157, 143, 150, 162, 915ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 163, 166, 168, 211, 211, 138, 135, 140, 153, 146, 916ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 167, 159, 141, 153, 151, 155, 156, 147, 152, 148, 917ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 157, 158, 163, 166, 169, 212, 220, 157, 167, 160, 918ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 919ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 165, 157, 221, 162, 165, 165, 170, 168, 198, 223, 920ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 222, 224, 167, 198, 220, 222, 225, 212, 227, 229, 921ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 169, 232, 230, 235, 240, 236, 237, 239, 241, 242, 922ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 212, 223, 248, 224, 242, 245, 239, 246, 221, 249, 923ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 225, 247, 250, 251, 229, 230, 240, 247, 252, 227, 924ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 232, 254, 255, 235, 236, 237, 245, 256, 230, 257, 925ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 257, 258, 259, 260, 241, 251, 248, 261, 263, 246, 926ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 252, 249, 262, 254, 269, 270, 269, 250, 255, 278, 927ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 256, 308, 259, 258, 310, 309, 270, 309, 311, 278, 928ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 312, 314, 260, 313, 316, 310, 258, 317, 318, 319, 929ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 930ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 262, 261, 323, 324, 263, 320, 325, 329, 334, 319, 931ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 332, 314, 333, 335, 336, 308, 316, 340, 341, 344, 932ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 318, 324, 311, 317, 313, 312, 334, 320, 345, 346, 933ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 348, 387, 363, 392, 393, 394, 336, 395, 399, 398, 934ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 341, 329, 325, 323, 363, 332, 333, 335, 400, 340, 935ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 402, 346, 348, 405, 409, 392, 344, 345, 406, 412, 936ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 400, 414, 395, 398, 417, 394, 416, 421, 387, 393, 937ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 419, 466, 420, 434, 460, 432, 461, 434, 399, 464, 938ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 815, 455, 515, 464, 474, 402, 462, 416, 471, 405, 939ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 476, 409, 481, 406, 420, 412, 414, 432, 461, 419, 940ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 941ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 417, 455, 421, 462, 474, 460, 465, 466, 462, 465, 942ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 465, 483, 481, 484, 471, 493, 476, 519, 515, 493, 943ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 520, 521, 522, 533, 523, 521, 535, 540, 537, 483, 944ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 542, 573, 577, 578, 484, 581, 590, 519, 592, 594, 945ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 626, 597, 599, 641, 631, 643, 646, 648, 674, 679, 946ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 816, 520, 540, 688, 577, 533, 695, 573, 522, 523, 947ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 537, 727, 535, 597, 592, 817, 542, 590, 599, 578, 948ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 594, 679, 626, 818, 819, 641, 581, 631, 695, 674, 949ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 643, 646, 743, 747, 688, 648, 743, 759, 747, 763, 950ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 820, 759, 821, 822, 763, 823, 727, 824, 825, 826, 951ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 952ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 827, 828, 829, 826, 830, 831, 832, 833, 834, 835, 953ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 836, 838, 842, 843, 836, 845, 846, 848, 852, 853, 954ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 955ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 956ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 875, 876, 879, 880, 881, 884, 885, 886, 888, 889, 957ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 891, 892, 893, 894, 895, 896, 897, 898, 900, 900, 958ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 900, 900, 900, 900, 901, 901, 901, 901, 901, 901, 959ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 902, 906, 907, 811, 902, 903, 809, 903, 808, 903, 960ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 904, 904, 807, 904, 904, 904, 905, 905, 905, 905, 961ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 905, 905, 908, 806, 908, 805, 908, 909, 909, 909, 962ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 963ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 909, 909, 909, 910, 910, 804, 910, 803, 910, 911, 964ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 911, 802, 911, 801, 911, 800, 799, 797, 796, 795, 965ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 966ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 784, 782, 781, 780, 779, 778, 777, 776, 775, 774, 967ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 773, 772, 771, 770, 768, 767, 766, 765, 764, 760, 968ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 758, 757, 756, 755, 753, 752, 751, 750, 749, 748, 969ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 742, 741, 740, 739, 737, 736, 735, 734, 733, 732, 970ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 731, 729, 728, 726, 725, 724, 723, 722, 721, 720, 971ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 719, 718, 717, 716, 715, 714, 713, 711, 710, 709, 972ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 973ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 974ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 698, 696, 693, 692, 691, 690, 689, 687, 686, 685, 975ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 683, 682, 681, 678, 677, 676, 675, 672, 671, 668, 976ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 667, 665, 664, 663, 662, 661, 659, 658, 657, 655, 977ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 654, 653, 652, 651, 650, 649, 647, 645, 644, 642, 978ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 640, 639, 638, 637, 635, 634, 633, 632, 630, 629, 979ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 628, 627, 625, 624, 623, 622, 621, 620, 619, 618, 980ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 617, 616, 615, 614, 613, 612, 610, 609, 608, 607, 981ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 606, 605, 604, 603, 602, 601, 600, 598, 596, 595, 982ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 593, 591, 589, 588, 587, 586, 585, 584, 583, 582, 983ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 580, 579, 576, 575, 574, 572, 571, 570, 569, 568, 984ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 985ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 986ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 557, 556, 555, 554, 552, 551, 550, 549, 548, 547, 987ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 546, 545, 544, 543, 541, 539, 538, 536, 534, 532, 988ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 531, 530, 529, 528, 527, 526, 525, 524, 518, 517, 989ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 516, 514, 513, 512, 511, 510, 509, 508, 507, 506, 990ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 991ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 495, 494, 492, 491, 490, 489, 488, 487, 486, 485, 992ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 482, 480, 479, 478, 477, 475, 473, 472, 470, 469, 993ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 468, 467, 463, 459, 458, 457, 456, 454, 453, 452, 994ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 451, 450, 449, 448, 446, 445, 444, 443, 442, 440, 995ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 996ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 438, 437, 436, 435, 433, 431, 430, 429, 428, 427, 997ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 426, 425, 424, 423, 422, 418, 415, 413, 411, 410, 998ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 408, 404, 401, 397, 396, 391, 390, 389, 388, 386, 999ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 1000ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 374, 372, 371, 369, 368, 365, 364, 362, 361, 360, 1001ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 1002ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 347, 343, 342, 339, 338, 337, 328, 327, 326, 322, 1003ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 321, 315, 307, 306, 305, 304, 303, 302, 301, 300, 1004ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 299, 298, 296, 295, 294, 292, 291, 288, 287, 285, 1005ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 284, 283, 282, 280, 279, 277, 276, 275, 274, 273, 1006ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1007ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 272, 271, 268, 267, 264, 253, 244, 243, 238, 233, 1008ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 231, 228, 226, 217, 216, 215, 214, 213, 210, 209, 1009ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 207, 206, 205, 204, 203, 202, 201, 197, 196, 195, 1010ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 1011ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 184, 183, 181, 180, 179, 177, 176, 173, 172, 171, 1012ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 164, 149, 144, 142, 130, 129, 126, 124, 120, 119, 1013ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 117, 115, 114, 113, 112, 111, 109, 108, 107, 105, 1014ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 104, 103, 102, 101, 100, 99, 98, 97, 96, 94, 1015ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 93, 92, 91, 90, 89, 87, 86, 85, 84, 82, 1016ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 81, 80, 75, 52, 48, 40, 39, 35, 34, 30, 1017ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1018ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 29, 24, 22, 9, 899, 899, 899, 899, 899, 899, 1019ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 1020ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 1021ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 1022ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 1023ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 899, 899, 899 1024ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } ; 1025ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1026ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* The intent behind this definition is that it'll catch 1027ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * any uses of REJECT which flex missed. 1028ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1029ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define REJECT reject_used_but_not_detected 1030ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yymore() yymore_used_but_not_detected 1031ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_MORE_ADJ 0 1032ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_RESTORE_YY_MORE_OFFSET 1033ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 1 "util/parse-events.l" 1034ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 8 "util/parse-events.l" 1035ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <errno.h> 1036ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include "../perf.h" 1037ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include "parse-events-bison.h" 1038ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include "parse-events.h" 1039ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1040ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengchar *parse_events_get_text(yyscan_t yyscanner); 1041ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYYSTYPE *parse_events_get_lval(yyscan_t yyscanner); 1042ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1043ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int __value(YYSTYPE *yylval, char *str, int base, int token) 1044ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1045ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng u64 num; 1046ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1047ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno = 0; 1048ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng num = strtoull(str, NULL, base); 1049ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (errno) 1050ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return PE_ERROR; 1051ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1052ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylval->num = num; 1053ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return token; 1054ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 1055ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1056ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int value(yyscan_t scanner, int base) 1057ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1058ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YYSTYPE *yylval = parse_events_get_lval(scanner); 1059ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *text = parse_events_get_text(scanner); 1060ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1061ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return __value(yylval, text, base, PE_VALUE); 1062ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 1063ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1064ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int raw(yyscan_t scanner) 1065ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1066ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YYSTYPE *yylval = parse_events_get_lval(scanner); 1067ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *text = parse_events_get_text(scanner); 1068ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1069ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return __value(yylval, text + 1, 16, PE_RAW); 1070ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 1071ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1072ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int str(yyscan_t scanner, int token) 1073ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1074ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YYSTYPE *yylval = parse_events_get_lval(scanner); 1075ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *text = parse_events_get_text(scanner); 1076ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1077ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylval->str = strdup(text); 1078ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return token; 1079ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 1080ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1081ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int sym(yyscan_t scanner, int type, int config) 1082ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1083ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YYSTYPE *yylval = parse_events_get_lval(scanner); 1084ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1085ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylval->num = (type << 16) + config; 1086ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return type == PERF_TYPE_HARDWARE ? PE_VALUE_SYM_HW : PE_VALUE_SYM_SW; 1087ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 1088ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1089ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int term(yyscan_t scanner, int type) 1090ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1091ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YYSTYPE *yylval = parse_events_get_lval(scanner); 1092ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1093ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylval->num = type; 1094ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return PE_TERM; 1095ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 1096ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1097ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1098ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1099ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1100ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* If you add a modifier you need to update check_modifier() */ 1101ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 1102 "<stdout>" 1102ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1103ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define INITIAL 0 1104ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define mem 1 1105ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define config 2 1106ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define event 3 1107ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1108ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_NO_UNISTD_H 1109ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Special case for "unistd.h", since it is non-ANSI. We include it way 1110ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * down here because we want the user's section 1 to have been scanned first. 1111ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * The user has a chance to override it with an option. 1112ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1113ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#include <unistd.h> 1114ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1115ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1116ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_EXTRA_TYPE 1117ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_EXTRA_TYPE void * 1118ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1119ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1120ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Holds the entire state of the reentrant scanner. */ 1121ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstruct yyguts_t 1122ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1123ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1124ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* User-defined. Not touched by flex. */ 1125ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_EXTRA_TYPE yyextra_r; 1126ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1127ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* The rest are the same as the globals declared in the non-reentrant scanner. */ 1128ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng FILE *yyin_r, *yyout_r; 1129ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng size_t yy_buffer_stack_top; /**< index of top of stack. */ 1130ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng size_t yy_buffer_stack_max; /**< capacity of stack. */ 1131ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ 1132ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char yy_hold_char; 1133ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_n_chars; 1134ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yyleng_r; 1135ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *yy_c_buf_p; 1136ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_init; 1137ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_start; 1138ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_did_buffer_switch_on_eof; 1139ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_start_stack_ptr; 1140ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_start_stack_depth; 1141ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int *yy_start_stack; 1142ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_state_type yy_last_accepting_state; 1143ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char* yy_last_accepting_cpos; 1144ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1145ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yylineno_r; 1146ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_flex_debug_r; 1147ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1148ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *yytext_r; 1149ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_more_flag; 1150ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_more_len; 1151ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1152ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YYSTYPE * yylval_r; 1153ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1154ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng }; /* end struct yyguts_t */ 1155ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1156ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yy_init_globals (yyscan_t yyscanner ); 1157ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1158ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* This must go here because YYSTYPE and YYLTYPE are included 1159ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * from bison output in section 1.*/ 1160ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng # define yylval yyg->yylval_r 1161ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1162ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_lex_init (yyscan_t* scanner); 1163ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1164ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); 1165ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1166ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Accessor methods to globals. 1167ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng These are made visible to non-reentrant scanners for convenience. */ 1168ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1169ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_lex_destroy (yyscan_t yyscanner ); 1170ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1171ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_debug (yyscan_t yyscanner ); 1172ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1173ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_debug (int debug_flag ,yyscan_t yyscanner ); 1174ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1175ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_EXTRA_TYPE parse_events_get_extra (yyscan_t yyscanner ); 1176ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1177ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); 1178ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1179ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengFILE *parse_events_get_in (yyscan_t yyscanner ); 1180ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1181ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_in (FILE * in_str ,yyscan_t yyscanner ); 1182ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1183ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengFILE *parse_events_get_out (yyscan_t yyscanner ); 1184ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1185ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_out (FILE * out_str ,yyscan_t yyscanner ); 1186ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1187ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_leng (yyscan_t yyscanner ); 1188ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1189ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengchar *parse_events_get_text (yyscan_t yyscanner ); 1190ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1191ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_lineno (yyscan_t yyscanner ); 1192ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1193ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_lineno (int line_number ,yyscan_t yyscanner ); 1194ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1195ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYYSTYPE * parse_events_get_lval (yyscan_t yyscanner ); 1196ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1197ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); 1198ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1199ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Macros after this point can all be overridden by user definitions in 1200ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * section 1. 1201ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1202ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1203ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_SKIP_YYWRAP 1204ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __cplusplus 1205ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengextern "C" int parse_events_wrap (yyscan_t yyscanner ); 1206ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 1207ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengextern int parse_events_wrap (yyscan_t yyscanner ); 1208ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1209ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1210ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1211ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner); 1212ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1213ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef yytext_ptr 1214ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); 1215ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1216ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1217ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef YY_NEED_STRLEN 1218ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); 1219ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1220ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1221ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_NO_INPUT 1222ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1223ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __cplusplus 1224ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yyinput (yyscan_t yyscanner ); 1225ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 1226ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int input (yyscan_t yyscanner ); 1227ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1228ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1229ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1230ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1231ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void yy_push_state (int new_state ,yyscan_t yyscanner); 1232ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1233ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void yy_pop_state (yyscan_t yyscanner ); 1234ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1235ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static int yy_top_state (yyscan_t yyscanner ); 1236ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1237ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Amount of stuff to slurp up with each read. */ 1238ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_READ_BUF_SIZE 1239ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __ia64__ 1240ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* On IA-64, the buffer size is 16k, not 8k */ 1241ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_READ_BUF_SIZE 16384 1242ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 1243ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_READ_BUF_SIZE 8192 1244ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* __ia64__ */ 1245ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1246ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1247ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Copy whatever the last rule matched to the standard output. */ 1248ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef ECHO 1249ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* This used to be an fputs(), but since the string might contain NUL's, 1250ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * we now use fwrite(). 1251ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1252ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) 1253ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1254ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1255ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 1256ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * is returned in "result". 1257ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1258ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_INPUT 1259ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_INPUT(buf,result,max_size) \ 1260ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 1261ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 1262ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int c = '*'; \ 1263ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng size_t n; \ 1264ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng for ( n = 0; n < max_size && \ 1265ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 1266ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng buf[n] = (char) c; \ 1267ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( c == '\n' ) \ 1268ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng buf[n++] = (char) c; \ 1269ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( c == EOF && ferror( yyin ) ) \ 1270ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1271ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng result = n; \ 1272ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 1273ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else \ 1274ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 1275ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno=0; \ 1276ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 1277ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 1278ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if( errno != EINTR) \ 1279ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 1280ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1281ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng break; \ 1282ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 1283ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno=0; \ 1284ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng clearerr(yyin); \ 1285ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 1286ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng }\ 1287ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng\ 1288ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1289ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1290ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1291ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* No semi-colon after return; correct usage is to write "yyterminate();" - 1292ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * we don't want an extra ';' after the "return" because that will cause 1293ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * some compilers to complain about unreachable statements. 1294ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1295ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef yyterminate 1296ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyterminate() return YY_NULL 1297ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1298ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1299ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Number of entries by which start-condition stack grows. */ 1300ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_START_STACK_INCR 1301ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_START_STACK_INCR 25 1302ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1303ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1304ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Report a fatal error. */ 1305ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_FATAL_ERROR 1306ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) 1307ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1308ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1309ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* end tables serialization structures and prototypes */ 1310ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1311ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Default declaration of generated scanner - a define so the user can 1312ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * easily add parameters. 1313ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1314ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_DECL 1315ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_DECL_IS_OURS 1 1316ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1317ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengextern int parse_events_lex \ 1318ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (YYSTYPE * yylval_param ,yyscan_t yyscanner); 1319ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1320ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_DECL int parse_events_lex \ 1321ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (YYSTYPE * yylval_param , yyscan_t yyscanner) 1322ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* !YY_DECL */ 1323ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1324ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Code executed at the beginning of each rule, after yytext and yyleng 1325ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * have been set up. 1326ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1327ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_USER_ACTION 1328ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_USER_ACTION 1329ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1330ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1331ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Code executed at the end of each rule. */ 1332ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_BREAK 1333ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_BREAK break; 1334ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1335ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1336ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_RULE_SETUP \ 1337ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_USER_ACTION 1338ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1339ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** The main scanner function which does all the work. 1340ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1341ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_DECL 1342ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1343ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register yy_state_type yy_current_state; 1344ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *yy_cp, *yy_bp; 1345ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register int yy_act; 1346ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 1347ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1348ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 89 "util/parse-events.l" 1349ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1350ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1351ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1352ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1353ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int start_token; 1354ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1355ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng start_token = parse_events_get_extra(yyscanner); 1356ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1357ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (start_token == PE_START_TERMS) 1358ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(config); 1359ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else if (start_token == PE_START_EVENTS) 1360ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(event); 1361ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1362ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (start_token) { 1363ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_set_extra(NULL, yyscanner); 1364ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return start_token; 1365ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1366ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1367ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1368ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1369ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 1370 "<stdout>" 1370ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1371ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylval = yylval_param; 1372ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1373ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( !yyg->yy_init ) 1374ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1375ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_init = 1; 1376ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1377ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef YY_USER_INIT 1378ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_USER_INIT; 1379ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 1380ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1381ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_start ) 1382ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start = 1; /* first start state */ 1383ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1384ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyin ) 1385ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyin = stdin; 1386ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1387ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyout ) 1388ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyout = stdout; 1389ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1390ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! YY_CURRENT_BUFFER ) { 1391ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_ensure_buffer_stack (yyscanner); 1392ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = 1393ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); 1394ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1395ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1396ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__load_buffer_state(yyscanner ); 1397ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1398ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1399ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( 1 ) /* loops until end-of-file is reached */ 1400ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1401ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_c_buf_p; 1402ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1403ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Support of yytext. */ 1404ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yy_cp = yyg->yy_hold_char; 1405ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1406ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* yy_bp points to the position in yy_ch_buf of the start of 1407ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * the current run. 1408ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1409ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_bp = yy_cp; 1410ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1411ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yyg->yy_start; 1412ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengyy_match: 1413ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng do 1414ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1415ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 1416ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_accept[yy_current_state] ) 1417ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1418ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_last_accepting_state = yy_current_state; 1419ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_last_accepting_cpos = yy_cp; 1420ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1421ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1422ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1423ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = (int) yy_def[yy_current_state]; 1424ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_current_state >= 900 ) 1425ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_c = yy_meta[(unsigned int) yy_c]; 1426ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1427ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1428ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ++yy_cp; 1429ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1430ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( yy_base[yy_current_state] != 1305 ); 1431ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1432ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengyy_find_action: 1433ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_act = yy_accept[yy_current_state]; 1434ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_act == 0 ) 1435ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* have to back up */ 1436ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_last_accepting_cpos; 1437ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yyg->yy_last_accepting_state; 1438ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_act = yy_accept[yy_current_state]; 1439ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1440ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1441ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_DO_BEFORE_ACTION; 1442ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1443ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengdo_action: /* This label is used only to access EOF actions. */ 1444ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1445ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng switch ( yy_act ) 1446ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* beginning of action switch */ 1447ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case 0: /* must back up */ 1448ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* undo the effects of YY_DO_BEFORE_ACTION */ 1449ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yy_cp = yyg->yy_hold_char; 1450ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_last_accepting_cpos; 1451ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yyg->yy_last_accepting_state; 1452ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng goto yy_find_action; 1453ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1454ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 1: 1455ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* rule 1 can match eol */ 1456ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1457ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 111 "util/parse-events.l" 1458ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1459ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(INITIAL); yyless(0); 1460ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1461ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1462ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 2: 1463ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* rule 2 can match eol */ 1464ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 116 "util/parse-events.l" 1465ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 3: 1466ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* rule 3 can match eol */ 1467ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1468ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 116 "util/parse-events.l" 1469ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1470ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng str(yyscanner, PE_EVENT_NAME); 1471ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(INITIAL); yyless(0); 1472ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return PE_EVENT_NAME; 1473ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1474ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1475ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 4: 1476ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 123 "util/parse-events.l" 1477ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase YY_STATE_EOF(event): 1478ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 123 "util/parse-events.l" 1479ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1480ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(INITIAL); yyless(0); 1481ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1482ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1483ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1484ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 5: 1485ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1486ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 129 "util/parse-events.l" 1487ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES); } 1488ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1489ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 6: 1490ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1491ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 130 "util/parse-events.l" 1492ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND); } 1493ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1494ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 7: 1495ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1496ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 131 "util/parse-events.l" 1497ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_BACKEND); } 1498ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1499ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 8: 1500ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1501ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 132 "util/parse-events.l" 1502ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS); } 1503ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1504ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 9: 1505ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1506ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 133 "util/parse-events.l" 1507ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES); } 1508ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1509ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 10: 1510ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1511ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 134 "util/parse-events.l" 1512ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_MISSES); } 1513ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1514ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 11: 1515ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1516ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 135 "util/parse-events.l" 1517ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_BRANCH_INSTRUCTIONS); } 1518ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1519ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 12: 1520ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1521ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 136 "util/parse-events.l" 1522ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_BRANCH_MISSES); } 1523ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1524ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 13: 1525ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1526ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 137 "util/parse-events.l" 1527ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_BUS_CYCLES); } 1528ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1529ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 14: 1530ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1531ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 138 "util/parse-events.l" 1532ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_HARDWARE, PERF_COUNT_HW_REF_CPU_CYCLES); } 1533ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1534ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 15: 1535ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1536ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 139 "util/parse-events.l" 1537ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CPU_CLOCK); } 1538ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1539ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 16: 1540ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1541ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 140 "util/parse-events.l" 1542ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_TASK_CLOCK); } 1543ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1544ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 17: 1545ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1546ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 141 "util/parse-events.l" 1547ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS); } 1548ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1549ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 18: 1550ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1551ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 142 "util/parse-events.l" 1552ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS_MIN); } 1553ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1554ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 19: 1555ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1556ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 143 "util/parse-events.l" 1557ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS_MAJ); } 1558ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1559ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 20: 1560ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1561ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 144 "util/parse-events.l" 1562ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CONTEXT_SWITCHES); } 1563ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1564ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 21: 1565ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1566ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 145 "util/parse-events.l" 1567ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CPU_MIGRATIONS); } 1568ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1569ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 22: 1570ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1571ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 146 "util/parse-events.l" 1572ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_ALIGNMENT_FAULTS); } 1573ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1574ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 23: 1575ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1576ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 147 "util/parse-events.l" 1577ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_EMULATION_FAULTS); } 1578ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1579ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 24: 1580ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1581ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 148 "util/parse-events.l" 1582ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_DUMMY); } 1583ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1584ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 25: 1585ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 151 "util/parse-events.l" 1586ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 26: 1587ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 152 "util/parse-events.l" 1588ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 27: 1589ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 153 "util/parse-events.l" 1590ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 28: 1591ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 154 "util/parse-events.l" 1592ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 29: 1593ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 155 "util/parse-events.l" 1594ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 30: 1595ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 156 "util/parse-events.l" 1596ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 31: 1597ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1598ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 156 "util/parse-events.l" 1599ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return str(yyscanner, PE_NAME_CACHE_TYPE); } 1600ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1601ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 32: 1602ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 159 "util/parse-events.l" 1603ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 33: 1604ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 160 "util/parse-events.l" 1605ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 34: 1606ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 161 "util/parse-events.l" 1607ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 35: 1608ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 162 "util/parse-events.l" 1609ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 36: 1610ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 163 "util/parse-events.l" 1611ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 37: 1612ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1613ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 163 "util/parse-events.l" 1614ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return str(yyscanner, PE_NAME_CACHE_OP_RESULT); } 1615ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1616ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1617ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 38: 1618ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1619ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 166 "util/parse-events.l" 1620ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG); } 1621ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1622ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 39: 1623ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1624ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 167 "util/parse-events.l" 1625ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG1); } 1626ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1627ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 40: 1628ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1629ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 168 "util/parse-events.l" 1630ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG2); } 1631ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1632ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 41: 1633ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1634ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 169 "util/parse-events.l" 1635ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return term(yyscanner, PARSE_EVENTS__TERM_TYPE_NAME); } 1636ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1637ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 42: 1638ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1639ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 170 "util/parse-events.l" 1640ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return term(yyscanner, PARSE_EVENTS__TERM_TYPE_SAMPLE_PERIOD); } 1641ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1642ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 43: 1643ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1644ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 171 "util/parse-events.l" 1645ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return term(yyscanner, PARSE_EVENTS__TERM_TYPE_BRANCH_SAMPLE_TYPE); } 1646ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1647ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 44: 1648ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1649ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 172 "util/parse-events.l" 1650ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return ','; } 1651ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1652ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 45: 1653ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1654ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 173 "util/parse-events.l" 1655ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ BEGIN(INITIAL); return '/'; } 1656ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1657ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 46: 1658ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1659ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 174 "util/parse-events.l" 1660ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return str(yyscanner, PE_NAME); } 1661ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1662ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1663ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 47: 1664ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1665ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 177 "util/parse-events.l" 1666ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ BEGIN(mem); return PE_PREFIX_MEM; } 1667ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1668ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 48: 1669ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1670ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 178 "util/parse-events.l" 1671ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return raw(yyscanner); } 1672ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1673ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 49: 1674ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1675ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 179 "util/parse-events.l" 1676ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return value(yyscanner, 10); } 1677ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1678ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 50: 1679ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1680ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 180 "util/parse-events.l" 1681ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return value(yyscanner, 16); } 1682ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1683ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 51: 1684ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1685ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 182 "util/parse-events.l" 1686ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return str(yyscanner, PE_MODIFIER_EVENT); } 1687ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1688ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 52: 1689ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1690ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 183 "util/parse-events.l" 1691ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return str(yyscanner, PE_NAME); } 1692ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1693ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 53: 1694ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1695ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 184 "util/parse-events.l" 1696ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ BEGIN(config); return '/'; } 1697ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1698ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 54: 1699ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1700ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 185 "util/parse-events.l" 1701ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return '-'; } 1702ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1703ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 55: 1704ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1705ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 186 "util/parse-events.l" 1706ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ BEGIN(event); return ','; } 1707ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1708ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 56: 1709ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1710ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 187 "util/parse-events.l" 1711ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return ':'; } 1712ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1713ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 57: 1714ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1715ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 188 "util/parse-events.l" 1716ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ BEGIN(event); return '{'; } 1717ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1718ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 58: 1719ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1720ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 189 "util/parse-events.l" 1721ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return '}'; } 1722ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1723ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 59: 1724ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1725ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 190 "util/parse-events.l" 1726ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return '='; } 1727ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1728ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 60: 1729ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* rule 60 can match eol */ 1730ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1731ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 191 "util/parse-events.l" 1732ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ } 1733ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1734ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1735ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 61: 1736ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1737ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 194 "util/parse-events.l" 1738ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return str(yyscanner, PE_MODIFIER_BP); } 1739ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1740ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 62: 1741ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1742ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 195 "util/parse-events.l" 1743ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return ':'; } 1744ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1745ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 63: 1746ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1747ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 196 "util/parse-events.l" 1748ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return value(yyscanner, 10); } 1749ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1750ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 64: 1751ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1752ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 197 "util/parse-events.l" 1753ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ return value(yyscanner, 16); } 1754ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1755ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* 1756ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * We need to separate 'mem:' scanner part, in order to get specific 1757ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * modifier bits parsed out. Otherwise we would need to handle PE_NAME 1758ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * and we'd need to parse it manually. During the escape from <mem> 1759ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * state we need to put the escaping char back, so we dont miss it. 1760ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1761ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 65: 1762ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1763ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 204 "util/parse-events.l" 1764ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ unput(*yytext); BEGIN(INITIAL); } 1765ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1766ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* 1767ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * We destroy the scanner after reaching EOF, 1768ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * but anyway just to be sure get back to INIT state. 1769ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1770ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase YY_STATE_EOF(mem): 1771ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 209 "util/parse-events.l" 1772ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ BEGIN(INITIAL); } 1773ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1774ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1775ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase 66: 1776ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_RULE_SETUP 1777ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 212 "util/parse-events.l" 1778ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengECHO; 1779ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BREAK 1780ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 1781 "<stdout>" 1781ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase YY_STATE_EOF(INITIAL): 1782ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengcase YY_STATE_EOF(config): 1783ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyterminate(); 1784ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1785ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case YY_END_OF_BUFFER: 1786ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1787ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Amount of text matched not including the EOB char. */ 1788ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1; 1789ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1790ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1791ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yy_cp = yyg->yy_hold_char; 1792ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_RESTORE_YY_MORE_OFFSET 1793ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1794ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 1795ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1796ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* We're scanning a new file or input source. It's 1797ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * possible that this happened because the user 1798ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * just pointed yyin at a new source and called 1799ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * parse_events_lex(). If so, then we have to assure 1800ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * consistency between YY_CURRENT_BUFFER and our 1801ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * globals. Here is the right place to do so, because 1802ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * this is the first action (other than possibly a 1803ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * back-up) that will match for the new input source. 1804ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1805ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1806ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 1807ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 1808ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1809ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1810ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Note that here we test for yy_c_buf_p "<=" to the position 1811ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * of the first EOB in the buffer, since yy_c_buf_p will 1812ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * already have been incremented past the NUL character 1813ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * (since all states make transitions on EOB to the 1814ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * end-of-buffer state). Contrast this with the test 1815ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * in input(). 1816ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1817ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) 1818ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* This was really a NUL. */ 1819ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_state_type yy_next_state; 1820ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1821ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; 1822ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1823ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_get_previous_state( yyscanner ); 1824ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1825ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Okay, we're now positioned to make the NUL 1826ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * transition. We couldn't have 1827ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * yy_get_previous_state() go ahead and do it 1828ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * for us because it doesn't know how to deal 1829ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * with the possibility of jamming (and we don't 1830ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * want to build jamming into it because then it 1831ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * will run more slowly). 1832ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1833ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1834ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner); 1835ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1836ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; 1837ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1838ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_next_state ) 1839ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1840ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Consume the NUL. */ 1841ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = ++yyg->yy_c_buf_p; 1842ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_next_state; 1843ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng goto yy_match; 1844ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1845ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1846ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 1847ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1848ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_c_buf_p; 1849ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng goto yy_find_action; 1850ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1851ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1852ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1853ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else switch ( yy_get_next_buffer( yyscanner ) ) 1854ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1855ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case EOB_ACT_END_OF_FILE: 1856ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1857ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_did_buffer_switch_on_eof = 0; 1858ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1859ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( parse_events_wrap(yyscanner ) ) 1860ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1861ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Note: because we've taken care in 1862ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * yy_get_next_buffer() to have set up 1863ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * yytext, we can now set up 1864ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * yy_c_buf_p so that if some total 1865ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * hoser (like flex itself) wants to 1866ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * call the scanner after we return the 1867ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * YY_NULL, it'll still work - another 1868ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * YY_NULL will get returned. 1869ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1870ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ; 1871ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1872ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_act = YY_STATE_EOF(YY_START); 1873ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng goto do_action; 1874ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1875ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1876ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 1877ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1878ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_did_buffer_switch_on_eof ) 1879ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_NEW_FILE; 1880ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1881ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng break; 1882ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1883ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1884ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case EOB_ACT_CONTINUE_SCAN: 1885ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = 1886ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yytext_ptr + yy_amount_of_matched_text; 1887ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1888ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_get_previous_state( yyscanner ); 1889ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1890ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_c_buf_p; 1891ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; 1892ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng goto yy_match; 1893ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1894ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case EOB_ACT_LAST_MATCH: 1895ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = 1896ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]; 1897ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1898ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_get_previous_state( yyscanner ); 1899ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1900ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_c_buf_p; 1901ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; 1902ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng goto yy_find_action; 1903ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1904ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng break; 1905ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1906ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1907ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng default: 1908ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( 1909ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng "fatal flex scanner internal error--no action found" ); 1910ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } /* end of action switch */ 1911ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } /* end of scanning one token */ 1912ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} /* end of parse_events_lex */ 1913ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1914ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* yy_get_next_buffer - try to read in a new buffer 1915ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * 1916ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * Returns a code representing an action: 1917ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * EOB_ACT_LAST_MATCH - 1918ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1919ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * EOB_ACT_END_OF_FILE - end of file 1920ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1921ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yy_get_next_buffer (yyscan_t yyscanner) 1922ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 1923ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 1924ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 1925ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *source = yyg->yytext_ptr; 1926ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register int number_to_move, i; 1927ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int ret_val; 1928ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1929ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) 1930ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( 1931ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng "fatal flex scanner internal error--end of buffer missed" ); 1932ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1933ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 1934ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* Don't try to fill the buffer, so this is an EOF. */ 1935ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) 1936ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1937ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* We matched a single character, the EOB, so 1938ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * treat this as a final EOF. 1939ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1940ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return EOB_ACT_END_OF_FILE; 1941ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1942ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1943ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 1944ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1945ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* We matched some text prior to the EOB, first 1946ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * process it. 1947ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1948ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return EOB_ACT_LAST_MATCH; 1949ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1950ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1951ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1952ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Try to read more data. */ 1953ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1954ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* First move last chars to start of buffer. */ 1955ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; 1956ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1957ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng for ( i = 0; i < number_to_move; ++i ) 1958ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *(dest++) = *(source++); 1959ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1960ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1961ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* don't do the read, it's not guaranteed to return an EOF, 1962ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * just force an EOF 1963ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 1964ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; 1965ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1966ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 1967ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1968ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int num_to_read = 1969ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 1970ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1971ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( num_to_read <= 0 ) 1972ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* Not enough room in the buffer - grow it. */ 1973ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1974ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* just a shorter name for the current buffer */ 1975ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 1976ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1977ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yy_c_buf_p_offset = 1978ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (int) (yyg->yy_c_buf_p - b->yy_ch_buf); 1979ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1980ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( b->yy_is_our_buffer ) 1981ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 1982ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int new_size = b->yy_buf_size * 2; 1983ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1984ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( new_size <= 0 ) 1985ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buf_size += b->yy_buf_size / 8; 1986ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 1987ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buf_size *= 2; 1988ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1989ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_ch_buf = (char *) 1990ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Include room in for 2 EOB chars. */ 1991ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner ); 1992ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 1993ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 1994ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Can't grow it, we don't own it. */ 1995ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_ch_buf = 0; 1996ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 1997ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b->yy_ch_buf ) 1998ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( 1999ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng "fatal error - scanner input buffer overflow" ); 2000ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2001ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; 2002ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2003ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 2004ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng number_to_move - 1; 2005ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2006ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2007ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2008ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( num_to_read > YY_READ_BUF_SIZE ) 2009ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng num_to_read = YY_READ_BUF_SIZE; 2010ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2011ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Read in more data. */ 2012ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 2013ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_n_chars, (size_t) num_to_read ); 2014ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2015ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; 2016ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2017ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2018ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yyg->yy_n_chars == 0 ) 2019ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2020ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( number_to_move == YY_MORE_ADJ ) 2021ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2022ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ret_val = EOB_ACT_END_OF_FILE; 2023ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_restart(yyin ,yyscanner); 2024ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2025ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2026ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 2027ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2028ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ret_val = EOB_ACT_LAST_MATCH; 2029ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 2030ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_EOF_PENDING; 2031ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2032ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2033ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2034ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 2035ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ret_val = EOB_ACT_CONTINUE_SCAN; 2036ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2037ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 2038ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Extend the array by 50%, plus the number we really need. */ 2039ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); 2040ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parse_events_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); 2041ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 2042ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 2043ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2044ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2045ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_n_chars += number_to_move; 2046ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; 2047ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; 2048ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2049ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 2050ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2051ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return ret_val; 2052ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2053ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2054ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* yy_get_previous_state - get the state just before the EOB char was reached */ 2055ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2056ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static yy_state_type yy_get_previous_state (yyscan_t yyscanner) 2057ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2058ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register yy_state_type yy_current_state; 2059ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *yy_cp; 2060ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2061ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2062ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yyg->yy_start; 2063ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2064ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) 2065ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2066ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 2067ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_accept[yy_current_state] ) 2068ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2069ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_last_accepting_state = yy_current_state; 2070ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_last_accepting_cpos = yy_cp; 2071ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2072ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2073ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2074ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = (int) yy_def[yy_current_state]; 2075ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_current_state >= 900 ) 2076ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_c = yy_meta[(unsigned int) yy_c]; 2077ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2078ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 2079ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2080ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2081ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yy_current_state; 2082ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2083ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2084ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* yy_try_NUL_trans - try to make a transition on the NUL character 2085ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * 2086ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * synopsis 2087ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * next_state = yy_try_NUL_trans( current_state ); 2088ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2089ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) 2090ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2091ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register int yy_is_jam; 2092ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ 2093ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *yy_cp = yyg->yy_c_buf_p; 2094ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2095ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register YY_CHAR yy_c = 1; 2096ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_accept[yy_current_state] ) 2097ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2098ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_last_accepting_state = yy_current_state; 2099ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_last_accepting_cpos = yy_cp; 2100ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2101ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2102ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2103ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = (int) yy_def[yy_current_state]; 2104ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_current_state >= 900 ) 2105ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_c = yy_meta[(unsigned int) yy_c]; 2106ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2107ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 2108ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_is_jam = (yy_current_state == 899); 2109ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2110ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yy_is_jam ? 0 : yy_current_state; 2111ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2112ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2113ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner) 2114ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2115ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *yy_cp; 2116ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2117ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2118ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp = yyg->yy_c_buf_p; 2119ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2120ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* undo effects of setting up yytext */ 2121ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yy_cp = yyg->yy_hold_char; 2122ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2123ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 2124ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* need to shift things up to make room */ 2125ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* +2 for EOB chars. */ 2126ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register int number_to_move = yyg->yy_n_chars + 2; 2127ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 2128ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 2129ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register char *source = 2130ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 2131ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2132ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 2133ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *--dest = *--source; 2134ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2135ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_cp += (int) (dest - source); 2136ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_bp += (int) (dest - source); 2137ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 2138ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 2139ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2140ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 2141ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "flex scanner push-back overflow" ); 2142ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2143ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2144ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *--yy_cp = (char) c; 2145ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2146ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yytext_ptr = yy_bp; 2147ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_hold_char = *yy_cp; 2148ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yy_cp; 2149ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2150ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2151ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_NO_INPUT 2152ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __cplusplus 2153ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static int yyinput (yyscan_t yyscanner) 2154ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 2155ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static int input (yyscan_t yyscanner) 2156ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 2157ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2158ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2159ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int c; 2160ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2161ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2162ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yyg->yy_c_buf_p = yyg->yy_hold_char; 2163ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2164ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) 2165ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2166ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* yy_c_buf_p now points to the character we want to return. 2167ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * If this occurs *before* the EOB characters, then it's a 2168ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * valid NUL; if not, then we've hit the end of the buffer. 2169ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2170ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) 2171ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* This was really a NUL. */ 2172ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yyg->yy_c_buf_p = '\0'; 2173ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2174ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 2175ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { /* need more input */ 2176ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; 2177ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ++yyg->yy_c_buf_p; 2178ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2179ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng switch ( yy_get_next_buffer( yyscanner ) ) 2180ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2181ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case EOB_ACT_LAST_MATCH: 2182ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* This happens because yy_g_n_b() 2183ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * sees that we've accumulated a 2184ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * token and flags that we need to 2185ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * try matching the token before 2186ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * proceeding. But for input(), 2187ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * there's no matching to consider. 2188ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * So convert the EOB_ACT_LAST_MATCH 2189ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * to EOB_ACT_END_OF_FILE. 2190ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2191ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2192ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Reset buffer status. */ 2193ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_restart(yyin ,yyscanner); 2194ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2195ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /*FALLTHROUGH*/ 2196ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2197ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case EOB_ACT_END_OF_FILE: 2198ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2199ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( parse_events_wrap(yyscanner ) ) 2200ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return EOF; 2201ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2202ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_did_buffer_switch_on_eof ) 2203ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_NEW_FILE; 2204ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef __cplusplus 2205ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yyinput(yyscanner); 2206ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 2207ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return input(yyscanner); 2208ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 2209ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2210ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2211ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng case EOB_ACT_CONTINUE_SCAN: 2212ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yyg->yytext_ptr + offset; 2213ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng break; 2214ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2215ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2216ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2217ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2218ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */ 2219ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yyg->yy_c_buf_p = '\0'; /* preserve yytext */ 2220ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_hold_char = *++yyg->yy_c_buf_p; 2221ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2222ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return c; 2223ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2224ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* ifndef YY_NO_INPUT */ 2225ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2226ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Immediately switch to a different input stream. 2227ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param input_file A readable stream. 2228ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2229ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @note This function does not reset the start condition to @c INITIAL . 2230ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2231ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng void parse_events_restart (FILE * input_file , yyscan_t yyscanner) 2232ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2233ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2234ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2235ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! YY_CURRENT_BUFFER ){ 2236ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_ensure_buffer_stack (yyscanner); 2237ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = 2238ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); 2239ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2240ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2241ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner); 2242ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__load_buffer_state(yyscanner ); 2243ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2244ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2245ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Switch to a different input buffer. 2246ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param new_buffer The new input buffer. 2247ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2248ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2249ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng void parse_events__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) 2250ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2251ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2252ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2253ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* TODO. We should be able to replace this entire function body 2254ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * with 2255ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * parse_events_pop_buffer_state(); 2256ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * parse_events_push_buffer_state(new_buffer); 2257ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2258ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_ensure_buffer_stack (yyscanner); 2259ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER == new_buffer ) 2260ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return; 2261ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2262ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER ) 2263ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2264ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Flush out information for old buffer. */ 2265ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yyg->yy_c_buf_p = yyg->yy_hold_char; 2266ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; 2267ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; 2268ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2269ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2270ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = new_buffer; 2271ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__load_buffer_state(yyscanner ); 2272ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2273ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* We don't actually know whether we did this switch during 2274ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * EOF (parse_events_wrap()) processing, but the only time this flag 2275ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * is looked at is after parse_events_wrap() is called, so it's safe 2276ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * to go ahead and always set it. 2277ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2278ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_did_buffer_switch_on_eof = 1; 2279ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2280ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2281ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void parse_events__load_buffer_state (yyscan_t yyscanner) 2282ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2283ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2284ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 2285ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 2286ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 2287ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_hold_char = *yyg->yy_c_buf_p; 2288ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2289ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2290ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Allocate and initialize an input buffer state. 2291ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param file A readable stream. 2292ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 2293ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2294ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @return the allocated buffer state. 2295ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2296ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_STATE parse_events__create_buffer (FILE * file, int size , yyscan_t yyscanner) 2297ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2298ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_STATE b; 2299ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2300ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b = (YY_BUFFER_STATE) parse_events_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); 2301ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b ) 2302ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in parse_events__create_buffer()" ); 2303ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2304ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buf_size = size; 2305ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2306ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* yy_ch_buf has to be 2 characters longer than the size given because 2307ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * we need to put in 2 end-of-buffer characters. 2308ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2309ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_ch_buf = (char *) parse_events_alloc(b->yy_buf_size + 2 ,yyscanner ); 2310ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b->yy_ch_buf ) 2311ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in parse_events__create_buffer()" ); 2312ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2313ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_is_our_buffer = 1; 2314ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2315ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__init_buffer(b,file ,yyscanner); 2316ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2317ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return b; 2318ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2319ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2320ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Destroy the buffer. 2321ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param b a buffer created with parse_events__create_buffer() 2322ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2323ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2324ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng void parse_events__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) 2325ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2326ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2327ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2328ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b ) 2329ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return; 2330ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2331ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 2332ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 2333ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2334ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( b->yy_is_our_buffer ) 2335ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_free((void *) b->yy_ch_buf ,yyscanner ); 2336ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2337ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_free((void *) b ,yyscanner ); 2338ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2339ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2340ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef __cplusplus 2341ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengextern int isatty (int ); 2342ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif /* __cplusplus */ 2343ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2344ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Initializes or reinitializes a buffer. 2345ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * This function is sometimes called more than once on the same buffer, 2346ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * such as during a parse_events_restart() or at EOF. 2347ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2348ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void parse_events__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner) 2349ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2350ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2351ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int oerrno = errno; 2352ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2353ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2354ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__flush_buffer(b ,yyscanner); 2355ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2356ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_input_file = file; 2357ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_fill_buffer = 1; 2358ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2359ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* If b is the current buffer, then parse_events__init_buffer was _probably_ 2360ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * called from parse_events_restart() or through yy_get_next_buffer. 2361ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * In that case, we don't want to reset the lineno or column. 2362ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2363ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (b != YY_CURRENT_BUFFER){ 2364ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_bs_lineno = 1; 2365ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_bs_column = 0; 2366ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2367ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2368ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 2369ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2370ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno = oerrno; 2371ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2372ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2373ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Discard all buffered characters. On the next scan, YY_INPUT will be called. 2374ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 2375ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2376ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2377ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng void parse_events__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) 2378ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2379ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2380ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b ) 2381ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return; 2382ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2383ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_n_chars = 0; 2384ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2385ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* We always need two end-of-buffer characters. The first causes 2386ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * a transition to the end-of-buffer state. The second causes 2387ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * a jam in that state. 2388ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2389ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 2390ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 2391ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2392ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buf_pos = &b->yy_ch_buf[0]; 2393ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2394ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_at_bol = 1; 2395ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buffer_status = YY_BUFFER_NEW; 2396ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2397ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( b == YY_CURRENT_BUFFER ) 2398ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__load_buffer_state(yyscanner ); 2399ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2400ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2401ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Pushes the new state onto the stack. The new state becomes 2402ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * the current state. This function will allocate the stack 2403ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * if necessary. 2404ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param new_buffer The new state. 2405ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2406ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2407ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) 2408ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2409ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2410ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (new_buffer == NULL) 2411ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return; 2412ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2413ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_ensure_buffer_stack(yyscanner); 2414ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2415ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* This block is copied from parse_events__switch_to_buffer. */ 2416ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( YY_CURRENT_BUFFER ) 2417ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2418ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Flush out information for old buffer. */ 2419ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yyg->yy_c_buf_p = yyg->yy_hold_char; 2420ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; 2421ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; 2422ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2423ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2424ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Only push if top exists. Otherwise, replace top. */ 2425ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (YY_CURRENT_BUFFER) 2426ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack_top++; 2427ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = new_buffer; 2428ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2429ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* copied from parse_events__switch_to_buffer. */ 2430ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__load_buffer_state(yyscanner ); 2431ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_did_buffer_switch_on_eof = 1; 2432ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2433ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2434ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Removes and deletes the top of the stack, if present. 2435ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * The next element becomes the new top. 2436ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2437ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2438ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_pop_buffer_state (yyscan_t yyscanner) 2439ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2440ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2441ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (!YY_CURRENT_BUFFER) 2442ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return; 2443ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2444ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__delete_buffer(YY_CURRENT_BUFFER ,yyscanner); 2445ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = NULL; 2446ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (yyg->yy_buffer_stack_top > 0) 2447ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng --yyg->yy_buffer_stack_top; 2448ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2449ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (YY_CURRENT_BUFFER) { 2450ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__load_buffer_state(yyscanner ); 2451ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_did_buffer_switch_on_eof = 1; 2452ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2453ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2454ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2455ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Allocates the stack if it does not exist. 2456ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * Guarantees space for at least one push. 2457ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2458ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void parse_events_ensure_buffer_stack (yyscan_t yyscanner) 2459ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2460ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int num_to_alloc; 2461ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2462ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2463ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (!yyg->yy_buffer_stack) { 2464ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2465ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* First allocation is just for 2 elements, since we don't know if this 2466ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * scanner will even need a stack. We use 2 instead of 1 to avoid an 2467ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * immediate realloc on the next call. 2468ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2469ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng num_to_alloc = 1; 2470ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack = (struct yy_buffer_state**)parse_events_alloc 2471ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (num_to_alloc * sizeof(struct yy_buffer_state*) 2472ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng , yyscanner); 2473ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_buffer_stack ) 2474ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in parse_events_ensure_buffer_stack()" ); 2475ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2476ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 2477ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2478ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack_max = num_to_alloc; 2479ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack_top = 0; 2480ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return; 2481ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2482ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2483ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ 2484ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2485ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Increase the buffer to prepare for a possible push. */ 2486ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int grow_size = 8 /* arbitrary grow size */; 2487ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2488ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng num_to_alloc = yyg->yy_buffer_stack_max + grow_size; 2489ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack = (struct yy_buffer_state**)parse_events_realloc 2490ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (yyg->yy_buffer_stack, 2491ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng num_to_alloc * sizeof(struct yy_buffer_state*) 2492ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng , yyscanner); 2493ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_buffer_stack ) 2494ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in parse_events_ensure_buffer_stack()" ); 2495ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2496ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* zero only the new slots.*/ 2497ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*)); 2498ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack_max = num_to_alloc; 2499ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2500ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2501ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2502ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Setup the input buffer state to scan directly from a user-specified character buffer. 2503ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param base the character buffer 2504ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param size the size in bytes of the character buffer 2505ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2506ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @return the newly allocated buffer state object. 2507ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2508ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) 2509ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2510ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_STATE b; 2511ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2512ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( size < 2 || 2513ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng base[size-2] != YY_END_OF_BUFFER_CHAR || 2514ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng base[size-1] != YY_END_OF_BUFFER_CHAR ) 2515ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* They forgot to leave room for the EOB's. */ 2516ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 0; 2517ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2518ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b = (YY_BUFFER_STATE) parse_events_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); 2519ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b ) 2520ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in parse_events__scan_buffer()" ); 2521ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2522ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 2523ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buf_pos = b->yy_ch_buf = base; 2524ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_is_our_buffer = 0; 2525ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_input_file = 0; 2526ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_n_chars = b->yy_buf_size; 2527ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_is_interactive = 0; 2528ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_at_bol = 1; 2529ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_fill_buffer = 0; 2530ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_buffer_status = YY_BUFFER_NEW; 2531ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2532ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__switch_to_buffer(b ,yyscanner ); 2533ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2534ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return b; 2535ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2536ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2537ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Setup the input buffer state to scan a string. The next call to parse_events_lex() will 2538ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * scan from a @e copy of @a str. 2539ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yystr a NUL-terminated string to scan 2540ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2541ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @return the newly allocated buffer state object. 2542ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @note If you want to scan bytes that may contain NUL values, then use 2543ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * parse_events__scan_bytes() instead. 2544ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2545ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__scan_string (yyconst char * yystr , yyscan_t yyscanner) 2546ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2547ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2548ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return parse_events__scan_bytes(yystr,strlen(yystr) ,yyscanner); 2549ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2550ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2551ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Setup the input buffer state to scan the given bytes. The next call to parse_events_lex() will 2552ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * scan from a @e copy of @a bytes. 2553ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yybytes the byte buffer to scan 2554ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 2555ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2556ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @return the newly allocated buffer state object. 2557ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2558ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_BUFFER_STATE parse_events__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) 2559ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2560ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_BUFFER_STATE b; 2561ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng char *buf; 2562ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_size_t n; 2563ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int i; 2564ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2565ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Get memory for full buffer, including space for trailing EOB's. */ 2566ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng n = _yybytes_len + 2; 2567ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng buf = (char *) parse_events_alloc(n ,yyscanner ); 2568ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! buf ) 2569ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of dynamic memory in parse_events__scan_bytes()" ); 2570ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2571ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng for ( i = 0; i < _yybytes_len; ++i ) 2572ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng buf[i] = yybytes[i]; 2573ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2574ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 2575ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2576ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b = parse_events__scan_buffer(buf,n ,yyscanner); 2577ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! b ) 2578ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "bad buffer in parse_events__scan_bytes()" ); 2579ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2580ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* It's okay to grow etc. this buffer, and we should throw it 2581ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * away when we're done. 2582ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2583ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng b->yy_is_our_buffer = 1; 2584ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2585ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return b; 2586ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2587ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2588ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void yy_push_state (int new_state , yyscan_t yyscanner) 2589ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2590ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2591ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( yyg->yy_start_stack_ptr >= yyg->yy_start_stack_depth ) 2592ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { 2593ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_size_t new_size; 2594ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2595ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack_depth += YY_START_STACK_INCR; 2596ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng new_size = yyg->yy_start_stack_depth * sizeof( int ); 2597ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2598ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_start_stack ) 2599ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack = (int *) parse_events_alloc(new_size ,yyscanner ); 2600ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2601ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng else 2602ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack = (int *) parse_events_realloc((void *) yyg->yy_start_stack,new_size ,yyscanner ); 2603ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2604ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( ! yyg->yy_start_stack ) 2605ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); 2606ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2607ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2608ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START; 2609ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2610ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(new_state); 2611ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2612ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2613ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static void yy_pop_state (yyscan_t yyscanner) 2614ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2615ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2616ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if ( --yyg->yy_start_stack_ptr < 0 ) 2617ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_FATAL_ERROR( "start-condition stack underflow" ); 2618ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2619ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng BEGIN(yyg->yy_start_stack[yyg->yy_start_stack_ptr]); 2620ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2621ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2622ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng static int yy_top_state (yyscan_t yyscanner) 2623ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2624ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2625ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yyg->yy_start_stack[yyg->yy_start_stack_ptr - 1]; 2626ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2627ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2628ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef YY_EXIT_FAILURE 2629ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YY_EXIT_FAILURE 2 2630ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 2631ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2632ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) 2633ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2634ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng (void) fprintf( stderr, "%s\n", msg ); 2635ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng exit( YY_EXIT_FAILURE ); 2636ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2637ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2638ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Redefine yyless() so it works in section 3 code. */ 2639ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2640ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#undef yyless 2641ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define yyless(n) \ 2642ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng do \ 2643ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng { \ 2644ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Undo effects of setting up yytext. */ \ 2645ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng int yyless_macro_arg = (n); \ 2646ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_LESS_LINENO(yyless_macro_arg);\ 2647ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yytext[yyleng] = yyg->yy_hold_char; \ 2648ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = yytext + yyless_macro_arg; \ 2649ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_hold_char = *yyg->yy_c_buf_p; \ 2650ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *yyg->yy_c_buf_p = '\0'; \ 2651ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyleng = yyless_macro_arg; \ 2652ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } \ 2653ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while ( 0 ) 2654ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2655ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Accessor methods (get/set functions) to struct members. */ 2656ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2657ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the user-defined data for this scanner. 2658ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2659ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2660ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYY_EXTRA_TYPE parse_events_get_extra (yyscan_t yyscanner) 2661ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2662ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2663ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yyextra; 2664ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2665ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2666ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the current line number. 2667ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2668ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2669ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_lineno (yyscan_t yyscanner) 2670ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2671ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2672ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2673ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (! YY_CURRENT_BUFFER) 2674ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 0; 2675ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2676ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yylineno; 2677ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2678ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2679ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the current column number. 2680ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2681ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2682ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_column (yyscan_t yyscanner) 2683ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2684ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2685ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2686ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (! YY_CURRENT_BUFFER) 2687ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 0; 2688ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2689ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yycolumn; 2690ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2691ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2692ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the input stream. 2693ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2694ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2695ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengFILE *parse_events_get_in (yyscan_t yyscanner) 2696ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2697ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2698ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yyin; 2699ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2700ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2701ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the output stream. 2702ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2703ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2704ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengFILE *parse_events_get_out (yyscan_t yyscanner) 2705ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2706ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2707ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yyout; 2708ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2709ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2710ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the length of the current token. 2711ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2712ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2713ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_leng (yyscan_t yyscanner) 2714ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2715ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2716ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yyleng; 2717ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2718ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2719ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Get the current token. 2720ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2721ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2722ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2723ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengchar *parse_events_get_text (yyscan_t yyscanner) 2724ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2725ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2726ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yytext; 2727ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2728ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2729ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Set the user-defined data. This data is never touched by the scanner. 2730ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param user_defined The data to be associated with this scanner. 2731ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2732ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2733ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) 2734ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2735ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2736ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyextra = user_defined ; 2737ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2738ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2739ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Set the current line number. 2740ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param line_number 2741ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2742ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2743ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_lineno (int line_number , yyscan_t yyscanner) 2744ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2745ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2746ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2747ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* lineno is only valid if an input buffer exists. */ 2748ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (! YY_CURRENT_BUFFER ) 2749ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_fatal_error( "parse_events_set_lineno called with no buffer" , yyscanner); 2750ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2751ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylineno = line_number; 2752ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2753ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2754ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Set the current column. 2755ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param line_number 2756ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2757ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2758ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_column (int column_no , yyscan_t yyscanner) 2759ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2760ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2761ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2762ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* column is only valid if an input buffer exists. */ 2763ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (! YY_CURRENT_BUFFER ) 2764ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_fatal_error( "parse_events_set_column called with no buffer" , yyscanner); 2765ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2766ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yycolumn = column_no; 2767ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2768ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2769ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/** Set the input stream. This does not discard the current 2770ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * input buffer. 2771ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param in_str A readable stream. 2772ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @param yyscanner The scanner object. 2773ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * @see parse_events__switch_to_buffer 2774ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2775ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_in (FILE * in_str , yyscan_t yyscanner) 2776ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2777ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2778ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyin = in_str ; 2779ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2780ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2781ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_out (FILE * out_str , yyscan_t yyscanner) 2782ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2783ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2784ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyout = out_str ; 2785ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2786ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2787ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_get_debug (yyscan_t yyscanner) 2788ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2789ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2790ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yy_flex_debug; 2791ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2792ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2793ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_debug (int bdebug , yyscan_t yyscanner) 2794ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2795ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2796ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_flex_debug = bdebug ; 2797ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2798ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2799ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Accessor methods for yylval and yylloc */ 2800ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2801ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben ChengYYSTYPE * parse_events_get_lval (yyscan_t yyscanner) 2802ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2803ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2804ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yylval; 2805ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2806ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2807ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_set_lval (YYSTYPE * yylval_param , yyscan_t yyscanner) 2808ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2809ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2810ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yylval = yylval_param; 2811ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2812ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2813ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* User-visible API */ 2814ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2815ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* parse_events_lex_init is special because it creates the scanner itself, so it is 2816ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * the ONLY reentrant function that doesn't take the scanner as the last argument. 2817ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * That's why we explicitly handle the declaration, instead of using our macros. 2818ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2819ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2820ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_lex_init(yyscan_t* ptr_yy_globals) 2821ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2822ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2823ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (ptr_yy_globals == NULL){ 2824ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno = EINVAL; 2825ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 1; 2826ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2827ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2828ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *ptr_yy_globals = (yyscan_t) parse_events_alloc ( sizeof( struct yyguts_t ), NULL ); 2829ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2830ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (*ptr_yy_globals == NULL){ 2831ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno = ENOMEM; 2832ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 1; 2833ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2834ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2835ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ 2836ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); 2837ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2838ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yy_init_globals ( *ptr_yy_globals ); 2839ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2840ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2841ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* parse_events_lex_init_extra has the same functionality as parse_events_lex_init, but follows the 2842ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * convention of taking the scanner as the last argument. Note however, that 2843ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * this is a *pointer* to a scanner, as it will be allocated by this call (and 2844ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * is the reason, too, why this function also must handle its own declaration). 2845ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * The user defined value in the first argument will be available to parse_events_alloc in 2846ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * the yyextra field. 2847ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2848ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2849ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) 2850ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2851ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2852ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t dummy_yyguts; 2853ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2854ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_set_extra (yy_user_defined, &dummy_yyguts); 2855ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2856ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (ptr_yy_globals == NULL){ 2857ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno = EINVAL; 2858ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 1; 2859ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2860ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2861ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng *ptr_yy_globals = (yyscan_t) parse_events_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); 2862ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2863ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng if (*ptr_yy_globals == NULL){ 2864ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng errno = ENOMEM; 2865ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 1; 2866ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2867ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2868ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* By setting to 0xAA, we expose bugs in 2869ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_init_globals. Leave at 0x00 for releases. */ 2870ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); 2871ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2872ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_set_extra (yy_user_defined, *ptr_yy_globals); 2873ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2874ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return yy_init_globals ( *ptr_yy_globals ); 2875ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2876ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2877ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yy_init_globals (yyscan_t yyscanner) 2878ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2879ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2880ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Initialization is the same as for the non-reentrant scanner. 2881ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * This function is called from parse_events_lex_destroy(), so don't allocate here. 2882ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2883ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2884ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack = 0; 2885ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack_top = 0; 2886ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack_max = 0; 2887ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_c_buf_p = (char *) 0; 2888ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_init = 0; 2889ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start = 0; 2890ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2891ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack_ptr = 0; 2892ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack_depth = 0; 2893ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack = NULL; 2894ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2895ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* Defined in main.c */ 2896ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef YY_STDINIT 2897ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyin = stdin; 2898ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyout = stdout; 2899ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#else 2900ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyin = (FILE *) 0; 2901ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyout = (FILE *) 0; 2902ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 2903ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2904ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* For future reference: Set errno on error, since we are called by 2905ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * parse_events_lex_init() 2906ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2907ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 0; 2908ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2909ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2910ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* parse_events_lex_destroy is for both reentrant and non-reentrant scanners. */ 2911ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_lex_destroy (yyscan_t yyscanner) 2912ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2913ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; 2914ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2915ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Pop the buffer stack, destroying each element. */ 2916ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng while(YY_CURRENT_BUFFER){ 2917ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events__delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); 2918ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng YY_CURRENT_BUFFER_LVALUE = NULL; 2919ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_pop_buffer_state(yyscanner); 2920ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng } 2921ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2922ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Destroy the stack itself. */ 2923ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_free(yyg->yy_buffer_stack ,yyscanner); 2924ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_buffer_stack = NULL; 2925ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2926ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Destroy the start condition stack. */ 2927ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_free(yyg->yy_start_stack ,yyscanner ); 2928ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyg->yy_start_stack = NULL; 2929ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2930ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Reset the globals. This is important in a non-reentrant scanner so the next time 2931ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * parse_events_lex() is called, initialization will occur. */ 2932ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yy_init_globals( yyscanner); 2933ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2934ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* Destroy the main struct (reentrant only). */ 2935ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng parse_events_free ( yyscanner , yyscanner ); 2936ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng yyscanner = NULL; 2937ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 0; 2938ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2939ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2940ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng/* 2941ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * Internal utility routines. 2942ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2943ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2944ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifndef yytext_ptr 2945ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) 2946ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2947ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register int i; 2948ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng for ( i = 0; i < n; ++i ) 2949ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng s1[i] = s2[i]; 2950ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2951ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 2952ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2953ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#ifdef YY_NEED_STRLEN 2954ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengstatic int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) 2955ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2956ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng register int n; 2957ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng for ( n = 0; s[n]; ++n ) 2958ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng ; 2959ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2960ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return n; 2961ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2962ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#endif 2963ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2964ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid *parse_events_alloc (yy_size_t size , yyscan_t yyscanner) 2965ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2966ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return (void *) malloc( size ); 2967ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2968ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2969ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid *parse_events_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) 2970ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2971ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng /* The cast to (char *) in the following accommodates both 2972ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * implementations that use char* generic pointers, and those 2973ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * that use void* generic pointers. It works with the latter 2974ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * because both ANSI C and C++ allow castless assignment from 2975ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * any pointer type to void*, and deal with argument conversions 2976ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng * as though doing an assignment. 2977ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng */ 2978ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return (void *) realloc( (char *) ptr, size ); 2979ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2980ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2981ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengvoid parse_events_free (void * ptr , yyscan_t yyscanner) 2982ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2983ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng free( (char *) ptr ); /* see parse_events_realloc() for (char *) cast */ 2984ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2985ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2986ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#define YYTABLES_NAME "yytables" 2987ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2988ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng#line 212 "util/parse-events.l" 2989ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2990ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2991ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2992ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Chengint parse_events_wrap(void *scanner __maybe_unused) 2993ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng{ 2994ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng return 1; 2995ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng} 2996ce8be8b3ee4170ecc66ff306d84628e51d0debe3Ben Cheng 2997