source: src/Parser/lex.cc@ ae42f2a

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 with_gc
Last change on this file since ae42f2a was bd85400, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

remove offsetof keyword, parser 0/1 names as structure fields, update examples to new stdlib, rename algorithms to stdlib, extend stdlib, use correct type for box parameters

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