source: src/Parser/lex.cc@ bdad1679

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

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

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