source: src/Parser/lex.cc @ a2eda27

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 a2eda27 was 097e2b0, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

constructor/destructor, more example programs

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