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