source: src/Parser/lex.cc@ 9a8930f

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since 9a8930f was a61fea9a, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

enable AM_MAINTAINER_MODE, add operator ?{}, formatting

  • Property mode set to 100644
File size: 128.7 KB
Line 
1
2#line 3 "Parser/lex.cc"
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>
43typedef int8_t flex_int8_t;
44typedef uint8_t flex_uint8_t;
45typedef int16_t flex_int16_t;
46typedef uint16_t flex_uint16_t;
47typedef int32_t flex_int32_t;
48typedef uint32_t flex_uint32_t;
49#else
50typedef signed char flex_int8_t;
51typedef short int flex_int16_t;
52typedef int flex_int32_t;
53typedef unsigned char flex_uint8_t;
54typedef unsigned short int flex_uint16_t;
55typedef 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/* Enter a start condition. This macro really ought to take a parameter,
122 * but we do it the disgusting crufty way forced on us by the ()-less
123 * definition of BEGIN.
124 */
125#define BEGIN (yy_start) = 1 + 2 *
126
127/* Translate the current start state into a value that can be later handed
128 * to BEGIN to return to the state. The YYSTATE alias is for lex
129 * compatibility.
130 */
131#define YY_START (((yy_start) - 1) / 2)
132#define YYSTATE YY_START
133
134/* Action number for EOF rule of a given start state. */
135#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
136
137/* Special action meaning "start processing a new file". */
138#define YY_NEW_FILE yyrestart(yyin )
139
140#define YY_END_OF_BUFFER_CHAR 0
141
142/* Size of default input buffer. */
143#ifndef YY_BUF_SIZE
144#ifdef __ia64__
145/* On IA-64, the buffer size is 16k, not 8k.
146 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
147 * Ditto for the __ia64__ case accordingly.
148 */
149#define YY_BUF_SIZE 32768
150#else
151#define YY_BUF_SIZE 16384
152#endif /* __ia64__ */
153#endif
154
155/* The state buf must be large enough to hold one state per character in the main buffer.
156 */
157#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
158
159#ifndef YY_TYPEDEF_YY_BUFFER_STATE
160#define YY_TYPEDEF_YY_BUFFER_STATE
161typedef struct yy_buffer_state *YY_BUFFER_STATE;
162#endif
163
164extern int yyleng;
165
166extern FILE *yyin, *yyout;
167
168#define EOB_ACT_CONTINUE_SCAN 0
169#define EOB_ACT_END_OF_FILE 1
170#define EOB_ACT_LAST_MATCH 2
171
172 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
173 * access to the local variable yy_act. Since yyless() is a macro, it would break
174 * existing scanners that call yyless() from OUTSIDE yylex.
175 * One obvious solution it to make yy_act a global. I tried that, and saw
176 * a 5% performance hit in a non-yylineno scanner, because yy_act is
177 * normally declared as a register variable-- so it is not worth it.
178 */
179 #define YY_LESS_LINENO(n) \
180 do { \
181 int yyl;\
182 for ( yyl = n; yyl < yyleng; ++yyl )\
183 if ( yytext[yyl] == '\n' )\
184 --yylineno;\
185 }while(0)
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 = (yy_hold_char); \
195 YY_RESTORE_YY_MORE_OFFSET \
196 (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, (yytext_ptr) )
202
203#ifndef YY_TYPEDEF_YY_SIZE_T
204#define YY_TYPEDEF_YY_SIZE_T
205typedef size_t yy_size_t;
206#endif
207
208#ifndef YY_STRUCT_YY_BUFFER_STATE
209#define YY_STRUCT_YY_BUFFER_STATE
210struct 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 yyrestart()), 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/* Stack of input buffers. */
274static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
275static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
276static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
277
278/* We provide macros for accessing buffer states in case in the
279 * future we want to put the buffer states in a more general
280 * "scanner state".
281 *
282 * Returns the top of the stack, or NULL.
283 */
284#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
285 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
286 : NULL)
287
288/* Same as previous macro, but useful when we know that the buffer stack is not
289 * NULL or when we need an lvalue. For internal use only.
290 */
291#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
292
293/* yy_hold_char holds the character lost when yytext is formed. */
294static char yy_hold_char;
295static int yy_n_chars; /* number of characters read into yy_ch_buf */
296int yyleng;
297
298/* Points to current character in buffer. */
299static char *yy_c_buf_p = (char *) 0;
300static int yy_init = 0; /* whether we need to initialize */
301static int yy_start = 0; /* start state number */
302
303/* Flag which is used to allow yywrap()'s to do buffer switches
304 * instead of setting up a fresh yyin. A bit of a hack ...
305 */
306static int yy_did_buffer_switch_on_eof;
307
308void yyrestart (FILE *input_file );
309void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
310YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
311void yy_delete_buffer (YY_BUFFER_STATE b );
312void yy_flush_buffer (YY_BUFFER_STATE b );
313void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
314void yypop_buffer_state (void );
315
316static void yyensure_buffer_stack (void );
317static void yy_load_buffer_state (void );
318static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
319
320#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
321
322YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
323YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
324YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
325
326void *yyalloc (yy_size_t );
327void *yyrealloc (void *,yy_size_t );
328void yyfree (void * );
329
330#define yy_new_buffer yy_create_buffer
331
332#define yy_set_interactive(is_interactive) \
333 { \
334 if ( ! YY_CURRENT_BUFFER ){ \
335 yyensure_buffer_stack (); \
336 YY_CURRENT_BUFFER_LVALUE = \
337 yy_create_buffer(yyin,YY_BUF_SIZE ); \
338 } \
339 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
340 }
341
342#define yy_set_bol(at_bol) \
343 { \
344 if ( ! YY_CURRENT_BUFFER ){\
345 yyensure_buffer_stack (); \
346 YY_CURRENT_BUFFER_LVALUE = \
347 yy_create_buffer(yyin,YY_BUF_SIZE ); \
348 } \
349 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
350 }
351
352#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
353
354/* Begin user sect3 */
355
356typedef unsigned char YY_CHAR;
357
358FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
359
360typedef int yy_state_type;
361
362extern int yylineno;
363
364int yylineno = 1;
365
366extern char *yytext;
367#define yytext_ptr yytext
368
369static yy_state_type yy_get_previous_state (void );
370static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
371static int yy_get_next_buffer (void );
372static void yy_fatal_error (yyconst char msg[] );
373
374/* Done after the current pattern has been matched and before the
375 * corresponding action - sets up yytext.
376 */
377#define YY_DO_BEFORE_ACTION \
378 (yytext_ptr) = yy_bp; \
379 yyleng = (size_t) (yy_cp - yy_bp); \
380 (yy_hold_char) = *yy_cp; \
381 *yy_cp = '\0'; \
382 (yy_c_buf_p) = yy_cp;
383
384#define YY_NUM_RULES 170
385#define YY_END_OF_BUFFER 171
386/* This struct is not used in this scanner,
387 but its presence is necessary. */
388struct yy_trans_info
389 {
390 flex_int32_t yy_verify;
391 flex_int32_t yy_nxt;
392 };
393static yyconst flex_int16_t yy_accept[822] =
394 { 0,
395 0, 0, 0, 0, 0, 0, 108, 108, 111, 111,
396 171, 169, 7, 9, 8, 130, 110, 95, 135, 138,
397 107, 117, 118, 133, 131, 121, 132, 124, 134, 100,
398 101, 102, 122, 123, 140, 142, 141, 143, 169, 95,
399 115, 169, 116, 136, 95, 97, 95, 95, 95, 95,
400 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
401 95, 119, 139, 120, 137, 7, 169, 4, 4, 170,
402 98, 170, 99, 108, 109, 114, 111, 112, 7, 9,
403 0, 8, 147, 165, 95, 0, 159, 129, 152, 160,
404 157, 144, 155, 145, 156, 154, 0, 105, 3, 0,
405
406 158, 105, 103, 0, 0, 103, 103, 0, 0, 103,
407 102, 102, 102, 0, 102, 127, 128, 126, 148, 150,
408 146, 151, 149, 0, 0, 0, 0, 0, 0, 0,
409 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
410 110, 107, 95, 0, 0, 162, 95, 95, 95, 95,
411 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
412 95, 95, 36, 95, 95, 95, 95, 95, 95, 95,
413 95, 95, 95, 53, 95, 95, 95, 95, 95, 95,
414 95, 95, 95, 95, 95, 95, 95, 95, 161, 153,
415 7, 0, 0, 0, 2, 0, 5, 98, 0, 0,
416
417 0, 108, 113, 113, 0, 0, 0, 111, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 125, 105, 0, 105, 0, 0, 6,
420 0, 103, 0, 0, 0, 105, 0, 103, 103, 103,
421 103, 0, 104, 0, 0, 102, 102, 102, 102, 0,
422 163, 164, 0, 167, 166, 0, 0, 0, 96, 0,
423 0, 0, 0, 0, 0, 0, 95, 95, 95, 95,
424 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
425 95, 95, 95, 95, 95, 14, 95, 95, 95, 95,
426 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
427
428 95, 95, 47, 95, 95, 95, 60, 95, 95, 95,
429 95, 95, 95, 95, 95, 95, 95, 95, 95, 82,
430 95, 95, 95, 95, 95, 95, 0, 0, 0, 0,
431 0, 0, 0, 0, 113, 0, 0, 0, 0, 0,
432 113, 0, 0, 168, 0, 0, 0, 0, 0, 0,
433 0, 0, 105, 0, 0, 0, 105, 0, 103, 103,
434 0, 0, 104, 104, 0, 104, 0, 104, 102, 102,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
437 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
438
439 95, 95, 20, 95, 23, 95, 25, 95, 95, 95,
440 95, 95, 95, 39, 40, 95, 95, 95, 95, 95,
441 95, 95, 52, 95, 63, 95, 95, 95, 95, 95,
442 95, 95, 95, 95, 95, 95, 83, 95, 95, 90,
443 95, 95, 0, 0, 0, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 0, 0, 113, 0, 0, 0,
445 0, 0, 105, 0, 0, 0, 0, 0, 0, 104,
446 104, 0, 106, 0, 104, 104, 0, 0, 0, 0,
447 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
448 95, 21, 95, 95, 95, 95, 95, 95, 95, 15,
449
450 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
451 95, 95, 95, 22, 24, 95, 30, 95, 95, 95,
452 95, 38, 95, 95, 95, 45, 95, 95, 50, 95,
453 95, 95, 95, 95, 71, 95, 95, 95, 95, 95,
454 81, 95, 95, 88, 95, 95, 94, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 106, 0, 0, 104,
457 106, 106, 0, 104, 0, 0, 0, 0, 0, 0,
458 0, 0, 0, 0, 95, 0, 95, 95, 95, 95,
459 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
460
461 95, 55, 95, 95, 95, 95, 95, 95, 95, 26,
462 95, 95, 95, 37, 42, 95, 95, 48, 95, 57,
463 64, 95, 95, 70, 72, 75, 76, 78, 79, 95,
464 85, 95, 95, 0, 1, 0, 0, 0, 0, 0,
465 0, 98, 0, 0, 0, 113, 0, 0, 0, 0,
466 106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
467 0, 95, 95, 17, 95, 95, 95, 95, 95, 95,
468 95, 16, 95, 95, 31, 95, 95, 95, 95, 95,
469 95, 95, 95, 95, 95, 33, 95, 35, 95, 44,
470 49, 95, 95, 84, 95, 95, 0, 0, 0, 0,
471
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
473 11, 27, 51, 95, 95, 95, 95, 95, 95, 95,
474 95, 95, 95, 56, 58, 61, 95, 95, 73, 86,
475 95, 34, 43, 66, 67, 89, 91, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
477 65, 95, 95, 12, 95, 28, 32, 95, 95, 95,
478 62, 95, 95, 95, 95, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 54, 95,
480 95, 95, 95, 95, 95, 46, 59, 68, 74, 87,
481 92, 0, 0, 0, 0, 0, 0, 0, 0, 95,
482
483 95, 13, 18, 29, 95, 95, 95, 0, 0, 95,
484 95, 95, 95, 69, 93, 95, 80, 19, 41, 77,
485 0
486 } ;
487
488static yyconst flex_int32_t yy_ec[256] =
489 { 0,
490 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
491 4, 5, 6, 1, 1, 1, 1, 1, 1, 1,
492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
493 1, 7, 8, 9, 10, 11, 12, 13, 14, 15,
494 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
495 26, 26, 26, 26, 26, 27, 28, 29, 30, 31,
496 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
497 42, 11, 43, 11, 11, 44, 11, 45, 11, 46,
498 11, 11, 47, 48, 49, 11, 11, 50, 11, 11,
499 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
500
501 61, 62, 63, 64, 65, 11, 66, 67, 68, 69,
502 70, 71, 11, 72, 73, 74, 75, 76, 77, 78,
503 79, 80, 81, 82, 83, 84, 1, 1, 1, 1,
504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
511
512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1
518 } ;
519
520static yyconst flex_int32_t yy_meta[85] =
521 { 0,
522 1, 1, 2, 1, 1, 1, 1, 1, 3, 1,
523 4, 1, 1, 5, 1, 1, 1, 1, 1, 1,
524 6, 1, 7, 7, 7, 7, 8, 8, 1, 1,
525 1, 1, 1, 9, 1, 10, 10, 10, 10, 10,
526 10, 4, 4, 11, 4, 12, 4, 4, 13, 4,
527 1, 14, 1, 1, 15, 1, 16, 16, 10, 10,
528 16, 16, 4, 4, 4, 4, 11, 4, 17, 4,
529 12, 17, 4, 17, 13, 17, 4, 17, 4, 4,
530 1, 1, 1, 1
531 } ;
532
533static yyconst flex_int16_t yy_base[996] =
534 { 0,
535 0, 83, 2185, 2183, 93, 0, 175, 176, 177, 178,
536 2195, 3520, 189, 3520, 195, 54, 3520, 2142, 59, 171,
537 3520, 3520, 3520, 55, 186, 3520, 189, 187, 202, 214,
538 272, 0, 2160, 3520, 214, 2160, 150, 340, 2138, 222,
539 3520, 157, 3520, 2154, 277, 3520, 192, 133, 196, 198,
540 204, 271, 155, 218, 181, 200, 266, 238, 210, 224,
541 282, 3520, 223, 3520, 2151, 372, 361, 3520, 2162, 3520,
542 2131, 229, 3520, 0, 3520, 374, 0, 3520, 399, 3520,
543 405, 411, 3520, 445, 2130, 234, 3520, 3520, 3520, 3520,
544 3520, 2146, 3520, 2141, 3520, 3520, 2153, 505, 3520, 2170,
545
546 3520, 550, 401, 414, 462, 262, 240, 280, 443, 380,
547 0, 305, 241, 335, 399, 3520, 3520, 3520, 2140, 3520,
548 3520, 3520, 2138, 2134, 215, 310, 2149, 327, 333, 349,
549 361, 399, 400, 411, 2130, 427, 2080, 436, 2110, 317,
550 3520, 3520, 483, 2105, 2100, 3520, 439, 376, 431, 420,
551 368, 432, 421, 448, 557, 442, 451, 453, 463, 452,
552 455, 398, 251, 459, 466, 344, 467, 456, 474, 464,
553 298, 468, 488, 2102, 490, 492, 496, 506, 498, 502,
554 499, 518, 529, 507, 532, 533, 535, 543, 3520, 3520,
555 632, 625, 2150, 638, 3520, 665, 3520, 2100, 514, 2095,
556
557 2091, 0, 3520, 631, 2090, 2089, 2088, 0, 2110, 565,
558 581, 589, 626, 639, 643, 647, 648, 651, 2106, 662,
559 663, 2080, 2079, 3520, 675, 686, 3520, 2078, 2129, 3520,
560 677, 0, 571, 700, 722, 739, 750, 571, 3520, 2086,
561 2059, 0, 738, 2104, 772, 594, 3520, 2080, 2056, 791,
562 3520, 3520, 2088, 3520, 3520, 673, 688, 2067, 2063, 659,
563 2059, 2058, 2057, 0, 2055, 0, 691, 555, 681, 536,
564 541, 700, 717, 701, 719, 755, 702, 708, 736, 752,
565 733, 750, 727, 729, 760, 2053, 771, 774, 772, 773,
566 782, 783, 784, 785, 618, 788, 786, 787, 791, 793,
567
568 792, 799, 809, 796, 798, 810, 2052, 811, 812, 813,
569 817, 818, 820, 819, 821, 824, 825, 828, 829, 2051,
570 833, 834, 832, 835, 844, 838, 904, 726, 2047, 2045,
571 2040, 0, 2039, 0, 891, 895, 2038, 0, 2037, 0,
572 2035, 0, 2011, 3520, 876, 890, 1989, 1986, 0, 1983,
573 0, 902, 908, 930, 914, 953, 959, 965, 3520, 3520,
574 952, 958, 973, 922, 1027, 845, 1012, 898, 3520, 3520,
575 1982, 1981, 1980, 0, 1979, 0, 1977, 0, 1972, 0,
576 899, 891, 893, 944, 949, 909, 950, 960, 964, 953,
577 978, 983, 991, 989, 972, 979, 997, 851, 871, 1010,
578
579 1013, 1014, 1974, 1020, 1973, 1016, 1972, 922, 1017, 1024,
580 1018, 1023, 1036, 1970, 1966, 1022, 1025, 1040, 1026, 1043,
581 1044, 1050, 1965, 1046, 1964, 1049, 1052, 1051, 1054, 1053,
582 1056, 1060, 1057, 1061, 1062, 1066, 1076, 1079, 1077, 1963,
583 1067, 1081, 1129, 1959, 0, 1957, 0, 1952, 0, 1951,
584 0, 1126, 1950, 0, 1949, 0, 1947, 1942, 1941, 0,
585 1940, 0, 1130, 1136, 1181, 1123, 1192, 1124, 1101, 1090,
586 3520, 1198, 1204, 1215, 1950, 1925, 1932, 1931, 0, 1930,
587 0, 1929, 0, 1927, 0, 1923, 0, 1922, 0, 1114,
588 1116, 1924, 1115, 1121, 1123, 1137, 1134, 1144, 1082, 500,
589
590 1162, 1185, 1192, 1083, 1194, 1124, 1148, 164, 1197, 1198,
591 1200, 1201, 1203, 1923, 1922, 1202, 1920, 1205, 1209, 1212,
592 1215, 1914, 1216, 1138, 1221, 1909, 1222, 1218, 1904, 1225,
593 1229, 1228, 1230, 1232, 1903, 1239, 1235, 1241, 1240, 1242,
594 1902, 1244, 1246, 1901, 1251, 1252, 1900, 1947, 1873, 0,
595 1872, 0, 1871, 0, 1870, 0, 1868, 0, 1863, 0,
596 1862, 0, 1861, 0, 1298, 1304, 1310, 1321, 1860, 3520,
597 1332, 3520, 1356, 3520, 1858, 0, 1853, 0, 1852, 0,
598 1851, 0, 0, 0, 1853, 0, 1318, 1257, 1258, 1298,
599 1300, 1291, 1259, 1255, 1309, 912, 1333, 1319, 1288, 1322,
600
601 1290, 1337, 1338, 1343, 1341, 1344, 1349, 1350, 1351, 1851,
602 1352, 1353, 1357, 1846, 1845, 1360, 1354, 1844, 1361, 1843,
603 1841, 1363, 1362, 1836, 1835, 1834, 1833, 1831, 1826, 1365,
604 1825, 1377, 1367, 1873, 3520, 1820, 0, 1818, 0, 0,
605 0, 1816, 0, 0, 0, 3520, 0, 0, 0, 0,
606 1416, 1422, 1467, 1812, 0, 1811, 0, 0, 0, 0,
607 1810, 1383, 1399, 1811, 1384, 1400, 1401, 1402, 1412, 1413,
608 1385, 1806, 1417, 1418, 1421, 1428, 1448, 1430, 1435, 1454,
609 1447, 1445, 1451, 1436, 1452, 1805, 1453, 1804, 1434, 1803,
610 1801, 1455, 1456, 1796, 1460, 1463, 0, 0, 1792, 1791,
611
612 1790, 1788, 1508, 0, 1777, 1774, 1773, 1769, 1768, 1770,
613 1769, 1767, 1743, 1466, 1471, 1464, 1461, 1467, 1473, 1474,
614 1487, 1485, 1516, 1732, 1491, 1731, 1492, 1497, 1499, 1503,
615 1493, 1727, 1724, 1723, 1722, 1720, 1718, 1713, 1708, 1699,
616 1696, 1686, 1683, 1682, 1655, 1654, 1653, 1652, 1651, 1501,
617 1644, 1505, 1507, 1509, 1510, 1514, 1641, 1513, 1540, 1518,
618 1640, 1519, 1520, 1524, 1529, 1583, 1582, 1581, 1580, 1579,
619 1578, 1577, 1576, 1575, 1574, 1573, 1572, 1571, 1573, 1522,
620 1530, 1533, 1535, 1539, 1534, 1571, 1570, 1545, 1370, 1315,
621 1546, 1258, 1257, 1129, 1082, 984, 983, 982, 944, 1547,
622
623 1550, 916, 1554, 758, 1558, 1559, 1560, 677, 676, 1552,
624 1553, 1564, 1566, 635, 595, 1565, 544, 419, 236, 165,
625 3520, 1639, 1656, 1673, 1687, 1701, 1718, 1732, 1749, 1764,
626 1781, 1798, 1810, 1823, 1834, 1844, 1854, 1864, 1874, 1884,
627 1894, 1904, 1914, 1930, 1941, 1952, 1963, 1973, 1983, 1993,
628 2003, 2013, 2023, 2036, 2053, 2070, 2081, 2091, 2101, 2111,
629 2121, 2131, 2141, 2151, 2161, 2171, 2181, 2191, 2201, 2211,
630 2221, 2231, 2241, 2251, 2262, 2272, 2282, 2292, 2302, 2312,
631 2322, 2332, 2342, 2352, 2362, 2375, 2392, 2403, 2413, 2423,
632 2433, 2443, 2453, 2463, 2473, 2483, 2493, 2503, 2513, 2523,
633
634 2533, 2543, 2553, 2563, 2573, 2583, 2593, 2603, 2613, 2623,
635 2633, 2643, 2653, 2663, 2673, 2683, 2693, 2703, 2716, 2733,
636 2744, 2754, 2764, 2774, 2784, 2794, 2804, 2814, 2824, 2834,
637 2844, 2854, 2864, 2874, 2884, 2894, 2904, 2914, 2924, 2934,
638 2944, 2954, 2964, 2974, 2984, 2994, 3004, 3017, 3028, 3044,
639 3055, 3065, 3075, 3085, 3095, 3105, 3118, 3129, 3139, 3149,
640 3159, 3169, 3179, 3189, 3199, 3209, 3219, 3229, 3239, 3249,
641 3259, 3269, 3282, 3293, 3303, 3313, 3323, 3333, 3343, 3353,
642 3363, 3373, 3383, 3393, 3403, 3413, 3423, 3433, 3443, 3453,
643 3463, 3473, 3483, 3493, 3503
644
645 } ;
646
647static yyconst flex_int16_t yy_def[996] =
648 { 0,
649 821, 1, 822, 822, 821, 5, 823, 823, 824, 824,
650 821, 821, 821, 821, 821, 821, 821, 825, 821, 821,
651 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
652 821, 31, 821, 821, 821, 821, 821, 821, 826, 825,
653 821, 821, 821, 821, 825, 821, 825, 825, 825, 825,
654 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
655 825, 821, 821, 821, 821, 821, 827, 821, 821, 821,
656 828, 821, 821, 829, 821, 830, 831, 821, 821, 821,
657 821, 821, 821, 821, 825, 821, 821, 821, 821, 821,
658 821, 821, 821, 821, 821, 821, 821, 821, 821, 832,
659
660 821, 821, 30, 821, 821, 821, 821, 833, 30, 821,
661 31, 821, 821, 31, 821, 821, 821, 821, 821, 821,
662 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
663 821, 821, 821, 821, 821, 821, 821, 821, 834, 821,
664 821, 821, 825, 835, 836, 821, 825, 825, 825, 825,
665 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
666 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
667 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
668 825, 825, 825, 825, 825, 825, 825, 825, 821, 821,
669 821, 827, 827, 827, 821, 827, 821, 828, 821, 837,
670
671 838, 829, 821, 821, 839, 840, 841, 831, 821, 821,
672 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
673 821, 842, 843, 821, 821, 821, 821, 225, 844, 821,
674 821, 103, 103, 821, 821, 821, 821, 821, 821, 821,
675 821, 845, 846, 847, 821, 821, 821, 821, 821, 821,
676 821, 821, 821, 821, 821, 821, 821, 821, 834, 821,
677 848, 849, 850, 851, 852, 853, 854, 854, 854, 854,
678 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
679 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
680 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
681
682 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
683 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
684 854, 854, 854, 854, 854, 854, 855, 856, 857, 858,
685 859, 860, 861, 862, 821, 821, 863, 864, 865, 866,
686 867, 868, 821, 821, 821, 821, 821, 869, 870, 871,
687 872, 821, 821, 821, 821, 821, 821, 821, 821, 821,
688 873, 874, 875, 821, 821, 821, 875, 821, 821, 821,
689 876, 877, 878, 879, 880, 881, 882, 883, 884, 885,
690 886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
691 886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
692
693 886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
694 886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
695 886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
696 886, 886, 886, 886, 886, 886, 886, 886, 886, 886,
697 886, 886, 887, 888, 889, 890, 891, 892, 893, 894,
698 895, 821, 896, 897, 898, 899, 900, 900, 901, 902,
699 903, 904, 821, 821, 821, 905, 821, 905, 821, 821,
700 821, 821, 821, 821, 821, 821, 906, 907, 908, 909,
701 910, 911, 912, 913, 914, 915, 916, 917, 918, 919,
702 919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
703
704 919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
705 919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
706 919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
707 919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
708 919, 919, 919, 919, 919, 919, 919, 920, 921, 922,
709 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
710 933, 934, 935, 936, 821, 821, 821, 821, 937, 821,
711 821, 821, 821, 821, 938, 939, 940, 941, 942, 943,
712 944, 945, 946, 947, 948, 949, 948, 948, 948, 948,
713 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
714
715 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
716 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
717 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
718 948, 948, 948, 950, 821, 951, 952, 953, 954, 955,
719 956, 957, 958, 959, 960, 821, 961, 962, 963, 964,
720 821, 821, 821, 965, 966, 967, 968, 969, 970, 971,
721 972, 973, 973, 973, 973, 973, 973, 973, 973, 973,
722 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
723 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
724 973, 973, 973, 973, 973, 973, 974, 975, 953, 976,
725
726 977, 978, 821, 979, 965, 967, 980, 981, 972, 973,
727 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
728 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
729 973, 973, 973, 973, 973, 973, 973, 982, 983, 976,
730 984, 977, 985, 978, 986, 987, 980, 988, 981, 973,
731 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
732 973, 973, 973, 973, 973, 989, 982, 990, 983, 991,
733 984, 992, 985, 993, 986, 994, 987, 988, 973, 973,
734 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
735 973, 995, 989, 990, 991, 992, 967, 993, 994, 973,
736
737 973, 973, 973, 973, 973, 973, 973, 995, 967, 973,
738 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
739 0, 821, 821, 821, 821, 821, 821, 821, 821, 821,
740 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
741 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
742 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
743 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
744 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
745 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
746 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
747
748 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
749 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
750 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
751 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
752 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
753 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
754 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
755 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
756 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
757 821, 821, 821, 821, 821
758
759 } ;
760
761static yyconst flex_int16_t yy_nxt[3605] =
762 { 0,
763 12, 13, 14, 15, 15, 15, 13, 16, 17, 12,
764 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
765 28, 29, 30, 31, 32, 32, 32, 32, 33, 34,
766 35, 36, 37, 38, 39, 18, 18, 18, 18, 18,
767 18, 18, 18, 40, 18, 18, 18, 18, 18, 18,
768 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
769 51, 52, 53, 18, 54, 18, 55, 18, 18, 18,
770 18, 56, 57, 58, 59, 60, 61, 18, 18, 18,
771 62, 63, 64, 65, 66, 83, 91, 84, 84, 66,
772 87, 88, 67, 70, 70, 70, 70, 70, 70, 70,
773
774 70, 70, 70, 71, 70, 70, 70, 70, 70, 70,
775 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
776 70, 70, 70, 70, 70, 70, 70, 70, 71, 71,
777 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
778 71, 71, 71, 70, 72, 70, 70, 71, 73, 71,
779 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
780 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
781 71, 71, 71, 70, 70, 70, 70, 75, 75, 78,
782 78, 122, 123, 89, 86, 78, 78, 604, 75, 75,
783 79, 80, 81, 81, 81, 79, 81, 80, 82, 82,
784
785 82, 81, 90, 92, 158, 144, 86, 97, 94, 98,
786 98, 98, 98, 98, 98, 86, 86, 93, 99, 84,
787 95, 96, 84, 100, 173, 117, 76, 76, 76, 76,
788 141, 145, 86, 101, 102, 142, 103, 103, 103, 103,
789 104, 104, 118, 86, 119, 120, 253, 86, 254, 86,
790 176, 86, 159, 105, 189, 86, 177, 106, 162, 160,
791 178, 86, 107, 108, 156, 161, 157, 163, 109, 86,
792 165, 164, 166, 86, 105, 86, 143, 200, 186, 174,
793 110, 167, 222, 240, 248, 141, 175, 86, 107, 86,
794 142, 108, 102, 187, 111, 111, 111, 111, 111, 111,
795
796 242, 183, 86, 201, 190, 238, 241, 249, 223, 184,
797 239, 105, 147, 148, 149, 112, 185, 86, 150, 151,
798 113, 152, 86, 153, 154, 295, 114, 168, 86, 179,
799 180, 155, 105, 86, 244, 169, 239, 170, 115, 181,
800 171, 253, 182, 254, 172, 188, 113, 124, 246, 86,
801 255, 125, 126, 247, 127, 821, 128, 129, 253, 130,
802 254, 131, 194, 195, 253, 261, 254, 194, 255, 303,
803 132, 133, 134, 191, 80, 81, 81, 81, 191, 247,
804 253, 192, 254, 196, 196, 196, 196, 196, 196, 250,
805 135, 262, 253, 136, 254, 86, 204, 204, 204, 204,
806
807 79, 80, 81, 81, 81, 79, 81, 80, 81, 81,
808 81, 81, 81, 80, 82, 82, 82, 81, 298, 86,
809 137, 138, 205, 232, 232, 232, 232, 86, 239, 256,
810 253, 253, 254, 254, 102, 272, 104, 104, 104, 104,
811 104, 104, 253, 257, 254, 269, 238, 247, 206, 86,
812 821, 207, 209, 105, 239, 233, 210, 211, 253, 294,
813 254, 212, 213, 821, 214, 246, 215, 253, 234, 254,
814 86, 86, 86, 247, 105, 216, 217, 218, 821, 235,
815 271, 235, 86, 86, 236, 236, 236, 236, 236, 236,
816 86, 141, 821, 86, 274, 219, 142, 245, 220, 86,
817
818 270, 273, 86, 86, 86, 267, 86, 86, 291, 286,
819 86, 275, 268, 288, 86, 86, 237, 86, 86, 86,
820 821, 292, 300, 293, 287, 86, 221, 225, 225, 225,
821 225, 225, 225, 302, 86, 289, 290, 296, 297, 86,
822 299, 86, 301, 86, 226, 227, 304, 86, 227, 86,
823 86, 86, 309, 86, 596, 316, 306, 86, 86, 228,
824 308, 305, 329, 307, 314, 226, 227, 313, 310, 86,
825 317, 227, 98, 98, 98, 98, 98, 98, 311, 312,
826 86, 315, 318, 86, 86, 320, 86, 86, 330, 226,
827 227, 821, 86, 227, 86, 86, 343, 322, 344, 324,
828
829 319, 325, 321, 384, 231, 323, 86, 326, 86, 385,
830 226, 227, 343, 276, 344, 277, 227, 278, 279, 359,
831 343, 280, 344, 281, 382, 356, 194, 195, 282, 283,
832 284, 194, 285, 191, 80, 81, 81, 81, 191, 194,
833 195, 192, 369, 344, 194, 359, 86, 196, 196, 196,
834 196, 196, 196, 335, 335, 335, 335, 343, 344, 344,
835 196, 196, 196, 196, 196, 196, 327, 195, 369, 86,
836 343, 327, 344, 328, 343, 412, 344, 345, 343, 343,
837 344, 344, 343, 346, 344, 336, 86, 196, 196, 196,
838 196, 196, 196, 343, 343, 344, 344, 225, 225, 225,
839
840 225, 225, 225, 352, 253, 352, 254, 371, 353, 353,
841 353, 353, 353, 353, 226, 227, 226, 227, 227, 253,
842 227, 254, 104, 104, 104, 104, 104, 104, 195, 228,
843 821, 821, 86, 372, 193, 226, 227, 226, 227, 105,
844 354, 227, 86, 227, 236, 236, 236, 236, 236, 236,
845 383, 86, 86, 86, 245, 381, 386, 388, 362, 86,
846 105, 357, 357, 357, 357, 357, 357, 235, 86, 235,
847 86, 393, 236, 236, 236, 236, 236, 236, 86, 227,
848 86, 364, 227, 365, 86, 394, 366, 86, 387, 398,
849 389, 400, 367, 358, 104, 104, 104, 104, 104, 104,
850
851 227, 86, 395, 86, 368, 227, 86, 401, 365, 86,
852 399, 86, 366, 111, 111, 111, 111, 111, 111, 396,
853 397, 390, 86, 86, 86, 86, 245, 391, 392, 402,
854 404, 406, 405, 86, 86, 86, 86, 86, 86, 86,
855 403, 411, 86, 86, 86, 250, 414, 86, 418, 86,
856 86, 416, 408, 407, 415, 419, 409, 410, 413, 417,
857 86, 86, 86, 86, 86, 420, 422, 423, 86, 86,
858 86, 86, 86, 425, 424, 86, 86, 427, 426, 86,
859 86, 432, 421, 86, 86, 86, 86, 431, 475, 86,
860 428, 430, 429, 437, 440, 86, 439, 433, 436, 434,
861
862 441, 435, 86, 438, 442, 327, 195, 343, 509, 344,
863 327, 476, 328, 203, 203, 203, 203, 335, 335, 335,
864 335, 343, 86, 344, 353, 353, 353, 353, 353, 353,
865 463, 463, 463, 463, 463, 463, 225, 225, 225, 225,
866 225, 225, 86, 510, 86, 452, 471, 352, 227, 352,
867 86, 227, 353, 353, 353, 353, 353, 353, 491, 492,
868 86, 490, 464, 86, 470, 470, 672, 86, 355, 227,
869 471, 495, 471, 86, 227, 232, 232, 232, 232, 104,
870 104, 357, 357, 357, 357, 357, 357, 357, 357, 357,
871 357, 357, 357, 362, 516, 86, 471, 467, 821, 227,
872
873 86, 86, 227, 467, 86, 227, 468, 356, 227, 494,
874 496, 86, 469, 358, 493, 86, 364, 499, 365, 465,
875 227, 366, 467, 86, 498, 227, 227, 367, 467, 86,
876 86, 227, 821, 497, 86, 506, 821, 809, 821, 368,
877 86, 505, 86, 365, 472, 500, 472, 366, 86, 473,
878 473, 473, 473, 473, 473, 364, 501, 365, 502, 503,
879 366, 86, 504, 507, 86, 86, 477, 86, 86, 86,
880 508, 86, 511, 86, 86, 86, 86, 86, 368, 515,
881 513, 474, 365, 512, 518, 514, 366, 86, 519, 521,
882 517, 86, 520, 523, 86, 86, 522, 86, 524, 526,
883
884 86, 86, 86, 86, 86, 86, 525, 86, 86, 527,
885 529, 86, 86, 86, 530, 528, 536, 86, 86, 539,
886 540, 538, 533, 531, 532, 534, 535, 86, 86, 537,
887 86, 195, 86, 86, 86, 542, 821, 548, 570, 545,
888 546, 547, 541, 600, 595, 543, 467, 544, 203, 203,
889 203, 203, 463, 463, 463, 463, 463, 463, 463, 463,
890 463, 463, 463, 463, 570, 86, 86, 86, 467, 467,
891 227, 467, 86, 227, 86, 86, 227, 468, 569, 227,
892 588, 589, 587, 821, 464, 86, 602, 591, 86, 86,
893 565, 227, 590, 467, 467, 86, 227, 227, 593, 86,
894
895 594, 616, 227, 357, 357, 357, 357, 357, 357, 566,
896 592, 566, 603, 86, 567, 567, 567, 567, 567, 567,
897 473, 473, 473, 473, 473, 473, 571, 571, 571, 571,
898 571, 571, 472, 597, 472, 465, 86, 473, 473, 473,
899 473, 473, 473, 86, 572, 86, 568, 572, 86, 86,
900 601, 86, 86, 86, 86, 598, 86, 605, 573, 609,
901 86, 608, 610, 86, 599, 572, 86, 86, 607, 86,
902 572, 606, 86, 86, 619, 614, 86, 612, 613, 86,
903 86, 86, 611, 86, 615, 620, 86, 617, 618, 621,
904 86, 86, 86, 86, 623, 86, 626, 86, 625, 627,
905
906 624, 622, 86, 86, 630, 629, 86, 631, 86, 86,
907 86, 821, 808, 628, 670, 664, 633, 669, 665, 632,
908 463, 463, 463, 463, 463, 463, 567, 567, 567, 567,
909 567, 567, 651, 651, 651, 651, 651, 651, 566, 86,
910 566, 86, 86, 567, 567, 567, 567, 567, 567, 86,
911 572, 86, 565, 572, 571, 571, 571, 571, 571, 571,
912 86, 675, 666, 677, 652, 668, 86, 680, 667, 86,
913 86, 572, 572, 86, 662, 572, 572, 671, 571, 571,
914 571, 571, 571, 571, 86, 674, 573, 663, 86, 86,
915 676, 678, 86, 572, 86, 86, 572, 673, 572, 572,
916
917 86, 86, 86, 86, 86, 86, 679, 681, 86, 683,
918 653, 86, 86, 86, 86, 682, 86, 572, 86, 684,
919 693, 86, 572, 692, 685, 686, 694, 687, 86, 691,
920 688, 689, 690, 696, 86, 86, 86, 695, 651, 651,
921 651, 651, 651, 651, 651, 651, 651, 651, 651, 651,
922 86, 86, 86, 86, 718, 710, 572, 714, 713, 572,
923 711, 712, 572, 86, 86, 572, 716, 717, 86, 86,
924 652, 723, 86, 715, 719, 721, 703, 572, 720, 86,
925 726, 86, 572, 572, 724, 86, 86, 86, 572, 571,
926 571, 571, 571, 571, 571, 725, 86, 730, 86, 86,
927
928 722, 727, 86, 86, 86, 86, 86, 86, 733, 728,
929 729, 86, 86, 732, 86, 86, 731, 86, 86, 736,
930 752, 653, 86, 737, 86, 86, 734, 753, 754, 735,
931 651, 651, 651, 651, 651, 651, 86, 750, 86, 751,
932 759, 757, 86, 86, 86, 760, 761, 755, 86, 758,
933 86, 756, 86, 763, 86, 762, 86, 764, 86, 765,
934 86, 86, 703, 782, 86, 86, 786, 86, 784, 86,
935 86, 86, 787, 86, 789, 86, 781, 780, 790, 779,
936 86, 86, 785, 783, 86, 86, 86, 802, 801, 791,
937 86, 86, 788, 804, 800, 803, 86, 86, 86, 806,
938
939 807, 86, 805, 86, 86, 86, 811, 810, 812, 86,
940 86, 86, 813, 814, 815, 86, 86, 86, 818, 817,
941 819, 86, 86, 816, 86, 821, 821, 799, 821, 798,
942 821, 796, 821, 795, 821, 794, 821, 793, 820, 68,
943 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
944 68, 68, 68, 68, 68, 68, 74, 74, 74, 74,
945 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
946 74, 74, 74, 77, 77, 77, 77, 77, 77, 77,
947 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
948 85, 86, 86, 85, 85, 86, 85, 85, 85, 85,
949
950 85, 85, 85, 85, 139, 821, 778, 821, 777, 775,
951 139, 139, 139, 139, 139, 139, 139, 139, 193, 193,
952 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
953 193, 193, 193, 193, 193, 198, 821, 773, 198, 198,
954 821, 198, 198, 198, 198, 198, 198, 198, 198, 202,
955 771, 202, 202, 821, 202, 202, 202, 202, 202, 202,
956 202, 202, 769, 202, 202, 202, 203, 767, 203, 86,
957 203, 86, 203, 86, 86, 86, 203, 203, 86, 203,
958 203, 208, 86, 86, 208, 208, 208, 208, 208, 208,
959 208, 208, 208, 208, 86, 208, 208, 208, 229, 229,
960
961 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
962 229, 229, 229, 229, 229, 243, 243, 243, 86, 243,
963 86, 86, 821, 749, 243, 243, 259, 747, 821, 259,
964 259, 821, 259, 259, 259, 259, 259, 259, 259, 259,
965 263, 263, 744, 263, 742, 740, 821, 86, 263, 263,
966 265, 265, 86, 265, 86, 86, 86, 86, 265, 265,
967 331, 331, 86, 331, 709, 706, 705, 199, 331, 331,
968 333, 333, 699, 333, 698, 635, 86, 86, 333, 333,
969 337, 337, 86, 337, 86, 86, 86, 86, 337, 337,
970 339, 339, 86, 339, 86, 86, 86, 86, 339, 339,
971
972 341, 341, 86, 341, 86, 660, 659, 657, 341, 341,
973 348, 348, 655, 348, 569, 650, 649, 647, 348, 348,
974 350, 350, 645, 350, 643, 641, 639, 637, 350, 350,
975 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
976 229, 229, 229, 229, 229, 229, 229, 361, 361, 635,
977 361, 86, 86, 86, 86, 86, 361, 363, 363, 363,
978 86, 363, 363, 363, 363, 86, 363, 363, 243, 243,
979 243, 86, 243, 86, 86, 86, 586, 584, 243, 373,
980 373, 582, 373, 580, 578, 576, 477, 373, 373, 375,
981 375, 574, 375, 574, 564, 562, 458, 375, 375, 377,
982
983 377, 458, 377, 560, 558, 556, 554, 377, 377, 263,
984 263, 552, 263, 550, 86, 86, 86, 86, 263, 379,
985 379, 86, 379, 86, 86, 86, 489, 379, 379, 265,
986 265, 487, 265, 485, 483, 481, 479, 462, 265, 85,
987 460, 344, 85, 85, 344, 85, 85, 85, 85, 85,
988 85, 85, 85, 193, 193, 193, 193, 193, 193, 193,
989 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
990 443, 443, 443, 443, 443, 443, 443, 443, 443, 443,
991 443, 443, 443, 443, 443, 443, 443, 444, 444, 458,
992 444, 456, 454, 451, 449, 444, 444, 446, 446, 447,
993
994 446, 445, 86, 86, 86, 446, 446, 448, 448, 380,
995 448, 378, 376, 374, 260, 448, 448, 331, 331, 255,
996 331, 254, 370, 370, 242, 360, 331, 450, 450, 360,
997 450, 230, 355, 351, 349, 450, 450, 333, 333, 347,
998 333, 343, 342, 340, 338, 334, 333, 453, 453, 332,
999 453, 199, 195, 86, 266, 453, 453, 337, 337, 264,
1000 337, 260, 255, 258, 255, 253, 337, 455, 455, 252,
1001 455, 251, 230, 224, 84, 455, 455, 339, 339, 84,
1002 339, 86, 199, 197, 84, 146, 339, 457, 457, 140,
1003 457, 121, 116, 86, 821, 457, 457, 341, 341, 69,
1004
1005 341, 69, 821, 821, 821, 821, 341, 459, 459, 821,
1006 459, 821, 821, 821, 821, 459, 459, 348, 348, 821,
1007 348, 821, 821, 821, 821, 821, 348, 461, 461, 821,
1008 461, 821, 821, 821, 821, 461, 461, 350, 350, 821,
1009 350, 821, 821, 821, 821, 821, 350, 466, 466, 821,
1010 466, 821, 466, 821, 821, 466, 466, 361, 361, 821,
1011 361, 821, 361, 821, 821, 361, 361, 363, 363, 363,
1012 821, 363, 363, 363, 363, 821, 363, 363, 478, 478,
1013 821, 478, 821, 821, 821, 821, 478, 478, 480, 480,
1014 821, 480, 821, 821, 821, 821, 480, 480, 482, 482,
1015
1016 821, 482, 821, 821, 821, 821, 482, 482, 373, 373,
1017 821, 373, 821, 821, 821, 821, 821, 373, 484, 484,
1018 821, 484, 821, 821, 821, 821, 484, 484, 375, 375,
1019 821, 375, 821, 821, 821, 821, 821, 375, 486, 486,
1020 821, 486, 821, 821, 821, 821, 486, 486, 377, 377,
1021 821, 377, 821, 821, 821, 821, 821, 377, 488, 488,
1022 821, 488, 821, 821, 821, 821, 488, 488, 379, 379,
1023 821, 379, 821, 821, 821, 821, 821, 379, 85, 821,
1024 821, 85, 85, 821, 85, 85, 85, 85, 85, 85,
1025 85, 85, 443, 443, 443, 443, 443, 443, 443, 443,
1026
1027 443, 443, 443, 443, 443, 443, 443, 443, 443, 549,
1028 549, 821, 549, 821, 821, 821, 821, 549, 549, 444,
1029 444, 821, 444, 821, 821, 821, 821, 821, 444, 551,
1030 551, 821, 551, 821, 821, 821, 821, 551, 551, 446,
1031 446, 821, 446, 821, 821, 821, 821, 821, 446, 553,
1032 553, 821, 553, 821, 821, 821, 821, 553, 553, 448,
1033 448, 821, 448, 821, 821, 821, 821, 821, 448, 555,
1034 555, 821, 555, 821, 821, 821, 821, 555, 555, 450,
1035 450, 821, 450, 821, 821, 821, 821, 821, 450, 557,
1036 557, 821, 557, 821, 821, 821, 821, 557, 557, 453,
1037
1038 453, 821, 453, 821, 821, 821, 821, 821, 453, 559,
1039 559, 821, 559, 821, 821, 821, 821, 559, 559, 455,
1040 455, 821, 455, 821, 821, 821, 821, 821, 455, 457,
1041 457, 821, 457, 821, 821, 821, 821, 457, 457, 561,
1042 561, 821, 561, 821, 821, 821, 821, 561, 561, 459,
1043 459, 821, 459, 821, 821, 821, 821, 821, 459, 563,
1044 563, 821, 563, 821, 821, 821, 821, 563, 563, 461,
1045 461, 821, 461, 821, 821, 821, 821, 821, 461, 466,
1046 466, 821, 466, 821, 466, 821, 821, 466, 466, 363,
1047 363, 821, 363, 821, 821, 821, 821, 363, 363, 575,
1048
1049 575, 821, 575, 821, 821, 821, 821, 575, 575, 478,
1050 478, 821, 478, 821, 821, 821, 821, 821, 478, 577,
1051 577, 821, 577, 821, 821, 821, 821, 577, 577, 480,
1052 480, 821, 480, 821, 821, 821, 821, 821, 480, 579,
1053 579, 821, 579, 821, 821, 821, 821, 579, 579, 482,
1054 482, 821, 482, 821, 821, 821, 821, 821, 482, 581,
1055 581, 821, 581, 821, 821, 821, 821, 581, 581, 484,
1056 484, 821, 484, 821, 821, 821, 821, 821, 484, 583,
1057 583, 821, 583, 821, 821, 821, 821, 583, 583, 486,
1058 486, 821, 486, 821, 821, 821, 821, 821, 486, 585,
1059
1060 585, 821, 585, 821, 821, 821, 821, 585, 585, 488,
1061 488, 821, 488, 821, 821, 821, 821, 821, 488, 85,
1062 821, 821, 85, 85, 821, 85, 85, 85, 85, 85,
1063 85, 85, 85, 634, 634, 634, 634, 634, 634, 634,
1064 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
1065 636, 636, 821, 636, 821, 821, 821, 821, 636, 636,
1066 549, 549, 821, 549, 821, 821, 821, 821, 821, 549,
1067 638, 638, 821, 638, 821, 821, 821, 821, 638, 638,
1068 551, 551, 821, 551, 821, 821, 821, 821, 821, 551,
1069 640, 640, 821, 640, 821, 821, 821, 821, 640, 640,
1070
1071 553, 553, 821, 553, 821, 821, 821, 821, 821, 553,
1072 642, 642, 821, 642, 821, 821, 821, 821, 642, 642,
1073 555, 555, 821, 555, 821, 821, 821, 821, 821, 555,
1074 644, 644, 821, 644, 821, 821, 821, 821, 644, 644,
1075 557, 557, 821, 557, 821, 821, 821, 821, 821, 557,
1076 646, 646, 821, 646, 821, 821, 821, 821, 646, 646,
1077 559, 559, 821, 559, 821, 821, 821, 821, 821, 559,
1078 648, 648, 821, 648, 821, 821, 821, 821, 648, 648,
1079 561, 561, 821, 561, 821, 821, 821, 821, 821, 561,
1080 85, 85, 821, 85, 821, 821, 821, 821, 85, 85,
1081
1082 563, 563, 821, 563, 821, 821, 821, 821, 821, 563,
1083 466, 466, 821, 466, 821, 821, 821, 821, 466, 466,
1084 654, 654, 821, 654, 821, 821, 821, 821, 654, 654,
1085 575, 575, 821, 575, 821, 821, 821, 821, 821, 575,
1086 656, 656, 821, 656, 821, 821, 821, 821, 656, 656,
1087 577, 577, 821, 577, 821, 821, 821, 821, 821, 577,
1088 658, 658, 821, 658, 821, 821, 821, 821, 658, 658,
1089 579, 579, 821, 579, 821, 821, 821, 821, 821, 579,
1090 139, 139, 821, 139, 821, 821, 821, 821, 139, 139,
1091 581, 581, 821, 581, 821, 821, 821, 821, 821, 581,
1092
1093 661, 661, 821, 661, 821, 821, 821, 821, 821, 661,
1094 583, 583, 821, 583, 821, 821, 821, 821, 821, 583,
1095 85, 821, 821, 85, 85, 821, 85, 85, 85, 85,
1096 85, 85, 85, 85, 585, 585, 821, 585, 821, 821,
1097 821, 821, 821, 585, 634, 634, 634, 634, 634, 634,
1098 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
1099 634, 697, 697, 821, 697, 821, 821, 821, 821, 697,
1100 697, 636, 636, 821, 636, 821, 821, 821, 821, 821,
1101 636, 198, 198, 821, 198, 821, 821, 821, 821, 198,
1102 198, 638, 638, 821, 638, 821, 821, 821, 821, 821,
1103
1104 638, 700, 700, 821, 700, 821, 821, 821, 821, 821,
1105 700, 640, 640, 821, 640, 821, 821, 821, 821, 821,
1106 640, 198, 821, 821, 198, 198, 821, 198, 198, 198,
1107 198, 198, 198, 198, 198, 642, 642, 821, 642, 821,
1108 821, 821, 821, 821, 642, 701, 701, 821, 701, 821,
1109 821, 821, 821, 821, 701, 644, 644, 821, 644, 821,
1110 821, 821, 821, 821, 644, 646, 646, 821, 646, 821,
1111 821, 821, 821, 821, 646, 702, 702, 821, 702, 821,
1112 821, 821, 821, 821, 702, 648, 648, 821, 648, 821,
1113 821, 821, 821, 821, 648, 85, 85, 821, 85, 821,
1114
1115 821, 821, 821, 821, 85, 704, 704, 821, 704, 821,
1116 821, 821, 821, 704, 704, 654, 654, 821, 654, 821,
1117 821, 821, 821, 821, 654, 259, 259, 821, 259, 821,
1118 821, 821, 821, 259, 259, 656, 656, 821, 656, 821,
1119 821, 821, 821, 821, 656, 707, 707, 821, 707, 821,
1120 821, 821, 821, 821, 707, 658, 658, 821, 658, 821,
1121 821, 821, 821, 821, 658, 139, 139, 821, 139, 821,
1122 821, 821, 821, 821, 139, 708, 708, 821, 708, 821,
1123 821, 821, 821, 708, 708, 85, 821, 821, 85, 85,
1124 821, 85, 85, 85, 85, 85, 85, 85, 85, 738,
1125
1126 738, 821, 738, 821, 821, 821, 821, 821, 738, 697,
1127 697, 821, 697, 821, 821, 821, 821, 821, 697, 739,
1128 739, 821, 739, 821, 821, 821, 821, 739, 739, 741,
1129 741, 821, 741, 821, 821, 821, 821, 741, 741, 743,
1130 743, 821, 743, 821, 821, 821, 821, 743, 743, 745,
1131 745, 821, 745, 821, 821, 821, 821, 821, 745, 746,
1132 746, 821, 746, 821, 821, 821, 821, 746, 746, 748,
1133 748, 821, 748, 821, 821, 821, 821, 748, 748, 766,
1134 766, 821, 766, 821, 821, 821, 821, 766, 766, 768,
1135 768, 821, 768, 821, 821, 821, 821, 768, 768, 770,
1136
1137 770, 821, 770, 821, 821, 821, 821, 770, 770, 772,
1138 772, 821, 772, 821, 821, 821, 821, 772, 772, 774,
1139 774, 821, 774, 821, 821, 821, 821, 774, 774, 776,
1140 776, 821, 776, 821, 821, 821, 821, 776, 776, 585,
1141 585, 821, 585, 821, 821, 821, 821, 585, 585, 792,
1142 792, 821, 792, 821, 821, 821, 821, 792, 792, 642,
1143 642, 821, 642, 821, 821, 821, 821, 642, 642, 646,
1144 646, 821, 646, 821, 821, 821, 821, 646, 646, 85,
1145 85, 821, 85, 821, 821, 821, 821, 85, 85, 797,
1146 797, 821, 797, 821, 821, 821, 821, 797, 797, 139,
1147
1148 139, 821, 139, 821, 821, 821, 821, 139, 139, 198,
1149 198, 821, 198, 821, 821, 821, 821, 198, 198, 11,
1150 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1151 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1152 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1153 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1154 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1155 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1156 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1157 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1158
1159 821, 821, 821, 821
1160 } ;
1161
1162static yyconst flex_int16_t yy_chk[3605] =
1163 { 0,
1164 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1165 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1166 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1167 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1168 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1169 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1170 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1171 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1172 1, 1, 1, 1, 2, 16, 24, 16, 24, 2,
1173 19, 19, 2, 5, 5, 5, 5, 5, 5, 5,
1174
1175 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1176 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1177 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1178 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1179 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1180 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1181 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1182 5, 5, 5, 5, 5, 5, 5, 7, 8, 9,
1183 10, 37, 37, 20, 48, 9, 10, 508, 7, 8,
1184 13, 13, 13, 13, 13, 13, 15, 15, 15, 15,
1185
1186 15, 15, 20, 25, 48, 42, 53, 28, 27, 28,
1187 28, 28, 28, 28, 28, 508, 820, 25, 29, 25,
1188 27, 27, 27, 29, 53, 35, 7, 8, 9, 10,
1189 40, 42, 55, 29, 30, 40, 30, 30, 30, 30,
1190 30, 30, 35, 47, 35, 35, 125, 49, 125, 50,
1191 55, 56, 49, 30, 63, 51, 55, 30, 50, 49,
1192 56, 59, 30, 30, 47, 49, 47, 50, 30, 54,
1193 51, 50, 51, 40, 30, 60, 40, 72, 59, 54,
1194 30, 51, 86, 107, 113, 45, 54, 819, 30, 58,
1195 45, 30, 31, 60, 31, 31, 31, 31, 31, 31,
1196
1197 108, 58, 163, 72, 63, 106, 107, 113, 86, 58,
1198 106, 31, 45, 45, 45, 31, 58, 57, 45, 45,
1199 31, 45, 52, 45, 45, 163, 31, 52, 45, 57,
1200 57, 45, 31, 61, 108, 52, 106, 52, 31, 57,
1201 52, 126, 57, 126, 52, 61, 31, 38, 112, 171,
1202 129, 38, 38, 112, 38, 114, 38, 38, 128, 38,
1203 128, 38, 67, 67, 129, 140, 129, 67, 130, 171,
1204 38, 38, 38, 66, 66, 66, 66, 66, 66, 112,
1205 130, 66, 130, 67, 67, 67, 67, 67, 67, 114,
1206 38, 140, 131, 38, 131, 166, 76, 76, 76, 76,
1207
1208 79, 79, 79, 79, 79, 79, 81, 81, 81, 81,
1209 81, 81, 82, 82, 82, 82, 82, 82, 166, 151,
1210 38, 38, 76, 103, 103, 103, 103, 148, 110, 132,
1211 132, 133, 132, 133, 104, 151, 104, 104, 104, 104,
1212 104, 104, 134, 134, 134, 148, 110, 115, 76, 162,
1213 103, 76, 84, 104, 110, 103, 84, 84, 136, 162,
1214 136, 84, 84, 109, 84, 115, 84, 138, 104, 138,
1215 818, 150, 153, 115, 104, 84, 84, 84, 103, 105,
1216 150, 105, 149, 152, 105, 105, 105, 105, 105, 105,
1217 147, 143, 109, 156, 153, 84, 143, 109, 84, 154,
1218
1219 149, 152, 157, 160, 158, 147, 161, 168, 160, 156,
1220 164, 154, 147, 158, 159, 170, 105, 165, 167, 172,
1221 109, 160, 168, 161, 157, 169, 84, 98, 98, 98,
1222 98, 98, 98, 170, 143, 159, 159, 164, 165, 173,
1223 167, 175, 169, 176, 98, 98, 172, 177, 98, 179,
1224 181, 500, 177, 180, 500, 181, 175, 178, 184, 98,
1225 176, 173, 199, 175, 180, 98, 98, 179, 178, 182,
1226 181, 98, 102, 102, 102, 102, 102, 102, 178, 178,
1227 183, 180, 182, 185, 186, 184, 187, 270, 199, 102,
1228 102, 233, 271, 102, 188, 817, 210, 186, 210, 187,
1229
1230 183, 187, 185, 270, 102, 186, 268, 188, 155, 271,
1231 102, 102, 211, 155, 211, 155, 102, 155, 155, 238,
1232 212, 155, 212, 155, 268, 233, 192, 192, 155, 155,
1233 155, 192, 155, 191, 191, 191, 191, 191, 191, 194,
1234 194, 191, 246, 213, 194, 238, 815, 192, 192, 192,
1235 192, 192, 192, 204, 204, 204, 204, 213, 214, 213,
1236 194, 194, 194, 194, 194, 194, 196, 196, 246, 295,
1237 214, 196, 214, 196, 215, 295, 215, 216, 216, 217,
1238 216, 217, 218, 218, 218, 204, 814, 196, 196, 196,
1239 196, 196, 196, 220, 221, 220, 221, 225, 225, 225,
1240
1241 225, 225, 225, 226, 256, 226, 256, 260, 226, 226,
1242 226, 226, 226, 226, 225, 225, 231, 231, 225, 257,
1243 231, 257, 234, 234, 234, 234, 234, 234, 328, 225,
1244 809, 808, 269, 260, 328, 225, 225, 231, 231, 234,
1245 226, 225, 267, 231, 235, 235, 235, 235, 235, 235,
1246 269, 272, 274, 277, 234, 267, 272, 274, 243, 278,
1247 234, 236, 236, 236, 236, 236, 236, 237, 273, 237,
1248 275, 277, 237, 237, 237, 237, 237, 237, 283, 236,
1249 284, 243, 236, 243, 281, 278, 243, 279, 273, 281,
1250 275, 283, 243, 236, 245, 245, 245, 245, 245, 245,
1251
1252 236, 282, 279, 280, 243, 236, 276, 284, 243, 804,
1253 282, 285, 243, 250, 250, 250, 250, 250, 250, 280,
1254 280, 276, 287, 289, 290, 288, 245, 276, 276, 285,
1255 288, 290, 289, 291, 292, 293, 294, 297, 298, 296,
1256 287, 294, 299, 301, 300, 250, 297, 304, 301, 305,
1257 302, 299, 292, 291, 298, 302, 293, 293, 296, 300,
1258 303, 306, 308, 309, 310, 303, 304, 305, 311, 312,
1259 314, 313, 315, 308, 306, 316, 317, 310, 309, 318,
1260 319, 315, 303, 323, 321, 322, 324, 314, 366, 326,
1261 311, 313, 312, 321, 324, 325, 323, 316, 319, 317,
1262
1263 325, 318, 398, 322, 326, 327, 327, 345, 398, 345,
1264 327, 366, 327, 335, 335, 335, 335, 336, 336, 336,
1265 336, 346, 399, 346, 352, 352, 352, 352, 352, 352,
1266 353, 353, 353, 353, 353, 353, 355, 355, 355, 355,
1267 355, 355, 382, 399, 383, 335, 368, 354, 353, 354,
1268 381, 353, 354, 354, 354, 354, 354, 354, 382, 383,
1269 386, 381, 353, 596, 368, 364, 596, 802, 355, 353,
1270 364, 386, 368, 408, 353, 356, 356, 356, 356, 356,
1271 356, 357, 357, 357, 357, 357, 357, 358, 358, 358,
1272 358, 358, 358, 363, 408, 384, 364, 361, 799, 357,
1273
1274 385, 387, 357, 362, 390, 358, 361, 356, 358, 385,
1275 387, 388, 362, 357, 384, 389, 363, 390, 363, 358,
1276 357, 363, 361, 395, 389, 357, 358, 363, 362, 391,
1277 396, 358, 367, 388, 392, 396, 798, 797, 796, 363,
1278 394, 395, 393, 363, 365, 391, 365, 363, 397, 365,
1279 365, 365, 365, 365, 365, 367, 392, 367, 393, 393,
1280 367, 400, 394, 397, 401, 402, 367, 406, 409, 411,
1281 397, 404, 400, 416, 412, 410, 417, 419, 367, 406,
1282 402, 365, 367, 401, 410, 404, 367, 413, 410, 412,
1283 409, 418, 411, 416, 420, 421, 413, 424, 417, 419,
1284
1285 426, 422, 428, 427, 430, 429, 418, 431, 433, 420,
1286 422, 432, 434, 435, 424, 421, 431, 436, 441, 434,
1287 435, 433, 428, 426, 427, 429, 430, 437, 439, 432,
1288 438, 443, 442, 499, 504, 437, 795, 443, 470, 439,
1289 441, 442, 436, 504, 499, 437, 469, 438, 452, 452,
1290 452, 452, 463, 463, 463, 463, 463, 463, 464, 464,
1291 464, 464, 464, 464, 470, 490, 493, 491, 466, 468,
1292 463, 469, 494, 463, 495, 506, 464, 466, 468, 464,
1293 491, 493, 490, 794, 463, 497, 506, 495, 496, 524,
1294 464, 463, 494, 466, 468, 498, 463, 464, 497, 507,
1295
1296 498, 524, 464, 465, 465, 465, 465, 465, 465, 467,
1297 496, 467, 507, 501, 467, 467, 467, 467, 467, 467,
1298 472, 472, 472, 472, 472, 472, 473, 473, 473, 473,
1299 473, 473, 474, 501, 474, 465, 502, 474, 474, 474,
1300 474, 474, 474, 503, 473, 505, 467, 473, 509, 510,
1301 505, 511, 512, 516, 513, 502, 518, 509, 473, 513,
1302 519, 512, 516, 520, 503, 473, 521, 523, 511, 528,
1303 473, 510, 525, 527, 528, 521, 530, 519, 520, 532,
1304 531, 533, 518, 534, 523, 530, 537, 525, 527, 531,
1305 536, 539, 538, 540, 533, 542, 537, 543, 536, 538,
1306
1307 534, 532, 545, 546, 542, 540, 594, 543, 588, 589,
1308 593, 793, 792, 539, 594, 588, 546, 593, 589, 545,
1309 565, 565, 565, 565, 565, 565, 566, 566, 566, 566,
1310 566, 566, 567, 567, 567, 567, 567, 567, 568, 599,
1311 568, 601, 592, 568, 568, 568, 568, 568, 568, 590,
1312 567, 591, 565, 567, 571, 571, 571, 571, 571, 571,
1313 595, 599, 590, 601, 567, 592, 790, 604, 591, 587,
1314 598, 567, 571, 600, 587, 571, 567, 595, 573, 573,
1315 573, 573, 573, 573, 597, 598, 571, 587, 602, 603,
1316 600, 602, 605, 571, 604, 606, 573, 597, 571, 573,
1317
1318 607, 608, 609, 611, 612, 617, 603, 605, 613, 607,
1319 573, 616, 619, 623, 622, 606, 630, 573, 633, 608,
1320 623, 789, 573, 622, 609, 611, 630, 612, 632, 619,
1321 613, 616, 617, 633, 662, 665, 671, 632, 651, 651,
1322 651, 651, 651, 651, 652, 652, 652, 652, 652, 652,
1323 663, 666, 667, 668, 671, 662, 651, 667, 666, 651,
1324 663, 665, 652, 669, 670, 652, 669, 670, 673, 674,
1325 651, 677, 675, 668, 673, 675, 652, 651, 674, 676,
1326 680, 678, 651, 652, 678, 689, 679, 684, 652, 653,
1327 653, 653, 653, 653, 653, 679, 682, 684, 681, 677,
1328
1329 676, 681, 683, 685, 687, 680, 692, 693, 689, 682,
1330 683, 695, 717, 687, 696, 716, 685, 714, 718, 695,
1331 716, 653, 715, 696, 719, 720, 692, 717, 718, 693,
1332 703, 703, 703, 703, 703, 703, 722, 714, 721, 715,
1333 723, 721, 725, 727, 731, 725, 727, 719, 728, 722,
1334 729, 720, 750, 729, 730, 728, 752, 730, 753, 731,
1335 754, 755, 703, 754, 758, 756, 759, 723, 756, 760,
1336 762, 763, 760, 780, 763, 764, 753, 752, 764, 750,
1337 765, 781, 758, 755, 782, 785, 783, 782, 781, 765,
1338 784, 759, 762, 784, 780, 783, 788, 791, 800, 788,
1339
1340 791, 801, 785, 810, 811, 803, 801, 800, 803, 805,
1341 806, 807, 805, 806, 807, 812, 816, 813, 812, 811,
1342 813, 787, 786, 810, 779, 778, 777, 776, 775, 774,
1343 773, 772, 771, 770, 769, 768, 767, 766, 816, 822,
1344 822, 822, 822, 822, 822, 822, 822, 822, 822, 822,
1345 822, 822, 822, 822, 822, 822, 823, 823, 823, 823,
1346 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
1347 823, 823, 823, 824, 824, 824, 824, 824, 824, 824,
1348 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
1349 825, 761, 757, 825, 825, 751, 825, 825, 825, 825,
1350
1351 825, 825, 825, 825, 826, 749, 748, 747, 746, 745,
1352 826, 826, 826, 826, 826, 826, 826, 826, 827, 827,
1353 827, 827, 827, 827, 827, 827, 827, 827, 827, 827,
1354 827, 827, 827, 827, 827, 828, 744, 743, 828, 828,
1355 742, 828, 828, 828, 828, 828, 828, 828, 828, 829,
1356 741, 829, 829, 740, 829, 829, 829, 829, 829, 829,
1357 829, 829, 739, 829, 829, 829, 830, 738, 830, 737,
1358 830, 736, 830, 735, 734, 733, 830, 830, 732, 830,
1359 830, 831, 726, 724, 831, 831, 831, 831, 831, 831,
1360 831, 831, 831, 831, 713, 831, 831, 831, 832, 832,
1361
1362 832, 832, 832, 832, 832, 832, 832, 832, 832, 832,
1363 832, 832, 832, 832, 832, 833, 833, 833, 712, 833,
1364 711, 710, 709, 708, 833, 833, 834, 707, 706, 834,
1365 834, 705, 834, 834, 834, 834, 834, 834, 834, 834,
1366 835, 835, 702, 835, 701, 700, 699, 694, 835, 835,
1367 836, 836, 691, 836, 690, 688, 686, 672, 836, 836,
1368 837, 837, 664, 837, 661, 656, 654, 642, 837, 837,
1369 838, 838, 638, 838, 636, 634, 631, 629, 838, 838,
1370 839, 839, 628, 839, 627, 626, 625, 624, 839, 839,
1371 840, 840, 621, 840, 620, 618, 615, 614, 840, 840,
1372
1373 841, 841, 610, 841, 585, 581, 579, 577, 841, 841,
1374 842, 842, 575, 842, 569, 563, 561, 559, 842, 842,
1375 843, 843, 557, 843, 555, 553, 551, 549, 843, 843,
1376 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1377 844, 844, 844, 844, 844, 844, 844, 845, 845, 548,
1378 845, 547, 544, 541, 535, 529, 845, 846, 846, 846,
1379 526, 846, 846, 846, 846, 522, 846, 846, 847, 847,
1380 847, 517, 847, 515, 514, 492, 488, 486, 847, 848,
1381 848, 484, 848, 482, 480, 478, 477, 848, 848, 849,
1382 849, 476, 849, 475, 461, 459, 458, 849, 849, 850,
1383
1384 850, 457, 850, 455, 453, 450, 448, 850, 850, 851,
1385 851, 446, 851, 444, 440, 425, 423, 415, 851, 852,
1386 852, 414, 852, 407, 405, 403, 379, 852, 852, 853,
1387 853, 377, 853, 375, 373, 372, 371, 350, 853, 854,
1388 348, 347, 854, 854, 343, 854, 854, 854, 854, 854,
1389 854, 854, 854, 855, 855, 855, 855, 855, 855, 855,
1390 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
1391 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
1392 856, 856, 856, 856, 856, 856, 856, 857, 857, 341,
1393 857, 339, 337, 333, 331, 857, 857, 858, 858, 330,
1394
1395 858, 329, 320, 307, 286, 858, 858, 859, 859, 265,
1396 859, 263, 262, 261, 259, 859, 859, 860, 860, 258,
1397 860, 253, 249, 248, 244, 241, 860, 861, 861, 240,
1398 861, 229, 228, 223, 222, 861, 861, 862, 862, 219,
1399 862, 209, 207, 206, 205, 201, 862, 863, 863, 200,
1400 863, 198, 193, 174, 145, 863, 863, 864, 864, 144,
1401 864, 139, 137, 135, 127, 124, 864, 865, 865, 123,
1402 865, 119, 100, 97, 94, 865, 865, 866, 866, 92,
1403 866, 85, 71, 69, 65, 44, 866, 867, 867, 39,
1404 867, 36, 33, 18, 11, 867, 867, 868, 868, 4,
1405
1406 868, 3, 0, 0, 0, 0, 868, 869, 869, 0,
1407 869, 0, 0, 0, 0, 869, 869, 870, 870, 0,
1408 870, 0, 0, 0, 0, 0, 870, 871, 871, 0,
1409 871, 0, 0, 0, 0, 871, 871, 872, 872, 0,
1410 872, 0, 0, 0, 0, 0, 872, 873, 873, 0,
1411 873, 0, 873, 0, 0, 873, 873, 874, 874, 0,
1412 874, 0, 874, 0, 0, 874, 874, 875, 875, 875,
1413 0, 875, 875, 875, 875, 0, 875, 875, 876, 876,
1414 0, 876, 0, 0, 0, 0, 876, 876, 877, 877,
1415 0, 877, 0, 0, 0, 0, 877, 877, 878, 878,
1416
1417 0, 878, 0, 0, 0, 0, 878, 878, 879, 879,
1418 0, 879, 0, 0, 0, 0, 0, 879, 880, 880,
1419 0, 880, 0, 0, 0, 0, 880, 880, 881, 881,
1420 0, 881, 0, 0, 0, 0, 0, 881, 882, 882,
1421 0, 882, 0, 0, 0, 0, 882, 882, 883, 883,
1422 0, 883, 0, 0, 0, 0, 0, 883, 884, 884,
1423 0, 884, 0, 0, 0, 0, 884, 884, 885, 885,
1424 0, 885, 0, 0, 0, 0, 0, 885, 886, 0,
1425 0, 886, 886, 0, 886, 886, 886, 886, 886, 886,
1426 886, 886, 887, 887, 887, 887, 887, 887, 887, 887,
1427
1428 887, 887, 887, 887, 887, 887, 887, 887, 887, 888,
1429 888, 0, 888, 0, 0, 0, 0, 888, 888, 889,
1430 889, 0, 889, 0, 0, 0, 0, 0, 889, 890,
1431 890, 0, 890, 0, 0, 0, 0, 890, 890, 891,
1432 891, 0, 891, 0, 0, 0, 0, 0, 891, 892,
1433 892, 0, 892, 0, 0, 0, 0, 892, 892, 893,
1434 893, 0, 893, 0, 0, 0, 0, 0, 893, 894,
1435 894, 0, 894, 0, 0, 0, 0, 894, 894, 895,
1436 895, 0, 895, 0, 0, 0, 0, 0, 895, 896,
1437 896, 0, 896, 0, 0, 0, 0, 896, 896, 897,
1438
1439 897, 0, 897, 0, 0, 0, 0, 0, 897, 898,
1440 898, 0, 898, 0, 0, 0, 0, 898, 898, 899,
1441 899, 0, 899, 0, 0, 0, 0, 0, 899, 900,
1442 900, 0, 900, 0, 0, 0, 0, 900, 900, 901,
1443 901, 0, 901, 0, 0, 0, 0, 901, 901, 902,
1444 902, 0, 902, 0, 0, 0, 0, 0, 902, 903,
1445 903, 0, 903, 0, 0, 0, 0, 903, 903, 904,
1446 904, 0, 904, 0, 0, 0, 0, 0, 904, 905,
1447 905, 0, 905, 0, 905, 0, 0, 905, 905, 906,
1448 906, 0, 906, 0, 0, 0, 0, 906, 906, 907,
1449
1450 907, 0, 907, 0, 0, 0, 0, 907, 907, 908,
1451 908, 0, 908, 0, 0, 0, 0, 0, 908, 909,
1452 909, 0, 909, 0, 0, 0, 0, 909, 909, 910,
1453 910, 0, 910, 0, 0, 0, 0, 0, 910, 911,
1454 911, 0, 911, 0, 0, 0, 0, 911, 911, 912,
1455 912, 0, 912, 0, 0, 0, 0, 0, 912, 913,
1456 913, 0, 913, 0, 0, 0, 0, 913, 913, 914,
1457 914, 0, 914, 0, 0, 0, 0, 0, 914, 915,
1458 915, 0, 915, 0, 0, 0, 0, 915, 915, 916,
1459 916, 0, 916, 0, 0, 0, 0, 0, 916, 917,
1460
1461 917, 0, 917, 0, 0, 0, 0, 917, 917, 918,
1462 918, 0, 918, 0, 0, 0, 0, 0, 918, 919,
1463 0, 0, 919, 919, 0, 919, 919, 919, 919, 919,
1464 919, 919, 919, 920, 920, 920, 920, 920, 920, 920,
1465 920, 920, 920, 920, 920, 920, 920, 920, 920, 920,
1466 921, 921, 0, 921, 0, 0, 0, 0, 921, 921,
1467 922, 922, 0, 922, 0, 0, 0, 0, 0, 922,
1468 923, 923, 0, 923, 0, 0, 0, 0, 923, 923,
1469 924, 924, 0, 924, 0, 0, 0, 0, 0, 924,
1470 925, 925, 0, 925, 0, 0, 0, 0, 925, 925,
1471
1472 926, 926, 0, 926, 0, 0, 0, 0, 0, 926,
1473 927, 927, 0, 927, 0, 0, 0, 0, 927, 927,
1474 928, 928, 0, 928, 0, 0, 0, 0, 0, 928,
1475 929, 929, 0, 929, 0, 0, 0, 0, 929, 929,
1476 930, 930, 0, 930, 0, 0, 0, 0, 0, 930,
1477 931, 931, 0, 931, 0, 0, 0, 0, 931, 931,
1478 932, 932, 0, 932, 0, 0, 0, 0, 0, 932,
1479 933, 933, 0, 933, 0, 0, 0, 0, 933, 933,
1480 934, 934, 0, 934, 0, 0, 0, 0, 0, 934,
1481 935, 935, 0, 935, 0, 0, 0, 0, 935, 935,
1482
1483 936, 936, 0, 936, 0, 0, 0, 0, 0, 936,
1484 937, 937, 0, 937, 0, 0, 0, 0, 937, 937,
1485 938, 938, 0, 938, 0, 0, 0, 0, 938, 938,
1486 939, 939, 0, 939, 0, 0, 0, 0, 0, 939,
1487 940, 940, 0, 940, 0, 0, 0, 0, 940, 940,
1488 941, 941, 0, 941, 0, 0, 0, 0, 0, 941,
1489 942, 942, 0, 942, 0, 0, 0, 0, 942, 942,
1490 943, 943, 0, 943, 0, 0, 0, 0, 0, 943,
1491 944, 944, 0, 944, 0, 0, 0, 0, 944, 944,
1492 945, 945, 0, 945, 0, 0, 0, 0, 0, 945,
1493
1494 946, 946, 0, 946, 0, 0, 0, 0, 0, 946,
1495 947, 947, 0, 947, 0, 0, 0, 0, 0, 947,
1496 948, 0, 0, 948, 948, 0, 948, 948, 948, 948,
1497 948, 948, 948, 948, 949, 949, 0, 949, 0, 0,
1498 0, 0, 0, 949, 950, 950, 950, 950, 950, 950,
1499 950, 950, 950, 950, 950, 950, 950, 950, 950, 950,
1500 950, 951, 951, 0, 951, 0, 0, 0, 0, 951,
1501 951, 952, 952, 0, 952, 0, 0, 0, 0, 0,
1502 952, 953, 953, 0, 953, 0, 0, 0, 0, 953,
1503 953, 954, 954, 0, 954, 0, 0, 0, 0, 0,
1504
1505 954, 955, 955, 0, 955, 0, 0, 0, 0, 0,
1506 955, 956, 956, 0, 956, 0, 0, 0, 0, 0,
1507 956, 957, 0, 0, 957, 957, 0, 957, 957, 957,
1508 957, 957, 957, 957, 957, 958, 958, 0, 958, 0,
1509 0, 0, 0, 0, 958, 959, 959, 0, 959, 0,
1510 0, 0, 0, 0, 959, 960, 960, 0, 960, 0,
1511 0, 0, 0, 0, 960, 961, 961, 0, 961, 0,
1512 0, 0, 0, 0, 961, 962, 962, 0, 962, 0,
1513 0, 0, 0, 0, 962, 963, 963, 0, 963, 0,
1514 0, 0, 0, 0, 963, 964, 964, 0, 964, 0,
1515
1516 0, 0, 0, 0, 964, 965, 965, 0, 965, 0,
1517 0, 0, 0, 965, 965, 966, 966, 0, 966, 0,
1518 0, 0, 0, 0, 966, 967, 967, 0, 967, 0,
1519 0, 0, 0, 967, 967, 968, 968, 0, 968, 0,
1520 0, 0, 0, 0, 968, 969, 969, 0, 969, 0,
1521 0, 0, 0, 0, 969, 970, 970, 0, 970, 0,
1522 0, 0, 0, 0, 970, 971, 971, 0, 971, 0,
1523 0, 0, 0, 0, 971, 972, 972, 0, 972, 0,
1524 0, 0, 0, 972, 972, 973, 0, 0, 973, 973,
1525 0, 973, 973, 973, 973, 973, 973, 973, 973, 974,
1526
1527 974, 0, 974, 0, 0, 0, 0, 0, 974, 975,
1528 975, 0, 975, 0, 0, 0, 0, 0, 975, 976,
1529 976, 0, 976, 0, 0, 0, 0, 976, 976, 977,
1530 977, 0, 977, 0, 0, 0, 0, 977, 977, 978,
1531 978, 0, 978, 0, 0, 0, 0, 978, 978, 979,
1532 979, 0, 979, 0, 0, 0, 0, 0, 979, 980,
1533 980, 0, 980, 0, 0, 0, 0, 980, 980, 981,
1534 981, 0, 981, 0, 0, 0, 0, 981, 981, 982,
1535 982, 0, 982, 0, 0, 0, 0, 982, 982, 983,
1536 983, 0, 983, 0, 0, 0, 0, 983, 983, 984,
1537
1538 984, 0, 984, 0, 0, 0, 0, 984, 984, 985,
1539 985, 0, 985, 0, 0, 0, 0, 985, 985, 986,
1540 986, 0, 986, 0, 0, 0, 0, 986, 986, 987,
1541 987, 0, 987, 0, 0, 0, 0, 987, 987, 988,
1542 988, 0, 988, 0, 0, 0, 0, 988, 988, 989,
1543 989, 0, 989, 0, 0, 0, 0, 989, 989, 990,
1544 990, 0, 990, 0, 0, 0, 0, 990, 990, 991,
1545 991, 0, 991, 0, 0, 0, 0, 991, 991, 992,
1546 992, 0, 992, 0, 0, 0, 0, 992, 992, 993,
1547 993, 0, 993, 0, 0, 0, 0, 993, 993, 994,
1548
1549 994, 0, 994, 0, 0, 0, 0, 994, 994, 995,
1550 995, 0, 995, 0, 0, 0, 0, 995, 995, 821,
1551 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1552 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1553 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1554 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1555 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1556 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1557 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1558 821, 821, 821, 821, 821, 821, 821, 821, 821, 821,
1559
1560 821, 821, 821, 821
1561 } ;
1562
1563/* Table of booleans, true if rule could match eol. */
1564static yyconst flex_int32_t yy_rule_can_match_eol[171] =
1565 { 0,
15661, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
1575
1576static yy_state_type yy_last_accepting_state;
1577static char *yy_last_accepting_cpos;
1578
1579extern int yy_flex_debug;
1580int yy_flex_debug = 0;
1581
1582/* The intent behind this definition is that it'll catch
1583 * any uses of REJECT which flex missed.
1584 */
1585#define REJECT reject_used_but_not_detected
1586#define yymore() yymore_used_but_not_detected
1587#define YY_MORE_ADJ 0
1588#define YY_RESTORE_YY_MORE_OFFSET
1589char *yytext;
1590#line 1 "lex.ll"
1591/*
1592 * Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
1593 *
1594 * The contents of this file are covered under the licence agreement in the
1595 * file "LICENCE" distributed with Cforall.
1596 *
1597 * lex.l --
1598 *
1599 * Author : Peter A. Buhr
1600 * Created On : Sat Sep 22 08:58:10 2001
1601 * Last Modified By : Peter A. Buhr
1602 * Last Modified On : Wed Jun 3 22:24:07 2015
1603 * Update Count : 336
1604 */
1605#line 19 "lex.ll"
1606// This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive
1607// have been performed and removed from the source. The only exceptions are preprocessor directives passed to
1608// the compiler (e.g., line-number directives) and C/C++ style comments, which are ignored.
1609
1610//**************************** Includes and Defines ****************************
1611
1612#include <string>
1613
1614#include "lex.h"
1615#include "ParseNode.h"
1616#include "parser.h" // YACC generated definitions based on C++ grammar
1617
1618char *yyfilename;
1619std::string *strtext; // accumulate parts of character and string constant value
1620
1621#define WHITE_RETURN(x) // do nothing
1622#define NEWLINE_RETURN() WHITE_RETURN('\n')
1623#define RETURN_VAL(x) yylval.tok.str = new std::string(yytext); \
1624 yylval.tok.loc.file = yyfilename; \
1625 yylval.tok.loc.line = yylineno; \
1626 return(x)
1627#define RETURN_STR(x) yylval.tok.str = strtext; \
1628 yylval.tok.loc.file = yyfilename; \
1629 yylval.tok.loc.line = yylineno; \
1630 return(x)
1631
1632#define KEYWORD_RETURN(x) RETURN_VAL(x) // keyword
1633#define IDENTIFIER_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname))
1634//#define ATTRIBUTE_RETURN() RETURN_VAL((typedefTable.isIdentifier(yytext) ? ATTR_IDENTIFIER : typedefTable.isTypedef(yytext) ? ATTR_TYPEDEFname : ATTR_TYPEGENname))
1635#define ATTRIBUTE_RETURN() RETURN_VAL(ATTR_IDENTIFIER)
1636
1637#define ASCIIOP_RETURN() RETURN_VAL((int)yytext[0]) // single character operator
1638#define NAMEDOP_RETURN(x) RETURN_VAL(x) // multichar operator, with a name
1639
1640#define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL(x) // numeric constant
1641
1642void rm_underscore() {
1643 // remove underscores in numeric constant
1644 int j = 0;
1645 for ( int i = 0; yytext[i] != '\0'; i += 1 ) {
1646 if ( yytext[i] != '_' ) {
1647 yytext[j] = yytext[i];
1648 j += 1;
1649 } // if
1650 } // for
1651 yyleng = j;
1652 yytext[yyleng] = '\0';
1653}
1654
1655// identifier, GCC: $ in identifier
1656// quoted identifier
1657// attribute identifier, GCC: $ in identifier
1658// numeric constants, CFA: '_' in constant
1659// character escape sequence, GCC: \e => esc character
1660// ' stop highlighting
1661// display/white-space characters
1662// operators
1663
1664
1665
1666
1667#line 1668 "Parser/lex.cc"
1668
1669#define INITIAL 0
1670#define COMMENT 1
1671#define BKQUOTE 2
1672#define QUOTE 3
1673#define STRING 4
1674
1675#ifndef YY_NO_UNISTD_H
1676/* Special case for "unistd.h", since it is non-ANSI. We include it way
1677 * down here because we want the user's section 1 to have been scanned first.
1678 * The user has a chance to override it with an option.
1679 */
1680#include <unistd.h>
1681#endif
1682
1683#ifndef YY_EXTRA_TYPE
1684#define YY_EXTRA_TYPE void *
1685#endif
1686
1687static int yy_init_globals (void );
1688
1689/* Accessor methods to globals.
1690 These are made visible to non-reentrant scanners for convenience. */
1691
1692int yylex_destroy (void );
1693
1694int yyget_debug (void );
1695
1696void yyset_debug (int debug_flag );
1697
1698YY_EXTRA_TYPE yyget_extra (void );
1699
1700void yyset_extra (YY_EXTRA_TYPE user_defined );
1701
1702FILE *yyget_in (void );
1703
1704void yyset_in (FILE * in_str );
1705
1706FILE *yyget_out (void );
1707
1708void yyset_out (FILE * out_str );
1709
1710int yyget_leng (void );
1711
1712char *yyget_text (void );
1713
1714int yyget_lineno (void );
1715
1716void yyset_lineno (int line_number );
1717
1718/* Macros after this point can all be overridden by user definitions in
1719 * section 1.
1720 */
1721
1722#ifndef YY_SKIP_YYWRAP
1723#ifdef __cplusplus
1724extern "C" int yywrap (void );
1725#else
1726extern int yywrap (void );
1727#endif
1728#endif
1729
1730 static void yyunput (int c,char *buf_ptr );
1731
1732#ifndef yytext_ptr
1733static void yy_flex_strncpy (char *,yyconst char *,int );
1734#endif
1735
1736#ifdef YY_NEED_STRLEN
1737static int yy_flex_strlen (yyconst char * );
1738#endif
1739
1740#ifndef YY_NO_INPUT
1741
1742#ifdef __cplusplus
1743static int yyinput (void );
1744#else
1745static int input (void );
1746#endif
1747
1748#endif
1749
1750/* Amount of stuff to slurp up with each read. */
1751#ifndef YY_READ_BUF_SIZE
1752#ifdef __ia64__
1753/* On IA-64, the buffer size is 16k, not 8k */
1754#define YY_READ_BUF_SIZE 16384
1755#else
1756#define YY_READ_BUF_SIZE 8192
1757#endif /* __ia64__ */
1758#endif
1759
1760/* Copy whatever the last rule matched to the standard output. */
1761#ifndef ECHO
1762/* This used to be an fputs(), but since the string might contain NUL's,
1763 * we now use fwrite().
1764 */
1765#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1766#endif
1767
1768/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1769 * is returned in "result".
1770 */
1771#ifndef YY_INPUT
1772#define YY_INPUT(buf,result,max_size) \
1773 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1774 { \
1775 int c = '*'; \
1776 size_t n; \
1777 for ( n = 0; n < max_size && \
1778 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1779 buf[n] = (char) c; \
1780 if ( c == '\n' ) \
1781 buf[n++] = (char) c; \
1782 if ( c == EOF && ferror( yyin ) ) \
1783 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1784 result = n; \
1785 } \
1786 else \
1787 { \
1788 errno=0; \
1789 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1790 { \
1791 if( errno != EINTR) \
1792 { \
1793 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1794 break; \
1795 } \
1796 errno=0; \
1797 clearerr(yyin); \
1798 } \
1799 }\
1800\
1801
1802#endif
1803
1804/* No semi-colon after return; correct usage is to write "yyterminate();" -
1805 * we don't want an extra ';' after the "return" because that will cause
1806 * some compilers to complain about unreachable statements.
1807 */
1808#ifndef yyterminate
1809#define yyterminate() return YY_NULL
1810#endif
1811
1812/* Number of entries by which start-condition stack grows. */
1813#ifndef YY_START_STACK_INCR
1814#define YY_START_STACK_INCR 25
1815#endif
1816
1817/* Report a fatal error. */
1818#ifndef YY_FATAL_ERROR
1819#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1820#endif
1821
1822/* end tables serialization structures and prototypes */
1823
1824/* Default declaration of generated scanner - a define so the user can
1825 * easily add parameters.
1826 */
1827#ifndef YY_DECL
1828#define YY_DECL_IS_OURS 1
1829
1830extern int yylex (void);
1831
1832#define YY_DECL int yylex (void)
1833#endif /* !YY_DECL */
1834
1835/* Code executed at the beginning of each rule, after yytext and yyleng
1836 * have been set up.
1837 */
1838#ifndef YY_USER_ACTION
1839#define YY_USER_ACTION
1840#endif
1841
1842/* Code executed at the end of each rule. */
1843#ifndef YY_BREAK
1844#define YY_BREAK break;
1845#endif
1846
1847#define YY_RULE_SETUP \
1848 if ( yyleng > 0 ) \
1849 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1850 (yytext[yyleng - 1] == '\n'); \
1851 YY_USER_ACTION
1852
1853/** The main scanner function which does all the work.
1854 */
1855YY_DECL
1856{
1857 register yy_state_type yy_current_state;
1858 register char *yy_cp, *yy_bp;
1859 register int yy_act;
1860
1861#line 140 "lex.ll"
1862
1863 /* line directives */
1864#line 1865 "Parser/lex.cc"
1865
1866 if ( !(yy_init) )
1867 {
1868 (yy_init) = 1;
1869
1870#ifdef YY_USER_INIT
1871 YY_USER_INIT;
1872#endif
1873
1874 if ( ! (yy_start) )
1875 (yy_start) = 1; /* first start state */
1876
1877 if ( ! yyin )
1878 yyin = stdin;
1879
1880 if ( ! yyout )
1881 yyout = stdout;
1882
1883 if ( ! YY_CURRENT_BUFFER ) {
1884 yyensure_buffer_stack ();
1885 YY_CURRENT_BUFFER_LVALUE =
1886 yy_create_buffer(yyin,YY_BUF_SIZE );
1887 }
1888
1889 yy_load_buffer_state( );
1890 }
1891
1892 while ( 1 ) /* loops until end-of-file is reached */
1893 {
1894 yy_cp = (yy_c_buf_p);
1895
1896 /* Support of yytext. */
1897 *yy_cp = (yy_hold_char);
1898
1899 /* yy_bp points to the position in yy_ch_buf of the start of
1900 * the current run.
1901 */
1902 yy_bp = yy_cp;
1903
1904 yy_current_state = (yy_start);
1905 yy_current_state += YY_AT_BOL();
1906yy_match:
1907 do
1908 {
1909 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1910 if ( yy_accept[yy_current_state] )
1911 {
1912 (yy_last_accepting_state) = yy_current_state;
1913 (yy_last_accepting_cpos) = yy_cp;
1914 }
1915 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1916 {
1917 yy_current_state = (int) yy_def[yy_current_state];
1918 if ( yy_current_state >= 822 )
1919 yy_c = yy_meta[(unsigned int) yy_c];
1920 }
1921 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1922 ++yy_cp;
1923 }
1924 while ( yy_base[yy_current_state] != 3520 );
1925
1926yy_find_action:
1927 yy_act = yy_accept[yy_current_state];
1928 if ( yy_act == 0 )
1929 { /* have to back up */
1930 yy_cp = (yy_last_accepting_cpos);
1931 yy_current_state = (yy_last_accepting_state);
1932 yy_act = yy_accept[yy_current_state];
1933 }
1934
1935 YY_DO_BEFORE_ACTION;
1936
1937 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1938 {
1939 int yyl;
1940 for ( yyl = 0; yyl < yyleng; ++yyl )
1941 if ( yytext[yyl] == '\n' )
1942
1943 yylineno++;
1944;
1945 }
1946
1947do_action: /* This label is used only to access EOF actions. */
1948
1949 switch ( yy_act )
1950 { /* beginning of action switch */
1951 case 0: /* must back up */
1952 /* undo the effects of YY_DO_BEFORE_ACTION */
1953 *yy_cp = (yy_hold_char);
1954 yy_cp = (yy_last_accepting_cpos);
1955 yy_current_state = (yy_last_accepting_state);
1956 goto yy_find_action;
1957
1958case 1:
1959/* rule 1 can match eol */
1960YY_RULE_SETUP
1961#line 142 "lex.ll"
1962{
1963 /* " stop highlighting */
1964 char *end_num;
1965 char *begin_string, *end_string;
1966 char *filename;
1967 long lineno, length;
1968 lineno = strtol( yytext + 1, &end_num, 0 );
1969 begin_string = strchr( end_num, '"' );
1970 if ( begin_string ) {
1971 end_string = strchr( begin_string + 1, '"' );
1972 if ( end_string ) {
1973 length = end_string - begin_string - 1;
1974 filename = new char[ length + 1 ];
1975 memcpy( filename, begin_string + 1, length );
1976 filename[ length ] = '\0';
1977 //std::cout << "file " << filename << " line " << lineno << std::endl;
1978 yylineno = lineno;
1979 yyfilename = filename;
1980 } // if
1981 } // if
1982}
1983 YY_BREAK
1984/* ignore preprocessor directives (for now) */
1985case 2:
1986/* rule 2 can match eol */
1987YY_RULE_SETUP
1988#line 165 "lex.ll"
1989;
1990 YY_BREAK
1991/* ignore C style comments */
1992case 3:
1993YY_RULE_SETUP
1994#line 168 "lex.ll"
1995{ BEGIN COMMENT; }
1996 YY_BREAK
1997case 4:
1998/* rule 4 can match eol */
1999YY_RULE_SETUP
2000#line 169 "lex.ll"
2001;
2002 YY_BREAK
2003case 5:
2004YY_RULE_SETUP
2005#line 170 "lex.ll"
2006{ BEGIN 0; }
2007 YY_BREAK
2008/* ignore C++ style comments */
2009case 6:
2010/* rule 6 can match eol */
2011YY_RULE_SETUP
2012#line 173 "lex.ll"
2013;
2014 YY_BREAK
2015/* ignore whitespace */
2016case 7:
2017YY_RULE_SETUP
2018#line 176 "lex.ll"
2019{ WHITE_RETURN(' '); }
2020 YY_BREAK
2021case 8:
2022YY_RULE_SETUP
2023#line 177 "lex.ll"
2024{ WHITE_RETURN(' '); }
2025 YY_BREAK
2026case 9:
2027/* rule 9 can match eol */
2028YY_RULE_SETUP
2029#line 178 "lex.ll"
2030{ NEWLINE_RETURN(); }
2031 YY_BREAK
2032/* keywords */
2033case 10:
2034YY_RULE_SETUP
2035#line 181 "lex.ll"
2036{ KEYWORD_RETURN(ALIGNAS); } // C11
2037 YY_BREAK
2038case 11:
2039YY_RULE_SETUP
2040#line 182 "lex.ll"
2041{ KEYWORD_RETURN(ALIGNOF); } // C11
2042 YY_BREAK
2043case 12:
2044YY_RULE_SETUP
2045#line 183 "lex.ll"
2046{ KEYWORD_RETURN(ALIGNOF); } // GCC
2047 YY_BREAK
2048case 13:
2049YY_RULE_SETUP
2050#line 184 "lex.ll"
2051{ KEYWORD_RETURN(ALIGNOF); } // GCC
2052 YY_BREAK
2053case 14:
2054YY_RULE_SETUP
2055#line 185 "lex.ll"
2056{ KEYWORD_RETURN(ASM); }
2057 YY_BREAK
2058case 15:
2059YY_RULE_SETUP
2060#line 186 "lex.ll"
2061{ KEYWORD_RETURN(ASM); } // GCC
2062 YY_BREAK
2063case 16:
2064YY_RULE_SETUP
2065#line 187 "lex.ll"
2066{ KEYWORD_RETURN(ASM); } // GCC
2067 YY_BREAK
2068case 17:
2069YY_RULE_SETUP
2070#line 188 "lex.ll"
2071{ KEYWORD_RETURN(ATOMIC); } // C11
2072 YY_BREAK
2073case 18:
2074YY_RULE_SETUP
2075#line 189 "lex.ll"
2076{ KEYWORD_RETURN(ATTRIBUTE); } // GCC
2077 YY_BREAK
2078case 19:
2079YY_RULE_SETUP
2080#line 190 "lex.ll"
2081{ KEYWORD_RETURN(ATTRIBUTE); } // GCC
2082 YY_BREAK
2083case 20:
2084YY_RULE_SETUP
2085#line 191 "lex.ll"
2086{ KEYWORD_RETURN(AUTO); }
2087 YY_BREAK
2088case 21:
2089YY_RULE_SETUP
2090#line 192 "lex.ll"
2091{ KEYWORD_RETURN(BOOL); } // C99
2092 YY_BREAK
2093case 22:
2094YY_RULE_SETUP
2095#line 193 "lex.ll"
2096{ KEYWORD_RETURN(BREAK); }
2097 YY_BREAK
2098case 23:
2099YY_RULE_SETUP
2100#line 194 "lex.ll"
2101{ KEYWORD_RETURN(CASE); }
2102 YY_BREAK
2103case 24:
2104YY_RULE_SETUP
2105#line 195 "lex.ll"
2106{ KEYWORD_RETURN(CATCH); } // CFA
2107 YY_BREAK
2108case 25:
2109YY_RULE_SETUP
2110#line 196 "lex.ll"
2111{ KEYWORD_RETURN(CHAR); }
2112 YY_BREAK
2113case 26:
2114YY_RULE_SETUP
2115#line 197 "lex.ll"
2116{ KEYWORD_RETURN(CHOOSE); } // CFA
2117 YY_BREAK
2118case 27:
2119YY_RULE_SETUP
2120#line 198 "lex.ll"
2121{ KEYWORD_RETURN(COMPLEX); } // C99
2122 YY_BREAK
2123case 28:
2124YY_RULE_SETUP
2125#line 199 "lex.ll"
2126{ KEYWORD_RETURN(COMPLEX); } // GCC
2127 YY_BREAK
2128case 29:
2129YY_RULE_SETUP
2130#line 200 "lex.ll"
2131{ KEYWORD_RETURN(COMPLEX); } // GCC
2132 YY_BREAK
2133case 30:
2134YY_RULE_SETUP
2135#line 201 "lex.ll"
2136{ KEYWORD_RETURN(CONST); }
2137 YY_BREAK
2138case 31:
2139YY_RULE_SETUP
2140#line 202 "lex.ll"
2141{ KEYWORD_RETURN(CONST); } // GCC
2142 YY_BREAK
2143case 32:
2144YY_RULE_SETUP
2145#line 203 "lex.ll"
2146{ KEYWORD_RETURN(CONST); } // GCC
2147 YY_BREAK
2148case 33:
2149YY_RULE_SETUP
2150#line 204 "lex.ll"
2151{ KEYWORD_RETURN(CONTEXT); } // CFA
2152 YY_BREAK
2153case 34:
2154YY_RULE_SETUP
2155#line 205 "lex.ll"
2156{ KEYWORD_RETURN(CONTINUE); }
2157 YY_BREAK
2158case 35:
2159YY_RULE_SETUP
2160#line 206 "lex.ll"
2161{ KEYWORD_RETURN(DEFAULT); }
2162 YY_BREAK
2163case 36:
2164YY_RULE_SETUP
2165#line 207 "lex.ll"
2166{ KEYWORD_RETURN(DO); }
2167 YY_BREAK
2168case 37:
2169YY_RULE_SETUP
2170#line 208 "lex.ll"
2171{ KEYWORD_RETURN(DOUBLE); }
2172 YY_BREAK
2173case 38:
2174YY_RULE_SETUP
2175#line 209 "lex.ll"
2176{ KEYWORD_RETURN(DTYPE); } // CFA
2177 YY_BREAK
2178case 39:
2179YY_RULE_SETUP
2180#line 210 "lex.ll"
2181{ KEYWORD_RETURN(ELSE); }
2182 YY_BREAK
2183case 40:
2184YY_RULE_SETUP
2185#line 211 "lex.ll"
2186{ KEYWORD_RETURN(ENUM); }
2187 YY_BREAK
2188case 41:
2189YY_RULE_SETUP
2190#line 212 "lex.ll"
2191{ KEYWORD_RETURN(EXTENSION); } // GCC
2192 YY_BREAK
2193case 42:
2194YY_RULE_SETUP
2195#line 213 "lex.ll"
2196{ KEYWORD_RETURN(EXTERN); }
2197 YY_BREAK
2198case 43:
2199YY_RULE_SETUP
2200#line 214 "lex.ll"
2201{ KEYWORD_RETURN(FALLTHRU); } // CFA
2202 YY_BREAK
2203case 44:
2204YY_RULE_SETUP
2205#line 215 "lex.ll"
2206{ KEYWORD_RETURN(FINALLY); } // CFA
2207 YY_BREAK
2208case 45:
2209YY_RULE_SETUP
2210#line 216 "lex.ll"
2211{ KEYWORD_RETURN(FLOAT); }
2212 YY_BREAK
2213case 46:
2214YY_RULE_SETUP
2215#line 217 "lex.ll"
2216{ KEYWORD_RETURN(FLOAT); } // GCC
2217 YY_BREAK
2218case 47:
2219YY_RULE_SETUP
2220#line 218 "lex.ll"
2221{ KEYWORD_RETURN(FOR); }
2222 YY_BREAK
2223case 48:
2224YY_RULE_SETUP
2225#line 219 "lex.ll"
2226{ KEYWORD_RETURN(FORALL); } // CFA
2227 YY_BREAK
2228case 49:
2229YY_RULE_SETUP
2230#line 220 "lex.ll"
2231{ KEYWORD_RETURN(FORTRAN); }
2232 YY_BREAK
2233case 50:
2234YY_RULE_SETUP
2235#line 221 "lex.ll"
2236{ KEYWORD_RETURN(FTYPE); } // CFA
2237 YY_BREAK
2238case 51:
2239YY_RULE_SETUP
2240#line 222 "lex.ll"
2241{ KEYWORD_RETURN(GENERIC); } // C11
2242 YY_BREAK
2243case 52:
2244YY_RULE_SETUP
2245#line 223 "lex.ll"
2246{ KEYWORD_RETURN(GOTO); }
2247 YY_BREAK
2248case 53:
2249YY_RULE_SETUP
2250#line 224 "lex.ll"
2251{ KEYWORD_RETURN(IF); }
2252 YY_BREAK
2253case 54:
2254YY_RULE_SETUP
2255#line 225 "lex.ll"
2256{ KEYWORD_RETURN(IMAGINARY); } // C99
2257 YY_BREAK
2258case 55:
2259YY_RULE_SETUP
2260#line 226 "lex.ll"
2261{ KEYWORD_RETURN(IMAGINARY); } // GCC
2262 YY_BREAK
2263case 56:
2264YY_RULE_SETUP
2265#line 227 "lex.ll"
2266{ KEYWORD_RETURN(IMAGINARY); } // GCC
2267 YY_BREAK
2268case 57:
2269YY_RULE_SETUP
2270#line 228 "lex.ll"
2271{ KEYWORD_RETURN(INLINE); } // C99
2272 YY_BREAK
2273case 58:
2274YY_RULE_SETUP
2275#line 229 "lex.ll"
2276{ KEYWORD_RETURN(INLINE); } // GCC
2277 YY_BREAK
2278case 59:
2279YY_RULE_SETUP
2280#line 230 "lex.ll"
2281{ KEYWORD_RETURN(INLINE); } // GCC
2282 YY_BREAK
2283case 60:
2284YY_RULE_SETUP
2285#line 231 "lex.ll"
2286{ KEYWORD_RETURN(INT); }
2287 YY_BREAK
2288case 61:
2289YY_RULE_SETUP
2290#line 232 "lex.ll"
2291{ KEYWORD_RETURN(INT); } // GCC
2292 YY_BREAK
2293case 62:
2294YY_RULE_SETUP
2295#line 233 "lex.ll"
2296{ KEYWORD_RETURN(LABEL); } // GCC
2297 YY_BREAK
2298case 63:
2299YY_RULE_SETUP
2300#line 234 "lex.ll"
2301{ KEYWORD_RETURN(LONG); }
2302 YY_BREAK
2303case 64:
2304YY_RULE_SETUP
2305#line 235 "lex.ll"
2306{ KEYWORD_RETURN(LVALUE); } // CFA
2307 YY_BREAK
2308case 65:
2309YY_RULE_SETUP
2310#line 236 "lex.ll"
2311{ KEYWORD_RETURN(NORETURN); } // C11
2312 YY_BREAK
2313case 66:
2314YY_RULE_SETUP
2315#line 237 "lex.ll"
2316{ KEYWORD_RETURN(REGISTER); }
2317 YY_BREAK
2318case 67:
2319YY_RULE_SETUP
2320#line 238 "lex.ll"
2321{ KEYWORD_RETURN(RESTRICT); } // C99
2322 YY_BREAK
2323case 68:
2324YY_RULE_SETUP
2325#line 239 "lex.ll"
2326{ KEYWORD_RETURN(RESTRICT); } // GCC
2327 YY_BREAK
2328case 69:
2329YY_RULE_SETUP
2330#line 240 "lex.ll"
2331{ KEYWORD_RETURN(RESTRICT); } // GCC
2332 YY_BREAK
2333case 70:
2334YY_RULE_SETUP
2335#line 241 "lex.ll"
2336{ KEYWORD_RETURN(RETURN); }
2337 YY_BREAK
2338case 71:
2339YY_RULE_SETUP
2340#line 242 "lex.ll"
2341{ KEYWORD_RETURN(SHORT); }
2342 YY_BREAK
2343case 72:
2344YY_RULE_SETUP
2345#line 243 "lex.ll"
2346{ KEYWORD_RETURN(SIGNED); }
2347 YY_BREAK
2348case 73:
2349YY_RULE_SETUP
2350#line 244 "lex.ll"
2351{ KEYWORD_RETURN(SIGNED); } // GCC
2352 YY_BREAK
2353case 74:
2354YY_RULE_SETUP
2355#line 245 "lex.ll"
2356{ KEYWORD_RETURN(SIGNED); } // GCC
2357 YY_BREAK
2358case 75:
2359YY_RULE_SETUP
2360#line 246 "lex.ll"
2361{ KEYWORD_RETURN(SIZEOF); }
2362 YY_BREAK
2363case 76:
2364YY_RULE_SETUP
2365#line 247 "lex.ll"
2366{ KEYWORD_RETURN(STATIC); }
2367 YY_BREAK
2368case 77:
2369YY_RULE_SETUP
2370#line 248 "lex.ll"
2371{ KEYWORD_RETURN(STATICASSERT); } // C11
2372 YY_BREAK
2373case 78:
2374YY_RULE_SETUP
2375#line 249 "lex.ll"
2376{ KEYWORD_RETURN(STRUCT); }
2377 YY_BREAK
2378case 79:
2379YY_RULE_SETUP
2380#line 250 "lex.ll"
2381{ KEYWORD_RETURN(SWITCH); }
2382 YY_BREAK
2383case 80:
2384YY_RULE_SETUP
2385#line 251 "lex.ll"
2386{ KEYWORD_RETURN(THREADLOCAL); } // C11
2387 YY_BREAK
2388case 81:
2389YY_RULE_SETUP
2390#line 252 "lex.ll"
2391{ KEYWORD_RETURN(THROW); } // CFA
2392 YY_BREAK
2393case 82:
2394YY_RULE_SETUP
2395#line 253 "lex.ll"
2396{ KEYWORD_RETURN(TRY); } // CFA
2397 YY_BREAK
2398case 83:
2399YY_RULE_SETUP
2400#line 254 "lex.ll"
2401{ KEYWORD_RETURN(TYPE); } // CFA
2402 YY_BREAK
2403case 84:
2404YY_RULE_SETUP
2405#line 255 "lex.ll"
2406{ KEYWORD_RETURN(TYPEDEF); }
2407 YY_BREAK
2408case 85:
2409YY_RULE_SETUP
2410#line 256 "lex.ll"
2411{ KEYWORD_RETURN(TYPEOF); } // GCC
2412 YY_BREAK
2413case 86:
2414YY_RULE_SETUP
2415#line 257 "lex.ll"
2416{ KEYWORD_RETURN(TYPEOF); } // GCC
2417 YY_BREAK
2418case 87:
2419YY_RULE_SETUP
2420#line 258 "lex.ll"
2421{ KEYWORD_RETURN(TYPEOF); } // GCC
2422 YY_BREAK
2423case 88:
2424YY_RULE_SETUP
2425#line 259 "lex.ll"
2426{ KEYWORD_RETURN(UNION); }
2427 YY_BREAK
2428case 89:
2429YY_RULE_SETUP
2430#line 260 "lex.ll"
2431{ KEYWORD_RETURN(UNSIGNED); }
2432 YY_BREAK
2433case 90:
2434YY_RULE_SETUP
2435#line 261 "lex.ll"
2436{ KEYWORD_RETURN(VOID); }
2437 YY_BREAK
2438case 91:
2439YY_RULE_SETUP
2440#line 262 "lex.ll"
2441{ KEYWORD_RETURN(VOLATILE); }
2442 YY_BREAK
2443case 92:
2444YY_RULE_SETUP
2445#line 263 "lex.ll"
2446{ KEYWORD_RETURN(VOLATILE); } // GCC
2447 YY_BREAK
2448case 93:
2449YY_RULE_SETUP
2450#line 264 "lex.ll"
2451{ KEYWORD_RETURN(VOLATILE); } // GCC
2452 YY_BREAK
2453case 94:
2454YY_RULE_SETUP
2455#line 265 "lex.ll"
2456{ KEYWORD_RETURN(WHILE); }
2457 YY_BREAK
2458/* identifier */
2459case 95:
2460YY_RULE_SETUP
2461#line 268 "lex.ll"
2462{ IDENTIFIER_RETURN(); }
2463 YY_BREAK
2464case 96:
2465YY_RULE_SETUP
2466#line 269 "lex.ll"
2467{ ATTRIBUTE_RETURN(); }
2468 YY_BREAK
2469case 97:
2470YY_RULE_SETUP
2471#line 270 "lex.ll"
2472{ BEGIN BKQUOTE; }
2473 YY_BREAK
2474case 98:
2475YY_RULE_SETUP
2476#line 271 "lex.ll"
2477{ IDENTIFIER_RETURN(); }
2478 YY_BREAK
2479case 99:
2480YY_RULE_SETUP
2481#line 272 "lex.ll"
2482{ BEGIN 0; }
2483 YY_BREAK
2484/* numeric constants */
2485case 100:
2486YY_RULE_SETUP
2487#line 275 "lex.ll"
2488{ NUMERIC_RETURN(ZERO); } // CFA
2489 YY_BREAK
2490case 101:
2491YY_RULE_SETUP
2492#line 276 "lex.ll"
2493{ NUMERIC_RETURN(ONE); } // CFA
2494 YY_BREAK
2495case 102:
2496YY_RULE_SETUP
2497#line 277 "lex.ll"
2498{ NUMERIC_RETURN(INTEGERconstant); }
2499 YY_BREAK
2500case 103:
2501YY_RULE_SETUP
2502#line 278 "lex.ll"
2503{ NUMERIC_RETURN(INTEGERconstant); }
2504 YY_BREAK
2505case 104:
2506YY_RULE_SETUP
2507#line 279 "lex.ll"
2508{ NUMERIC_RETURN(INTEGERconstant); }
2509 YY_BREAK
2510case 105:
2511YY_RULE_SETUP
2512#line 280 "lex.ll"
2513{ NUMERIC_RETURN(FLOATINGconstant); }
2514 YY_BREAK
2515case 106:
2516YY_RULE_SETUP
2517#line 281 "lex.ll"
2518{ NUMERIC_RETURN(FLOATINGconstant); }
2519 YY_BREAK
2520/* character constant, allows empty value */
2521case 107:
2522YY_RULE_SETUP
2523#line 284 "lex.ll"
2524{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
2525 YY_BREAK
2526case 108:
2527YY_RULE_SETUP
2528#line 285 "lex.ll"
2529{ *strtext += std::string( yytext ); }
2530 YY_BREAK
2531case 109:
2532/* rule 109 can match eol */
2533YY_RULE_SETUP
2534#line 286 "lex.ll"
2535{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
2536 YY_BREAK
2537/* ' stop highlighting */
2538/* string constant */
2539case 110:
2540YY_RULE_SETUP
2541#line 290 "lex.ll"
2542{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
2543 YY_BREAK
2544case 111:
2545YY_RULE_SETUP
2546#line 291 "lex.ll"
2547{ *strtext += std::string( yytext ); }
2548 YY_BREAK
2549case 112:
2550/* rule 112 can match eol */
2551YY_RULE_SETUP
2552#line 292 "lex.ll"
2553{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(STRINGliteral); }
2554 YY_BREAK
2555/* " stop highlighting */
2556case 113:
2557YY_RULE_SETUP
2558#line 295 "lex.ll"
2559{ rm_underscore(); *strtext += std::string( yytext ); }
2560 YY_BREAK
2561case 114:
2562YY_RULE_SETUP
2563#line 296 "lex.ll"
2564{ *strtext += std::string( yytext ); } // unknown escape character
2565 YY_BREAK
2566/* punctuation */
2567case 115:
2568YY_RULE_SETUP
2569#line 299 "lex.ll"
2570{ ASCIIOP_RETURN(); }
2571 YY_BREAK
2572case 116:
2573YY_RULE_SETUP
2574#line 300 "lex.ll"
2575{ ASCIIOP_RETURN(); }
2576 YY_BREAK
2577case 117:
2578YY_RULE_SETUP
2579#line 301 "lex.ll"
2580{ ASCIIOP_RETURN(); }
2581 YY_BREAK
2582case 118:
2583YY_RULE_SETUP
2584#line 302 "lex.ll"
2585{ ASCIIOP_RETURN(); }
2586 YY_BREAK
2587case 119:
2588YY_RULE_SETUP
2589#line 303 "lex.ll"
2590{ ASCIIOP_RETURN(); }
2591 YY_BREAK
2592case 120:
2593YY_RULE_SETUP
2594#line 304 "lex.ll"
2595{ ASCIIOP_RETURN(); }
2596 YY_BREAK
2597case 121:
2598YY_RULE_SETUP
2599#line 305 "lex.ll"
2600{ ASCIIOP_RETURN(); } // also operator
2601 YY_BREAK
2602case 122:
2603YY_RULE_SETUP
2604#line 306 "lex.ll"
2605{ ASCIIOP_RETURN(); }
2606 YY_BREAK
2607case 123:
2608YY_RULE_SETUP
2609#line 307 "lex.ll"
2610{ ASCIIOP_RETURN(); }
2611 YY_BREAK
2612case 124:
2613YY_RULE_SETUP
2614#line 308 "lex.ll"
2615{ ASCIIOP_RETURN(); } // also operator
2616 YY_BREAK
2617case 125:
2618YY_RULE_SETUP
2619#line 309 "lex.ll"
2620{ NAMEDOP_RETURN(ELLIPSIS); }
2621 YY_BREAK
2622/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
2623case 126:
2624YY_RULE_SETUP
2625#line 312 "lex.ll"
2626{ RETURN_VAL('['); }
2627 YY_BREAK
2628case 127:
2629YY_RULE_SETUP
2630#line 313 "lex.ll"
2631{ RETURN_VAL(']'); }
2632 YY_BREAK
2633case 128:
2634YY_RULE_SETUP
2635#line 314 "lex.ll"
2636{ RETURN_VAL('{'); }
2637 YY_BREAK
2638case 129:
2639YY_RULE_SETUP
2640#line 315 "lex.ll"
2641{ RETURN_VAL('}'); }
2642 YY_BREAK
2643/* operators */
2644case 130:
2645YY_RULE_SETUP
2646#line 318 "lex.ll"
2647{ ASCIIOP_RETURN(); }
2648 YY_BREAK
2649case 131:
2650YY_RULE_SETUP
2651#line 319 "lex.ll"
2652{ ASCIIOP_RETURN(); }
2653 YY_BREAK
2654case 132:
2655YY_RULE_SETUP
2656#line 320 "lex.ll"
2657{ ASCIIOP_RETURN(); }
2658 YY_BREAK
2659case 133:
2660YY_RULE_SETUP
2661#line 321 "lex.ll"
2662{ ASCIIOP_RETURN(); }
2663 YY_BREAK
2664case 134:
2665YY_RULE_SETUP
2666#line 322 "lex.ll"
2667{ ASCIIOP_RETURN(); }
2668 YY_BREAK
2669case 135:
2670YY_RULE_SETUP
2671#line 323 "lex.ll"
2672{ ASCIIOP_RETURN(); }
2673 YY_BREAK
2674case 136:
2675YY_RULE_SETUP
2676#line 324 "lex.ll"
2677{ ASCIIOP_RETURN(); }
2678 YY_BREAK
2679case 137:
2680YY_RULE_SETUP
2681#line 325 "lex.ll"
2682{ ASCIIOP_RETURN(); }
2683 YY_BREAK
2684case 138:
2685YY_RULE_SETUP
2686#line 326 "lex.ll"
2687{ ASCIIOP_RETURN(); }
2688 YY_BREAK
2689case 139:
2690YY_RULE_SETUP
2691#line 327 "lex.ll"
2692{ ASCIIOP_RETURN(); }
2693 YY_BREAK
2694case 140:
2695YY_RULE_SETUP
2696#line 328 "lex.ll"
2697{ ASCIIOP_RETURN(); }
2698 YY_BREAK
2699case 141:
2700YY_RULE_SETUP
2701#line 329 "lex.ll"
2702{ ASCIIOP_RETURN(); }
2703 YY_BREAK
2704case 142:
2705YY_RULE_SETUP
2706#line 330 "lex.ll"
2707{ ASCIIOP_RETURN(); }
2708 YY_BREAK
2709case 143:
2710YY_RULE_SETUP
2711#line 331 "lex.ll"
2712{ ASCIIOP_RETURN(); }
2713 YY_BREAK
2714case 144:
2715YY_RULE_SETUP
2716#line 333 "lex.ll"
2717{ NAMEDOP_RETURN(ICR); }
2718 YY_BREAK
2719case 145:
2720YY_RULE_SETUP
2721#line 334 "lex.ll"
2722{ NAMEDOP_RETURN(DECR); }
2723 YY_BREAK
2724case 146:
2725YY_RULE_SETUP
2726#line 335 "lex.ll"
2727{ NAMEDOP_RETURN(EQ); }
2728 YY_BREAK
2729case 147:
2730YY_RULE_SETUP
2731#line 336 "lex.ll"
2732{ NAMEDOP_RETURN(NE); }
2733 YY_BREAK
2734case 148:
2735YY_RULE_SETUP
2736#line 337 "lex.ll"
2737{ NAMEDOP_RETURN(LS); }
2738 YY_BREAK
2739case 149:
2740YY_RULE_SETUP
2741#line 338 "lex.ll"
2742{ NAMEDOP_RETURN(RS); }
2743 YY_BREAK
2744case 150:
2745YY_RULE_SETUP
2746#line 339 "lex.ll"
2747{ NAMEDOP_RETURN(LE); }
2748 YY_BREAK
2749case 151:
2750YY_RULE_SETUP
2751#line 340 "lex.ll"
2752{ NAMEDOP_RETURN(GE); }
2753 YY_BREAK
2754case 152:
2755YY_RULE_SETUP
2756#line 341 "lex.ll"
2757{ NAMEDOP_RETURN(ANDAND); }
2758 YY_BREAK
2759case 153:
2760YY_RULE_SETUP
2761#line 342 "lex.ll"
2762{ NAMEDOP_RETURN(OROR); }
2763 YY_BREAK
2764case 154:
2765YY_RULE_SETUP
2766#line 343 "lex.ll"
2767{ NAMEDOP_RETURN(ARROW); }
2768 YY_BREAK
2769case 155:
2770YY_RULE_SETUP
2771#line 344 "lex.ll"
2772{ NAMEDOP_RETURN(PLUSassign); }
2773 YY_BREAK
2774case 156:
2775YY_RULE_SETUP
2776#line 345 "lex.ll"
2777{ NAMEDOP_RETURN(MINUSassign); }
2778 YY_BREAK
2779case 157:
2780YY_RULE_SETUP
2781#line 346 "lex.ll"
2782{ NAMEDOP_RETURN(MULTassign); }
2783 YY_BREAK
2784case 158:
2785YY_RULE_SETUP
2786#line 347 "lex.ll"
2787{ NAMEDOP_RETURN(DIVassign); }
2788 YY_BREAK
2789case 159:
2790YY_RULE_SETUP
2791#line 348 "lex.ll"
2792{ NAMEDOP_RETURN(MODassign); }
2793 YY_BREAK
2794case 160:
2795YY_RULE_SETUP
2796#line 349 "lex.ll"
2797{ NAMEDOP_RETURN(ANDassign); }
2798 YY_BREAK
2799case 161:
2800YY_RULE_SETUP
2801#line 350 "lex.ll"
2802{ NAMEDOP_RETURN(ORassign); }
2803 YY_BREAK
2804case 162:
2805YY_RULE_SETUP
2806#line 351 "lex.ll"
2807{ NAMEDOP_RETURN(ERassign); }
2808 YY_BREAK
2809case 163:
2810YY_RULE_SETUP
2811#line 352 "lex.ll"
2812{ NAMEDOP_RETURN(LSassign); }
2813 YY_BREAK
2814case 164:
2815YY_RULE_SETUP
2816#line 353 "lex.ll"
2817{ NAMEDOP_RETURN(RSassign); }
2818 YY_BREAK
2819/* CFA, operator identifier */
2820case 165:
2821YY_RULE_SETUP
2822#line 356 "lex.ll"
2823{ IDENTIFIER_RETURN(); } // unary
2824 YY_BREAK
2825case 166:
2826YY_RULE_SETUP
2827#line 357 "lex.ll"
2828{ IDENTIFIER_RETURN(); }
2829 YY_BREAK
2830case 167:
2831YY_RULE_SETUP
2832#line 358 "lex.ll"
2833{ IDENTIFIER_RETURN(); } // binary
2834 YY_BREAK
2835/*
2836 This rule handles ambiguous cases with operator identifiers, e.g., "int *?*?()", where the string "*?*?"
2837 can be lexed as "*"/"?*?" or "*?"/"*?". Since it is common practise to put a unary operator juxtaposed
2838 to an identifier, e.g., "*i", users will be annoyed if they cannot do this with respect to operator
2839 identifiers. Even with this special hack, there are 5 general cases that cannot be handled. The first
2840 case is for the function-call identifier "?()":
2841
2842 int * ?()(); // declaration: space required after '*'
2843 * ?()(); // expression: space required after '*'
2844
2845 Without the space, the string "*?()" is ambiguous without N character look ahead; it requires scanning
2846 ahead to determine if there is a '(', which is the start of an argument/parameter list.
2847
2848 The 4 remaining cases occur in expressions:
2849
2850 i++?i:0; // space required before '?'
2851 i--?i:0; // space required before '?'
2852 i?++i:0; // space required after '?'
2853 i?--i:0; // space required after '?'
2854
2855 In the first two cases, the string "i++?" is ambiguous, where this string can be lexed as "i"/"++?" or
2856 "i++"/"?"; it requires scanning ahead to determine if there is a '(', which is the start of an argument
2857 list. In the second two cases, the string "?++x" is ambiguous, where this string can be lexed as
2858 "?++"/"x" or "?"/"++x"; it requires scanning ahead to determine if there is a '(', which is the start of
2859 an argument list.
2860 */
2861case 168:
2862YY_RULE_SETUP
2863#line 385 "lex.ll"
2864{
2865 // 1 or 2 character unary operator ?
2866 int i = yytext[1] == '?' ? 1 : 2;
2867 yyless( i ); // put back characters up to first '?'
2868 if ( i > 1 ) {
2869 NAMEDOP_RETURN( yytext[0] == '+' ? ICR : DECR );
2870 } else {
2871 ASCIIOP_RETURN();
2872 } // if
2873}
2874 YY_BREAK
2875/* unknown characters */
2876case 169:
2877YY_RULE_SETUP
2878#line 397 "lex.ll"
2879{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
2880 YY_BREAK
2881case 170:
2882YY_RULE_SETUP
2883#line 399 "lex.ll"
2884ECHO;
2885 YY_BREAK
2886#line 2887 "Parser/lex.cc"
2887case YY_STATE_EOF(INITIAL):
2888case YY_STATE_EOF(COMMENT):
2889case YY_STATE_EOF(BKQUOTE):
2890case YY_STATE_EOF(QUOTE):
2891case YY_STATE_EOF(STRING):
2892 yyterminate();
2893
2894 case YY_END_OF_BUFFER:
2895 {
2896 /* Amount of text matched not including the EOB char. */
2897 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2898
2899 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2900 *yy_cp = (yy_hold_char);
2901 YY_RESTORE_YY_MORE_OFFSET
2902
2903 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2904 {
2905 /* We're scanning a new file or input source. It's
2906 * possible that this happened because the user
2907 * just pointed yyin at a new source and called
2908 * yylex(). If so, then we have to assure
2909 * consistency between YY_CURRENT_BUFFER and our
2910 * globals. Here is the right place to do so, because
2911 * this is the first action (other than possibly a
2912 * back-up) that will match for the new input source.
2913 */
2914 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2915 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2916 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2917 }
2918
2919 /* Note that here we test for yy_c_buf_p "<=" to the position
2920 * of the first EOB in the buffer, since yy_c_buf_p will
2921 * already have been incremented past the NUL character
2922 * (since all states make transitions on EOB to the
2923 * end-of-buffer state). Contrast this with the test
2924 * in input().
2925 */
2926 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2927 { /* This was really a NUL. */
2928 yy_state_type yy_next_state;
2929
2930 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2931
2932 yy_current_state = yy_get_previous_state( );
2933
2934 /* Okay, we're now positioned to make the NUL
2935 * transition. We couldn't have
2936 * yy_get_previous_state() go ahead and do it
2937 * for us because it doesn't know how to deal
2938 * with the possibility of jamming (and we don't
2939 * want to build jamming into it because then it
2940 * will run more slowly).
2941 */
2942
2943 yy_next_state = yy_try_NUL_trans( yy_current_state );
2944
2945 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2946
2947 if ( yy_next_state )
2948 {
2949 /* Consume the NUL. */
2950 yy_cp = ++(yy_c_buf_p);
2951 yy_current_state = yy_next_state;
2952 goto yy_match;
2953 }
2954
2955 else
2956 {
2957 yy_cp = (yy_c_buf_p);
2958 goto yy_find_action;
2959 }
2960 }
2961
2962 else switch ( yy_get_next_buffer( ) )
2963 {
2964 case EOB_ACT_END_OF_FILE:
2965 {
2966 (yy_did_buffer_switch_on_eof) = 0;
2967
2968 if ( yywrap( ) )
2969 {
2970 /* Note: because we've taken care in
2971 * yy_get_next_buffer() to have set up
2972 * yytext, we can now set up
2973 * yy_c_buf_p so that if some total
2974 * hoser (like flex itself) wants to
2975 * call the scanner after we return the
2976 * YY_NULL, it'll still work - another
2977 * YY_NULL will get returned.
2978 */
2979 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2980
2981 yy_act = YY_STATE_EOF(YY_START);
2982 goto do_action;
2983 }
2984
2985 else
2986 {
2987 if ( ! (yy_did_buffer_switch_on_eof) )
2988 YY_NEW_FILE;
2989 }
2990 break;
2991 }
2992
2993 case EOB_ACT_CONTINUE_SCAN:
2994 (yy_c_buf_p) =
2995 (yytext_ptr) + yy_amount_of_matched_text;
2996
2997 yy_current_state = yy_get_previous_state( );
2998
2999 yy_cp = (yy_c_buf_p);
3000 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3001 goto yy_match;
3002
3003 case EOB_ACT_LAST_MATCH:
3004 (yy_c_buf_p) =
3005 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3006
3007 yy_current_state = yy_get_previous_state( );
3008
3009 yy_cp = (yy_c_buf_p);
3010 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3011 goto yy_find_action;
3012 }
3013 break;
3014 }
3015
3016 default:
3017 YY_FATAL_ERROR(
3018 "fatal flex scanner internal error--no action found" );
3019 } /* end of action switch */
3020 } /* end of scanning one token */
3021} /* end of yylex */
3022
3023/* yy_get_next_buffer - try to read in a new buffer
3024 *
3025 * Returns a code representing an action:
3026 * EOB_ACT_LAST_MATCH -
3027 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3028 * EOB_ACT_END_OF_FILE - end of file
3029 */
3030static int yy_get_next_buffer (void)
3031{
3032 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3033 register char *source = (yytext_ptr);
3034 register int number_to_move, i;
3035 int ret_val;
3036
3037 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3038 YY_FATAL_ERROR(
3039 "fatal flex scanner internal error--end of buffer missed" );
3040
3041 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3042 { /* Don't try to fill the buffer, so this is an EOF. */
3043 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3044 {
3045 /* We matched a single character, the EOB, so
3046 * treat this as a final EOF.
3047 */
3048 return EOB_ACT_END_OF_FILE;
3049 }
3050
3051 else
3052 {
3053 /* We matched some text prior to the EOB, first
3054 * process it.
3055 */
3056 return EOB_ACT_LAST_MATCH;
3057 }
3058 }
3059
3060 /* Try to read more data. */
3061
3062 /* First move last chars to start of buffer. */
3063 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3064
3065 for ( i = 0; i < number_to_move; ++i )
3066 *(dest++) = *(source++);
3067
3068 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3069 /* don't do the read, it's not guaranteed to return an EOF,
3070 * just force an EOF
3071 */
3072 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3073
3074 else
3075 {
3076 int num_to_read =
3077 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3078
3079 while ( num_to_read <= 0 )
3080 { /* Not enough room in the buffer - grow it. */
3081
3082 /* just a shorter name for the current buffer */
3083 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3084
3085 int yy_c_buf_p_offset =
3086 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3087
3088 if ( b->yy_is_our_buffer )
3089 {
3090 int new_size = b->yy_buf_size * 2;
3091
3092 if ( new_size <= 0 )
3093 b->yy_buf_size += b->yy_buf_size / 8;
3094 else
3095 b->yy_buf_size *= 2;
3096
3097 b->yy_ch_buf = (char *)
3098 /* Include room in for 2 EOB chars. */
3099 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3100 }
3101 else
3102 /* Can't grow it, we don't own it. */
3103 b->yy_ch_buf = 0;
3104
3105 if ( ! b->yy_ch_buf )
3106 YY_FATAL_ERROR(
3107 "fatal error - scanner input buffer overflow" );
3108
3109 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3110
3111 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3112 number_to_move - 1;
3113
3114 }
3115
3116 if ( num_to_read > YY_READ_BUF_SIZE )
3117 num_to_read = YY_READ_BUF_SIZE;
3118
3119 /* Read in more data. */
3120 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3121 (yy_n_chars), (size_t) num_to_read );
3122
3123 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3124 }
3125
3126 if ( (yy_n_chars) == 0 )
3127 {
3128 if ( number_to_move == YY_MORE_ADJ )
3129 {
3130 ret_val = EOB_ACT_END_OF_FILE;
3131 yyrestart(yyin );
3132 }
3133
3134 else
3135 {
3136 ret_val = EOB_ACT_LAST_MATCH;
3137 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3138 YY_BUFFER_EOF_PENDING;
3139 }
3140 }
3141
3142 else
3143 ret_val = EOB_ACT_CONTINUE_SCAN;
3144
3145 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3146 /* Extend the array by 50%, plus the number we really need. */
3147 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3148 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3149 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3150 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3151 }
3152
3153 (yy_n_chars) += number_to_move;
3154 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3155 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3156
3157 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3158
3159 return ret_val;
3160}
3161
3162/* yy_get_previous_state - get the state just before the EOB char was reached */
3163
3164 static yy_state_type yy_get_previous_state (void)
3165{
3166 register yy_state_type yy_current_state;
3167 register char *yy_cp;
3168
3169 yy_current_state = (yy_start);
3170 yy_current_state += YY_AT_BOL();
3171
3172 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3173 {
3174 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3175 if ( yy_accept[yy_current_state] )
3176 {
3177 (yy_last_accepting_state) = yy_current_state;
3178 (yy_last_accepting_cpos) = yy_cp;
3179 }
3180 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3181 {
3182 yy_current_state = (int) yy_def[yy_current_state];
3183 if ( yy_current_state >= 822 )
3184 yy_c = yy_meta[(unsigned int) yy_c];
3185 }
3186 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3187 }
3188
3189 return yy_current_state;
3190}
3191
3192/* yy_try_NUL_trans - try to make a transition on the NUL character
3193 *
3194 * synopsis
3195 * next_state = yy_try_NUL_trans( current_state );
3196 */
3197 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3198{
3199 register int yy_is_jam;
3200 register char *yy_cp = (yy_c_buf_p);
3201
3202 register YY_CHAR yy_c = 1;
3203 if ( yy_accept[yy_current_state] )
3204 {
3205 (yy_last_accepting_state) = yy_current_state;
3206 (yy_last_accepting_cpos) = yy_cp;
3207 }
3208 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3209 {
3210 yy_current_state = (int) yy_def[yy_current_state];
3211 if ( yy_current_state >= 822 )
3212 yy_c = yy_meta[(unsigned int) yy_c];
3213 }
3214 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3215 yy_is_jam = (yy_current_state == 821);
3216
3217 return yy_is_jam ? 0 : yy_current_state;
3218}
3219
3220 static void yyunput (int c, register char * yy_bp )
3221{
3222 register char *yy_cp;
3223
3224 yy_cp = (yy_c_buf_p);
3225
3226 /* undo effects of setting up yytext */
3227 *yy_cp = (yy_hold_char);
3228
3229 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3230 { /* need to shift things up to make room */
3231 /* +2 for EOB chars. */
3232 register int number_to_move = (yy_n_chars) + 2;
3233 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3234 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3235 register char *source =
3236 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3237
3238 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3239 *--dest = *--source;
3240
3241 yy_cp += (int) (dest - source);
3242 yy_bp += (int) (dest - source);
3243 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3244 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3245
3246 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3247 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3248 }
3249
3250 *--yy_cp = (char) c;
3251
3252 if ( c == '\n' ){
3253 --yylineno;
3254 }
3255
3256 (yytext_ptr) = yy_bp;
3257 (yy_hold_char) = *yy_cp;
3258 (yy_c_buf_p) = yy_cp;
3259}
3260
3261#ifndef YY_NO_INPUT
3262#ifdef __cplusplus
3263 static int yyinput (void)
3264#else
3265 static int input (void)
3266#endif
3267
3268{
3269 int c;
3270
3271 *(yy_c_buf_p) = (yy_hold_char);
3272
3273 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3274 {
3275 /* yy_c_buf_p now points to the character we want to return.
3276 * If this occurs *before* the EOB characters, then it's a
3277 * valid NUL; if not, then we've hit the end of the buffer.
3278 */
3279 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3280 /* This was really a NUL. */
3281 *(yy_c_buf_p) = '\0';
3282
3283 else
3284 { /* need more input */
3285 int offset = (yy_c_buf_p) - (yytext_ptr);
3286 ++(yy_c_buf_p);
3287
3288 switch ( yy_get_next_buffer( ) )
3289 {
3290 case EOB_ACT_LAST_MATCH:
3291 /* This happens because yy_g_n_b()
3292 * sees that we've accumulated a
3293 * token and flags that we need to
3294 * try matching the token before
3295 * proceeding. But for input(),
3296 * there's no matching to consider.
3297 * So convert the EOB_ACT_LAST_MATCH
3298 * to EOB_ACT_END_OF_FILE.
3299 */
3300
3301 /* Reset buffer status. */
3302 yyrestart(yyin );
3303
3304 /*FALLTHROUGH*/
3305
3306 case EOB_ACT_END_OF_FILE:
3307 {
3308 if ( yywrap( ) )
3309 return EOF;
3310
3311 if ( ! (yy_did_buffer_switch_on_eof) )
3312 YY_NEW_FILE;
3313#ifdef __cplusplus
3314 return yyinput();
3315#else
3316 return input();
3317#endif
3318 }
3319
3320 case EOB_ACT_CONTINUE_SCAN:
3321 (yy_c_buf_p) = (yytext_ptr) + offset;
3322 break;
3323 }
3324 }
3325 }
3326
3327 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3328 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3329 (yy_hold_char) = *++(yy_c_buf_p);
3330
3331 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3332 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
3333
3334 yylineno++;
3335;
3336
3337 return c;
3338}
3339#endif /* ifndef YY_NO_INPUT */
3340
3341/** Immediately switch to a different input stream.
3342 * @param input_file A readable stream.
3343 *
3344 * @note This function does not reset the start condition to @c INITIAL .
3345 */
3346 void yyrestart (FILE * input_file )
3347{
3348
3349 if ( ! YY_CURRENT_BUFFER ){
3350 yyensure_buffer_stack ();
3351 YY_CURRENT_BUFFER_LVALUE =
3352 yy_create_buffer(yyin,YY_BUF_SIZE );
3353 }
3354
3355 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3356 yy_load_buffer_state( );
3357}
3358
3359/** Switch to a different input buffer.
3360 * @param new_buffer The new input buffer.
3361 *
3362 */
3363 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3364{
3365
3366 /* TODO. We should be able to replace this entire function body
3367 * with
3368 * yypop_buffer_state();
3369 * yypush_buffer_state(new_buffer);
3370 */
3371 yyensure_buffer_stack ();
3372 if ( YY_CURRENT_BUFFER == new_buffer )
3373 return;
3374
3375 if ( YY_CURRENT_BUFFER )
3376 {
3377 /* Flush out information for old buffer. */
3378 *(yy_c_buf_p) = (yy_hold_char);
3379 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3380 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3381 }
3382
3383 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3384 yy_load_buffer_state( );
3385
3386 /* We don't actually know whether we did this switch during
3387 * EOF (yywrap()) processing, but the only time this flag
3388 * is looked at is after yywrap() is called, so it's safe
3389 * to go ahead and always set it.
3390 */
3391 (yy_did_buffer_switch_on_eof) = 1;
3392}
3393
3394static void yy_load_buffer_state (void)
3395{
3396 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3397 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3398 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3399 (yy_hold_char) = *(yy_c_buf_p);
3400}
3401
3402/** Allocate and initialize an input buffer state.
3403 * @param file A readable stream.
3404 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3405 *
3406 * @return the allocated buffer state.
3407 */
3408 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3409{
3410 YY_BUFFER_STATE b;
3411
3412 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3413 if ( ! b )
3414 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3415
3416 b->yy_buf_size = size;
3417
3418 /* yy_ch_buf has to be 2 characters longer than the size given because
3419 * we need to put in 2 end-of-buffer characters.
3420 */
3421 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3422 if ( ! b->yy_ch_buf )
3423 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3424
3425 b->yy_is_our_buffer = 1;
3426
3427 yy_init_buffer(b,file );
3428
3429 return b;
3430}
3431
3432/** Destroy the buffer.
3433 * @param b a buffer created with yy_create_buffer()
3434 *
3435 */
3436 void yy_delete_buffer (YY_BUFFER_STATE b )
3437{
3438
3439 if ( ! b )
3440 return;
3441
3442 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3443 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3444
3445 if ( b->yy_is_our_buffer )
3446 yyfree((void *) b->yy_ch_buf );
3447
3448 yyfree((void *) b );
3449}
3450
3451#ifndef __cplusplus
3452extern int isatty (int );
3453#endif /* __cplusplus */
3454
3455/* Initializes or reinitializes a buffer.
3456 * This function is sometimes called more than once on the same buffer,
3457 * such as during a yyrestart() or at EOF.
3458 */
3459 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3460
3461{
3462 int oerrno = errno;
3463
3464 yy_flush_buffer(b );
3465
3466 b->yy_input_file = file;
3467 b->yy_fill_buffer = 1;
3468
3469 /* If b is the current buffer, then yy_init_buffer was _probably_
3470 * called from yyrestart() or through yy_get_next_buffer.
3471 * In that case, we don't want to reset the lineno or column.
3472 */
3473 if (b != YY_CURRENT_BUFFER){
3474 b->yy_bs_lineno = 1;
3475 b->yy_bs_column = 0;
3476 }
3477
3478 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3479
3480 errno = oerrno;
3481}
3482
3483/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3484 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3485 *
3486 */
3487 void yy_flush_buffer (YY_BUFFER_STATE b )
3488{
3489 if ( ! b )
3490 return;
3491
3492 b->yy_n_chars = 0;
3493
3494 /* We always need two end-of-buffer characters. The first causes
3495 * a transition to the end-of-buffer state. The second causes
3496 * a jam in that state.
3497 */
3498 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3499 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3500
3501 b->yy_buf_pos = &b->yy_ch_buf[0];
3502
3503 b->yy_at_bol = 1;
3504 b->yy_buffer_status = YY_BUFFER_NEW;
3505
3506 if ( b == YY_CURRENT_BUFFER )
3507 yy_load_buffer_state( );
3508}
3509
3510/** Pushes the new state onto the stack. The new state becomes
3511 * the current state. This function will allocate the stack
3512 * if necessary.
3513 * @param new_buffer The new state.
3514 *
3515 */
3516void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3517{
3518 if (new_buffer == NULL)
3519 return;
3520
3521 yyensure_buffer_stack();
3522
3523 /* This block is copied from yy_switch_to_buffer. */
3524 if ( YY_CURRENT_BUFFER )
3525 {
3526 /* Flush out information for old buffer. */
3527 *(yy_c_buf_p) = (yy_hold_char);
3528 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3529 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3530 }
3531
3532 /* Only push if top exists. Otherwise, replace top. */
3533 if (YY_CURRENT_BUFFER)
3534 (yy_buffer_stack_top)++;
3535 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3536
3537 /* copied from yy_switch_to_buffer. */
3538 yy_load_buffer_state( );
3539 (yy_did_buffer_switch_on_eof) = 1;
3540}
3541
3542/** Removes and deletes the top of the stack, if present.
3543 * The next element becomes the new top.
3544 *
3545 */
3546void yypop_buffer_state (void)
3547{
3548 if (!YY_CURRENT_BUFFER)
3549 return;
3550
3551 yy_delete_buffer(YY_CURRENT_BUFFER );
3552 YY_CURRENT_BUFFER_LVALUE = NULL;
3553 if ((yy_buffer_stack_top) > 0)
3554 --(yy_buffer_stack_top);
3555
3556 if (YY_CURRENT_BUFFER) {
3557 yy_load_buffer_state( );
3558 (yy_did_buffer_switch_on_eof) = 1;
3559 }
3560}
3561
3562/* Allocates the stack if it does not exist.
3563 * Guarantees space for at least one push.
3564 */
3565static void yyensure_buffer_stack (void)
3566{
3567 int num_to_alloc;
3568
3569 if (!(yy_buffer_stack)) {
3570
3571 /* First allocation is just for 2 elements, since we don't know if this
3572 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3573 * immediate realloc on the next call.
3574 */
3575 num_to_alloc = 1;
3576 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3577 (num_to_alloc * sizeof(struct yy_buffer_state*)
3578 );
3579 if ( ! (yy_buffer_stack) )
3580 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3581
3582 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3583
3584 (yy_buffer_stack_max) = num_to_alloc;
3585 (yy_buffer_stack_top) = 0;
3586 return;
3587 }
3588
3589 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3590
3591 /* Increase the buffer to prepare for a possible push. */
3592 int grow_size = 8 /* arbitrary grow size */;
3593
3594 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3595 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3596 ((yy_buffer_stack),
3597 num_to_alloc * sizeof(struct yy_buffer_state*)
3598 );
3599 if ( ! (yy_buffer_stack) )
3600 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3601
3602 /* zero only the new slots.*/
3603 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3604 (yy_buffer_stack_max) = num_to_alloc;
3605 }
3606}
3607
3608/** Setup the input buffer state to scan directly from a user-specified character buffer.
3609 * @param base the character buffer
3610 * @param size the size in bytes of the character buffer
3611 *
3612 * @return the newly allocated buffer state object.
3613 */
3614YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3615{
3616 YY_BUFFER_STATE b;
3617
3618 if ( size < 2 ||
3619 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3620 base[size-1] != YY_END_OF_BUFFER_CHAR )
3621 /* They forgot to leave room for the EOB's. */
3622 return 0;
3623
3624 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3625 if ( ! b )
3626 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3627
3628 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3629 b->yy_buf_pos = b->yy_ch_buf = base;
3630 b->yy_is_our_buffer = 0;
3631 b->yy_input_file = 0;
3632 b->yy_n_chars = b->yy_buf_size;
3633 b->yy_is_interactive = 0;
3634 b->yy_at_bol = 1;
3635 b->yy_fill_buffer = 0;
3636 b->yy_buffer_status = YY_BUFFER_NEW;
3637
3638 yy_switch_to_buffer(b );
3639
3640 return b;
3641}
3642
3643/** Setup the input buffer state to scan a string. The next call to yylex() will
3644 * scan from a @e copy of @a str.
3645 * @param yystr a NUL-terminated string to scan
3646 *
3647 * @return the newly allocated buffer state object.
3648 * @note If you want to scan bytes that may contain NUL values, then use
3649 * yy_scan_bytes() instead.
3650 */
3651YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
3652{
3653
3654 return yy_scan_bytes(yystr,strlen(yystr) );
3655}
3656
3657/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3658 * scan from a @e copy of @a bytes.
3659 * @param yybytes the byte buffer to scan
3660 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3661 *
3662 * @return the newly allocated buffer state object.
3663 */
3664YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
3665{
3666 YY_BUFFER_STATE b;
3667 char *buf;
3668 yy_size_t n;
3669 int i;
3670
3671 /* Get memory for full buffer, including space for trailing EOB's. */
3672 n = _yybytes_len + 2;
3673 buf = (char *) yyalloc(n );
3674 if ( ! buf )
3675 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3676
3677 for ( i = 0; i < _yybytes_len; ++i )
3678 buf[i] = yybytes[i];
3679
3680 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3681
3682 b = yy_scan_buffer(buf,n );
3683 if ( ! b )
3684 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3685
3686 /* It's okay to grow etc. this buffer, and we should throw it
3687 * away when we're done.
3688 */
3689 b->yy_is_our_buffer = 1;
3690
3691 return b;
3692}
3693
3694#ifndef YY_EXIT_FAILURE
3695#define YY_EXIT_FAILURE 2
3696#endif
3697
3698static void yy_fatal_error (yyconst char* msg )
3699{
3700 (void) fprintf( stderr, "%s\n", msg );
3701 exit( YY_EXIT_FAILURE );
3702}
3703
3704/* Redefine yyless() so it works in section 3 code. */
3705
3706#undef yyless
3707#define yyless(n) \
3708 do \
3709 { \
3710 /* Undo effects of setting up yytext. */ \
3711 int yyless_macro_arg = (n); \
3712 YY_LESS_LINENO(yyless_macro_arg);\
3713 yytext[yyleng] = (yy_hold_char); \
3714 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3715 (yy_hold_char) = *(yy_c_buf_p); \
3716 *(yy_c_buf_p) = '\0'; \
3717 yyleng = yyless_macro_arg; \
3718 } \
3719 while ( 0 )
3720
3721/* Accessor methods (get/set functions) to struct members. */
3722
3723/** Get the current line number.
3724 *
3725 */
3726int yyget_lineno (void)
3727{
3728
3729 return yylineno;
3730}
3731
3732/** Get the input stream.
3733 *
3734 */
3735FILE *yyget_in (void)
3736{
3737 return yyin;
3738}
3739
3740/** Get the output stream.
3741 *
3742 */
3743FILE *yyget_out (void)
3744{
3745 return yyout;
3746}
3747
3748/** Get the length of the current token.
3749 *
3750 */
3751int yyget_leng (void)
3752{
3753 return yyleng;
3754}
3755
3756/** Get the current token.
3757 *
3758 */
3759
3760char *yyget_text (void)
3761{
3762 return yytext;
3763}
3764
3765/** Set the current line number.
3766 * @param line_number
3767 *
3768 */
3769void yyset_lineno (int line_number )
3770{
3771
3772 yylineno = line_number;
3773}
3774
3775/** Set the input stream. This does not discard the current
3776 * input buffer.
3777 * @param in_str A readable stream.
3778 *
3779 * @see yy_switch_to_buffer
3780 */
3781void yyset_in (FILE * in_str )
3782{
3783 yyin = in_str ;
3784}
3785
3786void yyset_out (FILE * out_str )
3787{
3788 yyout = out_str ;
3789}
3790
3791int yyget_debug (void)
3792{
3793 return yy_flex_debug;
3794}
3795
3796void yyset_debug (int bdebug )
3797{
3798 yy_flex_debug = bdebug ;
3799}
3800
3801static int yy_init_globals (void)
3802{
3803 /* Initialization is the same as for the non-reentrant scanner.
3804 * This function is called from yylex_destroy(), so don't allocate here.
3805 */
3806
3807 /* We do not touch yylineno unless the option is enabled. */
3808 yylineno = 1;
3809
3810 (yy_buffer_stack) = 0;
3811 (yy_buffer_stack_top) = 0;
3812 (yy_buffer_stack_max) = 0;
3813 (yy_c_buf_p) = (char *) 0;
3814 (yy_init) = 0;
3815 (yy_start) = 0;
3816
3817/* Defined in main.c */
3818#ifdef YY_STDINIT
3819 yyin = stdin;
3820 yyout = stdout;
3821#else
3822 yyin = (FILE *) 0;
3823 yyout = (FILE *) 0;
3824#endif
3825
3826 /* For future reference: Set errno on error, since we are called by
3827 * yylex_init()
3828 */
3829 return 0;
3830}
3831
3832/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3833int yylex_destroy (void)
3834{
3835
3836 /* Pop the buffer stack, destroying each element. */
3837 while(YY_CURRENT_BUFFER){
3838 yy_delete_buffer(YY_CURRENT_BUFFER );
3839 YY_CURRENT_BUFFER_LVALUE = NULL;
3840 yypop_buffer_state();
3841 }
3842
3843 /* Destroy the stack itself. */
3844 yyfree((yy_buffer_stack) );
3845 (yy_buffer_stack) = NULL;
3846
3847 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3848 * yylex() is called, initialization will occur. */
3849 yy_init_globals( );
3850
3851 return 0;
3852}
3853
3854/*
3855 * Internal utility routines.
3856 */
3857
3858#ifndef yytext_ptr
3859static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3860{
3861 register int i;
3862 for ( i = 0; i < n; ++i )
3863 s1[i] = s2[i];
3864}
3865#endif
3866
3867#ifdef YY_NEED_STRLEN
3868static int yy_flex_strlen (yyconst char * s )
3869{
3870 register int n;
3871 for ( n = 0; s[n]; ++n )
3872 ;
3873
3874 return n;
3875}
3876#endif
3877
3878void *yyalloc (yy_size_t size )
3879{
3880 return (void *) malloc( size );
3881}
3882
3883void *yyrealloc (void * ptr, yy_size_t size )
3884{
3885 /* The cast to (char *) in the following accommodates both
3886 * implementations that use char* generic pointers, and those
3887 * that use void* generic pointers. It works with the latter
3888 * because both ANSI C and C++ allow castless assignment from
3889 * any pointer type to void*, and deal with argument conversions
3890 * as though doing an assignment.
3891 */
3892 return (void *) realloc( (char *) ptr, size );
3893}
3894
3895void yyfree (void * ptr )
3896{
3897 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3898}
3899
3900#define YYTABLES_NAME "yytables"
3901
3902#line 399 "lex.ll"
3903
3904
3905
3906// Local Variables: //
3907// fill-column: 110 //
3908// tab-width: 4 //
3909// mode: c++ //
3910// compile-command: "make install" //
3911// End: //
3912
Note: See TracBrowser for help on using the repository browser.