nsgenbind
Loading...
Searching...
No Matches
webidl-lexer.c
Go to the documentation of this file.
1#line 2 "build-x86_64-linux-gnu-x86_64-linux-gnu-release-binary/webidl-lexer.c"
2
3#line 4 "build-x86_64-linux-gnu-x86_64-linux-gnu-release-binary/webidl-lexer.c"
4
5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9#define yy_create_buffer webidl__create_buffer
10#define yy_delete_buffer webidl__delete_buffer
11#define yy_scan_buffer webidl__scan_buffer
12#define yy_scan_string webidl__scan_string
13#define yy_scan_bytes webidl__scan_bytes
14#define yy_init_buffer webidl__init_buffer
15#define yy_flush_buffer webidl__flush_buffer
16#define yy_load_buffer_state webidl__load_buffer_state
17#define yy_switch_to_buffer webidl__switch_to_buffer
18#define yypush_buffer_state webidl_push_buffer_state
19#define yypop_buffer_state webidl_pop_buffer_state
20#define yyensure_buffer_stack webidl_ensure_buffer_stack
21#define yy_flex_debug webidl__flex_debug
22#define yyin webidl_in
23#define yyleng webidl_leng
24#define yylex webidl_lex
25#define yylineno webidl_lineno
26#define yyout webidl_out
27#define yyrestart webidl_restart
28#define yytext webidl_text
29#define yywrap webidl_wrap
30#define yyalloc webidl_alloc
31#define yyrealloc webidl_realloc
32#define yyfree webidl_free
33
34#define FLEX_SCANNER
35#define YY_FLEX_MAJOR_VERSION 2
36#define YY_FLEX_MINOR_VERSION 6
37#define YY_FLEX_SUBMINOR_VERSION 4
38#if YY_FLEX_SUBMINOR_VERSION > 0
39#define FLEX_BETA
40#endif
41
42#ifdef yy_create_buffer
43#define webidl__create_buffer_ALREADY_DEFINED
44#else
45#define yy_create_buffer webidl__create_buffer
46#endif
47
48#ifdef yy_delete_buffer
49#define webidl__delete_buffer_ALREADY_DEFINED
50#else
51#define yy_delete_buffer webidl__delete_buffer
52#endif
53
54#ifdef yy_scan_buffer
55#define webidl__scan_buffer_ALREADY_DEFINED
56#else
57#define yy_scan_buffer webidl__scan_buffer
58#endif
59
60#ifdef yy_scan_string
61#define webidl__scan_string_ALREADY_DEFINED
62#else
63#define yy_scan_string webidl__scan_string
64#endif
65
66#ifdef yy_scan_bytes
67#define webidl__scan_bytes_ALREADY_DEFINED
68#else
69#define yy_scan_bytes webidl__scan_bytes
70#endif
71
72#ifdef yy_init_buffer
73#define webidl__init_buffer_ALREADY_DEFINED
74#else
75#define yy_init_buffer webidl__init_buffer
76#endif
77
78#ifdef yy_flush_buffer
79#define webidl__flush_buffer_ALREADY_DEFINED
80#else
81#define yy_flush_buffer webidl__flush_buffer
82#endif
83
84#ifdef yy_load_buffer_state
85#define webidl__load_buffer_state_ALREADY_DEFINED
86#else
87#define yy_load_buffer_state webidl__load_buffer_state
88#endif
89
90#ifdef yy_switch_to_buffer
91#define webidl__switch_to_buffer_ALREADY_DEFINED
92#else
93#define yy_switch_to_buffer webidl__switch_to_buffer
94#endif
95
96#ifdef yypush_buffer_state
97#define webidl_push_buffer_state_ALREADY_DEFINED
98#else
99#define yypush_buffer_state webidl_push_buffer_state
100#endif
101
102#ifdef yypop_buffer_state
103#define webidl_pop_buffer_state_ALREADY_DEFINED
104#else
105#define yypop_buffer_state webidl_pop_buffer_state
106#endif
107
108#ifdef yyensure_buffer_stack
109#define webidl_ensure_buffer_stack_ALREADY_DEFINED
110#else
111#define yyensure_buffer_stack webidl_ensure_buffer_stack
112#endif
113
114#ifdef yylex
115#define webidl_lex_ALREADY_DEFINED
116#else
117#define yylex webidl_lex
118#endif
119
120#ifdef yyrestart
121#define webidl_restart_ALREADY_DEFINED
122#else
123#define yyrestart webidl_restart
124#endif
125
126#ifdef yylex_init
127#define webidl_lex_init_ALREADY_DEFINED
128#else
129#define yylex_init webidl_lex_init
130#endif
131
132#ifdef yylex_init_extra
133#define webidl_lex_init_extra_ALREADY_DEFINED
134#else
135#define yylex_init_extra webidl_lex_init_extra
136#endif
137
138#ifdef yylex_destroy
139#define webidl_lex_destroy_ALREADY_DEFINED
140#else
141#define yylex_destroy webidl_lex_destroy
142#endif
143
144#ifdef yyget_debug
145#define webidl_get_debug_ALREADY_DEFINED
146#else
147#define yyget_debug webidl_get_debug
148#endif
149
150#ifdef yyset_debug
151#define webidl_set_debug_ALREADY_DEFINED
152#else
153#define yyset_debug webidl_set_debug
154#endif
155
156#ifdef yyget_extra
157#define webidl_get_extra_ALREADY_DEFINED
158#else
159#define yyget_extra webidl_get_extra
160#endif
161
162#ifdef yyset_extra
163#define webidl_set_extra_ALREADY_DEFINED
164#else
165#define yyset_extra webidl_set_extra
166#endif
167
168#ifdef yyget_in
169#define webidl_get_in_ALREADY_DEFINED
170#else
171#define yyget_in webidl_get_in
172#endif
173
174#ifdef yyset_in
175#define webidl_set_in_ALREADY_DEFINED
176#else
177#define yyset_in webidl_set_in
178#endif
179
180#ifdef yyget_out
181#define webidl_get_out_ALREADY_DEFINED
182#else
183#define yyget_out webidl_get_out
184#endif
185
186#ifdef yyset_out
187#define webidl_set_out_ALREADY_DEFINED
188#else
189#define yyset_out webidl_set_out
190#endif
191
192#ifdef yyget_leng
193#define webidl_get_leng_ALREADY_DEFINED
194#else
195#define yyget_leng webidl_get_leng
196#endif
197
198#ifdef yyget_text
199#define webidl_get_text_ALREADY_DEFINED
200#else
201#define yyget_text webidl_get_text
202#endif
203
204#ifdef yyget_lineno
205#define webidl_get_lineno_ALREADY_DEFINED
206#else
207#define yyget_lineno webidl_get_lineno
208#endif
209
210#ifdef yyset_lineno
211#define webidl_set_lineno_ALREADY_DEFINED
212#else
213#define yyset_lineno webidl_set_lineno
214#endif
215
216#ifdef yywrap
217#define webidl_wrap_ALREADY_DEFINED
218#else
219#define yywrap webidl_wrap
220#endif
221
222#ifdef yyget_lval
223#define webidl_get_lval_ALREADY_DEFINED
224#else
225#define yyget_lval webidl_get_lval
226#endif
227
228#ifdef yyset_lval
229#define webidl_set_lval_ALREADY_DEFINED
230#else
231#define yyset_lval webidl_set_lval
232#endif
233
234#ifdef yyget_lloc
235#define webidl_get_lloc_ALREADY_DEFINED
236#else
237#define yyget_lloc webidl_get_lloc
238#endif
239
240#ifdef yyset_lloc
241#define webidl_set_lloc_ALREADY_DEFINED
242#else
243#define yyset_lloc webidl_set_lloc
244#endif
245
246#ifdef yyalloc
247#define webidl_alloc_ALREADY_DEFINED
248#else
249#define yyalloc webidl_alloc
250#endif
251
252#ifdef yyrealloc
253#define webidl_realloc_ALREADY_DEFINED
254#else
255#define yyrealloc webidl_realloc
256#endif
257
258#ifdef yyfree
259#define webidl_free_ALREADY_DEFINED
260#else
261#define yyfree webidl_free
262#endif
263
264#ifdef yytext
265#define webidl_text_ALREADY_DEFINED
266#else
267#define yytext webidl_text
268#endif
269
270#ifdef yyleng
271#define webidl_leng_ALREADY_DEFINED
272#else
273#define yyleng webidl_leng
274#endif
275
276#ifdef yyin
277#define webidl_in_ALREADY_DEFINED
278#else
279#define yyin webidl_in
280#endif
281
282#ifdef yyout
283#define webidl_out_ALREADY_DEFINED
284#else
285#define yyout webidl_out
286#endif
287
288#ifdef yy_flex_debug
289#define webidl__flex_debug_ALREADY_DEFINED
290#else
291#define yy_flex_debug webidl__flex_debug
292#endif
293
294#ifdef yylineno
295#define webidl_lineno_ALREADY_DEFINED
296#else
297#define yylineno webidl_lineno
298#endif
299
300/* First, we deal with platform-specific or compiler-specific issues. */
301
302/* begin standard C headers. */
303#include <stdio.h>
304#include <string.h>
305#include <errno.h>
306#include <stdlib.h>
307
308/* end standard C headers. */
309
310/* flex integer type definitions */
311
312#ifndef FLEXINT_H
313#define FLEXINT_H
314
315/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
316
317#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
318
319/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
320 * if you want the limit (max/min) macros for int types.
321 */
322#ifndef __STDC_LIMIT_MACROS
323#define __STDC_LIMIT_MACROS 1
324#endif
325
326#include <inttypes.h>
327typedef int8_t flex_int8_t;
328typedef uint8_t flex_uint8_t;
329typedef int16_t flex_int16_t;
330typedef uint16_t flex_uint16_t;
331typedef int32_t flex_int32_t;
332typedef uint32_t flex_uint32_t;
333#else
334typedef signed char flex_int8_t;
335typedef short int flex_int16_t;
336typedef int flex_int32_t;
337typedef unsigned char flex_uint8_t;
338typedef unsigned short int flex_uint16_t;
339typedef unsigned int flex_uint32_t;
340
341/* Limits of integral types. */
342#ifndef INT8_MIN
343#define INT8_MIN (-128)
344#endif
345#ifndef INT16_MIN
346#define INT16_MIN (-32767-1)
347#endif
348#ifndef INT32_MIN
349#define INT32_MIN (-2147483647-1)
350#endif
351#ifndef INT8_MAX
352#define INT8_MAX (127)
353#endif
354#ifndef INT16_MAX
355#define INT16_MAX (32767)
356#endif
357#ifndef INT32_MAX
358#define INT32_MAX (2147483647)
359#endif
360#ifndef UINT8_MAX
361#define UINT8_MAX (255U)
362#endif
363#ifndef UINT16_MAX
364#define UINT16_MAX (65535U)
365#endif
366#ifndef UINT32_MAX
367#define UINT32_MAX (4294967295U)
368#endif
369
370#ifndef SIZE_MAX
371#define SIZE_MAX (~(size_t)0)
372#endif
373
374#endif /* ! C99 */
375
376#endif /* ! FLEXINT_H */
377
378/* begin standard C++ headers. */
379
380/* TODO: this is always defined, so inline it */
381#define yyconst const
382
383#if defined(__GNUC__) && __GNUC__ >= 3
384#define yynoreturn __attribute__((__noreturn__))
385#else
386#define yynoreturn
387#endif
388
389/* Returned upon end-of-file. */
390#define YY_NULL 0
391
392/* Promotes a possibly negative, possibly signed char to an
393 * integer in range [0..255] for use as an array index.
394 */
395#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
396
397/* Enter a start condition. This macro really ought to take a parameter,
398 * but we do it the disgusting crufty way forced on us by the ()-less
399 * definition of BEGIN.
400 */
401#define BEGIN (yy_start) = 1 + 2 *
402/* Translate the current start state into a value that can be later handed
403 * to BEGIN to return to the state. The YYSTATE alias is for lex
404 * compatibility.
405 */
406#define YY_START (((yy_start) - 1) / 2)
407#define YYSTATE YY_START
408/* Action number for EOF rule of a given start state. */
409#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
410/* Special action meaning "start processing a new file". */
411#define YY_NEW_FILE yyrestart( yyin )
412#define YY_END_OF_BUFFER_CHAR 0
413
414/* Size of default input buffer. */
415#ifndef YY_BUF_SIZE
416#ifdef __ia64__
417/* On IA-64, the buffer size is 16k, not 8k.
418 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
419 * Ditto for the __ia64__ case accordingly.
420 */
421#define YY_BUF_SIZE 32768
422#else
423#define YY_BUF_SIZE 16384
424#endif /* __ia64__ */
425#endif
426
427/* The state buf must be large enough to hold one state per character in the main buffer.
428 */
429#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
430
431#ifndef YY_TYPEDEF_YY_BUFFER_STATE
432#define YY_TYPEDEF_YY_BUFFER_STATE
434#endif
435
436#ifndef YY_TYPEDEF_YY_SIZE_T
437#define YY_TYPEDEF_YY_SIZE_T
438typedef size_t yy_size_t;
439#endif
440
441extern int yyleng;
442
443extern FILE *yyin, *yyout;
444
445#define EOB_ACT_CONTINUE_SCAN 0
446#define EOB_ACT_END_OF_FILE 1
447#define EOB_ACT_LAST_MATCH 2
448
449 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
450 * access to the local variable yy_act. Since yyless() is a macro, it would break
451 * existing scanners that call yyless() from OUTSIDE yylex.
452 * One obvious solution it to make yy_act a global. I tried that, and saw
453 * a 5% performance hit in a non-yylineno scanner, because yy_act is
454 * normally declared as a register variable-- so it is not worth it.
455 */
456 #define YY_LESS_LINENO(n) \
457 do { \
458 int yyl;\
459 for ( yyl = n; yyl < yyleng; ++yyl )\
460 if ( yytext[yyl] == '\n' )\
461 --yylineno;\
462 }while(0)
463 #define YY_LINENO_REWIND_TO(dst) \
464 do {\
465 const char *p;\
466 for ( p = yy_cp-1; p >= (dst); --p)\
467 if ( *p == '\n' )\
468 --yylineno;\
469 }while(0)
470
471/* Return all but the first "n" matched characters back to the input stream. */
472#define yyless(n) \
473 do \
474 { \
475 /* Undo effects of setting up yytext. */ \
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
482 } \
483 while ( 0 )
484#define unput(c) yyunput( c, (yytext_ptr) )
485
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
488struct yy_buffer_state
489 {
490 FILE *yy_input_file;
491
492 char *yy_ch_buf; /* input buffer */
493 char *yy_buf_pos; /* current position in input buffer */
494
495 /* Size of input buffer in bytes, not including room for EOB
496 * characters.
497 */
498 int yy_buf_size;
499
500 /* Number of characters read into yy_ch_buf, not including EOB
501 * characters.
502 */
503 int yy_n_chars;
504
505 /* Whether we "own" the buffer - i.e., we know we created it,
506 * and can realloc() it to grow it, and should free() it to
507 * delete it.
508 */
510
511 /* Whether this is an "interactive" input source; if so, and
512 * if we're using stdio for input, then we want to use getc()
513 * instead of fread(), to make sure we stop fetching input after
514 * each newline.
515 */
517
518 /* Whether we're considered to be at the beginning of a line.
519 * If so, '^' rules will be active on the next match, otherwise
520 * not.
521 */
522 int yy_at_bol;
523
524 int yy_bs_lineno;
525 int yy_bs_column;
527 /* Whether to try to fill the input buffer when we reach the
528 * end of it.
529 */
530 int yy_fill_buffer;
531
533
534#define YY_BUFFER_NEW 0
535#define YY_BUFFER_NORMAL 1
536 /* When an EOF's been seen but there's still some text to process
537 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
538 * shouldn't try reading from the input source any more. We might
539 * still have a bunch of tokens to match, though, because of
540 * possible backing-up.
541 *
542 * When we actually see the EOF, we change the status to "new"
543 * (via yyrestart()), so that the user can continue scanning by
544 * just pointing yyin at a new input file.
545 */
546#define YY_BUFFER_EOF_PENDING 2
547
548 };
549#endif /* !YY_STRUCT_YY_BUFFER_STATE */
550
551/* Stack of input buffers. */
552static size_t yy_buffer_stack_top = 0;
553static size_t yy_buffer_stack_max = 0;
554static YY_BUFFER_STATE * yy_buffer_stack = NULL;
556/* We provide macros for accessing buffer states in case in the
557 * future we want to put the buffer states in a more general
558 * "scanner state".
559 *
560 * Returns the top of the stack, or NULL.
561 */
562#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
563 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
564 : NULL)
565/* Same as previous macro, but useful when we know that the buffer stack is not
566 * NULL or when we need an lvalue. For internal use only.
567 */
568#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
569
570/* yy_hold_char holds the character lost when yytext is formed. */
571static char yy_hold_char;
572static int yy_n_chars; /* number of characters read into yy_ch_buf */
574
575/* Points to current character in buffer. */
576static char *yy_c_buf_p = NULL;
577static int yy_init = 0; /* whether we need to initialize */
578static int yy_start = 0; /* start state number */
579
580/* Flag which is used to allow yywrap()'s to do buffer switches
581 * instead of setting up a fresh yyin. A bit of a hack ...
582 */
583static int yy_did_buffer_switch_on_eof;
584
585void yyrestart ( FILE *input_file );
587YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
591void yypop_buffer_state ( void );
592
593static void yyensure_buffer_stack ( void );
594static void yy_load_buffer_state ( void );
595static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
596#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
597
599YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
600YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
601
603void *yyrealloc ( void *, yy_size_t );
604void yyfree ( void * );
605
606#define yy_new_buffer yy_create_buffer
607#define yy_set_interactive(is_interactive) \
608 { \
609 if ( ! YY_CURRENT_BUFFER ){ \
610 yyensure_buffer_stack (); \
611 YY_CURRENT_BUFFER_LVALUE = \
612 yy_create_buffer( yyin, YY_BUF_SIZE ); \
613 } \
614 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
615 }
616#define yy_set_bol(at_bol) \
617 { \
618 if ( ! YY_CURRENT_BUFFER ){\
619 yyensure_buffer_stack (); \
620 YY_CURRENT_BUFFER_LVALUE = \
621 yy_create_buffer( yyin, YY_BUF_SIZE ); \
622 } \
623 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
624 }
625#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
626
627/* Begin user sect3 */
628
629#define webidl_wrap() (/*CONSTCOND*/1)
630#define YY_SKIP_YYWRAP
632
633FILE *yyin = NULL, *yyout = NULL;
634
635typedef int yy_state_type;
636
637extern int yylineno;
638int yylineno = 1;
639
640extern char *yytext;
641#ifdef yytext_ptr
642#undef yytext_ptr
643#endif
644#define yytext_ptr yytext
645
646static yy_state_type yy_get_previous_state ( void );
647static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
648static int yy_get_next_buffer ( void );
649static void yynoreturn yy_fatal_error ( const char* msg );
650
651/* Done after the current pattern has been matched and before the
652 * corresponding action - sets up yytext.
653 */
654#define YY_DO_BEFORE_ACTION \
655 (yytext_ptr) = yy_bp; \
656 yyleng = (int) (yy_cp - yy_bp); \
657 (yy_hold_char) = *yy_cp; \
658 *yy_cp = '\0'; \
659 (yy_c_buf_p) = yy_cp;
660#define YY_NUM_RULES 64
661#define YY_END_OF_BUFFER 65
662/* This struct is not used in this scanner,
663 but its presence is necessary. */
664struct yy_trans_info
665 {
668 };
669static const flex_int16_t yy_accept[407] =
670 { 0,
671 0, 0, 0, 0, 65, 60, 1, 2, 1, 60,
672 60, 60, 60, 52, 52, 51, 51, 51, 51, 51,
673 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
674 51, 51, 51, 51, 51, 51, 51, 51, 60, 60,
675 60, 60, 1, 1, 60, 60, 60, 60, 60, 62,
676 64, 63, 62, 61, 0, 56, 0, 52, 0, 55,
677 0, 58, 55, 53, 0, 0, 52, 51, 51, 51,
678 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
679 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
680 51, 51, 51, 51, 51, 51, 51, 51, 37, 51,
681
682 51, 51, 51, 51, 51, 51, 51, 51, 1, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 1, 0, 0, 0, 0, 0, 62, 0, 61,
685 62, 0, 0, 0, 25, 0, 0, 0, 55, 0,
686 0, 55, 54, 51, 51, 51, 51, 29, 51, 51,
687 30, 51, 51, 51, 51, 51, 51, 51, 51, 51,
688 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
689 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
690 51, 51, 51, 51, 51, 51, 51, 51, 1, 2,
691 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
692
693 55, 57, 0, 55, 51, 51, 26, 51, 51, 51,
694 51, 51, 4, 51, 51, 51, 51, 51, 51, 12,
695 51, 51, 51, 51, 51, 51, 51, 51, 51, 34,
696 35, 51, 51, 51, 51, 51, 51, 51, 51, 51,
697 51, 51, 41, 51, 51, 51, 43, 0, 0, 0,
698 51, 51, 51, 51, 51, 51, 51, 51, 8, 51,
699 51, 51, 51, 51, 32, 33, 51, 51, 51, 51,
700 51, 51, 51, 5, 51, 51, 51, 51, 51, 51,
701 40, 51, 51, 51, 51, 51, 0, 0, 51, 51,
702 51, 51, 51, 51, 51, 51, 51, 51, 51, 31,
703
704 51, 14, 51, 51, 51, 51, 51, 36, 51, 51,
705 51, 51, 51, 20, 21, 51, 51, 51, 51, 0,
706 51, 51, 51, 51, 45, 51, 3, 51, 9, 10,
707 51, 51, 51, 16, 51, 51, 51, 51, 51, 19,
708 51, 51, 51, 51, 23, 51, 51, 0, 51, 51,
709 28, 51, 51, 7, 51, 51, 51, 51, 46, 51,
710 51, 38, 44, 48, 39, 51, 51, 42, 59, 51,
711 27, 51, 6, 51, 13, 51, 17, 51, 51, 51,
712 51, 51, 51, 11, 15, 51, 51, 51, 51, 49,
713 51, 51, 51, 22, 51, 51, 18, 51, 24, 51,
714
715 51, 51, 47, 51, 50, 0
716 } ;
717
718static const YY_CHAR yy_ec[256] =
719 { 0,
720 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
721 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
722 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
723 1, 6, 1, 7, 8, 1, 1, 1, 9, 1,
724 1, 10, 11, 1, 11, 12, 13, 14, 15, 15,
725 15, 15, 15, 15, 15, 15, 16, 1, 1, 1,
726 1, 1, 1, 1, 17, 17, 18, 19, 20, 17,
727 21, 21, 22, 21, 21, 21, 23, 24, 25, 26,
728 21, 21, 27, 21, 21, 21, 21, 28, 21, 21,
729 1, 29, 1, 1, 21, 1, 30, 31, 32, 33,
730
731 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
732 44, 45, 46, 47, 48, 49, 50, 51, 21, 52,
733 53, 21, 1, 1, 1, 1, 1, 54, 55, 56,
734 56, 56, 56, 56, 56, 56, 56, 56, 1, 1,
735 1, 57, 1, 1, 1, 1, 1, 1, 1, 1,
736 1, 1, 1, 58, 1, 1, 1, 1, 59, 60,
737 1, 1, 1, 1, 1, 1, 1, 61, 62, 1,
738 1, 1, 1, 1, 63, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 64, 1, 1, 1, 1, 1, 1,
741
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 65, 66, 67, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
747 1, 1, 1, 1, 1
748 } ;
749
750static const YY_CHAR yy_meta[68] =
751 { 0,
752 1, 2, 3, 1, 4, 1, 2, 1, 1, 1,
753 1, 1, 1, 5, 5, 5, 5, 5, 5, 5,
754 6, 6, 6, 6, 6, 6, 6, 6, 1, 5,
755 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,
756 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
757 6, 6, 6, 1, 1, 1, 1, 1, 1, 1,
758 1, 1, 1, 1, 1, 1, 1
759 } ;
760
761static const flex_int16_t yy_base[413] =
762 { 0,
763 0, 66, 73, 75, 659, 660, 660, 660, 660, 62,
764 68, 73, 80, 82, 89, 0, 614, 70, 614, 626,
765 608, 43, 54, 78, 77, 74, 83, 620, 86, 93,
766 603, 107, 622, 617, 106, 59, 607, 605, 588, 13,
767 64, 593, 140, 145, 608, 585, 98, 105, 590, 0,
768 155, 660, 161, 660, 107, 660, 127, 158, 631, 166,
769 632, 660, 169, 150, 179, 0, 201, 0, 598, 617,
770 590, 603, 145, 593, 583, 586, 590, 584, 591, 588,
771 596, 588, 596, 577, 576, 593, 583, 579, 573, 576,
772 139, 586, 583, 575, 576, 577, 566, 565, 0, 566,
773
774 120, 150, 568, 161, 561, 565, 150, 571, 660, 554,
775 550, 164, 547, 551, 226, 566, 543, 164, 147, 548,
776 558, 234, 546, 542, 189, 539, 543, 0, 247, 660,
777 253, 232, 295, 317, 660, 251, 586, 582, 254, 261,
778 232, 242, 0, 546, 566, 558, 553, 0, 556, 547,
779 0, 541, 546, 552, 544, 536, 553, 548, 532, 549,
780 537, 544, 529, 546, 526, 533, 539, 538, 524, 540,
781 533, 527, 533, 532, 527, 515, 530, 512, 511, 511,
782 512, 509, 519, 522, 521, 520, 515, 519, 660, 660,
783 497, 493, 224, 490, 494, 515, 314, 368, 390, 267,
784
785 270, 660, 280, 289, 497, 496, 0, 501, 510, 504,
786 503, 506, 0, 508, 489, 488, 487, 497, 493, 0,
787 488, 498, 482, 496, 495, 481, 480, 496, 493, 0,
788 0, 492, 474, 478, 483, 476, 481, 484, 483, 467,
789 477, 471, 0, 480, 464, 475, 0, 351, 469, 412,
790 462, 461, 469, 488, 457, 473, 473, 472, 0, 457,
791 466, 455, 464, 448, 0, 0, 449, 453, 456, 458,
792 461, 438, 441, 0, 446, 458, 444, 439, 442, 437,
793 0, 451, 446, 447, 431, 436, 428, 0, 427, 438,
794 426, 430, 430, 413, 414, 424, 394, 393, 396, 0,
795
796 400, 0, 403, 387, 405, 393, 191, 0, 403, 378,
797 373, 379, 380, 0, 0, 373, 362, 349, 361, 361,
798 361, 349, 338, 347, 0, 340, 0, 337, 0, 0,
799 346, 331, 331, 0, 341, 338, 341, 321, 328, 0,
800 315, 334, 332, 330, 0, 326, 330, 328, 312, 324,
801 0, 310, 322, 0, 307, 303, 296, 310, 0, 302,
802 308, 0, 0, 0, 0, 303, 308, 0, 660, 295,
803 0, 289, 0, 270, 0, 273, 0, 278, 270, 274,
804 258, 259, 250, 0, 0, 255, 243, 224, 230, 0,
805 213, 194, 206, 0, 200, 199, 0, 173, 0, 126,
806
807 137, 101, 0, 73, 0, 660, 447, 453, 455, 461,
808 467, 94
809 } ;
810
811static const flex_int16_t yy_def[413] =
812 { 0,
813 406, 1, 407, 407, 406, 406, 406, 406, 406, 408,
814 406, 406, 406, 406, 406, 409, 409, 409, 409, 409,
815 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
816 409, 409, 409, 409, 409, 409, 409, 409, 406, 406,
817 406, 406, 406, 406, 406, 406, 406, 406, 406, 410,
818 406, 406, 410, 406, 408, 406, 408, 406, 406, 406,
819 411, 406, 406, 406, 406, 412, 406, 409, 409, 409,
820 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
821 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
822 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
823
824 409, 409, 409, 409, 409, 409, 409, 409, 406, 406,
825 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
826 406, 406, 406, 406, 406, 406, 406, 410, 406, 406,
827 410, 408, 408, 133, 406, 406, 411, 411, 406, 406,
828 406, 406, 412, 409, 409, 409, 409, 409, 409, 409,
829 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
830 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
831 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
832 409, 409, 409, 409, 409, 409, 409, 409, 406, 406,
833 406, 406, 406, 406, 406, 406, 406, 133, 133, 406,
834
835 406, 406, 406, 406, 409, 409, 409, 409, 409, 409,
836 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
837 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
838 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
839 409, 409, 409, 409, 409, 409, 409, 406, 406, 133,
840 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
841 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
842 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
843 409, 409, 409, 409, 409, 409, 406, 199, 409, 409,
844 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
845
846 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
847 409, 409, 409, 409, 409, 409, 409, 409, 409, 406,
848 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
849 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
850 409, 409, 409, 409, 409, 409, 409, 406, 409, 409,
851 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
852 409, 409, 409, 409, 409, 409, 409, 409, 406, 409,
853 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
854 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
855 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
856
857 409, 409, 409, 409, 409, 0, 406, 406, 406, 406,
858 406, 406
859 } ;
860
861static const flex_int16_t yy_nxt[728] =
862 { 0,
863 6, 7, 8, 9, 8, 7, 10, 6, 6, 6,
864 11, 12, 13, 14, 15, 15, 16, 17, 18, 16,
865 16, 19, 16, 20, 16, 21, 16, 16, 6, 22,
866 23, 24, 25, 26, 27, 28, 16, 29, 16, 16,
867 30, 16, 31, 32, 33, 16, 34, 35, 36, 37,
868 38, 16, 16, 6, 6, 6, 6, 6, 6, 6,
869 6, 6, 6, 39, 40, 41, 42, 43, 56, 44,
870 110, 43, 111, 45, 51, 52, 51, 52, 53, 54,
871 53, 54, 58, 58, 59, 75, 60, 60, 60, 61,
872 57, 76, 62, 63, 70, 64, 64, 77, 143, 71,
873
874 63, 65, 67, 67, 67, 105, 78, 79, 65, 66,
875 82, 106, 87, 56, 83, 65, 85, 112, 113, 405,
876 84, 80, 65, 88, 81, 86, 93, 90, 91, 46,
877 47, 48, 49, 66, 92, 57, 94, 96, 97, 102,
878 132, 115, 103, 115, 404, 115, 115, 116, 115, 177,
879 115, 98, 116, 99, 104, 123, 129, 124, 125, 126,
880 129, 130, 129, 64, 64, 178, 131, 130, 148, 63,
881 403, 67, 67, 67, 402, 167, 133, 65, 134, 60,
882 60, 60, 139, 139, 139, 136, 149, 168, 140, 141,
883 182, 65, 142, 142, 142, 179, 186, 187, 180, 136,
884
885 193, 194, 140, 117, 118, 119, 120, 183, 117, 118,
886 119, 120, 63, 401, 67, 67, 67, 189, 189, 189,
887 65, 191, 337, 192, 190, 190, 189, 115, 338, 115,
888 400, 115, 399, 116, 65, 115, 398, 115, 56, 115,
889 397, 116, 197, 197, 197, 142, 142, 142, 129, 190,
890 190, 197, 129, 130, 129, 142, 142, 142, 131, 130,
891 57, 200, 396, 395, 201, 201, 201, 139, 139, 139,
892 394, 203, 393, 140, 204, 204, 204, 248, 248, 248,
893 201, 201, 201, 201, 201, 201, 248, 140, 392, 117,
894 118, 119, 120, 204, 204, 204, 391, 117, 118, 119,
895
896 120, 56, 204, 204, 204, 390, 389, 388, 198, 198,
897 198, 198, 198, 198, 198, 115, 387, 115, 386, 115,
898 385, 116, 384, 57, 198, 198, 198, 198, 198, 198,
899 199, 199, 199, 199, 199, 199, 199, 383, 382, 381,
900 380, 379, 378, 377, 376, 375, 199, 199, 199, 199,
901 199, 199, 115, 374, 115, 373, 115, 372, 116, 371,
902 370, 369, 368, 367, 366, 365, 364, 363, 362, 361,
903 360, 359, 358, 357, 356, 355, 354, 117, 118, 119,
904 120, 250, 250, 250, 250, 250, 250, 250, 353, 352,
905 351, 350, 349, 348, 347, 346, 345, 250, 250, 250,
906
907 250, 250, 250, 132, 132, 132, 132, 132, 132, 132,
908 344, 343, 342, 341, 117, 118, 119, 120, 340, 132,
909 132, 132, 132, 132, 132, 288, 288, 288, 288, 288,
910 288, 288, 339, 336, 335, 334, 333, 332, 331, 330,
911 329, 288, 288, 288, 288, 288, 288, 50, 50, 50,
912 50, 50, 50, 55, 55, 328, 327, 55, 55, 68,
913 68, 128, 326, 325, 128, 128, 128, 137, 137, 137,
914 137, 137, 137, 324, 323, 322, 321, 320, 319, 318,
915 317, 316, 315, 314, 313, 312, 311, 310, 309, 308,
916 307, 306, 305, 304, 303, 302, 301, 300, 299, 298,
917
918 297, 296, 295, 294, 293, 292, 291, 290, 289, 287,
919 286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
920 276, 275, 274, 273, 272, 271, 270, 269, 268, 267,
921 266, 265, 264, 263, 262, 261, 260, 259, 258, 257,
922 256, 255, 254, 253, 252, 251, 249, 248, 248, 248,
923 248, 247, 246, 245, 244, 243, 242, 241, 240, 239,
924 238, 237, 236, 235, 234, 233, 232, 231, 230, 229,
925 228, 227, 226, 225, 224, 223, 222, 221, 220, 219,
926 218, 217, 216, 215, 214, 213, 212, 211, 210, 209,
927 208, 207, 206, 205, 202, 138, 197, 197, 197, 197,
928
929 196, 195, 115, 121, 189, 189, 189, 189, 188, 185,
930 184, 181, 176, 175, 174, 173, 172, 171, 170, 169,
931 166, 165, 164, 163, 162, 161, 160, 159, 158, 157,
932 156, 155, 154, 153, 152, 151, 150, 147, 146, 145,
933 144, 138, 135, 127, 122, 121, 114, 109, 108, 107,
934 101, 100, 95, 89, 74, 73, 72, 69, 406, 5,
935 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
936 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
937 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
938 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
939
940 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
941 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
942 406, 406, 406, 406, 406, 406, 406
943 } ;
944
945static const flex_int16_t yy_chk[728] =
946 { 0,
947 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
948 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
949 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
952 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
953 1, 1, 1, 1, 1, 1, 1, 2, 10, 2,
954 40, 2, 40, 2, 3, 3, 4, 4, 3, 3,
955 4, 4, 11, 11, 12, 22, 12, 12, 12, 13,
956 10, 22, 13, 14, 18, 14, 14, 23, 412, 18,
957
958 15, 14, 15, 15, 15, 36, 23, 24, 15, 14,
959 25, 36, 27, 55, 25, 14, 26, 41, 41, 404,
960 25, 24, 15, 27, 24, 26, 30, 29, 29, 2,
961 2, 2, 2, 14, 29, 55, 30, 32, 32, 35,
962 57, 43, 35, 43, 402, 43, 44, 43, 44, 101,
963 44, 32, 44, 32, 35, 47, 51, 47, 48, 48,
964 51, 51, 53, 64, 64, 101, 53, 53, 73, 58,
965 401, 58, 58, 58, 400, 91, 57, 58, 57, 60,
966 60, 60, 63, 63, 63, 60, 73, 91, 63, 65,
967 104, 58, 65, 65, 65, 102, 107, 107, 102, 60,
968
969 119, 119, 63, 43, 43, 43, 43, 104, 44, 44,
970 44, 44, 67, 398, 67, 67, 67, 112, 112, 112,
971 67, 118, 307, 118, 112, 112, 112, 115, 307, 115,
972 396, 115, 395, 115, 67, 122, 393, 122, 132, 122,
973 392, 122, 125, 125, 125, 141, 141, 141, 129, 125,
974 125, 125, 129, 129, 131, 142, 142, 142, 131, 131,
975 132, 136, 391, 389, 136, 136, 136, 139, 139, 139,
976 388, 140, 387, 139, 140, 140, 140, 193, 193, 193,
977 200, 200, 200, 201, 201, 201, 193, 139, 386, 115,
978 115, 115, 115, 203, 203, 203, 383, 122, 122, 122,
979
980 122, 133, 204, 204, 204, 382, 381, 380, 133, 133,
981 133, 133, 133, 133, 133, 197, 379, 197, 378, 197,
982 376, 197, 374, 133, 133, 133, 133, 133, 133, 133,
983 134, 134, 134, 134, 134, 134, 134, 372, 370, 367,
984 366, 361, 360, 358, 357, 356, 134, 134, 134, 134,
985 134, 134, 248, 355, 248, 353, 248, 352, 248, 350,
986 349, 348, 347, 346, 344, 343, 342, 341, 339, 338,
987 337, 336, 335, 333, 332, 331, 328, 197, 197, 197,
988 197, 198, 198, 198, 198, 198, 198, 198, 326, 324,
989 323, 322, 321, 320, 319, 318, 317, 198, 198, 198,
990
991 198, 198, 198, 199, 199, 199, 199, 199, 199, 199,
992 316, 313, 312, 311, 248, 248, 248, 248, 310, 199,
993 199, 199, 199, 199, 199, 250, 250, 250, 250, 250,
994 250, 250, 309, 306, 305, 304, 303, 301, 299, 298,
995 297, 250, 250, 250, 250, 250, 250, 407, 407, 407,
996 407, 407, 407, 408, 408, 296, 295, 408, 408, 409,
997 409, 410, 294, 293, 410, 410, 410, 411, 411, 411,
998 411, 411, 411, 292, 291, 290, 289, 287, 286, 285,
999 284, 283, 282, 280, 279, 278, 277, 276, 275, 273,
1000 272, 271, 270, 269, 268, 267, 264, 263, 262, 261,
1001
1002 260, 258, 257, 256, 255, 254, 253, 252, 251, 249,
1003 246, 245, 244, 242, 241, 240, 239, 238, 237, 236,
1004 235, 234, 233, 232, 229, 228, 227, 226, 225, 224,
1005 223, 222, 221, 219, 218, 217, 216, 215, 214, 212,
1006 211, 210, 209, 208, 206, 205, 196, 195, 194, 192,
1007 191, 188, 187, 186, 185, 184, 183, 182, 181, 180,
1008 179, 178, 177, 176, 175, 174, 173, 172, 171, 170,
1009 169, 168, 167, 166, 165, 164, 163, 162, 161, 160,
1010 159, 158, 157, 156, 155, 154, 153, 152, 150, 149,
1011 147, 146, 145, 144, 138, 137, 127, 126, 124, 123,
1012
1013 121, 120, 117, 116, 114, 113, 111, 110, 108, 106,
1014 105, 103, 100, 98, 97, 96, 95, 94, 93, 92,
1015 90, 89, 88, 87, 86, 85, 84, 83, 82, 81,
1016 80, 79, 78, 77, 76, 75, 74, 72, 71, 70,
1017 69, 61, 59, 49, 46, 45, 42, 39, 38, 37,
1018 34, 33, 31, 28, 21, 20, 19, 17, 5, 406,
1019 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1020 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1021 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1022 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1023
1024 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1025 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1026 406, 406, 406, 406, 406, 406, 406
1027 } ;
1028
1029/* Table of booleans, true if rule could match eol. */
1030static const flex_int32_t yy_rule_can_match_eol[65] =
1031 { 0,
10320, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
1035 0, 0, 0, 1, 0, };
1036
1037static yy_state_type yy_last_accepting_state;
1038static char *yy_last_accepting_cpos;
1039
1040extern int yy_flex_debug;
1042
1043/* The intent behind this definition is that it'll catch
1044 * any uses of REJECT which flex missed.
1045 */
1046#define REJECT reject_used_but_not_detected
1047#define yymore() yymore_used_but_not_detected
1048#define YY_MORE_ADJ 0
1049#define YY_RESTORE_YY_MORE_OFFSET
1051#line 1 "src/webidl-lexer.l"
1052#line 2 "src/webidl-lexer.l"
1053
1054/* This is a unicode tolerant lexer for web IDL
1055 *
1056 * This file is part of nsgenbind.
1057 * Licensed under the MIT License,
1058 * http://www.opensource.org/licenses/mit-license.php
1059 * Copyright 2012 Vincent Sanders <vince@netsurf-browser.org>
1060 *
1061 * Derived from:
1062 *
1063 * W3C WEB IDL - http://www.w3.org/TR/WebIDL/ (especially the grammar
1064 * in apendix A)
1065 *
1066 * The ECMA script spec -
1067 * http://ecma-international.org/ecma-262/5.1/#sec-7.2 (expecially
1068 * section 7.2 for unicode value handling)
1069 */
1070
1071#include <stdbool.h>
1072#include <stdio.h>
1073#include <string.h>
1074
1075#include "webidl-parser.h"
1076
1077#define YY_USER_ACTION yylloc->first_line = yylloc->last_line; \
1078 yylloc->first_column = yylloc->last_column + 1; \
1079 yylloc->last_column += yyleng;
1080
1081/* Ensure compatability with bison 2.6 and later */
1082#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED && defined WEBIDL_STYPE_IS_DECLARED
1083#define YYSTYPE WEBIDL_STYPE
1084#endif
1085
1086#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED && defined WEBIDL_LTYPE_IS_DECLARED
1087#define YYLTYPE WEBIDL_LTYPE
1088#endif
1089
1090#line 1091 "build-x86_64-linux-gnu-x86_64-linux-gnu-release-binary/webidl-lexer.c"
1091/* lexer options */
1092/* regular definitions */
1093#line 55 "src/webidl-lexer.l"
1094 /* ecmascript section 7.2 defines whitespace http://ecma-international.org/ecma-262/5.1/#sec-7.2
1095 * Web IDL appendix A has the IDL grammar http://www.w3.org/TR/WebIDL/#idl-grammar
1096 */
1097 /* we do not define space, line feed, carriage return, tab, vertical
1098 * tab or form feed here as they are the standard C escapes
1099 */
1100 /* other Unicode “space separator” */
1101/* Line separator \u2028 */
1102/* paragraph separator \u2029 */
1103/* non breaking space \u00A0 */
1104/* web idl grammar for whitespace matches single and multiline
1105 * comments too. Here there are separate definitions for both single
1106 * and multiline comments.
1107 */
1108/* integer numbers in hexidecimal, decimal and octal, slight extension
1109 * to spec which only allows for decimal values
1110 */
1111/* decimal floating point number */
1112/* quoted string. spec simply has "[^"]*" but here escapes are allowed for */
1113/* web idl identifier direct from spec */
1114/* web idl other direct from spec */
1115/* used for #include directive - not part of web idl spec */
1116
1117#line 1118 "build-x86_64-linux-gnu-x86_64-linux-gnu-release-binary/webidl-lexer.c"
1118
1119#define INITIAL 0
1120#define incl 1
1121
1122#ifndef YY_NO_UNISTD_H
1123/* Special case for "unistd.h", since it is non-ANSI. We include it way
1124 * down here because we want the user's section 1 to have been scanned first.
1125 * The user has a chance to override it with an option.
1126 */
1127#include <unistd.h>
1128#endif
1129
1130#ifndef YY_EXTRA_TYPE
1131#define YY_EXTRA_TYPE void *
1132#endif
1133
1134static int yy_init_globals ( void );
1135
1136/* Accessor methods to globals.
1137 These are made visible to non-reentrant scanners for convenience. */
1138
1139int yylex_destroy ( void );
1140
1141int yyget_debug ( void );
1142
1143void yyset_debug ( int debug_flag );
1144
1145YY_EXTRA_TYPE yyget_extra ( void );
1146
1147void yyset_extra ( YY_EXTRA_TYPE user_defined );
1148
1149FILE *yyget_in ( void );
1150
1151void yyset_in ( FILE * _in_str );
1152
1153FILE *yyget_out ( void );
1154
1155void yyset_out ( FILE * _out_str );
1156
1157 int yyget_leng ( void );
1158
1159char *yyget_text ( void );
1160
1161int yyget_lineno ( void );
1162
1163void yyset_lineno ( int _line_number );
1164
1165YYSTYPE * yyget_lval ( void );
1166
1167void yyset_lval ( YYSTYPE * yylval_param );
1168
1169 YYLTYPE *yyget_lloc ( void );
1170
1171 void yyset_lloc ( YYLTYPE * yylloc_param );
1172
1173/* Macros after this point can all be overridden by user definitions in
1174 * section 1.
1175 */
1176
1177#ifndef YY_SKIP_YYWRAP
1178#ifdef __cplusplus
1179extern "C" int yywrap ( void );
1180#else
1181extern int yywrap ( void );
1182#endif
1183#endif
1184
1185#ifndef YY_NO_UNPUT
1186
1187#endif
1188
1189#ifndef yytext_ptr
1190static void yy_flex_strncpy ( char *, const char *, int );
1191#endif
1192
1193#ifdef YY_NEED_STRLEN
1194static int yy_flex_strlen ( const char * );
1195#endif
1196
1197#ifndef YY_NO_INPUT
1198#ifdef __cplusplus
1199static int yyinput ( void );
1200#else
1201static int input ( void );
1202#endif
1203
1204#endif
1205
1206/* Amount of stuff to slurp up with each read. */
1207#ifndef YY_READ_BUF_SIZE
1208#ifdef __ia64__
1209/* On IA-64, the buffer size is 16k, not 8k */
1210#define YY_READ_BUF_SIZE 16384
1211#else
1212#define YY_READ_BUF_SIZE 8192
1213#endif /* __ia64__ */
1214#endif
1215
1216/* Copy whatever the last rule matched to the standard output. */
1217#ifndef ECHO
1218/* This used to be an fputs(), but since the string might contain NUL's,
1219 * we now use fwrite().
1220 */
1221#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1222#endif
1223
1224/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1225 * is returned in "result".
1226 */
1227#ifndef YY_INPUT
1228#define YY_INPUT(buf,result,max_size) \
1229 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1230 { \
1231 int c = '*'; \
1232 int n; \
1233 for ( n = 0; n < max_size && \
1234 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1235 buf[n] = (char) c; \
1236 if ( c == '\n' ) \
1237 buf[n++] = (char) c; \
1238 if ( c == EOF && ferror( yyin ) ) \
1239 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1240 result = n; \
1241 } \
1242 else \
1243 { \
1244 errno=0; \
1245 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1246 { \
1247 if( errno != EINTR) \
1248 { \
1249 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1250 break; \
1251 } \
1252 errno=0; \
1253 clearerr(yyin); \
1254 } \
1255 }\
1256\
1257
1258#endif
1259
1260/* No semi-colon after return; correct usage is to write "yyterminate();" -
1261 * we don't want an extra ';' after the "return" because that will cause
1262 * some compilers to complain about unreachable statements.
1263 */
1264#ifndef yyterminate
1265#define yyterminate() return YY_NULL
1266#endif
1267
1268/* Number of entries by which start-condition stack grows. */
1269#ifndef YY_START_STACK_INCR
1270#define YY_START_STACK_INCR 25
1271#endif
1272
1273/* Report a fatal error. */
1274#ifndef YY_FATAL_ERROR
1275#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1276#endif
1277
1278/* end tables serialization structures and prototypes */
1279
1280/* Default declaration of generated scanner - a define so the user can
1281 * easily add parameters.
1282 */
1283#ifndef YY_DECL
1284#define YY_DECL_IS_OURS 1
1285
1286extern int yylex \
1287 (YYSTYPE * yylval_param, YYLTYPE * yylloc_param );
1288
1289#define YY_DECL int yylex \
1290 (YYSTYPE * yylval_param, YYLTYPE * yylloc_param )
1291#endif /* !YY_DECL */
1292
1293/* Code executed at the beginning of each rule, after yytext and yyleng
1294 * have been set up.
1295 */
1296#ifndef YY_USER_ACTION
1297#define YY_USER_ACTION
1298#endif
1299
1300/* Code executed at the end of each rule. */
1301#ifndef YY_BREAK
1302#define YY_BREAK /*LINTED*/break;
1303#endif
1304
1305#define YY_RULE_SETUP \
1306 if ( yyleng > 0 ) \
1307 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1308 (yytext[yyleng - 1] == '\n'); \
1309 YY_USER_ACTION
1310
1314{
1315 yy_state_type yy_current_state;
1316 char *yy_cp, *yy_bp;
1318
1320
1322
1323 yylval = yylval_param;
1324
1325 yylloc = yylloc_param;
1326
1327 if ( !(yy_init) )
1328 {
1329 (yy_init) = 1;
1330
1331#ifdef YY_USER_INIT
1332 YY_USER_INIT;
1333#endif
1334
1335 if ( ! (yy_start) )
1336 (yy_start) = 1; /* first start state */
1337
1338 if ( ! yyin )
1339 yyin = stdin;
1340
1341 if ( ! yyout )
1342 yyout = stdout;
1343
1344 if ( ! YY_CURRENT_BUFFER ) {
1348 }
1349
1351 }
1352
1353 {
1354#line 115 "src/webidl-lexer.l"
1355
1356
1357#line 1358 "build-x86_64-linux-gnu-x86_64-linux-gnu-release-binary/webidl-lexer.c"
1358
1359 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1360 {
1361 yy_cp = (yy_c_buf_p);
1362
1363 /* Support of yytext. */
1364 *yy_cp = (yy_hold_char);
1365
1366 /* yy_bp points to the position in yy_ch_buf of the start of
1367 * the current run.
1368 */
1369 yy_bp = yy_cp;
1370
1371 yy_current_state = (yy_start);
1372 yy_current_state += YY_AT_BOL();
1373yy_match:
1374 do
1375 {
1376 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1377 if ( yy_accept[yy_current_state] )
1378 {
1379 (yy_last_accepting_state) = yy_current_state;
1380 (yy_last_accepting_cpos) = yy_cp;
1381 }
1382 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1383 {
1384 yy_current_state = (int) yy_def[yy_current_state];
1385 if ( yy_current_state >= 407 )
1386 yy_c = yy_meta[yy_c];
1387 }
1388 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1389 ++yy_cp;
1390 }
1391 while ( yy_current_state != 406 );
1392 yy_cp = (yy_last_accepting_cpos);
1393 yy_current_state = (yy_last_accepting_state);
1394
1395yy_find_action:
1396 yy_act = yy_accept[yy_current_state];
1397
1399
1400 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1401 {
1402 int yyl;
1403 for ( yyl = 0; yyl < yyleng; ++yyl )
1404 if ( yytext[yyl] == '\n' )
1405
1406 yylineno++;
1407;
1408 }
1409
1410do_action: /* This label is used only to access EOF actions. */
1411
1412 switch ( yy_act )
1413 { /* beginning of action switch */
1414 case 0: /* must back up */
1415 /* undo the effects of YY_DO_BEFORE_ACTION */
1416 *yy_cp = (yy_hold_char);
1417 yy_cp = (yy_last_accepting_cpos);
1418 yy_current_state = (yy_last_accepting_state);
1419 goto yy_find_action;
1420
1421case 1:
1423#line 117 "src/webidl-lexer.l"
1424++yylloc->last_column; /* skip whitespace */
1425 YY_BREAK
1426case 2:
1427/* rule 2 can match eol */
1429#line 119 "src/webidl-lexer.l"
1430if (yytext[0] != '\r') {
1431 /* update position counts */
1432 ++yylloc->last_line;
1433 yylloc->last_column = 0;
1434 }
1435 YY_BREAK
1436/* Simple text terminals */
1437case 3:
1439#line 127 "src/webidl-lexer.l"
1440return TOK_BOOLEAN;
1441 YY_BREAK
1442case 4:
1444#line 129 "src/webidl-lexer.l"
1445return TOK_BYTE;
1446 YY_BREAK
1447case 5:
1449#line 131 "src/webidl-lexer.l"
1450return TOK_OCTET;
1451 YY_BREAK
1452case 6:
1454#line 133 "src/webidl-lexer.l"
1455return TOK_ATTRIBUTE;
1456 YY_BREAK
1457case 7:
1459#line 135 "src/webidl-lexer.l"
1460return TOK_CALLBACK;
1461 YY_BREAK
1462case 8:
1464#line 137 "src/webidl-lexer.l"
1465return TOK_CONST;
1466 YY_BREAK
1467case 9:
1469#line 139 "src/webidl-lexer.l"
1470return TOK_CREATOR;
1471 YY_BREAK
1472case 10:
1474#line 141 "src/webidl-lexer.l"
1475return TOK_DELETER;
1476 YY_BREAK
1477case 11:
1479#line 143 "src/webidl-lexer.l"
1480return TOK_DICTIONARY;
1481 YY_BREAK
1482case 12:
1484#line 145 "src/webidl-lexer.l"
1485return TOK_ENUM;
1486 YY_BREAK
1487case 13:
1489#line 147 "src/webidl-lexer.l"
1490return TOK_EXCEPTION;
1491 YY_BREAK
1492case 14:
1494#line 149 "src/webidl-lexer.l"
1495return TOK_GETTER;
1496 YY_BREAK
1497case 15:
1499#line 151 "src/webidl-lexer.l"
1500return TOK_IMPLEMENTS;
1501 YY_BREAK
1502case 16:
1504#line 153 "src/webidl-lexer.l"
1505return TOK_INHERIT;
1506 YY_BREAK
1507case 17:
1509#line 155 "src/webidl-lexer.l"
1510return TOK_INTERFACE;
1511 YY_BREAK
1512case 18:
1514#line 157 "src/webidl-lexer.l"
1515return TOK_LEGACYCALLER;
1516 YY_BREAK
1517case 19:
1519#line 159 "src/webidl-lexer.l"
1520return TOK_PARTIAL;
1521 YY_BREAK
1522case 20:
1524#line 161 "src/webidl-lexer.l"
1525return TOK_SETTER;
1526 YY_BREAK
1527case 21:
1529#line 163 "src/webidl-lexer.l"
1530return TOK_STATIC;
1531 YY_BREAK
1532case 22:
1534#line 165 "src/webidl-lexer.l"
1535return TOK_STRINGIFIER;
1536 YY_BREAK
1537case 23:
1539#line 167 "src/webidl-lexer.l"
1540return TOK_TYPEDEF;
1541 YY_BREAK
1542case 24:
1544#line 169 "src/webidl-lexer.l"
1545return TOK_UNRESTRICTED;
1546 YY_BREAK
1547case 25:
1549#line 171 "src/webidl-lexer.l"
1550return TOK_ELLIPSIS;
1551 YY_BREAK
1552case 26:
1554#line 173 "src/webidl-lexer.l"
1555return TOK_DATE;
1556 YY_BREAK
1557case 27:
1559#line 175 "src/webidl-lexer.l"
1560return TOK_STRING; /* dom strings are just strings */
1561 YY_BREAK
1562case 28:
1564#line 177 "src/webidl-lexer.l"
1565return TOK_INFINITY;
1566 YY_BREAK
1567case 29:
1569#line 179 "src/webidl-lexer.l"
1570return TOK_NAN;
1571 YY_BREAK
1572case 30:
1574#line 181 "src/webidl-lexer.l"
1575return TOK_ANY;
1576 YY_BREAK
1577case 31:
1579#line 183 "src/webidl-lexer.l"
1580return TOK_DOUBLE;
1581 YY_BREAK
1582case 32:
1584#line 185 "src/webidl-lexer.l"
1585return TOK_FALSE;
1586 YY_BREAK
1587case 33:
1589#line 187 "src/webidl-lexer.l"
1590return TOK_FLOAT;
1591 YY_BREAK
1592case 34:
1594#line 189 "src/webidl-lexer.l"
1595return TOK_LONG;
1596 YY_BREAK
1597case 35:
1599#line 191 "src/webidl-lexer.l"
1600return TOK_NULL_LITERAL;
1601 YY_BREAK
1602case 36:
1604#line 193 "src/webidl-lexer.l"
1605yylval->text = strdup(yytext); return TOK_IDENTIFIER;
1606 YY_BREAK
1607case 37:
1609#line 195 "src/webidl-lexer.l"
1610return TOK_OR;
1611 YY_BREAK
1612case 38:
1614#line 197 "src/webidl-lexer.l"
1615return TOK_OPTIONAL;
1616 YY_BREAK
1617case 39:
1619#line 199 "src/webidl-lexer.l"
1620return TOK_SEQUENCE;
1621 YY_BREAK
1622case 40:
1624#line 201 "src/webidl-lexer.l"
1625return TOK_SHORT;
1626 YY_BREAK
1627case 41:
1629#line 203 "src/webidl-lexer.l"
1630return TOK_TRUE;
1631 YY_BREAK
1632case 42:
1634#line 205 "src/webidl-lexer.l"
1635return TOK_UNSIGNED;
1636 YY_BREAK
1637case 43:
1639#line 207 "src/webidl-lexer.l"
1640return TOK_VOID;
1641 YY_BREAK
1642case 44:
1644#line 209 "src/webidl-lexer.l"
1645return TOK_READONLY;
1646 YY_BREAK
1647case 45:
1649#line 211 "src/webidl-lexer.l"
1650return TOK_PROMISE;
1651 YY_BREAK
1652case 46:
1654#line 213 "src/webidl-lexer.l"
1655return TOK_ITERABLE;
1656 YY_BREAK
1657case 47:
1659#line 215 "src/webidl-lexer.l"
1660return TOK_LEGACYITERABLE;
1661 YY_BREAK
1662case 48:
1664#line 217 "src/webidl-lexer.l"
1665return TOK_REQUIRED;
1666 YY_BREAK
1667case 49:
1669#line 219 "src/webidl-lexer.l"
1670return TOK_CONSTRUCTOR;
1671 YY_BREAK
1672case 50:
1674#line 221 "src/webidl-lexer.l"
1676 YY_BREAK
1677case 51:
1679#line 223 "src/webidl-lexer.l"
1680{
1681 /* A leading "_" is used to escape an identifier from
1682 * looking like a reserved word terminal. */
1683 yylval->text = (yytext[0] == '_') ? strdup(yytext + 1) : strdup(yytext);
1684 return TOK_IDENTIFIER;
1685 }
1686 YY_BREAK
1687case 52:
1689#line 230 "src/webidl-lexer.l"
1690yylval->value = strtol(yytext, NULL, 10); return TOK_INT_LITERAL;
1691 YY_BREAK
1692case 53:
1694#line 232 "src/webidl-lexer.l"
1695yylval->value = strtol(yytext, NULL, 8); return TOK_INT_LITERAL;
1696 YY_BREAK
1697case 54:
1699#line 234 "src/webidl-lexer.l"
1700yylval->value = strtol(yytext, NULL, 16); return TOK_INT_LITERAL;
1701 YY_BREAK
1702case 55:
1704#line 236 "src/webidl-lexer.l"
1705yylval->text = strdup(yytext); return TOK_FLOAT_LITERAL;
1706 YY_BREAK
1707case 56:
1709#line 238 "src/webidl-lexer.l"
1710yylval->text = strdup(yytext + 1); *(yylval->text + yyleng - 2) = 0; return TOK_STRING_LITERAL;
1711 YY_BREAK
1712case 57:
1713/* rule 57 can match eol */
1715#line 240 "src/webidl-lexer.l"
1716{
1717 /* multicomment */
1718 char* s = yytext;
1719 for (; *s; ++s)
1720 {
1721 if (*s == '\n')
1722 {
1723 ++yylloc->last_line;
1724 yylloc->last_column = 0;
1725 }
1726 else
1727 {
1729 }
1730 }
1731 if (strncmp(yytext, "/**", 3) == 0)
1732 {
1733 /* Javadoc style comment */
1734 yylval->text = strdup(yytext);
1735 return TOK_JAVADOC;
1736 }
1737 }
1738 YY_BREAK
1739case 58:
1741#line 263 "src/webidl-lexer.l"
1742{
1743 /* singlecomment */
1744 int c;
1745
1746 do {
1747 c = input();
1748 } while (c != '\n' && c != '\r' && c != EOF);
1749 ++yylloc->last_line;
1750 yylloc->last_column = 0;
1751 }
1752 YY_BREAK
1753case 59:
1755#line 276 "src/webidl-lexer.l"
1756BEGIN(incl);
1757 YY_BREAK
1758case 60:
1760#line 278 "src/webidl-lexer.l"
1761return (int) yytext[0];
1762 YY_BREAK
1763case 61:
1765#line 280 "src/webidl-lexer.l"
1766/* eat the whitespace and open quotes */
1767 YY_BREAK
1768case 62:
1770#line 282 "src/webidl-lexer.l"
1771{
1772 /* got the include file name */
1773 yyin = fopen( yytext, "r" );
1774
1775 if ( ! yyin ) {
1776 fprintf(stderr, "Unable to open include %s\n", yytext);
1777 exit(3);
1778 }
1780
1781 BEGIN(INITIAL);
1782 }
1783 YY_BREAK
1784case 63:
1785/* rule 63 can match eol */
1787#line 295 "src/webidl-lexer.l"
1788BEGIN(INITIAL);
1789 YY_BREAK
1790case YY_STATE_EOF(INITIAL):
1791case YY_STATE_EOF(incl):
1792#line 297 "src/webidl-lexer.l"
1793{
1795
1796 if ( !YY_CURRENT_BUFFER ) {
1797 yyterminate();
1798 } else {
1799 BEGIN(incl);
1800 }
1801
1802 }
1803 YY_BREAK
1804case 64:
1806#line 309 "src/webidl-lexer.l"
1807ECHO;
1808 YY_BREAK
1809#line 1810 "build-x86_64-linux-gnu-x86_64-linux-gnu-release-binary/webidl-lexer.c"
1810
1811 case YY_END_OF_BUFFER:
1812 {
1813 /* Amount of text matched not including the EOB char. */
1814 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1815
1816 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1817 *yy_cp = (yy_hold_char);
1819
1820 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1821 {
1822 /* We're scanning a new file or input source. It's
1823 * possible that this happened because the user
1824 * just pointed yyin at a new source and called
1825 * yylex(). If so, then we have to assure
1826 * consistency between YY_CURRENT_BUFFER and our
1827 * globals. Here is the right place to do so, because
1828 * this is the first action (other than possibly a
1829 * back-up) that will match for the new input source.
1830 */
1831 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1832 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1833 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1834 }
1835
1836 /* Note that here we test for yy_c_buf_p "<=" to the position
1837 * of the first EOB in the buffer, since yy_c_buf_p will
1838 * already have been incremented past the NUL character
1839 * (since all states make transitions on EOB to the
1840 * end-of-buffer state). Contrast this with the test
1841 * in input().
1842 */
1843 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1844 { /* This was really a NUL. */
1845 yy_state_type yy_next_state;
1846
1847 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1848
1849 yy_current_state = yy_get_previous_state( );
1850
1851 /* Okay, we're now positioned to make the NUL
1852 * transition. We couldn't have
1853 * yy_get_previous_state() go ahead and do it
1854 * for us because it doesn't know how to deal
1855 * with the possibility of jamming (and we don't
1856 * want to build jamming into it because then it
1857 * will run more slowly).
1858 */
1859
1860 yy_next_state = yy_try_NUL_trans( yy_current_state );
1861
1863
1864 if ( yy_next_state )
1865 {
1866 /* Consume the NUL. */
1867 yy_cp = ++(yy_c_buf_p);
1868 yy_current_state = yy_next_state;
1869 goto yy_match;
1870 }
1871
1872 else
1873 {
1874 yy_cp = (yy_last_accepting_cpos);
1875 yy_current_state = (yy_last_accepting_state);
1876 goto yy_find_action;
1877 }
1878 }
1879
1880 else switch ( yy_get_next_buffer( ) )
1881 {
1883 {
1884 (yy_did_buffer_switch_on_eof) = 0;
1885
1886 if ( yywrap( ) )
1887 {
1888 /* Note: because we've taken care in
1889 * yy_get_next_buffer() to have set up
1890 * yytext, we can now set up
1891 * yy_c_buf_p so that if some total
1892 * hoser (like flex itself) wants to
1893 * call the scanner after we return the
1894 * YY_NULL, it'll still work - another
1895 * YY_NULL will get returned.
1896 */
1897 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1898
1900 goto do_action;
1901 }
1902
1903 else
1904 {
1905 if ( ! (yy_did_buffer_switch_on_eof) )
1907 }
1908 break;
1909 }
1910
1912 (yy_c_buf_p) =
1913 (yytext_ptr) + yy_amount_of_matched_text;
1914
1915 yy_current_state = yy_get_previous_state( );
1916
1917 yy_cp = (yy_c_buf_p);
1919 goto yy_match;
1920
1921 case EOB_ACT_LAST_MATCH:
1922 (yy_c_buf_p) =
1923 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1924
1925 yy_current_state = yy_get_previous_state( );
1926
1927 yy_cp = (yy_c_buf_p);
1929 goto yy_find_action;
1930 }
1931 break;
1932 }
1933
1934 default:
1936 "fatal flex scanner internal error--no action found" );
1937 } /* end of action switch */
1938 } /* end of scanning one token */
1939 } /* end of user's declarations */
1940} /* end of yylex */
1941
1942/* yy_get_next_buffer - try to read in a new buffer
1943 *
1944 * Returns a code representing an action:
1945 * EOB_ACT_LAST_MATCH -
1946 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1947 * EOB_ACT_END_OF_FILE - end of file
1948 */
1949static int yy_get_next_buffer (void)
1950{
1951 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1952 char *source = (yytext_ptr);
1953 int number_to_move, i;
1954 int ret_val;
1955
1956 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1958 "fatal flex scanner internal error--end of buffer missed" );
1959
1960 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1961 { /* Don't try to fill the buffer, so this is an EOF. */
1962 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1963 {
1964 /* We matched a single character, the EOB, so
1965 * treat this as a final EOF.
1966 */
1967 return EOB_ACT_END_OF_FILE;
1968 }
1969
1970 else
1971 {
1972 /* We matched some text prior to the EOB, first
1973 * process it.
1974 */
1975 return EOB_ACT_LAST_MATCH;
1976 }
1977 }
1978
1979 /* Try to read more data. */
1980
1981 /* First move last chars to start of buffer. */
1982 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
1983
1984 for ( i = 0; i < number_to_move; ++i )
1985 *(dest++) = *(source++);
1986
1987 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1988 /* don't do the read, it's not guaranteed to return an EOF,
1989 * just force an EOF
1990 */
1991 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1992
1993 else
1994 {
1995 int num_to_read =
1996 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1997
1998 while ( num_to_read <= 0 )
1999 { /* Not enough room in the buffer - grow it. */
2000
2001 /* just a shorter name for the current buffer */
2003
2004 int yy_c_buf_p_offset =
2005 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2006
2007 if ( b->yy_is_our_buffer )
2008 {
2009 int new_size = b->yy_buf_size * 2;
2010
2011 if ( new_size <= 0 )
2012 b->yy_buf_size += b->yy_buf_size / 8;
2013 else
2014 b->yy_buf_size *= 2;
2015
2016 b->yy_ch_buf = (char *)
2017 /* Include room in for 2 EOB chars. */
2018 yyrealloc( (void *) b->yy_ch_buf,
2019 (yy_size_t) (b->yy_buf_size + 2) );
2020 }
2021 else
2022 /* Can't grow it, we don't own it. */
2023 b->yy_ch_buf = NULL;
2024
2025 if ( ! b->yy_ch_buf )
2027 "fatal error - scanner input buffer overflow" );
2028
2029 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2030
2031 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2032 number_to_move - 1;
2033
2034 }
2035
2036 if ( num_to_read > YY_READ_BUF_SIZE )
2037 num_to_read = YY_READ_BUF_SIZE;
2038
2039 /* Read in more data. */
2040 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2041 (yy_n_chars), num_to_read );
2042
2043 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2044 }
2045
2046 if ( (yy_n_chars) == 0 )
2047 {
2048 if ( number_to_move == YY_MORE_ADJ )
2049 {
2050 ret_val = EOB_ACT_END_OF_FILE;
2051 yyrestart( yyin );
2052 }
2053
2054 else
2055 {
2056 ret_val = EOB_ACT_LAST_MATCH;
2057 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2059 }
2060 }
2061
2062 else
2063 ret_val = EOB_ACT_CONTINUE_SCAN;
2064
2065 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2066 /* Extend the array by 50%, plus the number we really need. */
2067 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2068 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2069 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
2070 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2071 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2072 /* "- 2" to take care of EOB's */
2073 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2074 }
2075
2076 (yy_n_chars) += number_to_move;
2077 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2078 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2079
2080 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2081
2082 return ret_val;
2083}
2084
2085/* yy_get_previous_state - get the state just before the EOB char was reached */
2086
2087 static yy_state_type yy_get_previous_state (void)
2088{
2089 yy_state_type yy_current_state;
2090 char *yy_cp;
2091
2092 yy_current_state = (yy_start);
2093 yy_current_state += YY_AT_BOL();
2094
2095 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2096 {
2097 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2098 if ( yy_accept[yy_current_state] )
2099 {
2100 (yy_last_accepting_state) = yy_current_state;
2101 (yy_last_accepting_cpos) = yy_cp;
2102 }
2103 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2104 {
2105 yy_current_state = (int) yy_def[yy_current_state];
2106 if ( yy_current_state >= 407 )
2107 yy_c = yy_meta[yy_c];
2108 }
2109 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2110 }
2111
2112 return yy_current_state;
2113}
2114
2115/* yy_try_NUL_trans - try to make a transition on the NUL character
2116 *
2117 * synopsis
2118 * next_state = yy_try_NUL_trans( current_state );
2119 */
2120 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2121{
2122 int yy_is_jam;
2123 char *yy_cp = (yy_c_buf_p);
2124
2125 YY_CHAR yy_c = 1;
2126 if ( yy_accept[yy_current_state] )
2127 {
2128 (yy_last_accepting_state) = yy_current_state;
2129 (yy_last_accepting_cpos) = yy_cp;
2130 }
2131 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2132 {
2133 yy_current_state = (int) yy_def[yy_current_state];
2134 if ( yy_current_state >= 407 )
2135 yy_c = yy_meta[yy_c];
2136 }
2137 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2138 yy_is_jam = (yy_current_state == 406);
2139
2140 return yy_is_jam ? 0 : yy_current_state;
2141}
2142
2143#ifndef YY_NO_UNPUT
2144
2145#endif
2146
2147#ifndef YY_NO_INPUT
2148#ifdef __cplusplus
2149 static int yyinput (void)
2150#else
2151 static int input (void)
2152#endif
2153
2154{
2155 int c;
2156
2157 *(yy_c_buf_p) = (yy_hold_char);
2158
2159 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2160 {
2161 /* yy_c_buf_p now points to the character we want to return.
2162 * If this occurs *before* the EOB characters, then it's a
2163 * valid NUL; if not, then we've hit the end of the buffer.
2164 */
2165 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2166 /* This was really a NUL. */
2167 *(yy_c_buf_p) = '\0';
2168
2169 else
2170 { /* need more input */
2171 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2172 ++(yy_c_buf_p);
2173
2174 switch ( yy_get_next_buffer( ) )
2175 {
2176 case EOB_ACT_LAST_MATCH:
2177 /* This happens because yy_g_n_b()
2178 * sees that we've accumulated a
2179 * token and flags that we need to
2180 * try matching the token before
2181 * proceeding. But for input(),
2182 * there's no matching to consider.
2183 * So convert the EOB_ACT_LAST_MATCH
2184 * to EOB_ACT_END_OF_FILE.
2185 */
2186
2187 /* Reset buffer status. */
2188 yyrestart( yyin );
2189
2190 /*FALLTHROUGH*/
2191
2193 {
2194 if ( yywrap( ) )
2195 return 0;
2196
2197 if ( ! (yy_did_buffer_switch_on_eof) )
2199#ifdef __cplusplus
2200 return yyinput();
2201#else
2202 return input();
2203#endif
2204 }
2205
2207 (yy_c_buf_p) = (yytext_ptr) + offset;
2208 break;
2209 }
2210 }
2211 }
2212
2213 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2214 *(yy_c_buf_p) = '\0'; /* preserve yytext */
2215 (yy_hold_char) = *++(yy_c_buf_p);
2216
2217 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2218 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
2219
2220 yylineno++;
2221;
2222
2223 return c;
2224}
2225#endif /* ifndef YY_NO_INPUT */
2226
2232 void yyrestart (FILE * input_file )
2233{
2234
2235 if ( ! YY_CURRENT_BUFFER ){
2239 }
2240
2241 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2243}
2244
2249 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2250{
2251
2252 /* TODO. We should be able to replace this entire function body
2253 * with
2254 * yypop_buffer_state();
2255 * yypush_buffer_state(new_buffer);
2256 */
2258 if ( YY_CURRENT_BUFFER == new_buffer )
2259 return;
2260
2261 if ( YY_CURRENT_BUFFER )
2262 {
2263 /* Flush out information for old buffer. */
2264 *(yy_c_buf_p) = (yy_hold_char);
2265 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2266 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2267 }
2268
2269 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2271
2272 /* We don't actually know whether we did this switch during
2273 * EOF (yywrap()) processing, but the only time this flag
2274 * is looked at is after yywrap() is called, so it's safe
2275 * to go ahead and always set it.
2276 */
2277 (yy_did_buffer_switch_on_eof) = 1;
2278}
2279
2280static void yy_load_buffer_state (void)
2281{
2282 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2283 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2284 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2285 (yy_hold_char) = *(yy_c_buf_p);
2286}
2287
2294 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
2295{
2297
2298 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2299 if ( ! b )
2300 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2301
2302 b->yy_buf_size = size;
2303
2304 /* yy_ch_buf has to be 2 characters longer than the size given because
2305 * we need to put in 2 end-of-buffer characters.
2306 */
2307 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2308 if ( ! b->yy_ch_buf )
2309 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2310
2311 b->yy_is_our_buffer = 1;
2312
2313 yy_init_buffer( b, file );
2314
2315 return b;
2316}
2317
2323{
2324
2325 if ( ! b )
2326 return;
2327
2328 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2330
2331 if ( b->yy_is_our_buffer )
2332 yyfree( (void *) b->yy_ch_buf );
2333
2334 yyfree( (void *) b );
2335}
2336
2337/* Initializes or reinitializes a buffer.
2338 * This function is sometimes called more than once on the same buffer,
2339 * such as during a yyrestart() or at EOF.
2340 */
2341 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2342
2343{
2344 int oerrno = errno;
2345
2346 yy_flush_buffer( b );
2347
2348 b->yy_input_file = file;
2349 b->yy_fill_buffer = 1;
2350
2351 /* If b is the current buffer, then yy_init_buffer was _probably_
2352 * called from yyrestart() or through yy_get_next_buffer.
2353 * In that case, we don't want to reset the lineno or column.
2354 */
2355 if (b != YY_CURRENT_BUFFER){
2356 b->yy_bs_lineno = 1;
2357 b->yy_bs_column = 0;
2358 }
2359
2360 b->yy_is_interactive = 0;
2361
2362 errno = oerrno;
2363}
2364
2370{
2371 if ( ! b )
2372 return;
2373
2374 b->yy_n_chars = 0;
2375
2376 /* We always need two end-of-buffer characters. The first causes
2377 * a transition to the end-of-buffer state. The second causes
2378 * a jam in that state.
2379 */
2382
2383 b->yy_buf_pos = &b->yy_ch_buf[0];
2384
2385 b->yy_at_bol = 1;
2387
2388 if ( b == YY_CURRENT_BUFFER )
2390}
2391
2398void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2399{
2400 if (new_buffer == NULL)
2401 return;
2402
2404
2405 /* This block is copied from yy_switch_to_buffer. */
2406 if ( YY_CURRENT_BUFFER )
2407 {
2408 /* Flush out information for old buffer. */
2409 *(yy_c_buf_p) = (yy_hold_char);
2410 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2411 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2412 }
2413
2414 /* Only push if top exists. Otherwise, replace top. */
2416 (yy_buffer_stack_top)++;
2417 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2418
2419 /* copied from yy_switch_to_buffer. */
2421 (yy_did_buffer_switch_on_eof) = 1;
2422}
2423
2428void yypop_buffer_state (void)
2429{
2430 if (!YY_CURRENT_BUFFER)
2431 return;
2432
2435 if ((yy_buffer_stack_top) > 0)
2436 --(yy_buffer_stack_top);
2437
2438 if (YY_CURRENT_BUFFER) {
2440 (yy_did_buffer_switch_on_eof) = 1;
2441 }
2442}
2443
2444/* Allocates the stack if it does not exist.
2445 * Guarantees space for at least one push.
2446 */
2447static void yyensure_buffer_stack (void)
2448{
2449 yy_size_t num_to_alloc;
2450
2451 if (!(yy_buffer_stack)) {
2452
2453 /* First allocation is just for 2 elements, since we don't know if this
2454 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2455 * immediate realloc on the next call.
2456 */
2457 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2458 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2459 (num_to_alloc * sizeof(struct yy_buffer_state*)
2460 );
2461 if ( ! (yy_buffer_stack) )
2462 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2463
2464 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2465
2466 (yy_buffer_stack_max) = num_to_alloc;
2467 (yy_buffer_stack_top) = 0;
2468 return;
2469 }
2470
2471 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2472
2473 /* Increase the buffer to prepare for a possible push. */
2474 yy_size_t grow_size = 8 /* arbitrary grow size */;
2475
2476 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2477 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2478 ((yy_buffer_stack),
2479 num_to_alloc * sizeof(struct yy_buffer_state*)
2480 );
2481 if ( ! (yy_buffer_stack) )
2482 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2483
2484 /* zero only the new slots.*/
2485 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2486 (yy_buffer_stack_max) = num_to_alloc;
2487 }
2488}
2489
2496YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
2497{
2499
2500 if ( size < 2 ||
2501 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2502 base[size-1] != YY_END_OF_BUFFER_CHAR )
2503 /* They forgot to leave room for the EOB's. */
2504 return NULL;
2505
2506 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2507 if ( ! b )
2508 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2509
2510 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
2511 b->yy_buf_pos = b->yy_ch_buf = base;
2512 b->yy_is_our_buffer = 0;
2513 b->yy_input_file = NULL;
2514 b->yy_n_chars = b->yy_buf_size;
2515 b->yy_is_interactive = 0;
2516 b->yy_at_bol = 1;
2517 b->yy_fill_buffer = 0;
2519
2521
2522 return b;
2523}
2524
2533YY_BUFFER_STATE yy_scan_string (const char * yystr )
2534{
2535
2536 return yy_scan_bytes( yystr, (int) strlen(yystr) );
2537}
2538
2546YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
2547{
2549 char *buf;
2550 yy_size_t n;
2551 int i;
2552
2553 /* Get memory for full buffer, including space for trailing EOB's. */
2554 n = (yy_size_t) (_yybytes_len + 2);
2555 buf = (char *) yyalloc( n );
2556 if ( ! buf )
2557 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2558
2559 for ( i = 0; i < _yybytes_len; ++i )
2560 buf[i] = yybytes[i];
2561
2562 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2563
2564 b = yy_scan_buffer( buf, n );
2565 if ( ! b )
2566 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2567
2568 /* It's okay to grow etc. this buffer, and we should throw it
2569 * away when we're done.
2570 */
2571 b->yy_is_our_buffer = 1;
2572
2573 return b;
2574}
2575
2576#ifndef YY_EXIT_FAILURE
2577#define YY_EXIT_FAILURE 2
2578#endif
2579
2580static void yynoreturn yy_fatal_error (const char* msg )
2581{
2582 fprintf( stderr, "%s\n", msg );
2583 exit( YY_EXIT_FAILURE );
2584}
2585
2586/* Redefine yyless() so it works in section 3 code. */
2587
2588#undef yyless
2589#define yyless(n) \
2590 do \
2591 { \
2592 /* Undo effects of setting up yytext. */ \
2593 int yyless_macro_arg = (n); \
2594 YY_LESS_LINENO(yyless_macro_arg);\
2595 yytext[yyleng] = (yy_hold_char); \
2596 (yy_c_buf_p) = yytext + yyless_macro_arg; \
2597 (yy_hold_char) = *(yy_c_buf_p); \
2598 *(yy_c_buf_p) = '\0'; \
2599 yyleng = yyless_macro_arg; \
2600 } \
2601 while ( 0 )
2602
2603/* Accessor methods (get/set functions) to struct members. */
2604
2608int yyget_lineno (void)
2609{
2610
2611 return yylineno;
2612}
2613
2617FILE *yyget_in (void)
2618{
2619 return yyin;
2620}
2621
2625FILE *yyget_out (void)
2626{
2627 return yyout;
2628}
2629
2633int yyget_leng (void)
2634{
2635 return yyleng;
2636}
2637
2642char *yyget_text (void)
2643{
2644 return yytext;
2645}
2646
2651void yyset_lineno (int _line_number )
2652{
2653
2654 yylineno = _line_number;
2655}
2656
2663void yyset_in (FILE * _in_str )
2664{
2665 yyin = _in_str ;
2666}
2667
2668void yyset_out (FILE * _out_str )
2669{
2670 yyout = _out_str ;
2671}
2672
2673int yyget_debug (void)
2674{
2675 return yy_flex_debug;
2676}
2677
2678void yyset_debug (int _bdebug )
2679{
2680 yy_flex_debug = _bdebug ;
2681}
2682
2683static int yy_init_globals (void)
2684{
2685 /* Initialization is the same as for the non-reentrant scanner.
2686 * This function is called from yylex_destroy(), so don't allocate here.
2687 */
2688
2689 /* We do not touch yylineno unless the option is enabled. */
2690 yylineno = 1;
2691
2692 (yy_buffer_stack) = NULL;
2693 (yy_buffer_stack_top) = 0;
2694 (yy_buffer_stack_max) = 0;
2695 (yy_c_buf_p) = NULL;
2696 (yy_init) = 0;
2697 (yy_start) = 0;
2698
2699/* Defined in main.c */
2700#ifdef YY_STDINIT
2701 yyin = stdin;
2702 yyout = stdout;
2703#else
2704 yyin = NULL;
2705 yyout = NULL;
2706#endif
2707
2708 /* For future reference: Set errno on error, since we are called by
2709 * yylex_init()
2710 */
2711 return 0;
2712}
2713
2714/* yylex_destroy is for both reentrant and non-reentrant scanners. */
2715int yylex_destroy (void)
2716{
2717
2718 /* Pop the buffer stack, destroying each element. */
2719 while(YY_CURRENT_BUFFER){
2723 }
2724
2725 /* Destroy the stack itself. */
2726 yyfree((yy_buffer_stack) );
2727 (yy_buffer_stack) = NULL;
2728
2729 /* Reset the globals. This is important in a non-reentrant scanner so the next time
2730 * yylex() is called, initialization will occur. */
2731 yy_init_globals( );
2732
2733 return 0;
2734}
2735
2736/*
2737 * Internal utility routines.
2738 */
2739
2740#ifndef yytext_ptr
2741static void yy_flex_strncpy (char* s1, const char * s2, int n )
2742{
2743
2744 int i;
2745 for ( i = 0; i < n; ++i )
2746 s1[i] = s2[i];
2747}
2748#endif
2749
2750#ifdef YY_NEED_STRLEN
2751static int yy_flex_strlen (const char * s )
2752{
2753 int n;
2754 for ( n = 0; s[n]; ++n )
2755 ;
2756
2757 return n;
2758}
2759#endif
2760
2761void *yyalloc (yy_size_t size )
2762{
2763 return malloc(size);
2764}
2765
2766void *yyrealloc (void * ptr, yy_size_t size )
2767{
2768
2769 /* The cast to (char *) in the following accommodates both
2770 * implementations that use char* generic pointers, and those
2771 * that use void* generic pointers. It works with the latter
2772 * because both ANSI C and C++ allow castless assignment from
2773 * any pointer type to void*, and deal with argument conversions
2774 * as though doing an assignment.
2775 */
2776 return realloc(ptr, size);
2777}
2778
2779void yyfree (void * ptr )
2780{
2781 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2782}
2783
2784#define YYTABLES_NAME "yytables"
2785
2786#line 309 "src/webidl-lexer.l"
2787
2788
WindowProxy or MessagePort source
Definition html.idl:1810
unsigned char flex_uint8_t
short int flex_int16_t
int flex_int32_t
int yy_state_type
flex_uint8_t YY_CHAR
size_t yy_size_t
void * malloc(YYSIZE_T)
void free(void *)
@ TOK_IDENTIFIER
@ TOK_STRING_LITERAL
@ TOK_UNSIGNED
@ TOK_GETTER
@ TOK_SETTER
flex_int32_t yy_verify
flex_int32_t yy_nxt
#define yy_load_buffer_state
#define YY_NEW_FILE
#define yyset_extra
#define yytext
#define yyget_lval
unsigned char flex_uint8_t
#define yyset_lineno
#define yyset_lval
#define yyrestart
#define yyset_debug
#define YY_EXTRA_TYPE
#define YYSTYPE
short int flex_int16_t
#define yy_flex_debug
#define yyget_out
unsigned int flex_uint32_t
#define yy_scan_bytes
#define YY_BREAK
#define yynoreturn
#define yyget_debug
int yy_act
#define yypush_buffer_state
struct yy_buffer_state * YY_BUFFER_STATE
#define yyfree
#define yyout
#define YY_BUFFER_NEW
#define yyget_lineno
#define yylex
#define YY_RESTORE_YY_MORE_OFFSET
#define yywrap
#define yyget_text
#define YY_BUFFER_NORMAL
char * yy_cp
#define yyensure_buffer_stack
#define yy_scan_buffer
#define YY_MORE_ADJ
#define YY_RULE_SETUP
#define yy_scan_string
#define YY_AT_BOL()
#define yytext_ptr
YYLTYPE * yylloc
signed char flex_int8_t
#define yyget_leng
#define EOB_ACT_END_OF_FILE
#define yyalloc
#define yypop_buffer_state
#define YY_CURRENT_BUFFER_LVALUE
int flex_int32_t
#define yylex_destroy
#define YY_START
#define yy_switch_to_buffer
int yy_state_type
#define YY_CURRENT_BUFFER
#define yy_init_buffer
#define yyset_lloc
#define INITIAL
#define yyget_extra
char * yy_bp
#define yyin
#define YY_READ_BUF_SIZE
#define YY_INPUT(buf, result, max_size)
#define ECHO
#define yy_flush_buffer
#define yyrealloc
#define YY_END_OF_BUFFER
#define YY_STATE_EOF(state)
#define BEGIN
#define YY_END_OF_BUFFER_CHAR
#define yyget_lloc
#define incl
#define YY_FATAL_ERROR(msg)
#define yyterminate()
unsigned short int flex_uint16_t
#define yy_create_buffer
Definition webidl-lexer.c:9
flex_uint8_t YY_CHAR
#define YY_DO_BEFORE_ACTION
#define yy_delete_buffer
#define EOB_ACT_LAST_MATCH
#define yyget_in
size_t yy_size_t
#define YY_BUFFER_EOF_PENDING
#define yylineno
#define yyset_out
#define EOB_ACT_CONTINUE_SCAN
#define YY_DECL
#define YY_BUF_SIZE
#define YY_EXIT_FAILURE
#define YY_SC_TO_UI(c)
YYSTYPE * yylval
#define yyleng
#define yyset_in
@ TOK_ELLIPSIS
@ TOK_SEQUENCE
@ TOK_READONLY
@ TOK_ANY
@ TOK_TYPEDEF
@ TOK_DELETER
@ TOK_OPTIONAL
@ TOK_REQUIRED
@ TOK_PROMISE
@ TOK_DATE
@ TOK_NULL_LITERAL
@ TOK_CONSTRUCTOR
@ TOK_INFINITY
@ TOK_JAVADOC
@ TOK_ITERABLE
@ TOK_INHERIT
@ TOK_STRING
@ TOK_FALSE
@ TOK_INTERFACE
@ TOK_OR
@ TOK_PARTIAL
@ TOK_TRUE
@ TOK_BOOLEAN
@ TOK_DOUBLE
@ TOK_NAN
@ TOK_BYTE
@ TOK_LEGACYCALLER
@ TOK_LEGACYITERABLE
@ TOK_CALLBACK
@ TOK_LONG
@ TOK_CONST
@ TOK_FLOAT_LITERAL
@ TOK_STATIC
@ TOK_SHORT
@ TOK_FLOAT
@ TOK_VOID
@ TOK_STRINGIFIER
@ TOK_EXCEPTION
@ TOK_OCTET
@ TOK_UNRESTRICTED
@ TOK_ENUM
@ TOK_INT_LITERAL
@ TOK_NAMEDCONSTRUCTOR
@ TOK_IMPLEMENTS
@ TOK_ATTRIBUTE
@ TOK_CREATOR
@ TOK_DICTIONARY