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