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