summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/parse_c/bitbakescanner.cc
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/parse/parse_c/bitbakescanner.cc')
-rw-r--r--bitbake/lib/bb/parse/parse_c/bitbakescanner.cc3126
1 files changed, 3126 insertions, 0 deletions
diff --git a/bitbake/lib/bb/parse/parse_c/bitbakescanner.cc b/bitbake/lib/bb/parse/parse_c/bitbakescanner.cc
new file mode 100644
index 0000000000..8e95fd97c8
--- /dev/null
+++ b/bitbake/lib/bb/parse/parse_c/bitbakescanner.cc
@@ -0,0 +1,3126 @@
1
2#line 3 "<stdout>"
3
4#define YY_INT_ALIGNED short int
5
6/* A lexical scanner generated by flex */
7
8#define FLEX_SCANNER
9#define YY_FLEX_MAJOR_VERSION 2
10#define YY_FLEX_MINOR_VERSION 5
11#define YY_FLEX_SUBMINOR_VERSION 31
12#if YY_FLEX_SUBMINOR_VERSION > 0
13#define FLEX_BETA
14#endif
15
16/* First, we deal with platform-specific or compiler-specific issues. */
17
18/* begin standard C headers. */
19#include <stdio.h>
20#include <string.h>
21#include <errno.h>
22#include <stdlib.h>
23
24/* end standard C headers. */
25
26/* flex integer type definitions */
27
28#ifndef FLEXINT_H
29#define FLEXINT_H
30
31/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
33#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
34#include <inttypes.h>
35typedef int8_t flex_int8_t;
36typedef uint8_t flex_uint8_t;
37typedef int16_t flex_int16_t;
38typedef uint16_t flex_uint16_t;
39typedef int32_t flex_int32_t;
40typedef uint32_t flex_uint32_t;
41#else
42typedef signed char flex_int8_t;
43typedef short int flex_int16_t;
44typedef int flex_int32_t;
45typedef unsigned char flex_uint8_t;
46typedef unsigned short int flex_uint16_t;
47typedef unsigned int flex_uint32_t;
48#endif /* ! C99 */
49
50/* Limits of integral types. */
51#ifndef INT8_MIN
52#define INT8_MIN (-128)
53#endif
54#ifndef INT16_MIN
55#define INT16_MIN (-32767-1)
56#endif
57#ifndef INT32_MIN
58#define INT32_MIN (-2147483647-1)
59#endif
60#ifndef INT8_MAX
61#define INT8_MAX (127)
62#endif
63#ifndef INT16_MAX
64#define INT16_MAX (32767)
65#endif
66#ifndef INT32_MAX
67#define INT32_MAX (2147483647)
68#endif
69#ifndef UINT8_MAX
70#define UINT8_MAX (255U)
71#endif
72#ifndef UINT16_MAX
73#define UINT16_MAX (65535U)
74#endif
75#ifndef UINT32_MAX
76#define UINT32_MAX (4294967295U)
77#endif
78
79#endif /* ! FLEXINT_H */
80
81#ifdef __cplusplus
82
83/* The "const" storage-class-modifier is valid. */
84#define YY_USE_CONST
85
86#else /* ! __cplusplus */
87
88#if __STDC__
89
90#define YY_USE_CONST
91
92#endif /* __STDC__ */
93#endif /* ! __cplusplus */
94
95#ifdef YY_USE_CONST
96#define yyconst const
97#else
98#define yyconst
99#endif
100
101/* Returned upon end-of-file. */
102#define YY_NULL 0
103
104/* Promotes a possibly negative, possibly signed char to an unsigned
105 * integer for use as an array index. If the signed char is negative,
106 * we want to instead treat it as an 8-bit unsigned char, hence the
107 * double cast.
108 */
109#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
110
111/* An opaque pointer. */
112#ifndef YY_TYPEDEF_YY_SCANNER_T
113#define YY_TYPEDEF_YY_SCANNER_T
114typedef void* yyscan_t;
115#endif
116
117/* For convenience, these vars (plus the bison vars far below)
118 are macros in the reentrant scanner. */
119#define yyin yyg->yyin_r
120#define yyout yyg->yyout_r
121#define yyextra yyg->yyextra_r
122#define yyleng yyg->yyleng_r
123#define yytext yyg->yytext_r
124#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
125#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
126#define yy_flex_debug yyg->yy_flex_debug_r
127
128int yylex_init (yyscan_t* scanner);
129
130/* Enter a start condition. This macro really ought to take a parameter,
131 * but we do it the disgusting crufty way forced on us by the ()-less
132 * definition of BEGIN.
133 */
134#define BEGIN yyg->yy_start = 1 + 2 *
135
136/* Translate the current start state into a value that can be later handed
137 * to BEGIN to return to the state. The YYSTATE alias is for lex
138 * compatibility.
139 */
140#define YY_START ((yyg->yy_start - 1) / 2)
141#define YYSTATE YY_START
142
143/* Action number for EOF rule of a given start state. */
144#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
145
146/* Special action meaning "start processing a new file". */
147#define YY_NEW_FILE yyrestart(yyin ,yyscanner )
148
149#define YY_END_OF_BUFFER_CHAR 0
150
151/* Size of default input buffer. */
152#ifndef YY_BUF_SIZE
153#define YY_BUF_SIZE 16384
154#endif
155
156#ifndef YY_TYPEDEF_YY_BUFFER_STATE
157#define YY_TYPEDEF_YY_BUFFER_STATE
158typedef struct yy_buffer_state *YY_BUFFER_STATE;
159#endif
160
161#define EOB_ACT_CONTINUE_SCAN 0
162#define EOB_ACT_END_OF_FILE 1
163#define EOB_ACT_LAST_MATCH 2
164
165 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
166 * access to the local variable yy_act. Since yyless() is a macro, it would break
167 * existing scanners that call yyless() from OUTSIDE yylex.
168 * One obvious solution it to make yy_act a global. I tried that, and saw
169 * a 5% performance hit in a non-yylineno scanner, because yy_act is
170 * normally declared as a register variable-- so it is not worth it.
171 */
172 #define YY_LESS_LINENO(n) \
173 do { \
174 int yyl;\
175 for ( yyl = n; yyl < yyleng; ++yyl )\
176 if ( yytext[yyl] == '\n' )\
177 --yylineno;\
178 }while(0)
179
180/* Return all but the first "n" matched characters back to the input stream. */
181#define yyless(n) \
182 do \
183 { \
184 /* Undo effects of setting up yytext. */ \
185 int yyless_macro_arg = (n); \
186 YY_LESS_LINENO(yyless_macro_arg);\
187 *yy_cp = yyg->yy_hold_char; \
188 YY_RESTORE_YY_MORE_OFFSET \
189 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
190 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
191 } \
192 while ( 0 )
193
194#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
195
196/* The following is because we cannot portably get our hands on size_t
197 * (without autoconf's help, which isn't available because we want
198 * flex-generated scanners to compile on their own).
199 */
200
201#ifndef YY_TYPEDEF_YY_SIZE_T
202#define YY_TYPEDEF_YY_SIZE_T
203typedef unsigned int yy_size_t;
204#endif
205
206#ifndef YY_STRUCT_YY_BUFFER_STATE
207#define YY_STRUCT_YY_BUFFER_STATE
208struct yy_buffer_state
209 {
210 FILE *yy_input_file;
211
212 char *yy_ch_buf; /* input buffer */
213 char *yy_buf_pos; /* current position in input buffer */
214
215 /* Size of input buffer in bytes, not including room for EOB
216 * characters.
217 */
218 yy_size_t yy_buf_size;
219
220 /* Number of characters read into yy_ch_buf, not including EOB
221 * characters.
222 */
223 int yy_n_chars;
224
225 /* Whether we "own" the buffer - i.e., we know we created it,
226 * and can realloc() it to grow it, and should free() it to
227 * delete it.
228 */
229 int yy_is_our_buffer;
230
231 /* Whether this is an "interactive" input source; if so, and
232 * if we're using stdio for input, then we want to use getc()
233 * instead of fread(), to make sure we stop fetching input after
234 * each newline.
235 */
236 int yy_is_interactive;
237
238 /* Whether we're considered to be at the beginning of a line.
239 * If so, '^' rules will be active on the next match, otherwise
240 * not.
241 */
242 int yy_at_bol;
243
244 int yy_bs_lineno; /**< The line count. */
245 int yy_bs_column; /**< The column count. */
246
247 /* Whether to try to fill the input buffer when we reach the
248 * end of it.
249 */
250 int yy_fill_buffer;
251
252 int yy_buffer_status;
253
254#define YY_BUFFER_NEW 0
255#define YY_BUFFER_NORMAL 1
256 /* When an EOF's been seen but there's still some text to process
257 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
258 * shouldn't try reading from the input source any more. We might
259 * still have a bunch of tokens to match, though, because of
260 * possible backing-up.
261 *
262 * When we actually see the EOF, we change the status to "new"
263 * (via yyrestart()), so that the user can continue scanning by
264 * just pointing yyin at a new input file.
265 */
266#define YY_BUFFER_EOF_PENDING 2
267
268 };
269#endif /* !YY_STRUCT_YY_BUFFER_STATE */
270
271/* We provide macros for accessing buffer states in case in the
272 * future we want to put the buffer states in a more general
273 * "scanner state".
274 *
275 * Returns the top of the stack, or NULL.
276 */
277#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
278 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
279 : NULL)
280
281/* Same as previous macro, but useful when we know that the buffer stack is not
282 * NULL or when we need an lvalue. For internal use only.
283 */
284#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
285
286void yyrestart (FILE *input_file ,yyscan_t yyscanner );
287void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
288YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
289void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
290void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
291void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
292void yypop_buffer_state (yyscan_t yyscanner );
293
294static void yyensure_buffer_stack (yyscan_t yyscanner );
295static void yy_load_buffer_state (yyscan_t yyscanner );
296static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
297
298#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
299
300YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
301YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
302YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
303
304void *yyalloc (yy_size_t ,yyscan_t yyscanner );
305void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
306void yyfree (void * ,yyscan_t yyscanner );
307
308#define yy_new_buffer yy_create_buffer
309
310#define yy_set_interactive(is_interactive) \
311 { \
312 if ( ! YY_CURRENT_BUFFER ){ \
313 yyensure_buffer_stack (yyscanner); \
314 YY_CURRENT_BUFFER_LVALUE = \
315 yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
316 } \
317 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
318 }
319
320#define yy_set_bol(at_bol) \
321 { \
322 if ( ! YY_CURRENT_BUFFER ){\
323 yyensure_buffer_stack (yyscanner); \
324 YY_CURRENT_BUFFER_LVALUE = \
325 yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
326 } \
327 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
328 }
329
330#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
331
332/* Begin user sect3 */
333
334#define yywrap(n) 1
335#define YY_SKIP_YYWRAP
336
337typedef unsigned char YY_CHAR;
338
339typedef int yy_state_type;
340
341#define yytext_ptr yytext_r
342
343static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
344static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
345static int yy_get_next_buffer (yyscan_t yyscanner );
346static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
347
348/* Done after the current pattern has been matched and before the
349 * corresponding action - sets up yytext.
350 */
351#define YY_DO_BEFORE_ACTION \
352 yyg->yytext_ptr = yy_bp; \
353 yyleng = (size_t) (yy_cp - yy_bp); \
354 yyg->yy_hold_char = *yy_cp; \
355 *yy_cp = '\0'; \
356 yyg->yy_c_buf_p = yy_cp;
357
358#define YY_NUM_RULES 45
359#define YY_END_OF_BUFFER 46
360/* This struct is not used in this scanner,
361 but its presence is necessary. */
362struct yy_trans_info
363 {
364 flex_int32_t yy_verify;
365 flex_int32_t yy_nxt;
366 };
367static yyconst flex_int16_t yy_accept[798] =
368 { 0,
369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 24, 24, 0, 0,
371 0, 0, 46, 44, 43, 43, 44, 44, 44, 44,
372 44, 4, 44, 33, 33, 33, 33, 33, 33, 33,
373 33, 33, 26, 26, 26, 26, 26, 26, 44, 43,
374 28, 43, 44, 44, 44, 27, 4, 44, 44, 44,
375 44, 44, 44, 31, 31, 30, 31, 31, 31, 31,
376 31, 4, 31, 31, 31, 31, 31, 31, 41, 36,
377 36, 36, 36, 36, 36, 44, 38, 38, 38, 38,
378 38, 38, 42, 37, 37, 37, 37, 37, 37, 44,
379
380 39, 39, 39, 39, 39, 39, 24, 24, 24, 24,
381 24, 24, 24, 4, 24, 24, 24, 24, 24, 24,
382 23, 9, 43, 10, 9, 44, 9, 44, 9, 9,
383 9, 4, 9, 9, 9, 9, 9, 9, 9, 40,
384 35, 35, 35, 35, 35, 35, 35, 0, 32, 34,
385 0, 0, 1, 3, 2, 5, 0, 33, 0, 33,
386 33, 33, 33, 33, 33, 33, 33, 26, 26, 26,
387 26, 26, 26, 0, 27, 0, 28, 0, 27, 0,
388 0, 1, 2, 5, 0, 0, 0, 0, 0, 0,
389 0, 29, 0, 0, 0, 0, 0, 36, 36, 36,
390
391 36, 36, 36, 0, 0, 38, 38, 38, 38, 38,
392 38, 37, 37, 37, 37, 37, 37, 0, 0, 39,
393 39, 39, 39, 39, 39, 24, 24, 24, 24, 24,
394 24, 1, 3, 2, 5, 24, 24, 24, 24, 24,
395 23, 23, 9, 0, 9, 0, 10, 0, 7, 0,
396 9, 0, 9, 0, 8, 0, 0, 9, 1, 3,
397 2, 5, 9, 6, 9, 9, 9, 9, 35, 35,
398 35, 35, 35, 35, 35, 35, 34, 0, 22, 0,
399 0, 34, 33, 33, 25, 33, 33, 33, 33, 33,
400 33, 26, 26, 25, 26, 26, 26, 0, 22, 0,
401
402 0, 25, 0, 0, 0, 0, 0, 25, 0, 0,
403 0, 36, 36, 25, 36, 36, 36, 0, 0, 38,
404 38, 25, 38, 38, 38, 37, 37, 25, 37, 37,
405 37, 0, 0, 39, 39, 25, 39, 39, 39, 24,
406 22, 24, 24, 24, 24, 24, 24, 32, 0, 9,
407 9, 6, 9, 9, 9, 9, 9, 35, 35, 35,
408 35, 25, 35, 35, 35, 22, 22, 0, 33, 33,
409 33, 33, 33, 33, 33, 33, 33, 26, 26, 26,
410 26, 26, 26, 22, 0, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 0, 36, 36, 36, 36,
412
413 36, 36, 0, 38, 0, 38, 38, 38, 38, 38,
414 38, 37, 37, 37, 37, 37, 37, 0, 39, 0,
415 39, 39, 39, 39, 39, 39, 22, 22, 24, 24,
416 24, 24, 24, 24, 22, 9, 9, 9, 9, 9,
417 9, 35, 35, 35, 35, 35, 35, 35, 35, 0,
418 34, 33, 33, 33, 33, 33, 33, 33, 33, 33,
419 26, 26, 26, 26, 26, 26, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 36, 36,
421 36, 36, 36, 36, 0, 38, 38, 38, 38, 38,
422 38, 38, 37, 37, 37, 37, 37, 37, 0, 39,
423
424 39, 39, 39, 39, 39, 39, 24, 24, 24, 24,
425 24, 24, 9, 9, 9, 9, 9, 9, 35, 35,
426 35, 18, 35, 35, 35, 35, 33, 33, 33, 19,
427 33, 33, 33, 21, 33, 26, 26, 26, 26, 26,
428 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 36, 36, 36, 36, 36, 36, 38,
430 38, 38, 38, 38, 38, 37, 37, 37, 37, 37,
431 37, 39, 39, 39, 39, 39, 39, 24, 24, 24,
432 24, 24, 24, 9, 9, 9, 9, 9, 9, 35,
433 35, 35, 17, 35, 35, 35, 33, 33, 14, 33,
434
435 11, 13, 12, 26, 26, 14, 11, 13, 12, 0,
436 0, 14, 11, 13, 12, 0, 0, 14, 11, 13,
437 12, 36, 36, 14, 11, 13, 12, 38, 38, 14,
438 11, 13, 12, 37, 37, 14, 11, 13, 12, 39,
439 39, 14, 11, 13, 12, 24, 24, 14, 11, 13,
440 12, 9, 9, 9, 9, 9, 9, 35, 35, 14,
441 11, 13, 12, 33, 33, 20, 26, 26, 0, 0,
442 0, 0, 36, 36, 38, 38, 37, 37, 39, 39,
443 24, 24, 9, 9, 35, 35, 33, 33, 26, 26,
444 0, 0, 0, 0, 36, 36, 38, 38, 37, 37,
445
446 39, 39, 24, 24, 9, 9, 35, 35, 33, 15,
447 26, 15, 0, 15, 0, 15, 36, 15, 38, 15,
448 37, 15, 39, 15, 24, 15, 9, 9, 35, 15,
449 33, 26, 0, 0, 36, 38, 37, 39, 24, 9,
450 35, 33, 26, 0, 0, 36, 38, 37, 39, 24,
451 9, 35, 33, 26, 0, 0, 36, 38, 37, 39,
452 24, 9, 35, 33, 26, 0, 0, 36, 38, 37,
453 39, 24, 9, 35, 33, 26, 0, 0, 36, 38,
454 37, 39, 24, 9, 35, 16, 16, 16, 16, 16,
455 16, 16, 16, 16, 9, 16, 0
456
457 } ;
458
459static yyconst flex_int32_t yy_ec[256] =
460 { 0,
461 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
462 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
463 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
464 1, 2, 1, 5, 6, 7, 1, 1, 8, 9,
465 10, 1, 11, 12, 13, 14, 15, 16, 16, 16,
466 16, 16, 16, 16, 16, 16, 16, 17, 1, 1,
467 18, 1, 19, 1, 20, 20, 21, 20, 22, 23,
468 20, 20, 24, 20, 20, 20, 20, 25, 26, 27,
469 20, 28, 29, 30, 31, 20, 20, 32, 20, 20,
470 33, 34, 35, 1, 36, 1, 37, 38, 39, 40,
471
472 41, 42, 20, 43, 44, 20, 45, 46, 20, 47,
473 48, 49, 50, 51, 52, 53, 54, 20, 20, 55,
474 56, 20, 57, 1, 58, 1, 1, 1, 1, 1,
475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
479 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
480 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
481 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
482
483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
487 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
488 1, 1, 1, 1, 1
489 } ;
490
491static yyconst flex_int32_t yy_meta[59] =
492 { 0,
493 1, 1, 2, 3, 1, 1, 4, 1, 1, 1,
494 5, 6, 5, 5, 7, 8, 1, 1, 1, 9,
495 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
496 9, 9, 10, 1, 11, 9, 9, 9, 9, 9,
497 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
498 9, 9, 9, 9, 9, 9, 1, 12
499 } ;
500
501static yyconst flex_int16_t yy_base[832] =
502 { 0,
503 0, 0, 58, 0, 115, 165, 215, 265, 316, 0,
504 374, 0, 432, 0, 490, 0, 547, 604, 661, 711,
505 762, 0, 2156, 2157, 2157, 2157, 2152, 0, 118, 2136,
506 2135, 2141, 2133, 115, 118, 116, 120, 124, 140, 131,
507 129, 139, 0, 2118, 2109, 2107, 2100, 2105, 2128, 127,
508 2157, 2127, 137, 179, 124, 2125, 128, 173, 126, 146,
509 153, 118, 158, 2157, 190, 2157, 2157, 2139, 193, 2123,
510 2122, 2128, 2120, 2105, 2096, 2094, 2087, 2092, 2157, 0,
511 2100, 2091, 2089, 2082, 2087, 2070, 2119, 181, 190, 194,
512 153, 197, 2157, 0, 2093, 2084, 2082, 2075, 2080, 2063,
513
514 2112, 191, 199, 200, 201, 203, 2115, 2114, 2113, 2112,
515 212, 209, 222, 217, 228, 226, 233, 208, 239, 240,
516 248, 255, 251, 2111, 270, 251, 552, 254, 565, 575,
517 577, 622, 627, 626, 634, 612, 669, 684, 691, 2157,
518 0, 2081, 205, 2071, 2070, 2063, 2068, 2105, 2157, 257,
519 289, 559, 2157, 2157, 2157, 2157, 2050, 263, 2071, 270,
520 273, 555, 545, 556, 642, 585, 569, 0, 2078, 2064,
521 2061, 222, 2052, 2084, 2157, 290, 2157, 291, 2097, 674,
522 680, 2082, 2081, 2080, 283, 564, 554, 608, 262, 2093,
523 312, 2157, 2068, 2054, 2051, 529, 2042, 0, 2064, 2050,
524
525 2047, 611, 2038, 0, 2030, 2079, 646, 650, 652, 695,
526 593, 0, 2058, 2044, 2041, 661, 2032, 0, 2024, 2073,
527 680, 681, 699, 701, 702, 2076, 2075, 2074, 2073, 733,
528 819, 2072, 2071, 2070, 2069, 720, 600, 708, 820, 821,
529 724, 2068, 823, 824, 831, 751, 2067, 822, 830, 835,
530 839, 843, 847, 845, 846, 858, 880, 870, 881, 889,
531 891, 898, 903, 2067, 905, 914, 916, 926, 0, 2041,
532 2027, 2013, 2023, 2022, 703, 2013, 902, 841, 754, 0,
533 2027, 2157, 910, 919, 905, 913, 933, 934, 937, 940,
534 935, 2035, 258, 0, 2014, 2018, 2004, 947, 979, 732,
535
536 934, 2040, 912, 843, 707, 2030, 910, 2157, 2009, 2013,
537 1999, 2026, 922, 0, 2005, 2009, 1995, 1990, 0, 861,
538 926, 2040, 855, 947, 964, 2020, 941, 0, 1999, 2003,
539 1989, 1984, 0, 979, 950, 2034, 978, 984, 983, 995,
540 757, 989, 992, 2037, 996, 571, 997, 1004, 1005, 1014,
541 1006, 2037, 1021, 1025, 1026, 1039, 1041, 2012, 1010, 1996,
542 1988, 0, 1989, 1993, 1979, 999, 2029, 1973, 1043, 1049,
543 1050, 1051, 1058, 1059, 1060, 1070, 1061, 2002, 1992, 1991,
544 1973, 1975, 1981, 1087, 1053, 1061, 1062, 813, 1003, 1044,
545 1996, 1986, 1985, 1967, 1969, 1975, 1990, 1980, 1979, 1961,
546
547 1963, 1969, 1954, 2004, 1952, 867, 1078, 1089, 1062, 1090,
548 1093, 1981, 1971, 1970, 1952, 1954, 1960, 1945, 1995, 1943,
549 1094, 1099, 1101, 1100, 1105, 1103, 1117, 1997, 1111, 1114,
550 1118, 1120, 1121, 1122, 1125, 1141, 1127, 1155, 1160, 1165,
551 1174, 1971, 1961, 1960, 1945, 1944, 1940, 1942, 1948, 1933,
552 1138, 1151, 1170, 1145, 1173, 1176, 1179, 1178, 1180, 1188,
553 1960, 1942, 1936, 1947, 1942, 1934, 1114, 1173, 1136, 1183,
554 1181, 1179, 1954, 1936, 1930, 1941, 1936, 1928, 1948, 1930,
555 1924, 1935, 1930, 1922, 1914, 1964, 1198, 1184, 1141, 830,
556 1194, 1195, 1940, 1922, 1916, 1927, 1922, 1914, 1906, 1956,
557
558 1203, 1197, 1200, 1208, 1222, 1225, 1231, 1232, 1233, 1234,
559 1237, 1238, 1248, 1249, 1257, 1265, 1267, 1282, 1932, 1914,
560 1908, 0, 1918, 1918, 1913, 1905, 1235, 1253, 1270, 1273,
561 1281, 1285, 1287, 1288, 1290, 1919, 1914, 1908, 1911, 1898,
562 1909, 1228, 1285, 1283, 1281, 1290, 1291, 1913, 1908, 1902,
563 1905, 1892, 1903, 1907, 1902, 1896, 1899, 1886, 1897, 1303,
564 1297, 1305, 1306, 1310, 1312, 1901, 1896, 1890, 1893, 1880,
565 1891, 1320, 1317, 1323, 1328, 1327, 1329, 1335, 1338, 1339,
566 1341, 1342, 1345, 1347, 1356, 1357, 1371, 1392, 1396, 1895,
567 1890, 1884, 0, 1887, 1874, 1885, 1344, 1339, 1359, 1380,
568
569 1381, 1382, 1386, 1902, 1878, 0, 0, 0, 0, 1117,
570 1357, 1906, 1905, 1904, 1903, 1896, 1872, 2157, 2157, 2157,
571 2157, 1894, 1870, 0, 0, 0, 0, 1240, 1353, 1908,
572 1907, 1906, 1905, 1888, 1864, 0, 0, 0, 0, 1399,
573 1400, 1902, 1901, 1900, 1899, 1405, 1372, 1902, 1901, 1900,
574 1899, 1415, 1419, 1427, 1434, 1439, 1446, 1878, 1854, 0,
575 0, 0, 0, 1424, 1433, 1427, 1867, 1856, 1394, 1426,
576 1863, 1849, 1858, 1845, 1445, 1409, 1851, 1840, 1451, 1449,
577 1456, 1459, 1467, 1476, 1847, 1833, 1463, 1456, 1848, 1819,
578 1125, 1454, 1841, 1814, 1837, 1807, 1470, 1457, 1827, 1795,
579
580 1472, 1476, 1488, 1482, 1501, 1510, 1809, 1782, 1495, 1486,
581 1789, 0, 1503, 1792, 1776, 2157, 1747, 0, 1504, 1756,
582 1736, 0, 1515, 1745, 1483, 1712, 1529, 1537, 1690, 0,
583 1516, 1675, 1513, 1610, 1609, 1522, 1608, 1525, 1491, 1546,
584 1607, 1533, 1612, 1475, 1611, 1609, 1534, 1608, 1540, 1535,
585 1560, 1607, 1546, 1604, 1232, 1602, 1601, 1549, 1599, 1560,
586 1557, 1580, 1597, 1562, 1596, 1553, 1595, 1593, 1566, 1592,
587 1567, 1574, 1588, 1591, 1574, 1581, 1226, 1575, 1572, 1582,
588 1485, 1590, 1595, 1600, 1381, 1593, 0, 1392, 2157, 0,
589 1347, 0, 1029, 1018, 1607, 0, 2157, 1641, 1653, 1665,
590
591 1677, 1689, 893, 1698, 1704, 1713, 1725, 1737, 1745, 1751,
592 1756, 1762, 1771, 1783, 1795, 1807, 1819, 1831, 1839, 1845,
593 1848, 730, 581, 550, 1855, 289, 1863, 286, 1871, 1879,
594 1887
595 } ;
596
597static yyconst flex_int16_t yy_def[832] =
598 { 0,
599 797, 1, 797, 3, 798, 798, 799, 799, 797, 9,
600 797, 11, 797, 13, 797, 15, 800, 800, 801, 801,
601 797, 21, 797, 797, 797, 797, 802, 803, 797, 797,
602 797, 797, 797, 804, 804, 804, 804, 804, 804, 804,
603 804, 804, 805, 805, 805, 805, 805, 805, 806, 806,
604 797, 806, 807, 806, 806, 797, 806, 806, 806, 806,
605 806, 806, 806, 797, 808, 797, 797, 802, 797, 797,
606 797, 797, 797, 797, 797, 797, 797, 797, 797, 809,
607 809, 809, 809, 809, 809, 797, 810, 810, 810, 810,
608 810, 810, 797, 811, 811, 811, 811, 811, 811, 797,
609
610 812, 812, 812, 812, 812, 812, 813, 813, 813, 814,
611 813, 813, 813, 813, 813, 813, 813, 813, 813, 813,
612 797, 815, 797, 797, 815, 816, 817, 818, 815, 815,
613 815, 815, 815, 815, 815, 815, 815, 815, 815, 797,
614 819, 819, 819, 819, 819, 819, 819, 802, 797, 820,
615 797, 797, 797, 797, 797, 797, 797, 804, 821, 804,
616 804, 804, 804, 804, 804, 804, 804, 805, 805, 805,
617 805, 805, 805, 806, 797, 806, 797, 807, 802, 806,
618 806, 806, 806, 806, 806, 806, 806, 806, 806, 808,
619 808, 797, 797, 797, 797, 797, 797, 809, 809, 809,
620
621 809, 809, 809, 822, 797, 810, 810, 810, 810, 810,
622 810, 811, 811, 811, 811, 811, 811, 823, 797, 812,
623 812, 812, 812, 812, 812, 813, 797, 814, 797, 813,
624 813, 813, 813, 813, 813, 813, 813, 813, 813, 813,
625 797, 797, 815, 815, 815, 797, 797, 816, 816, 816,
626 817, 817, 817, 818, 818, 818, 815, 815, 815, 815,
627 815, 815, 815, 797, 815, 815, 815, 815, 819, 819,
628 819, 819, 819, 819, 819, 819, 820, 797, 797, 824,
629 821, 797, 804, 804, 804, 804, 804, 804, 804, 804,
630 804, 805, 805, 805, 805, 805, 805, 806, 806, 806,
631
632 806, 806, 806, 806, 806, 797, 797, 797, 797, 797,
633 797, 809, 809, 809, 809, 809, 809, 825, 826, 810,
634 810, 810, 810, 810, 810, 811, 811, 811, 811, 811,
635 811, 827, 828, 812, 812, 812, 812, 812, 812, 813,
636 813, 813, 813, 813, 813, 813, 813, 815, 815, 815,
637 815, 797, 815, 815, 815, 815, 815, 819, 819, 819,
638 819, 819, 819, 819, 819, 797, 797, 829, 804, 804,
639 804, 804, 804, 804, 804, 804, 804, 805, 805, 805,
640 805, 805, 805, 806, 806, 806, 806, 806, 806, 806,
641 797, 797, 797, 797, 797, 797, 809, 809, 809, 809,
642
643 809, 809, 825, 810, 830, 810, 810, 810, 810, 810,
644 810, 811, 811, 811, 811, 811, 811, 827, 812, 831,
645 812, 812, 812, 812, 812, 812, 813, 797, 813, 813,
646 813, 813, 813, 813, 815, 815, 815, 815, 815, 815,
647 815, 819, 819, 819, 819, 819, 819, 819, 819, 829,
648 820, 804, 804, 804, 804, 804, 804, 804, 804, 804,
649 805, 805, 805, 805, 805, 805, 806, 806, 806, 806,
650 806, 806, 797, 797, 797, 797, 797, 797, 809, 809,
651 809, 809, 809, 809, 830, 810, 810, 810, 810, 810,
652 810, 810, 811, 811, 811, 811, 811, 811, 831, 812,
653
654 812, 812, 812, 812, 812, 812, 813, 813, 813, 813,
655 813, 813, 815, 815, 815, 815, 815, 815, 819, 819,
656 819, 819, 819, 819, 819, 819, 804, 804, 804, 804,
657 804, 804, 804, 804, 804, 805, 805, 805, 805, 805,
658 805, 806, 806, 806, 806, 806, 806, 797, 797, 797,
659 797, 797, 797, 809, 809, 809, 809, 809, 809, 810,
660 810, 810, 810, 810, 810, 811, 811, 811, 811, 811,
661 811, 812, 812, 812, 812, 812, 812, 813, 813, 813,
662 813, 813, 813, 815, 815, 815, 815, 815, 815, 819,
663 819, 819, 819, 819, 819, 819, 804, 804, 804, 804,
664
665 804, 804, 804, 805, 805, 805, 805, 805, 805, 806,
666 806, 806, 806, 806, 806, 797, 797, 797, 797, 797,
667 797, 809, 809, 809, 809, 809, 809, 810, 810, 810,
668 810, 810, 810, 811, 811, 811, 811, 811, 811, 812,
669 812, 812, 812, 812, 812, 813, 813, 813, 813, 813,
670 813, 815, 815, 815, 815, 815, 815, 819, 819, 819,
671 819, 819, 819, 804, 804, 804, 805, 805, 806, 806,
672 797, 797, 809, 809, 810, 810, 811, 811, 812, 812,
673 813, 813, 815, 815, 819, 819, 804, 804, 805, 805,
674 806, 806, 797, 797, 809, 809, 810, 810, 811, 811,
675
676 812, 812, 813, 813, 815, 815, 819, 819, 804, 804,
677 805, 805, 806, 806, 797, 797, 809, 809, 810, 810,
678 811, 811, 812, 812, 813, 813, 815, 815, 819, 819,
679 804, 805, 806, 797, 809, 810, 811, 812, 813, 815,
680 819, 804, 805, 806, 797, 809, 810, 811, 812, 813,
681 815, 819, 804, 805, 806, 797, 809, 810, 811, 812,
682 813, 815, 819, 804, 805, 806, 797, 809, 810, 811,
683 812, 813, 815, 819, 804, 805, 806, 797, 809, 810,
684 811, 812, 813, 815, 819, 804, 805, 806, 797, 809,
685 810, 811, 812, 813, 815, 819, 0, 797, 797, 797,
686
687 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
688 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
689 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
690 797
691 } ;
692
693static yyconst flex_int16_t yy_nxt[2216] =
694 { 0,
695 24, 25, 26, 25, 24, 27, 28, 24, 29, 24,
696 30, 24, 24, 24, 24, 24, 31, 32, 33, 34,
697 34, 35, 34, 34, 34, 34, 34, 34, 34, 34,
698 34, 34, 24, 24, 24, 34, 36, 34, 34, 37,
699 38, 39, 34, 40, 34, 34, 34, 34, 41, 34,
700 42, 34, 34, 34, 34, 34, 24, 24, 24, 25,
701 26, 25, 24, 27, 24, 24, 29, 24, 30, 24,
702 24, 24, 24, 24, 31, 32, 33, 43, 43, 44,
703 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
704 24, 24, 24, 43, 45, 43, 43, 46, 43, 43,
705
706 43, 47, 43, 43, 43, 43, 43, 43, 48, 43,
707 43, 43, 43, 43, 24, 24, 50, 51, 52, 151,
708 53, 157, 157, 54, 157, 55, 157, 152, 176, 177,
709 157, 56, 57, 58, 175, 157, 59, 157, 183, 149,
710 175, 182, 175, 175, 175, 157, 157, 159, 159, 160,
711 159, 60, 159, 179, 61, 161, 159, 185, 62, 205,
712 162, 159, 175, 159, 188, 63, 50, 51, 52, 175,
713 53, 159, 159, 54, 175, 55, 164, 165, 163, 167,
714 180, 56, 57, 58, 166, 186, 59, 205, 181, 175,
715 184, 191, 192, 187, 151, 175, 205, 219, 189, 210,
716
717 205, 60, 152, 205, 61, 219, 219, 219, 62, 219,
718 227, 227, 207, 230, 227, 63, 65, 66, 67, 227,
719 68, 231, 221, 69, 227, 70, 232, 234, 227, 208,
720 227, 71, 72, 73, 209, 227, 74, 211, 222, 233,
721 223, 227, 227, 225, 271, 235, 272, 224, 238, 241,
722 242, 75, 246, 247, 76, 249, 244, 236, 77, 244,
723 295, 255, 244, 157, 296, 78, 65, 66, 67, 157,
724 68, 244, 237, 69, 244, 70, 157, 244, 175, 157,
725 240, 71, 72, 73, 250, 239, 74, 256, 245, 159,
726 151, 176, 177, 149, 420, 159, 283, 405, 152, 175,
727
728 379, 75, 159, 245, 76, 159, 175, 179, 77, 300,
729 380, 305, 284, 191, 192, 78, 24, 25, 79, 25,
730 24, 27, 24, 24, 29, 24, 30, 24, 24, 24,
731 24, 24, 31, 32, 33, 80, 80, 81, 80, 80,
732 80, 80, 80, 80, 80, 80, 80, 80, 24, 24,
733 24, 80, 82, 80, 80, 83, 80, 80, 80, 84,
734 80, 80, 80, 80, 80, 80, 85, 80, 80, 80,
735 80, 80, 24, 24, 24, 25, 26, 25, 24, 27,
736 86, 24, 29, 24, 30, 24, 24, 87, 87, 24,
737 31, 32, 33, 87, 87, 88, 87, 87, 87, 87,
738
739 87, 87, 87, 87, 87, 87, 24, 24, 24, 87,
740 89, 87, 87, 90, 87, 87, 87, 91, 87, 87,
741 87, 87, 87, 87, 92, 87, 87, 87, 87, 87,
742 24, 24, 24, 25, 93, 25, 24, 27, 24, 24,
743 29, 24, 30, 24, 24, 24, 24, 24, 31, 32,
744 33, 94, 94, 95, 94, 94, 94, 94, 94, 94,
745 94, 94, 94, 94, 24, 24, 24, 94, 96, 94,
746 94, 97, 94, 94, 94, 98, 94, 94, 94, 94,
747 94, 94, 99, 94, 94, 94, 94, 94, 24, 24,
748 24, 25, 26, 25, 24, 27, 100, 24, 29, 24,
749
750 30, 24, 24, 101, 101, 24, 31, 32, 33, 101,
751 101, 102, 101, 101, 101, 101, 101, 101, 101, 101,
752 101, 101, 24, 24, 24, 101, 103, 101, 101, 104,
753 101, 101, 101, 105, 101, 101, 101, 101, 101, 101,
754 106, 101, 101, 101, 101, 101, 24, 24, 108, 109,
755 108, 157, 110, 252, 149, 111, 252, 112, 368, 252,
756 278, 157, 157, 113, 114, 115, 257, 309, 116, 244,
757 175, 310, 244, 227, 258, 157, 244, 159, 244, 244,
758 175, 244, 244, 117, 244, 253, 118, 159, 159, 332,
759 119, 157, 259, 286, 260, 302, 285, 120, 245, 205,
760
761 287, 159, 227, 301, 121, 108, 109, 108, 245, 110,
762 245, 433, 111, 244, 112, 279, 244, 159, 291, 244,
763 113, 114, 115, 244, 175, 116, 244, 244, 244, 244,
764 244, 244, 261, 244, 244, 244, 264, 290, 244, 343,
765 117, 244, 325, 118, 262, 245, 303, 119, 157, 315,
766 304, 265, 205, 316, 120, 245, 205, 263, 205, 245,
767 245, 121, 123, 124, 125, 126, 127, 245, 128, 129,
768 244, 130, 320, 244, 159, 180, 244, 131, 132, 133,
769 288, 298, 134, 181, 289, 244, 219, 219, 244, 321,
770 175, 244, 244, 322, 135, 244, 175, 136, 244, 329,
771
772 137, 205, 245, 330, 138, 219, 334, 219, 219, 266,
773 227, 139, 123, 124, 125, 126, 127, 245, 128, 129,
774 335, 130, 227, 175, 245, 241, 242, 131, 132, 133,
775 267, 268, 134, 323, 230, 227, 299, 324, 318, 337,
776 336, 363, 231, 338, 135, 364, 342, 136, 175, 344,
777 137, 339, 246, 247, 138, 366, 367, 385, 427, 428,
778 390, 139, 24, 25, 140, 25, 24, 27, 24, 24,
779 29, 24, 30, 24, 24, 24, 24, 24, 31, 32,
780 33, 141, 141, 142, 141, 141, 141, 141, 141, 141,
781 141, 141, 141, 141, 24, 24, 24, 141, 143, 144,
782
783 141, 145, 141, 141, 141, 146, 141, 141, 141, 141,
784 141, 141, 147, 141, 141, 141, 141, 141, 24, 24,
785 340, 227, 227, 227, 244, 244, 249, 244, 244, 175,
786 244, 244, 244, 244, 249, 244, 205, 248, 244, 249,
787 252, 149, 278, 252, 252, 149, 252, 252, 252, 348,
788 252, 252, 255, 255, 252, 250, 245, 245, 345, 175,
789 254, 205, 346, 250, 245, 255, 470, 205, 250, 563,
790 347, 349, 253, 205, 244, 341, 253, 244, 256, 256,
791 253, 257, 244, 389, 244, 244, 406, 244, 244, 258,
792 244, 256, 244, 244, 487, 244, 244, 279, 244, 244,
793
794 409, 150, 244, 245, 244, 244, 244, 244, 157, 244,
795 244, 157, 244, 245, 245, 244, 157, 244, 244, 157,
796 244, 244, 245, 244, 245, 157, 350, 244, 175, 351,
797 244, 245, 205, 244, 159, 369, 245, 159, 245, 157,
798 157, 157, 159, 157, 353, 159, 157, 245, 298, 245,
799 175, 159, 392, 205, 355, 354, 219, 388, 356, 245,
800 372, 370, 393, 175, 398, 159, 159, 159, 407, 159,
801 205, 371, 159, 373, 399, 357, 386, 375, 408, 374,
802 384, 367, 376, 413, 219, 219, 387, 410, 377, 219,
803 219, 227, 422, 414, 227, 175, 340, 227, 227, 227,
804
805 366, 367, 423, 299, 421, 244, 349, 244, 244, 244,
806 244, 244, 244, 244, 429, 435, 367, 411, 244, 175,
807 227, 244, 244, 424, 425, 244, 244, 244, 244, 244,
808 244, 436, 244, 244, 430, 219, 426, 245, 245, 245,
809 244, 432, 244, 244, 431, 244, 244, 245, 244, 157,
810 434, 341, 443, 471, 245, 157, 157, 157, 245, 245,
811 175, 350, 444, 437, 157, 157, 157, 157, 205, 175,
812 452, 439, 245, 438, 245, 159, 157, 175, 175, 440,
813 467, 159, 159, 159, 205, 453, 454, 472, 384, 367,
814 159, 159, 159, 159, 441, 205, 205, 468, 469, 205,
815
816 219, 455, 159, 175, 460, 219, 219, 219, 456, 219,
817 458, 219, 457, 227, 488, 490, 227, 459, 427, 428,
818 227, 501, 227, 227, 227, 489, 435, 367, 244, 244,
819 175, 244, 244, 175, 244, 502, 492, 503, 507, 669,
820 491, 175, 244, 542, 157, 244, 506, 205, 244, 713,
821 508, 157, 175, 504, 509, 505, 244, 157, 245, 244,
822 245, 244, 244, 514, 244, 512, 244, 244, 513, 244,
823 159, 511, 244, 510, 245, 244, 157, 159, 244, 157,
824 527, 244, 157, 159, 157, 157, 157, 544, 245, 175,
825 205, 515, 562, 245, 157, 175, 529, 175, 245, 175,
826
827 205, 205, 159, 219, 205, 159, 219, 245, 159, 219,
828 159, 159, 159, 516, 219, 517, 528, 518, 532, 543,
829 159, 533, 545, 531, 546, 530, 534, 560, 219, 547,
830 561, 219, 572, 227, 227, 227, 227, 564, 535, 227,
831 227, 157, 175, 573, 175, 565, 205, 575, 175, 244,
832 244, 574, 244, 244, 788, 244, 244, 766, 244, 157,
833 578, 244, 675, 610, 244, 576, 244, 159, 244, 244,
834 597, 244, 244, 581, 244, 577, 157, 584, 579, 157,
835 582, 245, 245, 244, 580, 159, 244, 157, 583, 244,
836 245, 157, 598, 157, 157, 585, 157, 175, 245, 175,
837
838 245, 175, 159, 205, 587, 159, 175, 175, 586, 205,
839 588, 205, 205, 159, 599, 245, 205, 159, 205, 159,
840 159, 613, 159, 219, 611, 601, 219, 612, 600, 219,
841 603, 615, 589, 219, 219, 219, 629, 227, 628, 602,
842 227, 227, 614, 227, 227, 157, 631, 227, 244, 630,
843 157, 244, 633, 205, 244, 640, 641, 244, 244, 205,
844 244, 244, 632, 244, 244, 157, 664, 642, 643, 645,
845 646, 159, 244, 175, 227, 244, 159, 647, 244, 644,
846 245, 649, 652, 648, 665, 651, 157, 157, 157, 245,
847 245, 159, 157, 244, 650, 653, 244, 244, 676, 244,
848
849 244, 654, 670, 244, 245, 219, 219, 227, 175, 796,
850 175, 655, 159, 159, 159, 205, 244, 682, 159, 244,
851 244, 679, 244, 244, 691, 245, 244, 681, 244, 245,
852 157, 244, 666, 157, 244, 244, 657, 683, 244, 157,
853 244, 244, 175, 244, 656, 680, 244, 244, 245, 698,
854 244, 205, 245, 244, 687, 219, 159, 219, 227, 159,
855 245, 227, 157, 205, 684, 159, 692, 245, 244, 157,
856 175, 244, 245, 688, 244, 697, 205, 244, 219, 245,
857 244, 701, 219, 244, 227, 227, 703, 709, 159, 702,
858 227, 175, 157, 227, 719, 159, 723, 705, 755, 704,
859
860 245, 157, 244, 739, 714, 244, 710, 720, 244, 245,
861 205, 244, 725, 792, 244, 731, 706, 244, 159, 175,
862 750, 219, 157, 733, 736, 727, 724, 159, 205, 175,
863 244, 219, 726, 244, 245, 738, 244, 227, 244, 157,
864 205, 244, 744, 245, 244, 742, 219, 244, 159, 740,
865 244, 747, 157, 244, 749, 205, 753, 758, 761, 227,
866 728, 244, 245, 760, 244, 159, 219, 244, 157, 175,
867 245, 764, 205, 219, 769, 751, 227, 777, 159, 245,
868 157, 244, 772, 762, 244, 771, 775, 244, 205, 244,
869 780, 782, 244, 245, 159, 244, 219, 227, 783, 157,
870
871 790, 244, 786, 789, 244, 773, 159, 244, 244, 787,
872 791, 244, 784, 245, 244, 785, 781, 779, 793, 778,
873 776, 245, 774, 794, 770, 159, 768, 767, 795, 765,
874 763, 759, 757, 245, 756, 754, 752, 748, 746, 745,
875 245, 49, 49, 49, 49, 49, 49, 49, 49, 49,
876 49, 49, 49, 64, 64, 64, 64, 64, 64, 64,
877 64, 64, 64, 64, 64, 107, 107, 107, 107, 107,
878 107, 107, 107, 107, 107, 107, 107, 122, 122, 122,
879 122, 122, 122, 122, 122, 122, 122, 122, 122, 148,
880 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
881
882 148, 158, 158, 158, 743, 158, 158, 158, 168, 168,
883 741, 168, 168, 174, 227, 174, 174, 174, 174, 174,
884 174, 174, 174, 174, 174, 178, 178, 178, 178, 178,
885 178, 178, 178, 178, 178, 178, 178, 190, 190, 190,
886 190, 190, 190, 190, 190, 190, 190, 190, 190, 198,
887 198, 219, 198, 198, 206, 206, 737, 206, 206, 206,
888 212, 212, 205, 212, 212, 220, 220, 735, 220, 220,
889 220, 226, 226, 226, 226, 226, 226, 226, 226, 226,
890 226, 226, 226, 228, 228, 228, 228, 228, 228, 228,
891 228, 228, 228, 228, 228, 243, 734, 243, 243, 243,
892
893 243, 243, 243, 243, 243, 243, 243, 248, 175, 732,
894 248, 248, 248, 248, 248, 248, 248, 248, 248, 251,
895 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
896 251, 254, 730, 729, 254, 254, 254, 254, 254, 254,
897 254, 254, 254, 269, 269, 722, 269, 269, 277, 277,
898 277, 721, 277, 277, 277, 281, 281, 718, 281, 403,
899 403, 717, 403, 403, 716, 715, 403, 418, 418, 712,
900 418, 418, 711, 708, 418, 450, 450, 707, 450, 450,
901 700, 699, 450, 485, 485, 696, 485, 485, 695, 694,
902 485, 499, 499, 693, 499, 499, 690, 689, 499, 686,
903
904 685, 227, 227, 227, 227, 219, 219, 219, 219, 678,
905 677, 205, 205, 205, 205, 674, 673, 672, 671, 175,
906 175, 175, 175, 668, 667, 663, 662, 661, 660, 659,
907 658, 639, 638, 637, 636, 635, 634, 627, 626, 625,
908 624, 623, 622, 621, 620, 619, 618, 617, 616, 609,
909 608, 607, 606, 605, 604, 596, 595, 594, 593, 592,
910 591, 590, 219, 500, 571, 570, 569, 568, 567, 566,
911 205, 486, 559, 558, 557, 556, 555, 554, 553, 552,
912 551, 550, 549, 548, 541, 540, 539, 538, 537, 536,
913 451, 526, 525, 524, 523, 522, 521, 520, 519, 428,
914
915 500, 219, 419, 498, 497, 496, 495, 494, 493, 486,
916 205, 404, 484, 483, 482, 481, 480, 479, 478, 477,
917 476, 475, 474, 473, 466, 465, 464, 463, 462, 461,
918 451, 367, 449, 448, 447, 446, 445, 442, 352, 227,
919 219, 419, 417, 416, 415, 412, 205, 404, 402, 401,
920 400, 397, 396, 395, 394, 391, 175, 383, 382, 381,
921 378, 282, 365, 362, 361, 360, 359, 358, 352, 247,
922 242, 227, 227, 227, 227, 227, 229, 227, 227, 219,
923 333, 331, 328, 327, 326, 205, 319, 317, 314, 313,
924 312, 311, 308, 307, 306, 192, 175, 175, 175, 149,
925
926 175, 297, 294, 293, 292, 282, 280, 149, 276, 275,
927 274, 273, 270, 247, 229, 227, 227, 227, 219, 218,
928 217, 216, 215, 214, 213, 205, 204, 203, 202, 201,
929 200, 199, 197, 196, 195, 194, 193, 156, 155, 154,
930 153, 149, 154, 175, 175, 173, 172, 171, 170, 169,
931 156, 155, 154, 153, 149, 797, 23, 797, 797, 797,
932 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
933 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
934 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
935 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
936
937 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
938 797, 797, 797, 797, 797
939 } ;
940
941static yyconst flex_int16_t yy_chk[2216] =
942 { 0,
943 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
944 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
945 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
946 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
947 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
948 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
949 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
950 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
951 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
952 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
953
954 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
955 3, 3, 3, 3, 3, 3, 5, 5, 5, 29,
956 5, 34, 36, 5, 35, 5, 37, 29, 50, 50,
957 38, 5, 5, 5, 62, 41, 5, 40, 57, 53,
958 55, 55, 59, 50, 57, 42, 39, 34, 36, 35,
959 35, 5, 37, 53, 5, 36, 38, 59, 5, 91,
960 37, 41, 60, 40, 62, 5, 6, 6, 6, 61,
961 6, 42, 39, 6, 63, 6, 39, 40, 38, 42,
962 54, 6, 6, 6, 41, 60, 6, 88, 54, 58,
963 58, 65, 65, 61, 69, 54, 89, 102, 63, 91,
964
965 90, 6, 69, 92, 6, 103, 104, 105, 6, 106,
966 118, 112, 88, 111, 111, 6, 7, 7, 7, 114,
967 7, 111, 102, 7, 113, 7, 112, 114, 116, 89,
968 115, 7, 7, 7, 90, 117, 7, 92, 103, 113,
969 104, 119, 120, 106, 143, 115, 143, 105, 118, 121,
970 121, 7, 123, 123, 7, 126, 122, 116, 7, 122,
971 172, 128, 122, 150, 172, 7, 8, 8, 8, 158,
972 8, 125, 117, 8, 125, 8, 160, 125, 189, 161,
973 120, 8, 8, 8, 126, 119, 8, 128, 122, 150,
974 151, 176, 176, 178, 828, 158, 160, 826, 151, 185,
975
976 293, 8, 160, 125, 8, 161, 176, 178, 8, 185,
977 293, 189, 161, 191, 191, 8, 9, 9, 9, 9,
978 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
979 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
980 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
981 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
982 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
983 9, 9, 9, 9, 11, 11, 11, 11, 11, 11,
984 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
985 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
986
987 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
988 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
989 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
990 11, 11, 13, 13, 13, 13, 13, 13, 13, 13,
991 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
992 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
993 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
994 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
995 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
996 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
997
998 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
999 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1000 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1001 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1002 15, 15, 15, 15, 15, 15, 15, 15, 17, 17,
1003 17, 163, 17, 127, 127, 17, 127, 17, 824, 127,
1004 152, 162, 164, 17, 17, 17, 129, 196, 17, 129,
1005 187, 196, 129, 346, 129, 167, 130, 163, 131, 130,
1006 186, 131, 130, 17, 131, 127, 17, 162, 164, 823,
1007 17, 166, 130, 163, 131, 187, 162, 17, 129, 211,
1008
1009 164, 167, 237, 186, 17, 18, 18, 18, 130, 18,
1010 131, 346, 18, 136, 18, 152, 136, 166, 167, 136,
1011 18, 18, 18, 132, 188, 18, 132, 134, 133, 132,
1012 134, 133, 132, 134, 133, 135, 135, 166, 135, 237,
1013 18, 135, 211, 18, 133, 136, 188, 18, 165, 202,
1014 188, 136, 207, 202, 18, 132, 208, 134, 209, 134,
1015 133, 18, 19, 19, 19, 19, 19, 135, 19, 19,
1016 137, 19, 207, 137, 165, 180, 137, 19, 19, 19,
1017 165, 181, 19, 180, 165, 138, 221, 222, 138, 208,
1018 180, 138, 139, 209, 19, 139, 181, 19, 139, 216,
1019
1020 19, 210, 137, 216, 19, 223, 221, 224, 225, 137,
1021 238, 19, 20, 20, 20, 20, 20, 138, 20, 20,
1022 222, 20, 236, 305, 139, 241, 241, 20, 20, 20,
1023 138, 139, 20, 210, 230, 230, 181, 210, 822, 224,
1024 223, 275, 230, 224, 20, 275, 236, 20, 300, 238,
1025 20, 225, 246, 246, 20, 279, 279, 300, 341, 341,
1026 305, 20, 21, 21, 21, 21, 21, 21, 21, 21,
1027 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1028 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1029 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1030
1031 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1032 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1033 231, 231, 239, 240, 243, 244, 248, 243, 244, 388,
1034 243, 244, 245, 245, 249, 245, 490, 250, 245, 250,
1035 251, 251, 278, 251, 252, 252, 251, 252, 253, 253,
1036 252, 253, 254, 255, 253, 248, 243, 244, 239, 304,
1037 256, 323, 239, 249, 245, 256, 388, 320, 250, 490,
1038 240, 258, 251, 406, 258, 231, 252, 258, 254, 255,
1039 253, 257, 259, 304, 257, 259, 320, 257, 259, 257,
1040 260, 256, 261, 260, 406, 261, 260, 278, 261, 262,
1041
1042 323, 803, 262, 258, 263, 262, 265, 263, 277, 265,
1043 263, 285, 265, 257, 259, 266, 283, 267, 266, 286,
1044 267, 266, 260, 267, 261, 284, 258, 268, 303, 263,
1045 268, 262, 321, 268, 277, 283, 263, 285, 265, 287,
1046 288, 291, 283, 289, 265, 286, 290, 266, 298, 267,
1047 301, 284, 307, 324, 267, 266, 335, 303, 267, 268,
1048 286, 284, 307, 298, 313, 287, 288, 291, 321, 289,
1049 325, 284, 290, 287, 313, 268, 301, 289, 321, 288,
1050 299, 299, 290, 327, 337, 334, 301, 324, 291, 339,
1051 338, 342, 335, 327, 343, 299, 340, 340, 345, 347,
1052
1053 366, 366, 335, 298, 334, 348, 349, 351, 348, 349,
1054 351, 348, 349, 351, 342, 350, 350, 325, 350, 389,
1055 794, 350, 353, 337, 338, 353, 354, 355, 353, 354,
1056 355, 351, 354, 355, 343, 793, 339, 348, 349, 351,
1057 356, 345, 357, 356, 343, 357, 356, 350, 357, 369,
1058 347, 340, 359, 389, 353, 370, 371, 372, 354, 355,
1059 390, 349, 359, 353, 373, 374, 375, 377, 409, 385,
1060 369, 355, 356, 353, 357, 369, 376, 386, 387, 356,
1061 385, 370, 371, 372, 407, 370, 371, 390, 384, 384,
1062 373, 374, 375, 377, 357, 408, 410, 386, 387, 411,
1063
1064 421, 372, 376, 384, 377, 422, 424, 423, 373, 426,
1065 375, 425, 374, 429, 407, 409, 430, 376, 427, 427,
1066 431, 421, 432, 433, 434, 408, 435, 435, 437, 435,
1067 467, 437, 435, 610, 437, 422, 411, 423, 429, 610,
1068 410, 691, 436, 467, 451, 436, 426, 489, 436, 691,
1069 430, 454, 469, 424, 431, 425, 438, 452, 435, 438,
1070 437, 439, 438, 437, 439, 434, 440, 439, 436, 440,
1071 451, 433, 440, 432, 436, 441, 453, 454, 441, 455,
1072 452, 441, 456, 452, 458, 457, 459, 469, 438, 468,
1073 488, 438, 489, 439, 460, 472, 454, 471, 440, 470,
1074
1075 491, 492, 453, 502, 487, 455, 503, 441, 456, 501,
1076 458, 457, 459, 439, 504, 440, 453, 441, 457, 468,
1077 460, 458, 470, 456, 471, 455, 459, 487, 505, 472,
1078 488, 506, 501, 507, 508, 509, 510, 491, 460, 511,
1079 512, 527, 777, 502, 542, 492, 628, 504, 755, 513,
1080 514, 503, 513, 514, 777, 513, 514, 755, 515, 528,
1081 507, 515, 628, 542, 515, 505, 516, 527, 517, 516,
1082 527, 517, 516, 510, 517, 506, 529, 513, 508, 530,
1083 511, 513, 514, 518, 509, 528, 518, 531, 512, 518,
1084 515, 532, 528, 533, 534, 514, 535, 545, 516, 544,
1085
1086 517, 543, 529, 561, 516, 530, 546, 547, 515, 560,
1087 517, 562, 563, 531, 529, 518, 564, 532, 565, 533,
1088 534, 545, 535, 573, 543, 532, 572, 544, 531, 574,
1089 535, 547, 518, 576, 575, 577, 561, 578, 560, 533,
1090 579, 580, 546, 581, 582, 598, 563, 583, 584, 562,
1091 597, 584, 565, 791, 584, 572, 573, 585, 586, 629,
1092 585, 586, 564, 585, 586, 599, 597, 574, 575, 577,
1093 578, 598, 587, 611, 647, 587, 597, 579, 587, 576,
1094 584, 581, 584, 580, 598, 583, 600, 601, 602, 585,
1095 586, 599, 603, 588, 582, 585, 588, 589, 629, 588,
1096
1097 589, 586, 611, 589, 587, 640, 641, 646, 788, 785,
1098 669, 587, 600, 601, 602, 676, 652, 647, 603, 652,
1099 653, 640, 652, 653, 669, 588, 653, 646, 654, 589,
1100 664, 654, 600, 666, 654, 655, 589, 652, 655, 665,
1101 656, 655, 670, 656, 588, 641, 656, 657, 652, 676,
1102 657, 675, 653, 657, 664, 680, 664, 679, 681, 666,
1103 654, 682, 688, 698, 653, 665, 670, 655, 683, 687,
1104 692, 683, 656, 665, 683, 675, 697, 684, 701, 657,
1105 684, 679, 702, 684, 704, 725, 681, 687, 688, 680,
1106 703, 744, 710, 739, 697, 687, 701, 683, 744, 682,
1107
1108 683, 709, 705, 725, 692, 705, 688, 698, 705, 684,
1109 719, 706, 703, 781, 706, 709, 684, 706, 710, 713,
1110 739, 723, 731, 713, 719, 705, 702, 709, 736, 733,
1111 727, 738, 704, 727, 705, 723, 727, 750, 728, 742,
1112 747, 728, 733, 706, 728, 731, 749, 740, 731, 727,
1113 740, 736, 753, 740, 738, 758, 742, 747, 750, 761,
1114 706, 751, 727, 749, 751, 742, 760, 751, 764, 766,
1115 728, 753, 769, 771, 758, 740, 772, 766, 753, 740,
1116 775, 762, 761, 751, 762, 760, 764, 762, 780, 773,
1117 769, 771, 773, 751, 764, 773, 782, 783, 772, 786,
1118
1119 779, 784, 775, 778, 784, 762, 775, 784, 795, 776,
1120 780, 795, 773, 762, 795, 774, 770, 768, 782, 767,
1121 765, 773, 763, 783, 759, 786, 757, 756, 784, 754,
1122 752, 748, 746, 784, 745, 743, 741, 737, 735, 734,
1123 795, 798, 798, 798, 798, 798, 798, 798, 798, 798,
1124 798, 798, 798, 799, 799, 799, 799, 799, 799, 799,
1125 799, 799, 799, 799, 799, 800, 800, 800, 800, 800,
1126 800, 800, 800, 800, 800, 800, 800, 801, 801, 801,
1127 801, 801, 801, 801, 801, 801, 801, 801, 801, 802,
1128 802, 802, 802, 802, 802, 802, 802, 802, 802, 802,
1129
1130 802, 804, 804, 804, 732, 804, 804, 804, 805, 805,
1131 729, 805, 805, 806, 726, 806, 806, 806, 806, 806,
1132 806, 806, 806, 806, 806, 807, 807, 807, 807, 807,
1133 807, 807, 807, 807, 807, 807, 807, 808, 808, 808,
1134 808, 808, 808, 808, 808, 808, 808, 808, 808, 809,
1135 809, 724, 809, 809, 810, 810, 721, 810, 810, 810,
1136 811, 811, 720, 811, 811, 812, 812, 717, 812, 812,
1137 812, 813, 813, 813, 813, 813, 813, 813, 813, 813,
1138 813, 813, 813, 814, 814, 814, 814, 814, 814, 814,
1139 814, 814, 814, 814, 814, 815, 715, 815, 815, 815,
1140
1141 815, 815, 815, 815, 815, 815, 815, 816, 714, 711,
1142 816, 816, 816, 816, 816, 816, 816, 816, 816, 817,
1143 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1144 817, 818, 708, 707, 818, 818, 818, 818, 818, 818,
1145 818, 818, 818, 819, 819, 700, 819, 819, 820, 820,
1146 820, 699, 820, 820, 820, 821, 821, 696, 821, 825,
1147 825, 695, 825, 825, 694, 693, 825, 827, 827, 690,
1148 827, 827, 689, 686, 827, 829, 829, 685, 829, 829,
1149 678, 677, 829, 830, 830, 674, 830, 830, 673, 672,
1150 830, 831, 831, 671, 831, 831, 668, 667, 831, 659,
1151
1152 658, 651, 650, 649, 648, 645, 644, 643, 642, 635,
1153 634, 633, 632, 631, 630, 623, 622, 617, 616, 615,
1154 614, 613, 612, 605, 604, 596, 595, 594, 592, 591,
1155 590, 571, 570, 569, 568, 567, 566, 559, 558, 557,
1156 556, 555, 554, 553, 552, 551, 550, 549, 548, 541,
1157 540, 539, 538, 537, 536, 526, 525, 524, 523, 521,
1158 520, 519, 500, 499, 498, 497, 496, 495, 494, 493,
1159 486, 485, 484, 483, 482, 481, 480, 479, 478, 477,
1160 476, 475, 474, 473, 466, 465, 464, 463, 462, 461,
1161 450, 449, 448, 447, 446, 445, 444, 443, 442, 428,
1162
1163 420, 419, 418, 417, 416, 415, 414, 413, 412, 405,
1164 404, 403, 402, 401, 400, 399, 398, 397, 396, 395,
1165 394, 393, 392, 391, 383, 382, 381, 380, 379, 378,
1166 368, 367, 365, 364, 363, 361, 360, 358, 352, 344,
1167 336, 332, 331, 330, 329, 326, 322, 318, 317, 316,
1168 315, 312, 311, 310, 309, 306, 302, 297, 296, 295,
1169 292, 281, 276, 274, 273, 272, 271, 270, 264, 247,
1170 242, 235, 234, 233, 232, 229, 228, 227, 226, 220,
1171 219, 217, 215, 214, 213, 206, 205, 203, 201, 200,
1172 199, 197, 195, 194, 193, 190, 184, 183, 182, 179,
1173
1174 174, 173, 171, 170, 169, 159, 157, 148, 147, 146,
1175 145, 144, 142, 124, 110, 109, 108, 107, 101, 100,
1176 99, 98, 97, 96, 95, 87, 86, 85, 84, 83,
1177 82, 81, 78, 77, 76, 75, 74, 73, 72, 71,
1178 70, 68, 56, 52, 49, 48, 47, 46, 45, 44,
1179 33, 32, 31, 30, 27, 23, 797, 797, 797, 797,
1180 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1181 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1182 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1183 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1184
1185 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1186 797, 797, 797, 797, 797
1187 } ;
1188
1189/* Table of booleans, true if rule could match eol. */
1190static yyconst flex_int32_t yy_rule_can_match_eol[46] =
1191 { 0,
11920, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1194 1, 1, 1, 1, 0, 0, };
1195
1196/* The intent behind this definition is that it'll catch
1197 * any uses of REJECT which flex missed.
1198 */
1199#define REJECT reject_used_but_not_detected
1200#define yymore() yymore_used_but_not_detected
1201#define YY_MORE_ADJ 0
1202#define YY_RESTORE_YY_MORE_OFFSET
1203#line 1 "bitbakescanner.l"
1204/* bbf.flex
1205
1206 written by Marc Singer
1207 6 January 2005
1208
1209 This program is free software; you can redistribute it and/or
1210 modify it under the terms of the GNU General Public License as
1211 published by the Free Software Foundation; either version 2 of the
1212 License, or (at your option) any later version.
1213
1214 This program is distributed in the hope that it will be useful, but
1215 WITHOUT ANY WARRANTY; without even the implied warranty of
1216 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1217 General Public License for more details.
1218
1219 You should have received a copy of the GNU General Public License
1220 along with this program; if not, write to the Free Software
1221 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
1222 USA.
1223
1224 DESCRIPTION
1225 -----------
1226
1227 flex lexer specification for a BitBake input file parser.
1228
1229 Unfortunately, flex doesn't welcome comments within the rule sets.
1230 I say unfortunately because this lexer is unreasonably complex and
1231 comments would make the code much easier to comprehend.
1232
1233 The BitBake grammar is not regular. In order to interpret all
1234 of the available input files, the lexer maintains much state as it
1235 parses. There are places where this lexer will emit tokens that
1236 are invalid. The parser will tend to catch these.
1237
1238 The lexer requires C++ at the moment. The only reason for this has
1239 to do with a very small amount of managed state. Producing a C
1240 lexer should be a reasonably easy task as long as the %reentrant
1241 option is used.
1242
1243
1244 NOTES
1245 -----
1246
1247 o RVALUES. There are three kinds of RVALUES. There are unquoted
1248 values, double quote enclosed strings, and single quote
1249 strings. Quoted strings may contain unescaped quotes (of either
1250 type), *and* any type may span more than one line by using a
1251 continuation '\' at the end of the line. This requires us to
1252 recognize all types of values with a single expression.
1253 Moreover, the only reason to quote a value is to include
1254 trailing or leading whitespace. Whitespace within a value is
1255 preserved, ugh.
1256
1257 o CLASSES. C_ patterns define classes. Classes ought not include
1258 a repitition operator, instead letting the reference to the class
1259 define the repitition count.
1260
1261 C_SS - symbol start
1262 C_SB - symbol body
1263 C_SP - whitespace
1264
1265*/
1266#line 71 "bitbakescanner.l"
1267
1268#include "token.h"
1269#include "lexer.h"
1270#include "bitbakeparser.h"
1271#include <ctype.h>
1272
1273extern void *bbparseAlloc(void *(*mallocProc)(size_t));
1274extern void bbparseFree(void *p, void (*freeProc)(void*));
1275extern void *bbparseAlloc(void *(*mallocProc)(size_t));
1276extern void *bbparse(void*, int, token_t, lex_t*);
1277extern void bbparseTrace(FILE *TraceFILE, char *zTracePrompt);
1278
1279//static const char* rgbInput;
1280//static size_t cbInput;
1281
1282
1283int lineError;
1284int errorParse;
1285
1286enum {
1287 errorNone = 0,
1288 errorUnexpectedInput,
1289 errorUnsupportedFeature,
1290};
1291
1292#define YY_EXTRA_TYPE lex_t*
1293
1294 /* Read from buffer */
1295#define YY_INPUT(buf,result,max_size) \
1296 { yyextra->input(buf, &result, max_size); }
1297
1298//#define YY_DECL static size_t yylex ()
1299
1300#define ERROR(e) \
1301 do { lineError = yylineno; errorParse = e; yyterminate (); } while (0)
1302
1303static const char* fixup_escapes (const char* sz);
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315#line 1316 "<stdout>"
1316
1317#define INITIAL 0
1318#define S_DEF 1
1319#define S_DEF_ARGS 2
1320#define S_DEF_BODY 3
1321#define S_FUNC 4
1322#define S_INCLUDE 5
1323#define S_INHERIT 6
1324#define S_REQUIRE 7
1325#define S_PROC 8
1326#define S_RVALUE 9
1327#define S_TASK 10
1328
1329/* Special case for "unistd.h", since it is non-ANSI. We include it way
1330 * down here because we want the user's section 1 to have been scanned first.
1331 * The user has a chance to override it with an option.
1332 */
1333#include <unistd.h>
1334
1335#ifndef YY_EXTRA_TYPE
1336#define YY_EXTRA_TYPE void *
1337#endif
1338
1339/* Holds the entire state of the reentrant scanner. */
1340struct yyguts_t
1341 {
1342
1343 /* User-defined. Not touched by flex. */
1344 YY_EXTRA_TYPE yyextra_r;
1345
1346 /* The rest are the same as the globals declared in the non-reentrant scanner. */
1347 FILE *yyin_r, *yyout_r;
1348 size_t yy_buffer_stack_top; /**< index of top of stack. */
1349 size_t yy_buffer_stack_max; /**< capacity of stack. */
1350 YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1351 char yy_hold_char;
1352 int yy_n_chars;
1353 int yyleng_r;
1354 char *yy_c_buf_p;
1355 int yy_init;
1356 int yy_start;
1357 int yy_did_buffer_switch_on_eof;
1358 int yy_start_stack_ptr;
1359 int yy_start_stack_depth;
1360 int *yy_start_stack;
1361 yy_state_type yy_last_accepting_state;
1362 char* yy_last_accepting_cpos;
1363
1364 int yylineno_r;
1365 int yy_flex_debug_r;
1366
1367 char *yytext_r;
1368 int yy_more_flag;
1369 int yy_more_len;
1370
1371 }; /* end struct yyguts_t */
1372
1373/* Accessor methods to globals.
1374 These are made visible to non-reentrant scanners for convenience. */
1375
1376int yylex_destroy (yyscan_t yyscanner );
1377
1378int yyget_debug (yyscan_t yyscanner );
1379
1380void yyset_debug (int debug_flag ,yyscan_t yyscanner );
1381
1382YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner );
1383
1384void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1385
1386FILE *yyget_in (yyscan_t yyscanner );
1387
1388void yyset_in (FILE * in_str ,yyscan_t yyscanner );
1389
1390FILE *yyget_out (yyscan_t yyscanner );
1391
1392void yyset_out (FILE * out_str ,yyscan_t yyscanner );
1393
1394int yyget_leng (yyscan_t yyscanner );
1395
1396char *yyget_text (yyscan_t yyscanner );
1397
1398int yyget_lineno (yyscan_t yyscanner );
1399
1400void yyset_lineno (int line_number ,yyscan_t yyscanner );
1401
1402/* Macros after this point can all be overridden by user definitions in
1403 * section 1.
1404 */
1405
1406#ifndef YY_SKIP_YYWRAP
1407#ifdef __cplusplus
1408extern "C" int yywrap (yyscan_t yyscanner );
1409#else
1410extern int yywrap (yyscan_t yyscanner );
1411#endif
1412#endif
1413
1414 static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
1415
1416#ifndef yytext_ptr
1417static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1418#endif
1419
1420#ifdef YY_NEED_STRLEN
1421static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1422#endif
1423
1424#ifndef YY_NO_INPUT
1425
1426#ifdef __cplusplus
1427static int yyinput (yyscan_t yyscanner );
1428#else
1429static int input (yyscan_t yyscanner );
1430#endif
1431
1432#endif
1433
1434 static void yy_push_state (int new_state ,yyscan_t yyscanner);
1435
1436 static void yy_pop_state (yyscan_t yyscanner );
1437
1438 static int yy_top_state (yyscan_t yyscanner );
1439
1440/* Amount of stuff to slurp up with each read. */
1441#ifndef YY_READ_BUF_SIZE
1442#define YY_READ_BUF_SIZE 8192
1443#endif
1444
1445/* Copy whatever the last rule matched to the standard output. */
1446#ifndef ECHO
1447/* This used to be an fputs(), but since the string might contain NUL's,
1448 * we now use fwrite().
1449 */
1450#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1451#endif
1452
1453/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1454 * is returned in "result".
1455 */
1456#ifndef YY_INPUT
1457#define YY_INPUT(buf,result,max_size) \
1458 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1459 { \
1460 int c = '*'; \
1461 size_t n; \
1462 for ( n = 0; n < max_size && \
1463 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1464 buf[n] = (char) c; \
1465 if ( c == '\n' ) \
1466 buf[n++] = (char) c; \
1467 if ( c == EOF && ferror( yyin ) ) \
1468 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1469 result = n; \
1470 } \
1471 else \
1472 { \
1473 errno=0; \
1474 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1475 { \
1476 if( errno != EINTR) \
1477 { \
1478 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1479 break; \
1480 } \
1481 errno=0; \
1482 clearerr(yyin); \
1483 } \
1484 }\
1485\
1486
1487#endif
1488
1489/* No semi-colon after return; correct usage is to write "yyterminate();" -
1490 * we don't want an extra ';' after the "return" because that will cause
1491 * some compilers to complain about unreachable statements.
1492 */
1493#ifndef yyterminate
1494#define yyterminate() return YY_NULL
1495#endif
1496
1497/* Number of entries by which start-condition stack grows. */
1498#ifndef YY_START_STACK_INCR
1499#define YY_START_STACK_INCR 25
1500#endif
1501
1502/* Report a fatal error. */
1503#ifndef YY_FATAL_ERROR
1504#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1505#endif
1506
1507/* end tables serialization structures and prototypes */
1508
1509/* Default declaration of generated scanner - a define so the user can
1510 * easily add parameters.
1511 */
1512#ifndef YY_DECL
1513#define YY_DECL_IS_OURS 1
1514
1515extern int yylex (yyscan_t yyscanner);
1516
1517#define YY_DECL int yylex (yyscan_t yyscanner)
1518#endif /* !YY_DECL */
1519
1520/* Code executed at the beginning of each rule, after yytext and yyleng
1521 * have been set up.
1522 */
1523#ifndef YY_USER_ACTION
1524#define YY_USER_ACTION
1525#endif
1526
1527/* Code executed at the end of each rule. */
1528#ifndef YY_BREAK
1529#define YY_BREAK break;
1530#endif
1531
1532#define YY_RULE_SETUP \
1533 YY_USER_ACTION
1534
1535/** The main scanner function which does all the work.
1536 */
1537YY_DECL
1538{
1539 register yy_state_type yy_current_state;
1540 register char *yy_cp, *yy_bp;
1541 register int yy_act;
1542 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1543
1544#line 159 "bitbakescanner.l"
1545
1546
1547#line 1548 "<stdout>"
1548
1549 if ( yyg->yy_init )
1550 {
1551 yyg->yy_init = 0;
1552
1553#ifdef YY_USER_INIT
1554 YY_USER_INIT;
1555#endif
1556
1557 if ( ! yyg->yy_start )
1558 yyg->yy_start = 1; /* first start state */
1559
1560 if ( ! yyin )
1561 yyin = stdin;
1562
1563 if ( ! yyout )
1564 yyout = stdout;
1565
1566 if ( ! YY_CURRENT_BUFFER ) {
1567 yyensure_buffer_stack (yyscanner);
1568 YY_CURRENT_BUFFER_LVALUE =
1569 yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
1570 }
1571
1572 yy_load_buffer_state(yyscanner );
1573 }
1574
1575 while ( 1 ) /* loops until end-of-file is reached */
1576 {
1577 yy_cp = yyg->yy_c_buf_p;
1578
1579 /* Support of yytext. */
1580 *yy_cp = yyg->yy_hold_char;
1581
1582 /* yy_bp points to the position in yy_ch_buf of the start of
1583 * the current run.
1584 */
1585 yy_bp = yy_cp;
1586
1587 yy_current_state = yyg->yy_start;
1588yy_match:
1589 do
1590 {
1591 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1592 if ( yy_accept[yy_current_state] )
1593 {
1594 yyg->yy_last_accepting_state = yy_current_state;
1595 yyg->yy_last_accepting_cpos = yy_cp;
1596 }
1597 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1598 {
1599 yy_current_state = (int) yy_def[yy_current_state];
1600 if ( yy_current_state >= 798 )
1601 yy_c = yy_meta[(unsigned int) yy_c];
1602 }
1603 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1604 ++yy_cp;
1605 }
1606 while ( yy_current_state != 797 );
1607 yy_cp = yyg->yy_last_accepting_cpos;
1608 yy_current_state = yyg->yy_last_accepting_state;
1609
1610yy_find_action:
1611 yy_act = yy_accept[yy_current_state];
1612
1613 YY_DO_BEFORE_ACTION;
1614
1615 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1616 {
1617 int yyl;
1618 for ( yyl = 0; yyl < yyleng; ++yyl )
1619 if ( yytext[yyl] == '\n' )
1620
1621 do{ yylineno++;
1622 yycolumn=0;
1623 }while(0)
1624;
1625 }
1626
1627do_action: /* This label is used only to access EOF actions. */
1628
1629 switch ( yy_act )
1630 { /* beginning of action switch */
1631 case 0: /* must back up */
1632 /* undo the effects of YY_DO_BEFORE_ACTION */
1633 *yy_cp = yyg->yy_hold_char;
1634 yy_cp = yyg->yy_last_accepting_cpos;
1635 yy_current_state = yyg->yy_last_accepting_state;
1636 goto yy_find_action;
1637
1638case 1:
1639YY_RULE_SETUP
1640#line 161 "bitbakescanner.l"
1641{ BEGIN S_RVALUE;
1642 yyextra->accept (T_OP_APPEND); }
1643 YY_BREAK
1644case 2:
1645YY_RULE_SETUP
1646#line 163 "bitbakescanner.l"
1647{ BEGIN S_RVALUE;
1648 yyextra->accept (T_OP_PREPEND); }
1649 YY_BREAK
1650case 3:
1651YY_RULE_SETUP
1652#line 165 "bitbakescanner.l"
1653{ BEGIN S_RVALUE;
1654 yyextra->accept (T_OP_IMMEDIATE); }
1655 YY_BREAK
1656case 4:
1657YY_RULE_SETUP
1658#line 167 "bitbakescanner.l"
1659{ BEGIN S_RVALUE;
1660 yyextra->accept (T_OP_ASSIGN); }
1661 YY_BREAK
1662case 5:
1663YY_RULE_SETUP
1664#line 169 "bitbakescanner.l"
1665{ BEGIN S_RVALUE;
1666 yyextra->accept (T_OP_COND); }
1667 YY_BREAK
1668case 6:
1669/* rule 6 can match eol */
1670YY_RULE_SETUP
1671#line 172 "bitbakescanner.l"
1672{ }
1673 YY_BREAK
1674case 7:
1675/* rule 7 can match eol */
1676YY_RULE_SETUP
1677#line 173 "bitbakescanner.l"
1678{ BEGIN INITIAL;
1679 size_t cb = yyleng;
1680 while (cb && isspace (yytext[cb - 1]))
1681 --cb;
1682 yytext[cb - 1] = 0;
1683 yyextra->accept (T_STRING, yytext + 1); }
1684 YY_BREAK
1685case 8:
1686/* rule 8 can match eol */
1687YY_RULE_SETUP
1688#line 179 "bitbakescanner.l"
1689{ BEGIN INITIAL;
1690 size_t cb = yyleng;
1691 while (cb && isspace (yytext[cb - 1]))
1692 --cb;
1693 yytext[cb - 1] = 0;
1694 yyextra->accept (T_STRING, yytext + 1); }
1695 YY_BREAK
1696case 9:
1697/* rule 9 can match eol */
1698YY_RULE_SETUP
1699#line 186 "bitbakescanner.l"
1700{ ERROR (errorUnexpectedInput); }
1701 YY_BREAK
1702case 10:
1703/* rule 10 can match eol */
1704YY_RULE_SETUP
1705#line 187 "bitbakescanner.l"
1706{ BEGIN INITIAL;
1707 yyextra->accept (T_STRING, NULL); }
1708 YY_BREAK
1709case 11:
1710YY_RULE_SETUP
1711#line 190 "bitbakescanner.l"
1712{ BEGIN S_INCLUDE;
1713 yyextra->accept (T_INCLUDE); }
1714 YY_BREAK
1715case 12:
1716YY_RULE_SETUP
1717#line 192 "bitbakescanner.l"
1718{ BEGIN S_REQUIRE;
1719 yyextra->accept (T_REQUIRE); }
1720 YY_BREAK
1721case 13:
1722YY_RULE_SETUP
1723#line 194 "bitbakescanner.l"
1724{ BEGIN S_INHERIT;
1725 yyextra->accept (T_INHERIT); }
1726 YY_BREAK
1727case 14:
1728YY_RULE_SETUP
1729#line 196 "bitbakescanner.l"
1730{ BEGIN S_TASK;
1731 yyextra->accept (T_ADDTASK); }
1732 YY_BREAK
1733case 15:
1734YY_RULE_SETUP
1735#line 198 "bitbakescanner.l"
1736{ yyextra->accept (T_ADDHANDLER); }
1737 YY_BREAK
1738case 16:
1739YY_RULE_SETUP
1740#line 199 "bitbakescanner.l"
1741{ BEGIN S_FUNC;
1742 yyextra->accept (T_EXPORT_FUNC); }
1743 YY_BREAK
1744case 17:
1745YY_RULE_SETUP
1746#line 201 "bitbakescanner.l"
1747{ yyextra->accept (T_BEFORE); }
1748 YY_BREAK
1749case 18:
1750YY_RULE_SETUP
1751#line 202 "bitbakescanner.l"
1752{ yyextra->accept (T_AFTER); }
1753 YY_BREAK
1754case 19:
1755YY_RULE_SETUP
1756#line 203 "bitbakescanner.l"
1757{ yyextra->accept (T_EXPORT); }
1758 YY_BREAK
1759case 20:
1760YY_RULE_SETUP
1761#line 205 "bitbakescanner.l"
1762{ yyextra->accept (T_FAKEROOT); }
1763 YY_BREAK
1764case 21:
1765YY_RULE_SETUP
1766#line 206 "bitbakescanner.l"
1767{ yyextra->accept (T_PYTHON); }
1768 YY_BREAK
1769case 22:
1770/* rule 22 can match eol */
1771YY_RULE_SETUP
1772#line 207 "bitbakescanner.l"
1773{ BEGIN S_PROC;
1774 yyextra->accept (T_PROC_OPEN); }
1775 YY_BREAK
1776case 23:
1777/* rule 23 can match eol */
1778YY_RULE_SETUP
1779#line 209 "bitbakescanner.l"
1780{ BEGIN INITIAL;
1781 yyextra->accept (T_PROC_CLOSE); }
1782 YY_BREAK
1783case 24:
1784/* rule 24 can match eol */
1785YY_RULE_SETUP
1786#line 211 "bitbakescanner.l"
1787{ yyextra->accept (T_PROC_BODY, yytext); }
1788 YY_BREAK
1789case 25:
1790YY_RULE_SETUP
1791#line 213 "bitbakescanner.l"
1792{ BEGIN S_DEF; }
1793 YY_BREAK
1794case 26:
1795YY_RULE_SETUP
1796#line 214 "bitbakescanner.l"
1797{ BEGIN S_DEF_ARGS;
1798 yyextra->accept (T_SYMBOL, yytext); }
1799 YY_BREAK
1800case 27:
1801YY_RULE_SETUP
1802#line 216 "bitbakescanner.l"
1803{ yyextra->accept (T_DEF_ARGS, yytext); }
1804 YY_BREAK
1805case 28:
1806/* rule 28 can match eol */
1807YY_RULE_SETUP
1808#line 217 "bitbakescanner.l"
1809{ BEGIN S_DEF_BODY; }
1810 YY_BREAK
1811case 29:
1812/* rule 29 can match eol */
1813YY_RULE_SETUP
1814#line 218 "bitbakescanner.l"
1815{ yyextra->accept (T_DEF_BODY, yytext); }
1816 YY_BREAK
1817case 30:
1818/* rule 30 can match eol */
1819YY_RULE_SETUP
1820#line 219 "bitbakescanner.l"
1821{ yyextra->accept (T_DEF_BODY, yytext); }
1822 YY_BREAK
1823case 31:
1824YY_RULE_SETUP
1825#line 220 "bitbakescanner.l"
1826{ BEGIN INITIAL; unput (yytext[0]); }
1827 YY_BREAK
1828case 32:
1829/* rule 32 can match eol */
1830YY_RULE_SETUP
1831#line 222 "bitbakescanner.l"
1832{ }
1833 YY_BREAK
1834case 33:
1835YY_RULE_SETUP
1836#line 224 "bitbakescanner.l"
1837{ yyextra->accept (T_SYMBOL, yytext); }
1838 YY_BREAK
1839case 34:
1840YY_RULE_SETUP
1841#line 225 "bitbakescanner.l"
1842{ yyextra->accept (T_VARIABLE, yytext); }
1843 YY_BREAK
1844case 35:
1845YY_RULE_SETUP
1846#line 227 "bitbakescanner.l"
1847{ yyextra->accept (T_TSYMBOL, yytext); }
1848 YY_BREAK
1849case 36:
1850YY_RULE_SETUP
1851#line 228 "bitbakescanner.l"
1852{ yyextra->accept (T_FSYMBOL, yytext); }
1853 YY_BREAK
1854case 37:
1855YY_RULE_SETUP
1856#line 229 "bitbakescanner.l"
1857{ yyextra->accept (T_ISYMBOL, yytext); }
1858 YY_BREAK
1859case 38:
1860YY_RULE_SETUP
1861#line 230 "bitbakescanner.l"
1862{ BEGIN INITIAL;
1863 yyextra->accept (T_ISYMBOL, yytext); }
1864 YY_BREAK
1865case 39:
1866YY_RULE_SETUP
1867#line 232 "bitbakescanner.l"
1868{ BEGIN INITIAL;
1869 yyextra->accept (T_ISYMBOL, yytext); }
1870 YY_BREAK
1871case 40:
1872/* rule 40 can match eol */
1873YY_RULE_SETUP
1874#line 234 "bitbakescanner.l"
1875{ BEGIN INITIAL; }
1876 YY_BREAK
1877case 41:
1878/* rule 41 can match eol */
1879YY_RULE_SETUP
1880#line 235 "bitbakescanner.l"
1881{ BEGIN INITIAL; }
1882 YY_BREAK
1883case 42:
1884/* rule 42 can match eol */
1885YY_RULE_SETUP
1886#line 236 "bitbakescanner.l"
1887{ BEGIN INITIAL; }
1888 YY_BREAK
1889case 43:
1890/* rule 43 can match eol */
1891YY_RULE_SETUP
1892#line 238 "bitbakescanner.l"
1893/* Insignificant whitespace */
1894 YY_BREAK
1895case 44:
1896YY_RULE_SETUP
1897#line 240 "bitbakescanner.l"
1898{ ERROR (errorUnexpectedInput); }
1899 YY_BREAK
1900/* Check for premature termination */
1901case YY_STATE_EOF(INITIAL):
1902case YY_STATE_EOF(S_DEF):
1903case YY_STATE_EOF(S_DEF_ARGS):
1904case YY_STATE_EOF(S_DEF_BODY):
1905case YY_STATE_EOF(S_FUNC):
1906case YY_STATE_EOF(S_INCLUDE):
1907case YY_STATE_EOF(S_INHERIT):
1908case YY_STATE_EOF(S_REQUIRE):
1909case YY_STATE_EOF(S_PROC):
1910case YY_STATE_EOF(S_RVALUE):
1911case YY_STATE_EOF(S_TASK):
1912#line 243 "bitbakescanner.l"
1913{ return T_EOF; }
1914 YY_BREAK
1915case 45:
1916YY_RULE_SETUP
1917#line 245 "bitbakescanner.l"
1918ECHO;
1919 YY_BREAK
1920#line 1921 "<stdout>"
1921
1922 case YY_END_OF_BUFFER:
1923 {
1924 /* Amount of text matched not including the EOB char. */
1925 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
1926
1927 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1928 *yy_cp = yyg->yy_hold_char;
1929 YY_RESTORE_YY_MORE_OFFSET
1930
1931 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1932 {
1933 /* We're scanning a new file or input source. It's
1934 * possible that this happened because the user
1935 * just pointed yyin at a new source and called
1936 * yylex(). If so, then we have to assure
1937 * consistency between YY_CURRENT_BUFFER and our
1938 * globals. Here is the right place to do so, because
1939 * this is the first action (other than possibly a
1940 * back-up) that will match for the new input source.
1941 */
1942 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1943 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1944 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1945 }
1946
1947 /* Note that here we test for yy_c_buf_p "<=" to the position
1948 * of the first EOB in the buffer, since yy_c_buf_p will
1949 * already have been incremented past the NUL character
1950 * (since all states make transitions on EOB to the
1951 * end-of-buffer state). Contrast this with the test
1952 * in input().
1953 */
1954 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
1955 { /* This was really a NUL. */
1956 yy_state_type yy_next_state;
1957
1958 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
1959
1960 yy_current_state = yy_get_previous_state( yyscanner );
1961
1962 /* Okay, we're now positioned to make the NUL
1963 * transition. We couldn't have
1964 * yy_get_previous_state() go ahead and do it
1965 * for us because it doesn't know how to deal
1966 * with the possibility of jamming (and we don't
1967 * want to build jamming into it because then it
1968 * will run more slowly).
1969 */
1970
1971 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
1972
1973 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
1974
1975 if ( yy_next_state )
1976 {
1977 /* Consume the NUL. */
1978 yy_cp = ++yyg->yy_c_buf_p;
1979 yy_current_state = yy_next_state;
1980 goto yy_match;
1981 }
1982
1983 else
1984 {
1985 yy_cp = yyg->yy_last_accepting_cpos;
1986 yy_current_state = yyg->yy_last_accepting_state;
1987 goto yy_find_action;
1988 }
1989 }
1990
1991 else switch ( yy_get_next_buffer( yyscanner ) )
1992 {
1993 case EOB_ACT_END_OF_FILE:
1994 {
1995 yyg->yy_did_buffer_switch_on_eof = 0;
1996
1997 if ( yywrap(yyscanner ) )
1998 {
1999 /* Note: because we've taken care in
2000 * yy_get_next_buffer() to have set up
2001 * yytext, we can now set up
2002 * yy_c_buf_p so that if some total
2003 * hoser (like flex itself) wants to
2004 * call the scanner after we return the
2005 * YY_NULL, it'll still work - another
2006 * YY_NULL will get returned.
2007 */
2008 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2009
2010 yy_act = YY_STATE_EOF(YY_START);
2011 goto do_action;
2012 }
2013
2014 else
2015 {
2016 if ( ! yyg->yy_did_buffer_switch_on_eof )
2017 YY_NEW_FILE;
2018 }
2019 break;
2020 }
2021
2022 case EOB_ACT_CONTINUE_SCAN:
2023 yyg->yy_c_buf_p =
2024 yyg->yytext_ptr + yy_amount_of_matched_text;
2025
2026 yy_current_state = yy_get_previous_state( yyscanner );
2027
2028 yy_cp = yyg->yy_c_buf_p;
2029 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2030 goto yy_match;
2031
2032 case EOB_ACT_LAST_MATCH:
2033 yyg->yy_c_buf_p =
2034 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2035
2036 yy_current_state = yy_get_previous_state( yyscanner );
2037
2038 yy_cp = yyg->yy_c_buf_p;
2039 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2040 goto yy_find_action;
2041 }
2042 break;
2043 }
2044
2045 default:
2046 YY_FATAL_ERROR(
2047 "fatal flex scanner internal error--no action found" );
2048 } /* end of action switch */
2049 } /* end of scanning one token */
2050} /* end of yylex */
2051
2052/* yy_get_next_buffer - try to read in a new buffer
2053 *
2054 * Returns a code representing an action:
2055 * EOB_ACT_LAST_MATCH -
2056 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2057 * EOB_ACT_END_OF_FILE - end of file
2058 */
2059static int yy_get_next_buffer (yyscan_t yyscanner)
2060{
2061 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2062 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2063 register char *source = yyg->yytext_ptr;
2064 register int number_to_move, i;
2065 int ret_val;
2066
2067 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2068 YY_FATAL_ERROR(
2069 "fatal flex scanner internal error--end of buffer missed" );
2070
2071 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2072 { /* Don't try to fill the buffer, so this is an EOF. */
2073 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2074 {
2075 /* We matched a single character, the EOB, so
2076 * treat this as a final EOF.
2077 */
2078 return EOB_ACT_END_OF_FILE;
2079 }
2080
2081 else
2082 {
2083 /* We matched some text prior to the EOB, first
2084 * process it.
2085 */
2086 return EOB_ACT_LAST_MATCH;
2087 }
2088 }
2089
2090 /* Try to read more data. */
2091
2092 /* First move last chars to start of buffer. */
2093 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
2094
2095 for ( i = 0; i < number_to_move; ++i )
2096 *(dest++) = *(source++);
2097
2098 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2099 /* don't do the read, it's not guaranteed to return an EOF,
2100 * just force an EOF
2101 */
2102 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2103
2104 else
2105 {
2106 size_t num_to_read =
2107 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2108
2109 while ( num_to_read <= 0 )
2110 { /* Not enough room in the buffer - grow it. */
2111
2112 /* just a shorter name for the current buffer */
2113 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2114
2115 int yy_c_buf_p_offset =
2116 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2117
2118 if ( b->yy_is_our_buffer )
2119 {
2120 int new_size = b->yy_buf_size * 2;
2121
2122 if ( new_size <= 0 )
2123 b->yy_buf_size += b->yy_buf_size / 8;
2124 else
2125 b->yy_buf_size *= 2;
2126
2127 b->yy_ch_buf = (char *)
2128 /* Include room in for 2 EOB chars. */
2129 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
2130 }
2131 else
2132 /* Can't grow it, we don't own it. */
2133 b->yy_ch_buf = 0;
2134
2135 if ( ! b->yy_ch_buf )
2136 YY_FATAL_ERROR(
2137 "fatal error - scanner input buffer overflow" );
2138
2139 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2140
2141 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2142 number_to_move - 1;
2143
2144 }
2145
2146 if ( num_to_read > YY_READ_BUF_SIZE )
2147 num_to_read = YY_READ_BUF_SIZE;
2148
2149 /* Read in more data. */
2150 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2151 yyg->yy_n_chars, num_to_read );
2152
2153 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2154 }
2155
2156 if ( yyg->yy_n_chars == 0 )
2157 {
2158 if ( number_to_move == YY_MORE_ADJ )
2159 {
2160 ret_val = EOB_ACT_END_OF_FILE;
2161 yyrestart(yyin ,yyscanner);
2162 }
2163
2164 else
2165 {
2166 ret_val = EOB_ACT_LAST_MATCH;
2167 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2168 YY_BUFFER_EOF_PENDING;
2169 }
2170 }
2171
2172 else
2173 ret_val = EOB_ACT_CONTINUE_SCAN;
2174
2175 yyg->yy_n_chars += number_to_move;
2176 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2177 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2178
2179 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2180
2181 return ret_val;
2182}
2183
2184/* yy_get_previous_state - get the state just before the EOB char was reached */
2185
2186 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2187{
2188 register yy_state_type yy_current_state;
2189 register char *yy_cp;
2190 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2191
2192 yy_current_state = yyg->yy_start;
2193
2194 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2195 {
2196 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2197 if ( yy_accept[yy_current_state] )
2198 {
2199 yyg->yy_last_accepting_state = yy_current_state;
2200 yyg->yy_last_accepting_cpos = yy_cp;
2201 }
2202 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2203 {
2204 yy_current_state = (int) yy_def[yy_current_state];
2205 if ( yy_current_state >= 798 )
2206 yy_c = yy_meta[(unsigned int) yy_c];
2207 }
2208 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2209 }
2210
2211 return yy_current_state;
2212}
2213
2214/* yy_try_NUL_trans - try to make a transition on the NUL character
2215 *
2216 * synopsis
2217 * next_state = yy_try_NUL_trans( current_state );
2218 */
2219 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
2220{
2221 register int yy_is_jam;
2222 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2223 register char *yy_cp = yyg->yy_c_buf_p;
2224
2225 register YY_CHAR yy_c = 1;
2226 if ( yy_accept[yy_current_state] )
2227 {
2228 yyg->yy_last_accepting_state = yy_current_state;
2229 yyg->yy_last_accepting_cpos = yy_cp;
2230 }
2231 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2232 {
2233 yy_current_state = (int) yy_def[yy_current_state];
2234 if ( yy_current_state >= 798 )
2235 yy_c = yy_meta[(unsigned int) yy_c];
2236 }
2237 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2238 yy_is_jam = (yy_current_state == 797);
2239
2240 return yy_is_jam ? 0 : yy_current_state;
2241}
2242
2243 static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
2244{
2245 register char *yy_cp;
2246 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2247
2248 yy_cp = yyg->yy_c_buf_p;
2249
2250 /* undo effects of setting up yytext */
2251 *yy_cp = yyg->yy_hold_char;
2252
2253 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2254 { /* need to shift things up to make room */
2255 /* +2 for EOB chars. */
2256 register int number_to_move = yyg->yy_n_chars + 2;
2257 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2258 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2259 register char *source =
2260 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2261
2262 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2263 *--dest = *--source;
2264
2265 yy_cp += (int) (dest - source);
2266 yy_bp += (int) (dest - source);
2267 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2268 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2269
2270 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2271 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2272 }
2273
2274 *--yy_cp = (char) c;
2275
2276 if ( c == '\n' ){
2277 --yylineno;
2278 }
2279
2280 yyg->yytext_ptr = yy_bp;
2281 yyg->yy_hold_char = *yy_cp;
2282 yyg->yy_c_buf_p = yy_cp;
2283}
2284
2285#ifndef YY_NO_INPUT
2286#ifdef __cplusplus
2287 static int yyinput (yyscan_t yyscanner)
2288#else
2289 static int input (yyscan_t yyscanner)
2290#endif
2291
2292{
2293 int c;
2294 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2295
2296 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2297
2298 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2299 {
2300 /* yy_c_buf_p now points to the character we want to return.
2301 * If this occurs *before* the EOB characters, then it's a
2302 * valid NUL; if not, then we've hit the end of the buffer.
2303 */
2304 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2305 /* This was really a NUL. */
2306 *yyg->yy_c_buf_p = '\0';
2307
2308 else
2309 { /* need more input */
2310 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
2311 ++yyg->yy_c_buf_p;
2312
2313 switch ( yy_get_next_buffer( yyscanner ) )
2314 {
2315 case EOB_ACT_LAST_MATCH:
2316 /* This happens because yy_g_n_b()
2317 * sees that we've accumulated a
2318 * token and flags that we need to
2319 * try matching the token before
2320 * proceeding. But for input(),
2321 * there's no matching to consider.
2322 * So convert the EOB_ACT_LAST_MATCH
2323 * to EOB_ACT_END_OF_FILE.
2324 */
2325
2326 /* Reset buffer status. */
2327 yyrestart(yyin ,yyscanner);
2328
2329 /*FALLTHROUGH*/
2330
2331 case EOB_ACT_END_OF_FILE:
2332 {
2333 if ( yywrap(yyscanner ) )
2334 return EOF;
2335
2336 if ( ! yyg->yy_did_buffer_switch_on_eof )
2337 YY_NEW_FILE;
2338#ifdef __cplusplus
2339 return yyinput(yyscanner);
2340#else
2341 return input(yyscanner);
2342#endif
2343 }
2344
2345 case EOB_ACT_CONTINUE_SCAN:
2346 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2347 break;
2348 }
2349 }
2350 }
2351
2352 c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
2353 *yyg->yy_c_buf_p = '\0'; /* preserve yytext */
2354 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
2355
2356 if ( c == '\n' )
2357
2358 do{ yylineno++;
2359 yycolumn=0;
2360 }while(0)
2361;
2362
2363 return c;
2364}
2365#endif /* ifndef YY_NO_INPUT */
2366
2367/** Immediately switch to a different input stream.
2368 * @param input_file A readable stream.
2369 * @param yyscanner The scanner object.
2370 * @note This function does not reset the start condition to @c INITIAL .
2371 */
2372 void yyrestart (FILE * input_file , yyscan_t yyscanner)
2373{
2374 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2375
2376 if ( ! YY_CURRENT_BUFFER ){
2377 yyensure_buffer_stack (yyscanner);
2378 YY_CURRENT_BUFFER_LVALUE =
2379 yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2380 }
2381
2382 yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
2383 yy_load_buffer_state(yyscanner );
2384}
2385
2386/** Switch to a different input buffer.
2387 * @param new_buffer The new input buffer.
2388 * @param yyscanner The scanner object.
2389 */
2390 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2391{
2392 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2393
2394 /* TODO. We should be able to replace this entire function body
2395 * with
2396 * yypop_buffer_state();
2397 * yypush_buffer_state(new_buffer);
2398 */
2399 yyensure_buffer_stack (yyscanner);
2400 if ( YY_CURRENT_BUFFER == new_buffer )
2401 return;
2402
2403 if ( YY_CURRENT_BUFFER )
2404 {
2405 /* Flush out information for old buffer. */
2406 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2407 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2408 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2409 }
2410
2411 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2412 yy_load_buffer_state(yyscanner );
2413
2414 /* We don't actually know whether we did this switch during
2415 * EOF (yywrap()) processing, but the only time this flag
2416 * is looked at is after yywrap() is called, so it's safe
2417 * to go ahead and always set it.
2418 */
2419 yyg->yy_did_buffer_switch_on_eof = 1;
2420}
2421
2422static void yy_load_buffer_state (yyscan_t yyscanner)
2423{
2424 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2425 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2426 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2427 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2428 yyg->yy_hold_char = *yyg->yy_c_buf_p;
2429}
2430
2431/** Allocate and initialize an input buffer state.
2432 * @param file A readable stream.
2433 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2434 * @param yyscanner The scanner object.
2435 * @return the allocated buffer state.
2436 */
2437 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
2438{
2439 YY_BUFFER_STATE b;
2440
2441 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2442 if ( ! b )
2443 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2444
2445 b->yy_buf_size = size;
2446
2447 /* yy_ch_buf has to be 2 characters longer than the size given because
2448 * we need to put in 2 end-of-buffer characters.
2449 */
2450 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ,yyscanner );
2451 if ( ! b->yy_ch_buf )
2452 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2453
2454 b->yy_is_our_buffer = 1;
2455
2456 yy_init_buffer(b,file ,yyscanner);
2457
2458 return b;
2459}
2460
2461/** Destroy the buffer.
2462 * @param b a buffer created with yy_create_buffer()
2463 * @param yyscanner The scanner object.
2464 */
2465 void yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
2466{
2467 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2468
2469 if ( ! b )
2470 return;
2471
2472 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2473 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2474
2475 if ( b->yy_is_our_buffer )
2476 yyfree((void *) b->yy_ch_buf ,yyscanner );
2477
2478 yyfree((void *) b ,yyscanner );
2479}
2480
2481/* Initializes or reinitializes a buffer.
2482 * This function is sometimes called more than once on the same buffer,
2483 * such as during a yyrestart() or at EOF.
2484 */
2485 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
2486
2487{
2488 int oerrno = errno;
2489 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2490
2491 yy_flush_buffer(b ,yyscanner);
2492
2493 b->yy_input_file = file;
2494 b->yy_fill_buffer = 1;
2495
2496 /* If b is the current buffer, then yy_init_buffer was _probably_
2497 * called from yyrestart() or through yy_get_next_buffer.
2498 * In that case, we don't want to reset the lineno or column.
2499 */
2500 if (b != YY_CURRENT_BUFFER){
2501 b->yy_bs_lineno = 1;
2502 b->yy_bs_column = 0;
2503 }
2504
2505 b->yy_is_interactive = 0;
2506
2507 errno = oerrno;
2508}
2509
2510/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2511 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2512 * @param yyscanner The scanner object.
2513 */
2514 void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
2515{
2516 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2517 if ( ! b )
2518 return;
2519
2520 b->yy_n_chars = 0;
2521
2522 /* We always need two end-of-buffer characters. The first causes
2523 * a transition to the end-of-buffer state. The second causes
2524 * a jam in that state.
2525 */
2526 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2527 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2528
2529 b->yy_buf_pos = &b->yy_ch_buf[0];
2530
2531 b->yy_at_bol = 1;
2532 b->yy_buffer_status = YY_BUFFER_NEW;
2533
2534 if ( b == YY_CURRENT_BUFFER )
2535 yy_load_buffer_state(yyscanner );
2536}
2537
2538/** Pushes the new state onto the stack. The new state becomes
2539 * the current state. This function will allocate the stack
2540 * if necessary.
2541 * @param new_buffer The new state.
2542 * @param yyscanner The scanner object.
2543 */
2544void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2545{
2546 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2547 if (new_buffer == NULL)
2548 return;
2549
2550 yyensure_buffer_stack(yyscanner);
2551
2552 /* This block is copied from yy_switch_to_buffer. */
2553 if ( YY_CURRENT_BUFFER )
2554 {
2555 /* Flush out information for old buffer. */
2556 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2557 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2558 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2559 }
2560
2561 /* Only push if top exists. Otherwise, replace top. */
2562 if (YY_CURRENT_BUFFER)
2563 yyg->yy_buffer_stack_top++;
2564 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2565
2566 /* copied from yy_switch_to_buffer. */
2567 yy_load_buffer_state(yyscanner );
2568 yyg->yy_did_buffer_switch_on_eof = 1;
2569}
2570
2571/** Removes and deletes the top of the stack, if present.
2572 * The next element becomes the new top.
2573 * @param yyscanner The scanner object.
2574 */
2575void yypop_buffer_state (yyscan_t yyscanner)
2576{
2577 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2578 if (!YY_CURRENT_BUFFER)
2579 return;
2580
2581 yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
2582 YY_CURRENT_BUFFER_LVALUE = NULL;
2583 if (yyg->yy_buffer_stack_top > 0)
2584 --yyg->yy_buffer_stack_top;
2585
2586 if (YY_CURRENT_BUFFER) {
2587 yy_load_buffer_state(yyscanner );
2588 yyg->yy_did_buffer_switch_on_eof = 1;
2589 }
2590}
2591
2592/* Allocates the stack if it does not exist.
2593 * Guarantees space for at least one push.
2594 */
2595static void yyensure_buffer_stack (yyscan_t yyscanner)
2596{
2597 int num_to_alloc;
2598 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2599
2600 if (!yyg->yy_buffer_stack) {
2601
2602 /* First allocation is just for 2 elements, since we don't know if this
2603 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2604 * immediate realloc on the next call.
2605 */
2606 num_to_alloc = 1;
2607 yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
2608 (num_to_alloc * sizeof(struct yy_buffer_state*)
2609 , yyscanner);
2610
2611 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2612
2613 yyg->yy_buffer_stack_max = num_to_alloc;
2614 yyg->yy_buffer_stack_top = 0;
2615 return;
2616 }
2617
2618 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
2619
2620 /* Increase the buffer to prepare for a possible push. */
2621 int grow_size = 8 /* arbitrary grow size */;
2622
2623 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
2624 yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
2625 (yyg->yy_buffer_stack,
2626 num_to_alloc * sizeof(struct yy_buffer_state*)
2627 , yyscanner);
2628
2629 /* zero only the new slots.*/
2630 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2631 yyg->yy_buffer_stack_max = num_to_alloc;
2632 }
2633}
2634
2635/** Setup the input buffer state to scan directly from a user-specified character buffer.
2636 * @param base the character buffer
2637 * @param size the size in bytes of the character buffer
2638 * @param yyscanner The scanner object.
2639 * @return the newly allocated buffer state object.
2640 */
2641YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
2642{
2643 YY_BUFFER_STATE b;
2644
2645 if ( size < 2 ||
2646 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2647 base[size-1] != YY_END_OF_BUFFER_CHAR )
2648 /* They forgot to leave room for the EOB's. */
2649 return 0;
2650
2651 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2652 if ( ! b )
2653 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2654
2655 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2656 b->yy_buf_pos = b->yy_ch_buf = base;
2657 b->yy_is_our_buffer = 0;
2658 b->yy_input_file = 0;
2659 b->yy_n_chars = b->yy_buf_size;
2660 b->yy_is_interactive = 0;
2661 b->yy_at_bol = 1;
2662 b->yy_fill_buffer = 0;
2663 b->yy_buffer_status = YY_BUFFER_NEW;
2664
2665 yy_switch_to_buffer(b ,yyscanner );
2666
2667 return b;
2668}
2669
2670/** Setup the input buffer state to scan a string. The next call to yylex() will
2671 * scan from a @e copy of @a str.
2672 * @param str a NUL-terminated string to scan
2673 * @param yyscanner The scanner object.
2674 * @return the newly allocated buffer state object.
2675 * @note If you want to scan bytes that may contain NUL values, then use
2676 * yy_scan_bytes() instead.
2677 */
2678YY_BUFFER_STATE yy_scan_string (yyconst char * str , yyscan_t yyscanner)
2679{
2680
2681 return yy_scan_bytes(str,strlen(str) ,yyscanner);
2682}
2683
2684/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2685 * scan from a @e copy of @a bytes.
2686 * @param bytes the byte buffer to scan
2687 * @param len the number of bytes in the buffer pointed to by @a bytes.
2688 * @param yyscanner The scanner object.
2689 * @return the newly allocated buffer state object.
2690 */
2691YY_BUFFER_STATE yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
2692{
2693 YY_BUFFER_STATE b;
2694 char *buf;
2695 yy_size_t n;
2696 int i;
2697
2698 /* Get memory for full buffer, including space for trailing EOB's. */
2699 n = len + 2;
2700 buf = (char *) yyalloc(n ,yyscanner );
2701 if ( ! buf )
2702 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2703
2704 for ( i = 0; i < len; ++i )
2705 buf[i] = bytes[i];
2706
2707 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
2708
2709 b = yy_scan_buffer(buf,n ,yyscanner);
2710 if ( ! b )
2711 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2712
2713 /* It's okay to grow etc. this buffer, and we should throw it
2714 * away when we're done.
2715 */
2716 b->yy_is_our_buffer = 1;
2717
2718 return b;
2719}
2720
2721 static void yy_push_state (int new_state , yyscan_t yyscanner)
2722{
2723 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2724 if ( yyg->yy_start_stack_ptr >= yyg->yy_start_stack_depth )
2725 {
2726 yy_size_t new_size;
2727
2728 yyg->yy_start_stack_depth += YY_START_STACK_INCR;
2729 new_size = yyg->yy_start_stack_depth * sizeof( int );
2730
2731 if ( ! yyg->yy_start_stack )
2732 yyg->yy_start_stack = (int *) yyalloc(new_size ,yyscanner );
2733
2734 else
2735 yyg->yy_start_stack = (int *) yyrealloc((void *) yyg->yy_start_stack,new_size ,yyscanner );
2736
2737 if ( ! yyg->yy_start_stack )
2738 YY_FATAL_ERROR(
2739 "out of memory expanding start-condition stack" );
2740 }
2741
2742 yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START;
2743
2744 BEGIN(new_state);
2745}
2746
2747 static void yy_pop_state (yyscan_t yyscanner)
2748{
2749 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2750 if ( --yyg->yy_start_stack_ptr < 0 )
2751 YY_FATAL_ERROR( "start-condition stack underflow" );
2752
2753 BEGIN(yyg->yy_start_stack[yyg->yy_start_stack_ptr]);
2754}
2755
2756 static int yy_top_state (yyscan_t yyscanner)
2757{
2758 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2759 return yyg->yy_start_stack[yyg->yy_start_stack_ptr - 1];
2760}
2761
2762#ifndef YY_EXIT_FAILURE
2763#define YY_EXIT_FAILURE 2
2764#endif
2765
2766static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
2767{
2768 (void) fprintf( stderr, "%s\n", msg );
2769 exit( YY_EXIT_FAILURE );
2770}
2771
2772/* Redefine yyless() so it works in section 3 code. */
2773
2774#undef yyless
2775#define yyless(n) \
2776 do \
2777 { \
2778 /* Undo effects of setting up yytext. */ \
2779 int yyless_macro_arg = (n); \
2780 YY_LESS_LINENO(yyless_macro_arg);\
2781 yytext[yyleng] = yyg->yy_hold_char; \
2782 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
2783 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
2784 *yyg->yy_c_buf_p = '\0'; \
2785 yyleng = yyless_macro_arg; \
2786 } \
2787 while ( 0 )
2788
2789/* Accessor methods (get/set functions) to struct members. */
2790
2791/** Get the user-defined data for this scanner.
2792 * @param yyscanner The scanner object.
2793 */
2794YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner)
2795{
2796 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2797 return yyextra;
2798}
2799
2800/** Get the current line number.
2801 * @param yyscanner The scanner object.
2802 */
2803int yyget_lineno (yyscan_t yyscanner)
2804{
2805 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2806
2807 if (! YY_CURRENT_BUFFER)
2808 return 0;
2809
2810 return yylineno;
2811}
2812
2813/** Get the current column number.
2814 * @param yyscanner The scanner object.
2815 */
2816int yyget_column (yyscan_t yyscanner)
2817{
2818 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2819
2820 if (! YY_CURRENT_BUFFER)
2821 return 0;
2822
2823 return yycolumn;
2824}
2825
2826/** Get the input stream.
2827 * @param yyscanner The scanner object.
2828 */
2829FILE *yyget_in (yyscan_t yyscanner)
2830{
2831 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2832 return yyin;
2833}
2834
2835/** Get the output stream.
2836 * @param yyscanner The scanner object.
2837 */
2838FILE *yyget_out (yyscan_t yyscanner)
2839{
2840 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2841 return yyout;
2842}
2843
2844/** Get the length of the current token.
2845 * @param yyscanner The scanner object.
2846 */
2847int yyget_leng (yyscan_t yyscanner)
2848{
2849 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2850 return yyleng;
2851}
2852
2853/** Get the current token.
2854 * @param yyscanner The scanner object.
2855 */
2856
2857char *yyget_text (yyscan_t yyscanner)
2858{
2859 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2860 return yytext;
2861}
2862
2863/** Set the user-defined data. This data is never touched by the scanner.
2864 * @param user_defined The data to be associated with this scanner.
2865 * @param yyscanner The scanner object.
2866 */
2867void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
2868{
2869 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2870 yyextra = user_defined ;
2871}
2872
2873/** Set the current line number.
2874 * @param line_number
2875 * @param yyscanner The scanner object.
2876 */
2877void yyset_lineno (int line_number , yyscan_t yyscanner)
2878{
2879 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2880
2881 /* lineno is only valid if an input buffer exists. */
2882 if (! YY_CURRENT_BUFFER )
2883 yy_fatal_error( "yyset_lineno called with no buffer" , yyscanner);
2884
2885 yylineno = line_number;
2886}
2887
2888/** Set the current column.
2889 * @param line_number
2890 * @param yyscanner The scanner object.
2891 */
2892void yyset_column (int column_no , yyscan_t yyscanner)
2893{
2894 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2895
2896 /* column is only valid if an input buffer exists. */
2897 if (! YY_CURRENT_BUFFER )
2898 yy_fatal_error( "yyset_column called with no buffer" , yyscanner);
2899
2900 yycolumn = column_no;
2901}
2902
2903/** Set the input stream. This does not discard the current
2904 * input buffer.
2905 * @param in_str A readable stream.
2906 * @param yyscanner The scanner object.
2907 * @see yy_switch_to_buffer
2908 */
2909void yyset_in (FILE * in_str , yyscan_t yyscanner)
2910{
2911 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2912 yyin = in_str ;
2913}
2914
2915void yyset_out (FILE * out_str , yyscan_t yyscanner)
2916{
2917 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2918 yyout = out_str ;
2919}
2920
2921int yyget_debug (yyscan_t yyscanner)
2922{
2923 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2924 return yy_flex_debug;
2925}
2926
2927void yyset_debug (int bdebug , yyscan_t yyscanner)
2928{
2929 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2930 yy_flex_debug = bdebug ;
2931}
2932
2933/* Accessor methods for yylval and yylloc */
2934
2935static int yy_init_globals (yyscan_t yyscanner)
2936{
2937 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2938 /* Initialization is the same as for the non-reentrant scanner.
2939 This function is called once per scanner lifetime. */
2940
2941 yyg->yy_buffer_stack = 0;
2942 yyg->yy_buffer_stack_top = 0;
2943 yyg->yy_buffer_stack_max = 0;
2944 yyg->yy_c_buf_p = (char *) 0;
2945 yyg->yy_init = 1;
2946 yyg->yy_start = 0;
2947 yyg->yy_start_stack_ptr = 0;
2948 yyg->yy_start_stack_depth = 0;
2949 yyg->yy_start_stack = (int *) 0;
2950
2951/* Defined in main.c */
2952#ifdef YY_STDINIT
2953 yyin = stdin;
2954 yyout = stdout;
2955#else
2956 yyin = (FILE *) 0;
2957 yyout = (FILE *) 0;
2958#endif
2959
2960 /* For future reference: Set errno on error, since we are called by
2961 * yylex_init()
2962 */
2963 return 0;
2964}
2965
2966/* User-visible API */
2967
2968/* yylex_init is special because it creates the scanner itself, so it is
2969 * the ONLY reentrant function that doesn't take the scanner as the last argument.
2970 * That's why we explicitly handle the declaration, instead of using our macros.
2971 */
2972
2973int yylex_init(yyscan_t* ptr_yy_globals)
2974
2975{
2976 if (ptr_yy_globals == NULL){
2977 errno = EINVAL;
2978 return 1;
2979 }
2980
2981 *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
2982
2983 if (*ptr_yy_globals == NULL){
2984 errno = ENOMEM;
2985 return 1;
2986 }
2987
2988 memset(*ptr_yy_globals,0,sizeof(struct yyguts_t));
2989
2990 return yy_init_globals ( *ptr_yy_globals );
2991}
2992
2993/* yylex_destroy is for both reentrant and non-reentrant scanners. */
2994int yylex_destroy (yyscan_t yyscanner)
2995{
2996 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2997
2998 /* Pop the buffer stack, destroying each element. */
2999 while(YY_CURRENT_BUFFER){
3000 yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
3001 YY_CURRENT_BUFFER_LVALUE = NULL;
3002 yypop_buffer_state(yyscanner);
3003 }
3004
3005 /* Destroy the stack itself. */
3006 yyfree(yyg->yy_buffer_stack ,yyscanner);
3007 yyg->yy_buffer_stack = NULL;
3008
3009 /* Destroy the start condition stack. */
3010 yyfree(yyg->yy_start_stack ,yyscanner );
3011 yyg->yy_start_stack = NULL;
3012
3013 /* Destroy the main struct (reentrant only). */
3014 yyfree ( yyscanner , yyscanner );
3015 return 0;
3016}
3017
3018/*
3019 * Internal utility routines.
3020 */
3021
3022#ifndef yytext_ptr
3023static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
3024{
3025 register int i;
3026 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3027 for ( i = 0; i < n; ++i )
3028 s1[i] = s2[i];
3029}
3030#endif
3031
3032#ifdef YY_NEED_STRLEN
3033static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
3034{
3035 register int n;
3036 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3037 for ( n = 0; s[n]; ++n )
3038 ;
3039
3040 return n;
3041}
3042#endif
3043
3044void *yyalloc (yy_size_t size , yyscan_t yyscanner)
3045{
3046 return (void *) malloc( size );
3047}
3048
3049void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
3050{
3051 /* The cast to (char *) in the following accommodates both
3052 * implementations that use char* generic pointers, and those
3053 * that use void* generic pointers. It works with the latter
3054 * because both ANSI C and C++ allow castless assignment from
3055 * any pointer type to void*, and deal with argument conversions
3056 * as though doing an assignment.
3057 */
3058 return (void *) realloc( (char *) ptr, size );
3059}
3060
3061void yyfree (void * ptr , yyscan_t yyscanner)
3062{
3063 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3064}
3065
3066#define YYTABLES_NAME "yytables"
3067
3068#undef YY_NEW_FILE
3069#undef YY_FLUSH_BUFFER
3070#undef yy_set_bol
3071#undef yy_new_buffer
3072#undef yy_set_interactive
3073#undef yytext_ptr
3074#undef YY_DO_BEFORE_ACTION
3075
3076#ifdef YY_DECL_IS_OURS
3077#undef YY_DECL_IS_OURS
3078#undef YY_DECL
3079#endif
3080#line 245 "bitbakescanner.l"
3081
3082
3083
3084void lex_t::accept (int token, const char* sz)
3085{
3086 token_t t;
3087 memset (&t, 0, sizeof (t));
3088 t.copyString(sz);
3089
3090 /* tell lemon to parse the token */
3091 parse (parser, token, t, this);
3092}
3093
3094int lex_t::line ()const
3095{
3096 return yyget_lineno (scanner);
3097}
3098
3099void parse (FILE* file, PyObject* data)
3100{
3101 void* parser = bbparseAlloc (malloc);
3102 yyscan_t scanner;
3103 lex_t lex;
3104
3105 yylex_init (&scanner);
3106
3107 lex.parser = parser;
3108 lex.scanner = scanner;
3109 lex.file = file;
3110 lex.data = data;
3111 lex.parse = bbparse;
3112 yyset_extra (&lex, scanner);
3113
3114
3115 int result = yylex (scanner);
3116
3117 lex.accept (0);
3118 bbparseTrace (NULL, NULL);
3119
3120 if (result != T_EOF)
3121 printf ("premature end of file\n");
3122
3123 yylex_destroy (scanner);
3124 bbparseFree (parser, free);
3125}
3126