source: src/Parser/lex.cc @ f3fc8cbe

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since f3fc8cbe was f3fc8cbe, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

dli suffixes second try

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