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