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