source: src/Parser/lex.cc @ 90c3b1c

aaron-thesisarm-ehcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 90c3b1c was 90c3b1c, checked in by Peter A. Buhr <pabuhr@…>, 7 years ago

compile CFA with C++11, further update refrat with lstlisting macros, support varags, enumeration initialization, add implicit separators to output streams, update example programs that print

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