source: src/Parser/lex.cc@ 7ee14bb7

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

formatting, add missing copy constructor for ConstantNode, support gcc D (double), LD (long double) and iI (imaginary) constant suffixes, delete old examples

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