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
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 #if defined _MSC_VER
1482 // signed/unsigned mismatch
1483 #pragma warning(disable:4365)
1484 // macro re-definition: flex conditonally defines INT32_MAX et al. and thus
1485 // they are set before library headers get to define them
1486 #pragma warning(disable:4005)
1487 #endif
1488 
1489 #include <util/expr.h>
1490 
1493 
1494 #define PARSER jsil_parser
1495 #define YYSTYPE unsigned
1497 #include "jsil_parser.h"
1498 #include "jsil_y.tab.h"
1499 // extern int yyjsildebug;
1500 
1501 #define loc() \
1502  { newstack(yyjsillval); PARSER.set_source_location(parser_stack(yyjsillval)); }
1503 
1504 static int make_identifier()
1505 {
1506  loc();
1507 
1508  // this hashes the identifier
1509  irep_idt base_name=yytext;
1510 
1511  parser_stack(yyjsillval).id(ID_symbol);
1512  parser_stack(yyjsillval).set(ID_C_base_name, base_name);
1513  parser_stack(yyjsillval).set(ID_identifier, base_name);
1514  return TOK_IDENTIFIER;
1515 }
1516 
1517 #include <util/pragma_wsign_compare.def>
1518 #include <util/pragma_wnull_conversion.def>
1519 #include <util/pragma_wdeprecated_register.def>
1520 
1521 #line 1521 "jsil_lex.yy.cpp"
1522 
1523 #line 77 "scanner.l"
1525 {
1526  // yyjsildebug=1;
1528  BEGIN(0);
1529 }
1530 #line 1530 "jsil_lex.yy.cpp"
1531 #line 85 "scanner.l"
1532  /* %option debug */
1533 #line 1533 "jsil_lex.yy.cpp"
1534 
1535 #define INITIAL 0
1536 #define GRAMMAR 1
1537 #define COMMENT 2
1538 #define STRING_LITERAL 3
1539 #define STRING_LITERAL_COMMENT 4
1540 #define STATEMENTS 5
1542 #ifndef YY_NO_UNISTD_H
1543 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1544  * down here because we want the user's section 1 to have been scanned first.
1545  * The user has a chance to override it with an option.
1546  */
1547 #include <unistd.h>
1548 #endif
1549 
1550 #ifndef YY_EXTRA_TYPE
1551 #define YY_EXTRA_TYPE void *
1552 #endif
1553 
1554 static int yy_init_globals ( void );
1555 
1556 /* Accessor methods to globals.
1557  These are made visible to non-reentrant scanners for convenience. */
1558 
1559 int yylex_destroy ( void );
1560 
1561 int yyget_debug ( void );
1562 
1563 void yyset_debug ( int debug_flag );
1564 
1566 
1567 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1568 
1569 FILE *yyget_in ( void );
1570 
1571 void yyset_in ( FILE * _in_str );
1572 
1573 FILE *yyget_out ( void );
1574 
1575 void yyset_out ( FILE * _out_str );
1576 
1577  int yyget_leng ( void );
1578 
1579 char *yyget_text ( void );
1580 
1581 int yyget_lineno ( void );
1582 
1583 void yyset_lineno ( int _line_number );
1584 
1585 /* Macros after this point can all be overridden by user definitions in
1586  * section 1.
1587  */
1588 
1589 #ifndef YY_SKIP_YYWRAP
1590 #ifdef __cplusplus
1591 extern "C" int yywrap ( void );
1592 #else
1593 extern int yywrap ( void );
1594 #endif
1595 #endif
1596 
1597 #ifndef YY_NO_UNPUT
1598 
1599 #endif
1600 
1601 #ifndef yytext_ptr
1602 static void yy_flex_strncpy ( char *, const char *, int );
1603 #endif
1604 
1605 #ifdef YY_NEED_STRLEN
1606 static int yy_flex_strlen ( const char * );
1607 #endif
1608 
1609 #ifndef YY_NO_INPUT
1610 #ifdef __cplusplus
1611 static int yyinput ( void );
1612 #else
1613 static int input ( void );
1614 #endif
1615 
1616 #endif
1617 
1618  static int yy_start_stack_ptr = 0;
1619  static int yy_start_stack_depth = 0;
1620  static int *yy_start_stack = NULL;
1621 
1622  static void yy_push_state ( int _new_state );
1623 
1624  static void yy_pop_state ( void );
1625 
1626  static int yy_top_state ( void );
1627 
1628 /* Amount of stuff to slurp up with each read. */
1629 #ifndef YY_READ_BUF_SIZE
1630 #ifdef __ia64__
1631 /* On IA-64, the buffer size is 16k, not 8k */
1632 #define YY_READ_BUF_SIZE 16384
1633 #else
1634 #define YY_READ_BUF_SIZE 8192
1635 #endif /* __ia64__ */
1636 #endif
1637 
1638 /* Copy whatever the last rule matched to the standard output. */
1639 #ifndef ECHO
1640 /* This used to be an fputs(), but since the string might contain NUL's,
1641  * we now use fwrite().
1642  */
1643 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1644 #endif
1645 
1646 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1647  * is returned in "result".
1648  */
1649 #ifndef YY_INPUT
1650 #define YY_INPUT(buf,result,max_size) \
1651  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1652  { \
1653  int c = '*'; \
1654  int n; \
1655  for ( n = 0; n < max_size && \
1656  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1657  buf[n] = (char) c; \
1658  if ( c == '\n' ) \
1659  buf[n++] = (char) c; \
1660  if ( c == EOF && ferror( yyin ) ) \
1661  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1662  result = n; \
1663  } \
1664  else \
1665  { \
1666  errno=0; \
1667  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1668  { \
1669  if( errno != EINTR) \
1670  { \
1671  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1672  break; \
1673  } \
1674  errno=0; \
1675  clearerr(yyin); \
1676  } \
1677  }\
1678 \
1679 
1680 #endif
1681 
1682 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1683  * we don't want an extra ';' after the "return" because that will cause
1684  * some compilers to complain about unreachable statements.
1685  */
1686 #ifndef yyterminate
1687 #define yyterminate() return YY_NULL
1688 #endif
1689 
1690 /* Number of entries by which start-condition stack grows. */
1691 #ifndef YY_START_STACK_INCR
1692 #define YY_START_STACK_INCR 25
1693 #endif
1694 
1695 /* Report a fatal error. */
1696 #ifndef YY_FATAL_ERROR
1697 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1698 #endif
1699 
1700 /* end tables serialization structures and prototypes */
1701 
1702 /* Default declaration of generated scanner - a define so the user can
1703  * easily add parameters.
1704  */
1705 #ifndef YY_DECL
1706 #define YY_DECL_IS_OURS 1
1708 extern int yylex (void);
1709 
1710 #define YY_DECL int yylex (void)
1711 #endif /* !YY_DECL */
1712 
1713 /* Code executed at the beginning of each rule, after yytext and yyleng
1714  * have been set up.
1715  */
1716 #ifndef YY_USER_ACTION
1717 #define YY_USER_ACTION
1718 #endif
1719 
1720 /* Code executed at the end of each rule. */
1721 #ifndef YY_BREAK
1722 #define YY_BREAK /*LINTED*/break;
1723 #endif
1724 
1725 #define YY_RULE_SETUP \
1726  YY_USER_ACTION
1727 
1731 {
1732  yy_state_type yy_current_state;
1733  char *yy_cp, *yy_bp;
1734  int yy_act;
1735 
1736  if ( !(yy_init) )
1737  {
1738  (yy_init) = 1;
1739 
1740 #ifdef YY_USER_INIT
1741  YY_USER_INIT;
1742 #endif
1743 
1744  if ( ! (yy_start) )
1745  (yy_start) = 1; /* first start state */
1746 
1747  if ( ! yyin )
1748  yyin = stdin;
1749 
1750  if ( ! yyout )
1751  yyout = stdout;
1752 
1753  if ( ! YY_CURRENT_BUFFER ) {
1757  }
1758 
1760  }
1761 
1762  {
1763 #line 87 "scanner.l"
1764 
1765 
1766 #line 1766 "jsil_lex.yy.cpp"
1767 
1768  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1769  {
1770  yy_cp = (yy_c_buf_p);
1771 
1772  /* Support of yytext. */
1773  *yy_cp = (yy_hold_char);
1774 
1775  /* yy_bp points to the position in yy_ch_buf of the start of
1776  * the current run.
1777  */
1778  yy_bp = yy_cp;
1779 
1780  yy_current_state = (yy_start);
1781 yy_match:
1782  do
1783  {
1784  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1785  if ( yy_accept[yy_current_state] )
1786  {
1787  (yy_last_accepting_state) = yy_current_state;
1788  (yy_last_accepting_cpos) = yy_cp;
1789  }
1790  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1791  {
1792  yy_current_state = (int) yy_def[yy_current_state];
1793  if ( yy_current_state >= 1305 )
1794  yy_c = yy_meta[yy_c];
1795  }
1796  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1797  ++yy_cp;
1798  }
1799  while ( yy_current_state != 1304 );
1800  yy_cp = (yy_last_accepting_cpos);
1801  yy_current_state = (yy_last_accepting_state);
1802 
1803 yy_find_action:
1804  yy_act = yy_accept[yy_current_state];
1805 
1807 
1808 do_action: /* This label is used only to access EOF actions. */
1809 
1810  switch ( yy_act )
1811  { /* beginning of action switch */
1812  case 0: /* must back up */
1813  /* undo the effects of YY_DO_BEFORE_ACTION */
1814  *yy_cp = (yy_hold_char);
1815  yy_cp = (yy_last_accepting_cpos);
1816  yy_current_state = (yy_last_accepting_state);
1817  goto yy_find_action;
1818 
1819 case 1:
1820 /* rule 1 can match eol */
1822 #line 89 "scanner.l"
1823 {
1824  BEGIN(GRAMMAR);
1825  yyless(0); /* start again with this character */
1826  }
1827  YY_BREAK
1828 
1829 case 2:
1831 #line 95 "scanner.l"
1832 {
1833  yy_push_state(COMMENT); /* begin comment state */
1834  // make the compiler happy
1835  (void)yy_top_state();
1836  }
1837  YY_BREAK
1838 
1839 
1840 case 3:
1842 #line 103 "scanner.l"
1843 { yy_pop_state(); } /* end comment state, back to GRAMMAR */
1844  YY_BREAK
1845 case 4:
1847 #line 104 "scanner.l"
1848 { yyjsilerror("Probably nested comments"); }
1849  YY_BREAK
1850 case YY_STATE_EOF(COMMENT):
1851 #line 105 "scanner.l"
1852 { yyjsilerror("Unterminated comment"); return TOK_SCANNER_ERROR; }
1853  YY_BREAK
1854 case 5:
1856 #line 106 "scanner.l"
1857 { } /* ignore every char except '*' and NL (performance!) */
1858  YY_BREAK
1859 case 6:
1861 #line 107 "scanner.l"
1862 { } /* all single characters within comments are ignored */
1863  YY_BREAK
1864 case 7:
1865 /* rule 7 can match eol */
1867 #line 108 "scanner.l"
1868 { }
1869  YY_BREAK
1870 
1871 
1872 case 8:
1874 #line 112 "scanner.l"
1875 { yy_pop_state(); } /* end comment state, back to STRING_LITERAL */
1876  YY_BREAK
1877 case 9:
1879 #line 113 "scanner.l"
1880 { yyjsilerror("Probably nested comments"); }
1881  YY_BREAK
1883 #line 114 "scanner.l"
1884 { yyjsilerror("Unterminated comment"); return TOK_SCANNER_ERROR; }
1885  YY_BREAK
1886 case 10:
1888 #line 115 "scanner.l"
1889 { } /* ignore every char except '*' and NL (performance!) */
1890  YY_BREAK
1891 case 11:
1893 #line 116 "scanner.l"
1894 { } /* all single characters within comments are ignored */
1895  YY_BREAK
1896 case 12:
1897 /* rule 12 can match eol */
1899 #line 117 "scanner.l"
1900 { }
1901  YY_BREAK
1902 
1903 
1904 case 13:
1906 #line 121 "scanner.l"
1907 {
1908  PARSER.string_literal.clear();
1909  PARSER.string_literal.append(yytext);
1911  PARSER.set_source_location(parser_stack(yyjsillval));
1912  // String literals can be continued
1914  }
1915  YY_BREAK
1916 
1917 
1918 case 14:
1920 #line 132 "scanner.l"
1921 { PARSER.string_literal.append(yytext); }
1922  YY_BREAK
1923 case 15:
1925 #line 133 "scanner.l"
1926 { } /* ignore */
1927  YY_BREAK
1928 case 16:
1930 #line 134 "scanner.l"
1931 { yy_push_state(STRING_LITERAL_COMMENT); } /* C comment, ignore */
1932  YY_BREAK
1933 case 17:
1934 /* rule 17 can match eol */
1936 #line 135 "scanner.l"
1937 { // anything else: back to normal
1938  source_locationt l=parser_stack(yyjsillval).source_location();
1940  parser_stack(yyjsillval).add_source_location().swap(l);
1941  yy_pop_state(); // back to normal
1942  yyless(0); // put back
1943  return TOK_STRING;
1944  }
1945  YY_BREAK
1946 
1947 
1948 case 18:
1950 #line 146 "scanner.l"
1952  YY_BREAK
1953 case 19:
1955 #line 147 "scanner.l"
1957  YY_BREAK
1958 case 20:
1960 #line 148 "scanner.l"
1962  YY_BREAK
1963 case 21:
1965 #line 149 "scanner.l"
1967  YY_BREAK
1968 case 22:
1970 #line 150 "scanner.l"
1972  YY_BREAK
1973 case 23:
1975 #line 151 "scanner.l"
1977  YY_BREAK
1978 case 24:
1980 #line 152 "scanner.l"
1982  YY_BREAK
1983 case 25:
1985 #line 153 "scanner.l"
1987  YY_BREAK
1988 case 26:
1990 #line 154 "scanner.l"
1992  YY_BREAK
1993 case 27:
1995 #line 155 "scanner.l"
1997  YY_BREAK
1998 case 28:
2000 #line 156 "scanner.l"
2002  YY_BREAK
2003 case 29:
2005 #line 157 "scanner.l"
2007  YY_BREAK
2008 case 30:
2010 #line 158 "scanner.l"
2012  YY_BREAK
2013 case 31:
2015 #line 159 "scanner.l"
2017  YY_BREAK
2018 case 32:
2020 #line 160 "scanner.l"
2022  YY_BREAK
2023 case 33:
2025 #line 161 "scanner.l"
2027  YY_BREAK
2028 case 34:
2030 #line 162 "scanner.l"
2032  YY_BREAK
2033 case 35:
2035 #line 163 "scanner.l"
2037  YY_BREAK
2038 case 36:
2040 #line 164 "scanner.l"
2042  YY_BREAK
2043 case 37:
2045 #line 165 "scanner.l"
2047  YY_BREAK
2048 case 38:
2050 #line 166 "scanner.l"
2052  YY_BREAK
2053 case 39:
2055 #line 167 "scanner.l"
2057  YY_BREAK
2058 case 40:
2060 #line 168 "scanner.l"
2062  YY_BREAK
2063 case 41:
2065 #line 169 "scanner.l"
2067  YY_BREAK
2068 case 42:
2070 #line 170 "scanner.l"
2072  YY_BREAK
2073 case 43:
2075 #line 171 "scanner.l"
2077  YY_BREAK
2078 case 44:
2080 #line 172 "scanner.l"
2082  YY_BREAK
2083 case 45:
2085 #line 173 "scanner.l"
2087  YY_BREAK
2088 case 46:
2090 #line 174 "scanner.l"
2092  YY_BREAK
2093 case 47:
2095 #line 175 "scanner.l"
2097  YY_BREAK
2098 case 48:
2100 #line 176 "scanner.l"
2102  YY_BREAK
2103 case 49:
2105 #line 177 "scanner.l"
2107  YY_BREAK
2108 case 50:
2110 #line 179 "scanner.l"
2111 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2112  YY_BREAK
2113 case 51:
2115 #line 180 "scanner.l"
2116 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2117  YY_BREAK
2118 case 52:
2120 #line 181 "scanner.l"
2121 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2122  YY_BREAK
2123 case 53:
2125 #line 182 "scanner.l"
2126 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2127  YY_BREAK
2128 case 54:
2130 #line 183 "scanner.l"
2131 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2132  YY_BREAK
2133 case 55:
2135 #line 184 "scanner.l"
2136 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2137  YY_BREAK
2138 case 56:
2140 #line 185 "scanner.l"
2141 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2142  YY_BREAK
2143 case 57:
2145 #line 186 "scanner.l"
2146 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2147  YY_BREAK
2148 case 58:
2150 #line 187 "scanner.l"
2151 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2152  YY_BREAK
2153 case 59:
2155 #line 188 "scanner.l"
2156 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2157  YY_BREAK
2158 case 60:
2160 #line 189 "scanner.l"
2161 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2162  YY_BREAK
2163 case 61:
2165 #line 190 "scanner.l"
2166 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2167  YY_BREAK
2168 case 62:
2170 #line 191 "scanner.l"
2171 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2172  YY_BREAK
2173 case 63:
2175 #line 192 "scanner.l"
2176 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2177  YY_BREAK
2178 case 64:
2180 #line 193 "scanner.l"
2181 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2182  YY_BREAK
2183 case 65:
2185 #line 194 "scanner.l"
2186 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2187  YY_BREAK
2188 case 66:
2190 #line 195 "scanner.l"
2191 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2192  YY_BREAK
2193 case 67:
2195 #line 196 "scanner.l"
2196 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2197  YY_BREAK
2198 case 68:
2200 #line 197 "scanner.l"
2201 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2202  YY_BREAK
2203 case 69:
2205 #line 198 "scanner.l"
2206 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2207  YY_BREAK
2208 case 70:
2210 #line 199 "scanner.l"
2211 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2212  YY_BREAK
2213 case 71:
2215 #line 200 "scanner.l"
2216 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2217  YY_BREAK
2218 case 72:
2220 #line 201 "scanner.l"
2221 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2222  YY_BREAK
2223 case 73:
2225 #line 202 "scanner.l"
2226 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2227  YY_BREAK
2228 case 74:
2230 #line 203 "scanner.l"
2231 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2232  YY_BREAK
2233 case 75:
2235 #line 204 "scanner.l"
2236 { make_identifier(); return TOK_SPEC_IDENTIFIER; }
2237  YY_BREAK
2238 
2239 
2240 case 76:
2241 /* rule 76 can match eol */
2243 #line 208 "scanner.l"
2244 { } /* skipped */
2245  YY_BREAK
2246 case 77:
2248 #line 209 "scanner.l"
2249 { } /* skipped */
2250  YY_BREAK
2251 /*** keywords ***/
2252 case 78:
2254 #line 213 "scanner.l"
2255 { loc(); return TOK_PROCEDURE; }
2256  YY_BREAK
2257 case 79:
2259 #line 214 "scanner.l"
2260 { loc(); return TOK_RETURNS; }
2261  YY_BREAK
2262 case 80:
2264 #line 215 "scanner.l"
2265 { loc(); return TOK_TO; }
2266  YY_BREAK
2267 case 81:
2269 #line 216 "scanner.l"
2270 { loc(); return TOK_THROWS; }
2271  YY_BREAK
2272 /*** scanner parsed tokens (these have a value!) ***/
2273 case 82:
2275 #line 220 "scanner.l"
2276 { return make_identifier(); }
2277  YY_BREAK
2278 case 83:
2280 #line 222 "scanner.l"
2281 { loc(); BEGIN(STATEMENTS); return '{'; }
2282  YY_BREAK
2283 /* This catches all one-character operators */
2284 case 84:
2286 #line 224 "scanner.l"
2287 { loc(); return yytext[0]; }
2288  YY_BREAK
2289 
2290 
2291 case 85:
2292 /* rule 85 can match eol */
2294 #line 228 "scanner.l"
2295 { loc(); return TOK_NEWLINE; }
2296  YY_BREAK
2297 case 86:
2299 #line 229 "scanner.l"
2300 { } /* skipped */
2301  YY_BREAK
2302 case 87:
2304 #line 231 "scanner.l"
2305 { loc(); return TOK_EVAL; }
2306  YY_BREAK
2307 case 88:
2309 #line 232 "scanner.l"
2310 { loc(); return TOK_LABEL; }
2311  YY_BREAK
2312 case 89:
2314 #line 233 "scanner.l"
2315 { loc(); return TOK_GOTO; }
2316  YY_BREAK
2317 case 90:
2319 #line 234 "scanner.l"
2320 { loc(); return TOK_SKIP; }
2321  YY_BREAK
2322 case 91:
2324 #line 235 "scanner.l"
2325 { loc(); return TOK_WITH; }
2326  YY_BREAK
2327 case 92:
2329 #line 236 "scanner.l"
2330 { loc(); return TOK_NEW; }
2331  YY_BREAK
2332 case 93:
2334 #line 237 "scanner.l"
2335 { loc(); return TOK_HAS_FIELD; }
2336  YY_BREAK
2337 case 94:
2339 #line 238 "scanner.l"
2340 { loc(); return TOK_DELETE; }
2341  YY_BREAK
2342 case 95:
2344 #line 239 "scanner.l"
2345 { loc(); return TOK_PROTO_FIELD; }
2346  YY_BREAK
2347 case 96:
2349 #line 240 "scanner.l"
2350 { loc(); return TOK_PROTO_OBJ; }
2351  YY_BREAK
2352 case 97:
2354 #line 241 "scanner.l"
2355 { loc(); return TOK_REF; }
2356  YY_BREAK
2357 case 98:
2359 #line 242 "scanner.l"
2360 { loc(); return TOK_FIELD; }
2361  YY_BREAK
2362 case 99:
2364 #line 243 "scanner.l"
2365 { loc(); return TOK_BASE; }
2366  YY_BREAK
2367 case 100:
2369 #line 244 "scanner.l"
2370 { loc(); return TOK_TYPEOF; }
2371  YY_BREAK
2372 case 101:
2374 #line 245 "scanner.l"
2375 { loc(); return TOK_NULL; }
2376  YY_BREAK
2377 case 102:
2379 #line 246 "scanner.l"
2380 { loc(); return TOK_UNDEFINED; }
2381  YY_BREAK
2382 case 103:
2384 #line 247 "scanner.l"
2385 { loc(); return TOK_EMPTY; }
2386  YY_BREAK
2387 case 104:
2389 #line 248 "scanner.l"
2390 { loc(); return TOK_TRUE; }
2391  YY_BREAK
2392 case 105:
2394 #line 249 "scanner.l"
2395 { loc(); return TOK_FALSE; }
2396  YY_BREAK
2397 case 106:
2399 #line 250 "scanner.l"
2400 { loc(); return TOK_PROTO; }
2401  YY_BREAK
2402 case 107:
2404 #line 251 "scanner.l"
2405 { loc(); return TOK_FID; }
2406  YY_BREAK
2407 case 108:
2409 #line 252 "scanner.l"
2410 { loc(); return TOK_SCOPE; }
2411  YY_BREAK
2412 case 109:
2414 #line 253 "scanner.l"
2415 { loc(); return TOK_CONSTRUCTID; }
2416  YY_BREAK
2417 case 110:
2419 #line 254 "scanner.l"
2420 { loc(); return TOK_PRIMVALUE; }
2421  YY_BREAK
2422 case 111:
2424 #line 255 "scanner.l"
2425 { loc(); return TOK_TARGETFUNCTION; }
2426  YY_BREAK
2427 case 112:
2429 #line 256 "scanner.l"
2430 { loc(); return TOK_CLASS; }
2431  YY_BREAK
2432 case 113:
2434 #line 257 "scanner.l"
2435 { loc(); return TOK_NUM_TO_STRING; }
2436  YY_BREAK
2437 case 114:
2439 #line 258 "scanner.l"
2440 { loc(); return TOK_STRING_TO_NUM; }
2441  YY_BREAK
2442 case 115:
2444 #line 259 "scanner.l"
2445 { loc(); return TOK_NUM_TO_INT32; }
2446  YY_BREAK
2447 case 116:
2449 #line 260 "scanner.l"
2450 { loc(); return TOK_NUM_TO_UINT32; }
2451  YY_BREAK
2452 case 117:
2454 #line 261 "scanner.l"
2455 { loc(); return TOK_MEMBER_REFERENCE; }
2456  YY_BREAK
2457 case 118:
2459 #line 262 "scanner.l"
2460 { loc(); return TOK_VARIABLE_REFERENCE; }
2461  YY_BREAK
2462 /*** type classes ***/
2463 case 119:
2465 #line 266 "scanner.l"
2466 { loc(); return TOK_T_NULL; }
2467  YY_BREAK
2468 case 120:
2470 #line 267 "scanner.l"
2471 { loc(); return TOK_T_UNDEFINED; }
2472  YY_BREAK
2473 case 121:
2475 #line 268 "scanner.l"
2476 { loc(); return TOK_T_BOOLEAN; }
2477  YY_BREAK
2478 case 122:
2480 #line 269 "scanner.l"
2481 { loc(); return TOK_T_STRING; }
2482  YY_BREAK
2483 case 123:
2485 #line 270 "scanner.l"
2486 { loc(); return TOK_T_NUMBER; }
2487  YY_BREAK
2488 case 124:
2490 #line 271 "scanner.l"
2491 { loc(); return TOK_T_BUILTIN_OBJECT; }
2492  YY_BREAK
2493 case 125:
2495 #line 272 "scanner.l"
2496 { loc(); return TOK_T_USER_OBJECT; }
2497  YY_BREAK
2498 case 126:
2500 #line 273 "scanner.l"
2501 { loc(); return TOK_T_OBJECT; }
2502  YY_BREAK
2503 case 127:
2505 #line 274 "scanner.l"
2506 { loc(); return TOK_T_REFERENCE; }
2507  YY_BREAK
2508 /*** multi-character operators ***/
2509 case 128:
2511 #line 278 "scanner.l"
2512 { loc(); return TOK_DEFEQ; }
2513  YY_BREAK
2514 case 129:
2516 #line 279 "scanner.l"
2517 { loc(); return TOK_LEQ; }
2518  YY_BREAK
2519 case 130:
2521 #line 280 "scanner.l"
2522 { loc(); return TOK_AND; }
2523  YY_BREAK
2524 case 131:
2526 #line 281 "scanner.l"
2527 { loc(); return TOK_OR; }
2528  YY_BREAK
2529 case 132:
2531 #line 282 "scanner.l"
2532 { loc(); return TOK_SUBTYPE_OF; }
2533  YY_BREAK
2534 case 133:
2536 #line 283 "scanner.l"
2537 { loc(); return TOK_LEFT_SHIFT; }
2538  YY_BREAK
2539 case 134:
2541 #line 284 "scanner.l"
2542 { loc(); return TOK_SIGNED_RIGHT_SHIFT; }
2543  YY_BREAK
2544 case 135:
2546 #line 285 "scanner.l"
2547 { loc(); return TOK_UNSIGNED_RIGHT_SHIFT; }
2548  YY_BREAK
2549 case 136:
2551 #line 286 "scanner.l"
2552 { loc(); return TOK_NOT; }
2553  YY_BREAK
2554 /*** scanner parsed tokens (these have a value!) ***/
2555 case 137:
2557 #line 290 "scanner.l"
2558 { return make_identifier(); }
2559  YY_BREAK
2560 case 138:
2562 #line 292 "scanner.l"
2563 {
2564  newstack(yyjsillval);
2566  PARSER.set_source_location(parser_stack(yyjsillval));
2567  return TOK_FLOATING;
2568  }
2569  YY_BREAK
2570 case 139:
2572 #line 299 "scanner.l"
2573 { make_identifier(); return TOK_BUILTIN_LOC; }
2574  YY_BREAK
2575 case 140:
2577 #line 300 "scanner.l"
2578 { make_identifier(); return TOK_BUILTIN_LOC; }
2579  YY_BREAK
2580 case 141:
2582 #line 301 "scanner.l"
2583 { make_identifier(); return TOK_BUILTIN_LOC; }
2584  YY_BREAK
2585 case 142:
2587 #line 302 "scanner.l"
2588 { make_identifier(); return TOK_BUILTIN_LOC; }
2589  YY_BREAK
2590 case 143:
2592 #line 303 "scanner.l"
2593 { make_identifier(); return TOK_BUILTIN_LOC; }
2594  YY_BREAK
2595 case 144:
2597 #line 304 "scanner.l"
2598 { make_identifier(); return TOK_BUILTIN_LOC; }
2599  YY_BREAK
2600 case 145:
2602 #line 305 "scanner.l"
2603 { make_identifier(); return TOK_BUILTIN_LOC; }
2604  YY_BREAK
2605 case 146:
2607 #line 306 "scanner.l"
2608 { make_identifier(); return TOK_BUILTIN_LOC; }
2609  YY_BREAK
2610 case 147:
2612 #line 307 "scanner.l"
2613 { make_identifier(); return TOK_BUILTIN_LOC; }
2614  YY_BREAK
2615 case 148:
2617 #line 308 "scanner.l"
2618 { make_identifier(); return TOK_BUILTIN_LOC; }
2619  YY_BREAK
2620 case 149:
2622 #line 309 "scanner.l"
2623 { make_identifier(); return TOK_BUILTIN_LOC; }
2624  YY_BREAK
2625 case 150:
2627 #line 310 "scanner.l"
2628 { make_identifier(); return TOK_BUILTIN_LOC; }
2629  YY_BREAK
2630 case 151:
2632 #line 311 "scanner.l"
2633 { make_identifier(); return TOK_BUILTIN_LOC; }
2634  YY_BREAK
2635 case 152:
2637 #line 312 "scanner.l"
2638 { make_identifier(); return TOK_BUILTIN_LOC; }
2639  YY_BREAK
2640 case 153:
2642 #line 313 "scanner.l"
2643 { make_identifier(); return TOK_BUILTIN_LOC; }
2644  YY_BREAK
2645 case 154:
2647 #line 314 "scanner.l"
2648 { make_identifier(); return TOK_BUILTIN_LOC; }
2649  YY_BREAK
2650 case 155:
2652 #line 315 "scanner.l"
2653 { make_identifier(); return TOK_BUILTIN_LOC; }
2654  YY_BREAK
2655 case 156:
2657 #line 316 "scanner.l"
2658 { make_identifier(); return TOK_BUILTIN_LOC; }
2659  YY_BREAK
2660 case 157:
2662 #line 317 "scanner.l"
2663 { make_identifier(); return TOK_BUILTIN_LOC; }
2664  YY_BREAK
2665 case 158:
2667 #line 318 "scanner.l"
2668 { make_identifier(); return TOK_BUILTIN_LOC; }
2669  YY_BREAK
2670 case 159:
2672 #line 319 "scanner.l"
2673 { make_identifier(); return TOK_BUILTIN_LOC; }
2674  YY_BREAK
2675 case 160:
2677 #line 320 "scanner.l"
2678 { make_identifier(); return TOK_BUILTIN_LOC; }
2679  YY_BREAK
2680 case 161:
2682 #line 321 "scanner.l"
2683 { make_identifier(); return TOK_BUILTIN_LOC; }
2684  YY_BREAK
2685 case 162:
2687 #line 322 "scanner.l"
2688 { make_identifier(); return TOK_BUILTIN_LOC; }
2689  YY_BREAK
2690 case 163:
2692 #line 323 "scanner.l"
2693 { make_identifier(); return TOK_BUILTIN_LOC; }
2694  YY_BREAK
2695 case 164:
2697 #line 324 "scanner.l"
2698 { make_identifier(); return TOK_BUILTIN_LOC; }
2699  YY_BREAK
2700 case 165:
2702 #line 325 "scanner.l"
2703 { make_identifier(); return TOK_BUILTIN_LOC; }
2704  YY_BREAK
2705 case 166:
2707 #line 326 "scanner.l"
2708 { make_identifier(); return TOK_BUILTIN_LOC; }
2709  YY_BREAK
2710 case 167:
2712 #line 327 "scanner.l"
2713 { make_identifier(); return TOK_BUILTIN_LOC; }
2714  YY_BREAK
2715 case 168:
2717 #line 328 "scanner.l"
2718 { make_identifier(); return TOK_BUILTIN_LOC; }
2719  YY_BREAK
2720 case 169:
2722 #line 329 "scanner.l"
2723 { make_identifier(); return TOK_BUILTIN_LOC; }
2724  YY_BREAK
2725 case 170:
2727 #line 330 "scanner.l"
2728 { make_identifier(); return TOK_BUILTIN_LOC; }
2729  YY_BREAK
2730 case 171:
2732 #line 331 "scanner.l"
2733 { make_identifier(); return TOK_BUILTIN_LOC; }
2734  YY_BREAK
2735 case 172:
2737 #line 332 "scanner.l"
2738 { make_identifier(); return TOK_BUILTIN_LOC; }
2739  YY_BREAK
2740 case 173:
2742 #line 333 "scanner.l"
2743 { make_identifier(); return TOK_BUILTIN_LOC; }
2744  YY_BREAK
2745 case 174:
2747 #line 334 "scanner.l"
2748 { make_identifier(); return TOK_BUILTIN_LOC; }
2749  YY_BREAK
2750 case 175:
2752 #line 335 "scanner.l"
2753 { make_identifier(); return TOK_BUILTIN_LOC; }
2754  YY_BREAK
2755 case 176:
2757 #line 336 "scanner.l"
2758 { make_identifier(); return TOK_BUILTIN_LOC; }
2759  YY_BREAK
2760 case 177:
2762 #line 337 "scanner.l"
2763 { make_identifier(); return TOK_BUILTIN_LOC; }
2764  YY_BREAK
2765 case 178:
2767 #line 338 "scanner.l"
2768 { make_identifier(); return TOK_BUILTIN_LOC; }
2769  YY_BREAK
2770 case 179:
2772 #line 339 "scanner.l"
2773 { make_identifier(); return TOK_BUILTIN_LOC; }
2774  YY_BREAK
2775 case 180:
2777 #line 340 "scanner.l"
2778 { make_identifier(); return TOK_BUILTIN_LOC; }
2779  YY_BREAK
2780 case 181:
2782 #line 342 "scanner.l"
2783 { loc(); BEGIN(GRAMMAR); return '}'; }
2784  YY_BREAK
2785 /* This catches all one-character operators */
2786 case 182:
2788 #line 344 "scanner.l"
2789 { loc(); return yytext[0]; }
2790  YY_BREAK
2791 
2792 case YY_STATE_EOF(INITIAL):
2793 case YY_STATE_EOF(GRAMMAR):
2795 case YY_STATE_EOF(STATEMENTS):
2796 #line 347 "scanner.l"
2797 { yyterminate(); /* done! */ }
2798  YY_BREAK
2799 case 183:
2801 #line 349 "scanner.l"
2802 ECHO;
2803  YY_BREAK
2804 #line 2804 "jsil_lex.yy.cpp"
2805 
2806  case YY_END_OF_BUFFER:
2807  {
2808  /* Amount of text matched not including the EOB char. */
2809  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2810 
2811  /* Undo the effects of YY_DO_BEFORE_ACTION. */
2812  *yy_cp = (yy_hold_char);
2814 
2815  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2816  {
2817  /* We're scanning a new file or input source. It's
2818  * possible that this happened because the user
2819  * just pointed yyin at a new source and called
2820  * yylex(). If so, then we have to assure
2821  * consistency between YY_CURRENT_BUFFER and our
2822  * globals. Here is the right place to do so, because
2823  * this is the first action (other than possibly a
2824  * back-up) that will match for the new input source.
2825  */
2826  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2827  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2828  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2829  }
2830 
2831  /* Note that here we test for yy_c_buf_p "<=" to the position
2832  * of the first EOB in the buffer, since yy_c_buf_p will
2833  * already have been incremented past the NUL character
2834  * (since all states make transitions on EOB to the
2835  * end-of-buffer state). Contrast this with the test
2836  * in input().
2837  */
2838  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2839  { /* This was really a NUL. */
2840  yy_state_type yy_next_state;
2841 
2842  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2843 
2844  yy_current_state = yy_get_previous_state( );
2845 
2846  /* Okay, we're now positioned to make the NUL
2847  * transition. We couldn't have
2848  * yy_get_previous_state() go ahead and do it
2849  * for us because it doesn't know how to deal
2850  * with the possibility of jamming (and we don't
2851  * want to build jamming into it because then it
2852  * will run more slowly).
2853  */
2854 
2855  yy_next_state = yy_try_NUL_trans( yy_current_state );
2856 
2857  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2858 
2859  if ( yy_next_state )
2860  {
2861  /* Consume the NUL. */
2862  yy_cp = ++(yy_c_buf_p);
2863  yy_current_state = yy_next_state;
2864  goto yy_match;
2865  }
2866 
2867  else
2868  {
2869  yy_cp = (yy_last_accepting_cpos);
2870  yy_current_state = (yy_last_accepting_state);
2871  goto yy_find_action;
2872  }
2873  }
2874 
2875  else switch ( yy_get_next_buffer( ) )
2876  {
2877  case EOB_ACT_END_OF_FILE:
2878  {
2880 
2881  if ( yywrap( ) )
2882  {
2883  /* Note: because we've taken care in
2884  * yy_get_next_buffer() to have set up
2885  * yytext, we can now set up
2886  * yy_c_buf_p so that if some total
2887  * hoser (like flex itself) wants to
2888  * call the scanner after we return the
2889  * YY_NULL, it'll still work - another
2890  * YY_NULL will get returned.
2891  */
2893 
2894  yy_act = YY_STATE_EOF(YY_START);
2895  goto do_action;
2896  }
2897 
2898  else
2899  {
2900  if ( ! (yy_did_buffer_switch_on_eof) )
2901  YY_NEW_FILE;
2902  }
2903  break;
2904  }
2905 
2906  case EOB_ACT_CONTINUE_SCAN:
2907  (yy_c_buf_p) =
2908  (yytext_ptr) + yy_amount_of_matched_text;
2909 
2910  yy_current_state = yy_get_previous_state( );
2911 
2912  yy_cp = (yy_c_buf_p);
2913  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2914  goto yy_match;
2915 
2916  case EOB_ACT_LAST_MATCH:
2917  (yy_c_buf_p) =
2918  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2919 
2920  yy_current_state = yy_get_previous_state( );
2921 
2922  yy_cp = (yy_c_buf_p);
2923  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2924  goto yy_find_action;
2925  }
2926  break;
2927  }
2928 
2929  default:
2931  "fatal flex scanner internal error--no action found" );
2932  } /* end of action switch */
2933  } /* end of scanning one token */
2934  } /* end of user's declarations */
2935 } /* end of yylex */
2936 
2937 /* yy_get_next_buffer - try to read in a new buffer
2938  *
2939  * Returns a code representing an action:
2940  * EOB_ACT_LAST_MATCH -
2941  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2942  * EOB_ACT_END_OF_FILE - end of file
2943  */
2944 static int yy_get_next_buffer (void)
2945 {
2946  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2947  char *source = (yytext_ptr);
2948  int number_to_move, i;
2949  int ret_val;
2950 
2951  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2953  "fatal flex scanner internal error--end of buffer missed" );
2954 
2955  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2956  { /* Don't try to fill the buffer, so this is an EOF. */
2957  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2958  {
2959  /* We matched a single character, the EOB, so
2960  * treat this as a final EOF.
2961  */
2962  return EOB_ACT_END_OF_FILE;
2963  }
2964 
2965  else
2966  {
2967  /* We matched some text prior to the EOB, first
2968  * process it.
2969  */
2970  return EOB_ACT_LAST_MATCH;
2971  }
2972  }
2973 
2974  /* Try to read more data. */
2975 
2976  /* First move last chars to start of buffer. */
2977  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2978 
2979  for ( i = 0; i < number_to_move; ++i )
2980  *(dest++) = *(source++);
2981 
2982  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2983  /* don't do the read, it's not guaranteed to return an EOF,
2984  * just force an EOF
2985  */
2986  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2987 
2988  else
2989  {
2990  int num_to_read =
2991  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2992 
2993  while ( num_to_read <= 0 )
2994  { /* Not enough room in the buffer - grow it. */
2995 
2996  /* just a shorter name for the current buffer */
2998 
2999  int yy_c_buf_p_offset =
3000  (int) ((yy_c_buf_p) - b->yy_ch_buf);
3001 
3002  if ( b->yy_is_our_buffer )
3003  {
3004  int new_size = b->yy_buf_size * 2;
3005 
3006  if ( new_size <= 0 )
3007  b->yy_buf_size += b->yy_buf_size / 8;
3008  else
3009  b->yy_buf_size *= 2;
3010 
3011  b->yy_ch_buf = (char *)
3012  /* Include room in for 2 EOB chars. */
3013  yyrealloc( (void *) b->yy_ch_buf,
3014  (yy_size_t) (b->yy_buf_size + 2) );
3015  }
3016  else
3017  /* Can't grow it, we don't own it. */
3018  b->yy_ch_buf = NULL;
3019 
3020  if ( ! b->yy_ch_buf )
3022  "fatal error - scanner input buffer overflow" );
3023 
3024  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3025 
3026  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3027  number_to_move - 1;
3028 
3029  }
3030 
3031  if ( num_to_read > YY_READ_BUF_SIZE )
3032  num_to_read = YY_READ_BUF_SIZE;
3033 
3034  /* Read in more data. */
3035  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3036  (yy_n_chars), num_to_read );
3037 
3038  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3039  }
3040 
3041  if ( (yy_n_chars) == 0 )
3042  {
3043  if ( number_to_move == YY_MORE_ADJ )
3044  {
3045  ret_val = EOB_ACT_END_OF_FILE;
3046  yyrestart( yyin );
3047  }
3048 
3049  else
3050  {
3051  ret_val = EOB_ACT_LAST_MATCH;
3052  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3054  }
3055  }
3056 
3057  else
3058  ret_val = EOB_ACT_CONTINUE_SCAN;
3059 
3060  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3061  /* Extend the array by 50%, plus the number we really need. */
3062  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3063  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3064  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
3065  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3066  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3067  /* "- 2" to take care of EOB's */
3068  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3069  }
3070 
3071  (yy_n_chars) += number_to_move;
3074 
3075  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3076 
3077  return ret_val;
3078 }
3079 
3080 /* yy_get_previous_state - get the state just before the EOB char was reached */
3081 
3083 {
3084  yy_state_type yy_current_state;
3085  char *yy_cp;
3086 
3087  yy_current_state = (yy_start);
3088 
3089  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3090  {
3091  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3092  if ( yy_accept[yy_current_state] )
3093  {
3094  (yy_last_accepting_state) = yy_current_state;
3095  (yy_last_accepting_cpos) = yy_cp;
3096  }
3097  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3098  {
3099  yy_current_state = (int) yy_def[yy_current_state];
3100  if ( yy_current_state >= 1305 )
3101  yy_c = yy_meta[yy_c];
3102  }
3103  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3104  }
3105 
3106  return yy_current_state;
3107 }
3108 
3109 /* yy_try_NUL_trans - try to make a transition on the NUL character
3110  *
3111  * synopsis
3112  * next_state = yy_try_NUL_trans( current_state );
3113  */
3114  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3115 {
3116  int yy_is_jam;
3117  char *yy_cp = (yy_c_buf_p);
3118 
3119  YY_CHAR yy_c = 1;
3120  if ( yy_accept[yy_current_state] )
3121  {
3122  (yy_last_accepting_state) = yy_current_state;
3123  (yy_last_accepting_cpos) = yy_cp;
3124  }
3125  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3126  {
3127  yy_current_state = (int) yy_def[yy_current_state];
3128  if ( yy_current_state >= 1305 )
3129  yy_c = yy_meta[yy_c];
3130  }
3131  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3132  yy_is_jam = (yy_current_state == 1304);
3133 
3134  return yy_is_jam ? 0 : yy_current_state;
3135 }
3136 
3137 #ifndef YY_NO_UNPUT
3138 
3139 #endif
3140 
3141 #ifndef YY_NO_INPUT
3142 #ifdef __cplusplus
3143  static int yyinput (void)
3144 #else
3145  static int input (void)
3146 #endif
3147 
3148 {
3149  int c;
3150 
3151  *(yy_c_buf_p) = (yy_hold_char);
3152 
3153  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3154  {
3155  /* yy_c_buf_p now points to the character we want to return.
3156  * If this occurs *before* the EOB characters, then it's a
3157  * valid NUL; if not, then we've hit the end of the buffer.
3158  */
3159  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3160  /* This was really a NUL. */
3161  *(yy_c_buf_p) = '\0';
3162 
3163  else
3164  { /* need more input */
3165  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3166  ++(yy_c_buf_p);
3167 
3168  switch ( yy_get_next_buffer( ) )
3169  {
3170  case EOB_ACT_LAST_MATCH:
3171  /* This happens because yy_g_n_b()
3172  * sees that we've accumulated a
3173  * token and flags that we need to
3174  * try matching the token before
3175  * proceeding. But for input(),
3176  * there's no matching to consider.
3177  * So convert the EOB_ACT_LAST_MATCH
3178  * to EOB_ACT_END_OF_FILE.
3179  */
3180 
3181  /* Reset buffer status. */
3182  yyrestart( yyin );
3183 
3184  /*FALLTHROUGH*/
3185 
3186  case EOB_ACT_END_OF_FILE:
3187  {
3188  if ( yywrap( ) )
3189  return 0;
3190 
3191  if ( ! (yy_did_buffer_switch_on_eof) )
3192  YY_NEW_FILE;
3193 #ifdef __cplusplus
3194  return yyinput();
3195 #else
3196  return input();
3197 #endif
3198  }
3199 
3200  case EOB_ACT_CONTINUE_SCAN:
3201  (yy_c_buf_p) = (yytext_ptr) + offset;
3202  break;
3203  }
3204  }
3205  }
3206 
3207  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3208  *(yy_c_buf_p) = '\0'; /* preserve yytext */
3209  (yy_hold_char) = *++(yy_c_buf_p);
3210 
3211  return c;
3212 }
3213 #endif /* ifndef YY_NO_INPUT */
3214 
3220  void yyrestart (FILE * input_file )
3221 {
3222 
3223  if ( ! YY_CURRENT_BUFFER ){
3227  }
3228 
3229  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3231 }
3232 
3238 {
3239 
3240  /* TODO. We should be able to replace this entire function body
3241  * with
3242  * yypop_buffer_state();
3243  * yypush_buffer_state(new_buffer);
3244  */
3246  if ( YY_CURRENT_BUFFER == new_buffer )
3247  return;
3248 
3249  if ( YY_CURRENT_BUFFER )
3250  {
3251  /* Flush out information for old buffer. */
3252  *(yy_c_buf_p) = (yy_hold_char);
3253  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3254  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3255  }
3256 
3257  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3259 
3260  /* We don't actually know whether we did this switch during
3261  * EOF (yywrap()) processing, but the only time this flag
3262  * is looked at is after yywrap() is called, so it's safe
3263  * to go ahead and always set it.
3264  */
3266 }
3267 
3268 static void yy_load_buffer_state (void)
3269 {
3270  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3271  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3272  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3273  (yy_hold_char) = *(yy_c_buf_p);
3274 }
3275 
3283 {
3284  YY_BUFFER_STATE b;
3285 
3286  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3287  if ( ! b )
3288  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3289 
3290  b->yy_buf_size = size;
3291 
3292  /* yy_ch_buf has to be 2 characters longer than the size given because
3293  * we need to put in 2 end-of-buffer characters.
3294  */
3295  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
3296  if ( ! b->yy_ch_buf )
3297  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3298 
3299  b->yy_is_our_buffer = 1;
3300 
3301  yy_init_buffer( b, file );
3302 
3303  return b;
3304 }
3305 
3311 {
3312 
3313  if ( ! b )
3314  return;
3315 
3316  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3318 
3319  if ( b->yy_is_our_buffer )
3320  yyfree( (void *) b->yy_ch_buf );
3321 
3322  yyfree( (void *) b );
3323 }
3324 
3325 /* Initializes or reinitializes a buffer.
3326  * This function is sometimes called more than once on the same buffer,
3327  * such as during a yyrestart() or at EOF.
3328  */
3329  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3330 
3331 {
3332  int oerrno = errno;
3333 
3334  yy_flush_buffer( b );
3335 
3336  b->yy_input_file = file;
3337  b->yy_fill_buffer = 1;
3338 
3339  /* If b is the current buffer, then yy_init_buffer was _probably_
3340  * called from yyrestart() or through yy_get_next_buffer.
3341  * In that case, we don't want to reset the lineno or column.
3342  */
3343  if (b != YY_CURRENT_BUFFER){
3344  b->yy_bs_lineno = 1;
3345  b->yy_bs_column = 0;
3346  }
3347 
3348  b->yy_is_interactive = 0;
3349 
3350  errno = oerrno;
3351 }
3352 
3358 {
3359  if ( ! b )
3360  return;
3361 
3362  b->yy_n_chars = 0;
3363 
3364  /* We always need two end-of-buffer characters. The first causes
3365  * a transition to the end-of-buffer state. The second causes
3366  * a jam in that state.
3367  */
3370 
3371  b->yy_buf_pos = &b->yy_ch_buf[0];
3372 
3373  b->yy_at_bol = 1;
3375 
3376  if ( b == YY_CURRENT_BUFFER )
3378 }
3379 
3387 {
3388  if (new_buffer == NULL)
3389  return;
3390 
3392 
3393  /* This block is copied from yy_switch_to_buffer. */
3394  if ( YY_CURRENT_BUFFER )
3395  {
3396  /* Flush out information for old buffer. */
3397  *(yy_c_buf_p) = (yy_hold_char);
3398  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3399  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3400  }
3401 
3402  /* Only push if top exists. Otherwise, replace top. */
3403  if (YY_CURRENT_BUFFER)
3404  (yy_buffer_stack_top)++;
3405  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3406 
3407  /* copied from yy_switch_to_buffer. */
3410 }
3411 
3417 {
3418  if (!YY_CURRENT_BUFFER)
3419  return;
3420 
3422  YY_CURRENT_BUFFER_LVALUE = NULL;
3423  if ((yy_buffer_stack_top) > 0)
3424  --(yy_buffer_stack_top);
3425 
3426  if (YY_CURRENT_BUFFER) {
3429  }
3430 }
3431 
3432 /* Allocates the stack if it does not exist.
3433  * Guarantees space for at least one push.
3434  */
3435 static void yyensure_buffer_stack (void)
3436 {
3437  yy_size_t num_to_alloc;
3438 
3439  if (!(yy_buffer_stack)) {
3440 
3441  /* First allocation is just for 2 elements, since we don't know if this
3442  * scanner will even need a stack. We use 2 instead of 1 to avoid an
3443  * immediate realloc on the next call.
3444  */
3445  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3447  (num_to_alloc * sizeof(struct yy_buffer_state*)
3448  );
3449  if ( ! (yy_buffer_stack) )
3450  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3451 
3452  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3453 
3454  (yy_buffer_stack_max) = num_to_alloc;
3455  (yy_buffer_stack_top) = 0;
3456  return;
3457  }
3458 
3459  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3460 
3461  /* Increase the buffer to prepare for a possible push. */
3462  yy_size_t grow_size = 8 /* arbitrary grow size */;
3463 
3464  num_to_alloc = (yy_buffer_stack_max) + grow_size;
3466  ((yy_buffer_stack),
3467  num_to_alloc * sizeof(struct yy_buffer_state*)
3468  );
3469  if ( ! (yy_buffer_stack) )
3470  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3471 
3472  /* zero only the new slots.*/
3473  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3474  (yy_buffer_stack_max) = num_to_alloc;
3475  }
3476 }
3477 
3485 {
3486  YY_BUFFER_STATE b;
3487 
3488  if ( size < 2 ||
3489  base[size-2] != YY_END_OF_BUFFER_CHAR ||
3490  base[size-1] != YY_END_OF_BUFFER_CHAR )
3491  /* They forgot to leave room for the EOB's. */
3492  return NULL;
3493 
3494  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3495  if ( ! b )
3496  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3497 
3498  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3499  b->yy_buf_pos = b->yy_ch_buf = base;
3500  b->yy_is_our_buffer = 0;
3501  b->yy_input_file = NULL;
3502  b->yy_n_chars = b->yy_buf_size;
3503  b->yy_is_interactive = 0;
3504  b->yy_at_bol = 1;
3505  b->yy_fill_buffer = 0;
3507 
3508  yy_switch_to_buffer( b );
3509 
3510  return b;
3511 }
3512 
3521 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3522 {
3523 
3524  return yy_scan_bytes( yystr, (int) strlen(yystr) );
3525 }
3526 
3534 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3535 {
3536  YY_BUFFER_STATE b;
3537  char *buf;
3538  yy_size_t n;
3539  int i;
3540 
3541  /* Get memory for full buffer, including space for trailing EOB's. */
3542  n = (yy_size_t) (_yybytes_len + 2);
3543  buf = (char *) yyalloc( n );
3544  if ( ! buf )
3545  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3546 
3547  for ( i = 0; i < _yybytes_len; ++i )
3548  buf[i] = yybytes[i];
3549 
3550  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3551 
3552  b = yy_scan_buffer( buf, n );
3553  if ( ! b )
3554  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3555 
3556  /* It's okay to grow etc. this buffer, and we should throw it
3557  * away when we're done.
3558  */
3559  b->yy_is_our_buffer = 1;
3560 
3561  return b;
3562 }
3563 
3564  static void yy_push_state (int _new_state )
3565 {
3567  {
3568  yy_size_t new_size;
3569 
3571  new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
3572 
3573  if ( ! (yy_start_stack) )
3574  (yy_start_stack) = (int *) yyalloc( new_size );
3575 
3576  else
3577  (yy_start_stack) = (int *) yyrealloc(
3578  (void *) (yy_start_stack), new_size );
3579 
3580  if ( ! (yy_start_stack) )
3581  YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3582  }
3583 
3585 
3586  BEGIN(_new_state);
3587 }
3588 
3589  static void yy_pop_state (void)
3590 {
3591  if ( --(yy_start_stack_ptr) < 0 )
3592  YY_FATAL_ERROR( "start-condition stack underflow" );
3593 
3595 }
3596 
3597  static int yy_top_state (void)
3598 {
3599  return (yy_start_stack)[(yy_start_stack_ptr) - 1];
3600 }
3601 
3602 #ifndef YY_EXIT_FAILURE
3603 #define YY_EXIT_FAILURE 2
3604 #endif
3605 
3606 static void yynoreturn yy_fatal_error (const char* msg )
3607 {
3608  fprintf( stderr, "%s\n", msg );
3609  exit( YY_EXIT_FAILURE );
3610 }
3611 
3612 /* Redefine yyless() so it works in section 3 code. */
3613 
3614 #undef yyless
3615 #define yyless(n) \
3616  do \
3617  { \
3618  /* Undo effects of setting up yytext. */ \
3619  int yyless_macro_arg = (n); \
3620  YY_LESS_LINENO(yyless_macro_arg);\
3621  yytext[yyleng] = (yy_hold_char); \
3622  (yy_c_buf_p) = yytext + yyless_macro_arg; \
3623  (yy_hold_char) = *(yy_c_buf_p); \
3624  *(yy_c_buf_p) = '\0'; \
3625  yyleng = yyless_macro_arg; \
3626  } \
3627  while ( 0 )
3628 
3629 /* Accessor methods (get/set functions) to struct members. */
3630 
3634 int yyget_lineno (void)
3635 {
3636 
3637  return yylineno;
3638 }
3639 
3643 FILE *yyget_in (void)
3644 {
3645  return yyin;
3646 }
3647 
3651 FILE *yyget_out (void)
3652 {
3653  return yyout;
3654 }
3655 
3659 int yyget_leng (void)
3660 {
3661  return yyleng;
3662 }
3663 
3668 char *yyget_text (void)
3669 {
3670  return yytext;
3671 }
3672 
3677 void yyset_lineno (int _line_number )
3678 {
3679 
3680  yylineno = _line_number;
3681 }
3682 
3689 void yyset_in (FILE * _in_str )
3690 {
3691  yyin = _in_str ;
3692 }
3693 
3694 void yyset_out (FILE * _out_str )
3695 {
3696  yyout = _out_str ;
3697 }
3698 
3699 int yyget_debug (void)
3700 {
3701  return yy_flex_debug;
3702 }
3703 
3704 void yyset_debug (int _bdebug )
3705 {
3706  yy_flex_debug = _bdebug ;
3707 }
3708 
3709 static int yy_init_globals (void)
3710 {
3711  /* Initialization is the same as for the non-reentrant scanner.
3712  * This function is called from yylex_destroy(), so don't allocate here.
3713  */
3714 
3715  (yy_buffer_stack) = NULL;
3716  (yy_buffer_stack_top) = 0;
3717  (yy_buffer_stack_max) = 0;
3718  (yy_c_buf_p) = NULL;
3719  (yy_init) = 0;
3720  (yy_start) = 0;
3721 
3722  (yy_start_stack_ptr) = 0;
3723  (yy_start_stack_depth) = 0;
3724  (yy_start_stack) = NULL;
3725 
3726 /* Defined in main.c */
3727 #ifdef YY_STDINIT
3728  yyin = stdin;
3729  yyout = stdout;
3730 #else
3731  yyin = NULL;
3732  yyout = NULL;
3733 #endif
3734 
3735  /* For future reference: Set errno on error, since we are called by
3736  * yylex_init()
3737  */
3738  return 0;
3739 }
3740 
3741 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3742 int yylex_destroy (void)
3743 {
3744 
3745  /* Pop the buffer stack, destroying each element. */
3746  while(YY_CURRENT_BUFFER){
3748  YY_CURRENT_BUFFER_LVALUE = NULL;
3750  }
3751 
3752  /* Destroy the stack itself. */
3753  yyfree((yy_buffer_stack) );
3754  (yy_buffer_stack) = NULL;
3755 
3756  /* Destroy the start condition stack. */
3757  yyfree( (yy_start_stack) );
3758  (yy_start_stack) = NULL;
3759 
3760  /* Reset the globals. This is important in a non-reentrant scanner so the next time
3761  * yylex() is called, initialization will occur. */
3762  yy_init_globals( );
3763 
3764  return 0;
3765 }
3766 
3767 /*
3768  * Internal utility routines.
3769  */
3770 
3771 #ifndef yytext_ptr
3772 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3773 {
3774 
3775  int i;
3776  for ( i = 0; i < n; ++i )
3777  s1[i] = s2[i];
3778 }
3779 #endif
3780 
3781 #ifdef YY_NEED_STRLEN
3782 static int yy_flex_strlen (const char * s )
3783 {
3784  int n;
3785  for ( n = 0; s[n]; ++n )
3786  ;
3787 
3788  return n;
3789 }
3790 #endif
3791 
3792 void *yyalloc (yy_size_t size )
3793 {
3794  return malloc(size);
3795 }
3796 
3797 void *yyrealloc (void * ptr, yy_size_t size )
3798 {
3799 
3800  /* The cast to (char *) in the following accommodates both
3801  * implementations that use char* generic pointers, and those
3802  * that use void* generic pointers. It works with the latter
3803  * because both ANSI C and C++ allow castless assignment from
3804  * any pointer type to void*, and deal with argument conversions
3805  * as though doing an assignment.
3806  */
3807  return realloc(ptr, size);
3808 }
3809 
3810 void yyfree (void * ptr )
3811 {
3812  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3813 }
3814 
3815 #define YYTABLES_NAME "yytables"
3817 #line 349 "scanner.l"
3818 
3819 
3820 int yywrap() { return 1; }
3821 
3822 
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:37
YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING
Definition: jsil_lex.yy.cpp:503
TOK_UNDEFINED
@ TOK_UNDEFINED
Definition: jsil_y.tab.h:78
yy_ec
static const YY_CHAR yy_ec[256]
Definition: jsil_lex.yy.cpp:771
TOK_FLOATING
@ TOK_FLOATING
Definition: ansi_c_y.tab.h:119
ECHO
#define ECHO
Definition: jsil_lex.yy.cpp:1643
flex_int32_t
int flex_int32_t
Definition: ansi_c_lex.yy.cpp:312
TOK_AND
@ TOK_AND
Definition: jsil_y.tab.h:106
TOK_LEQ
@ TOK_LEQ
Definition: jsil_y.tab.h:105
yy_start_stack_depth
static int yy_start_stack_depth
Definition: jsil_lex.yy.cpp:1619
yy_flush_buffer
#define yy_flush_buffer
Definition: jsil_lex.yy.cpp:15
TOK_PROTO_FIELD
@ TOK_PROTO_FIELD
Definition: jsil_y.tab.h:71
yy_nxt
static const flex_int16_t yy_nxt[1557]
Definition: jsil_lex.yy.cpp:1112
yy_load_buffer_state
#define yy_load_buffer_state
Definition: jsil_lex.yy.cpp:16
yyensure_buffer_stack
#define yyensure_buffer_stack
Definition: jsil_lex.yy.cpp:20
yypush_buffer_state
#define yypush_buffer_state
Definition: jsil_lex.yy.cpp:18
yyleng
#define yyleng
Definition: jsil_lex.yy.cpp:23
yy_trans_info
Definition: ansi_c_lex.yy.cpp:619
TOK_LABEL
@ TOK_LABEL
Definition: jsil_y.tab.h:64
yyset_debug
#define yyset_debug
Definition: jsil_lex.yy.cpp:153
INITIAL
#define INITIAL
Definition: jsil_lex.yy.cpp:1535
yyget_text
#define yyget_text
Definition: jsil_lex.yy.cpp:201
YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL
Definition: jsil_lex.yy.cpp:492
yy_n_chars
static int yy_n_chars
Definition: jsil_lex.yy.cpp:529
yywrap
#define yywrap
Definition: jsil_lex.yy.cpp:29
YY_CHAR
flex_uint8_t YY_CHAR
Definition: jsil_lex.yy.cpp:585
yy_buffer_state::yy_input_file
FILE * yy_input_file
Definition: ansi_c_lex.yy.cpp:447
flex_uint32_t
unsigned int flex_uint32_t
Definition: jsil_lex.yy.cpp:315
GRAMMAR
#define GRAMMAR
Definition: jsil_lex.yy.cpp:1536
TOK_STRING_TO_NUM
@ TOK_STRING_TO_NUM
Definition: jsil_y.tab.h:90
TOK_LEFT_SHIFT
@ TOK_LEFT_SHIFT
Definition: jsil_y.tab.h:109
YY_EXIT_FAILURE
#define YY_EXIT_FAILURE
Definition: jsil_lex.yy.cpp:3603
yyfree
#define yyfree
Definition: jsil_lex.yy.cpp:32
TOK_PROTO_OBJ
@ TOK_PROTO_OBJ
Definition: jsil_y.tab.h:72
yy_start
static int yy_start
Definition: jsil_lex.yy.cpp:535
flex_uint8_t
unsigned char flex_uint8_t
Definition: jsil_lex.yy.cpp:313
TOK_BUILTIN_LOC
@ TOK_BUILTIN_LOC
Definition: jsil_y.tab.h:116
TOK_NUM_TO_UINT32
@ TOK_NUM_TO_UINT32
Definition: jsil_y.tab.h:92
TOK_OR
@ TOK_OR
Definition: jsil_y.tab.h:107
yy_buffer_state
Definition: ansi_c_lex.yy.cpp:446
convert_string_literal.h
TOK_T_BOOLEAN
@ TOK_T_BOOLEAN
Definition: jsil_y.tab.h:97
yy_get_previous_state
static yy_state_type yy_get_previous_state(void)
Definition: jsil_lex.yy.cpp:3082
yyrealloc
#define yyrealloc
Definition: jsil_lex.yy.cpp:31
TOK_SIGNED_RIGHT_SHIFT
@ TOK_SIGNED_RIGHT_SHIFT
Definition: jsil_y.tab.h:110
yypop_buffer_state
#define yypop_buffer_state
Definition: jsil_lex.yy.cpp:19
TOK_EVAL
@ TOK_EVAL
Definition: jsil_y.tab.h:63
file
Definition: kdev_t.h:19
yyset_extra
#define yyset_extra
Definition: jsil_lex.yy.cpp:165
TOK_NEW
@ TOK_NEW
Definition: ansi_c_y.tab.h:228
s1
int8_t s1
Definition: bytecode_info.h:59
TOK_T_REFERENCE
@ TOK_T_REFERENCE
Definition: jsil_y.tab.h:103
yytext_ptr
#define yytext_ptr
Definition: jsil_lex.yy.cpp:598
TOK_IDENTIFIER
@ TOK_IDENTIFIER
Definition: ansi_c_y.tab.h:116
YY_BUFFER_STATE
struct yy_buffer_state * YY_BUFFER_STATE
Definition: jsil_lex.yy.cpp:409
jsil_parser.h
yy_scan_string
#define yy_scan_string
Definition: jsil_lex.yy.cpp:12
yy_pop_state
static void yy_pop_state(void)
Definition: jsil_lex.yy.cpp:3589
TOK_SCANNER_ERROR
@ TOK_SCANNER_ERROR
Definition: ansi_c_y.tab.h:216
YY_SC_TO_UI
#define YY_SC_TO_UI(c)
Definition: jsil_lex.yy.cpp:371
yyjsilerror
int yyjsilerror(const std::string &error)
Definition: jsil_parser.cpp:18
YY_DECL
#define YY_DECL
Definition: jsil_lex.yy.cpp:1710
YY_BUF_SIZE
#define YY_BUF_SIZE
Definition: jsil_lex.yy.cpp:399
yy_get_next_buffer
static int yy_get_next_buffer(void)
Definition: jsil_lex.yy.cpp:2944
TOK_GOTO
@ TOK_GOTO
Definition: ansi_c_y.tab.h:73
yy_def
static const flex_int16_t yy_def[1315]
Definition: jsil_lex.yy.cpp:963
YY_BUFFER_NEW
#define YY_BUFFER_NEW
Definition: jsil_lex.yy.cpp:491
yy_buffer_state::yy_at_bol
int yy_at_bol
Definition: ansi_c_lex.yy.cpp:479
yyalloc
#define yyalloc
Definition: jsil_lex.yy.cpp:30
yy_chk
static const flex_int16_t yy_chk[1557]
Definition: jsil_lex.yy.cpp:1287
newstack
#define newstack(x)
Definition: parser.h:142
TOK_SPEC_IDENTIFIER
@ TOK_SPEC_IDENTIFIER
Definition: jsil_y.tab.h:118
yy_size_t
size_t yy_size_t
Definition: jsil_lex.yy.cpp:414
yy_meta
static const YY_CHAR yy_meta[68]
Definition: jsil_lex.yy.cpp:803
TOK_FALSE
@ TOK_FALSE
Definition: ansi_c_y.tab.h:203
yy_buffer_state::yy_is_our_buffer
int yy_is_our_buffer
Definition: ansi_c_lex.yy.cpp:466
yy_push_state
static void yy_push_state(int _new_state)
Definition: jsil_lex.yy.cpp:3564
jsil_scanner_init
void jsil_scanner_init()
Definition: jsil_lex.yy.cpp:1524
TOK_SKIP
@ TOK_SKIP
Definition: jsil_y.tab.h:66
yy_base
static const flex_int16_t yy_base[1315]
Definition: jsil_lex.yy.cpp:814
yytext
#define yytext
Definition: jsil_lex.yy.cpp:28
TOK_TO
@ TOK_TO
Definition: jsil_y.tab.h:61
expr.h
TOK_UNSIGNED_RIGHT_SHIFT
@ TOK_UNSIGNED_RIGHT_SHIFT
Definition: jsil_y.tab.h:111
yyget_out
#define yyget_out
Definition: jsil_lex.yy.cpp:183
YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR
Definition: jsil_lex.yy.cpp:388
TOK_MEMBER_REFERENCE
@ TOK_MEMBER_REFERENCE
Definition: jsil_y.tab.h:93
yy_last_accepting_state
static yy_state_type yy_last_accepting_state
Definition: jsil_lex.yy.cpp:1462
jsil_y.tab.h
TOK_BUILTIN_IDENTIFIER
@ TOK_BUILTIN_IDENTIFIER
Definition: jsil_y.tab.h:117
YY_END_OF_BUFFER
#define YY_END_OF_BUFFER
Definition: jsil_lex.yy.cpp:615
TOK_SCOPE
@ TOK_SCOPE
Definition: ansi_c_y.tab.h:242
TOK_PROTO
@ TOK_PROTO
Definition: jsil_y.tab.h:82
TOK_PROCEDURE
@ TOK_PROCEDURE
Definition: jsil_y.tab.h:59
yy_scan_buffer
#define yy_scan_buffer
Definition: jsil_lex.yy.cpp:11
YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION
Definition: jsil_lex.yy.cpp:608
yyset_in
#define yyset_in
Definition: jsil_lex.yy.cpp:177
yy_buffer_state::yy_fill_buffer
int yy_fill_buffer
Definition: ansi_c_lex.yy.cpp:487
yylex_destroy
#define yylex_destroy
Definition: jsil_lex.yy.cpp:141
TOK_HAS_FIELD
@ TOK_HAS_FIELD
Definition: jsil_y.tab.h:69
convert_float_literal.h
yyget_extra
#define yyget_extra
Definition: jsil_lex.yy.cpp:159
STRING_LITERAL_COMMENT
#define STRING_LITERAL_COMMENT
Definition: jsil_lex.yy.cpp:1539
yy_create_buffer
#define yy_create_buffer
Definition: jsil_lex.yy.cpp:9
flex_int16_t
short int flex_int16_t
Definition: ansi_c_lex.yy.cpp:311
yyget_in
#define yyget_in
Definition: jsil_lex.yy.cpp:171
yyset_lineno
#define yyset_lineno
Definition: jsil_lex.yy.cpp:213
yy_buffer_state::yy_buf_size
int yy_buf_size
Definition: ansi_c_lex.yy.cpp:455
YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg)
Definition: jsil_lex.yy.cpp:1697
yy_buffer_state::yy_ch_buf
char * yy_ch_buf
Definition: ansi_c_lex.yy.cpp:449
yy_init_globals
static int yy_init_globals(void)
Definition: jsil_lex.yy.cpp:3709
loc
#define loc()
Definition: jsil_lex.yy.cpp:1501
TOK_NUM_TO_STRING
@ TOK_NUM_TO_STRING
Definition: jsil_y.tab.h:89
yy_buffer_stack_max
static size_t yy_buffer_stack_max
capacity of stack.
Definition: jsil_lex.yy.cpp:510
yy_start_stack
static int * yy_start_stack
Definition: jsil_lex.yy.cpp:1620
flex_uint16_t
unsigned short int flex_uint16_t
Definition: jsil_lex.yy.cpp:314
TOK_STRING
@ TOK_STRING
Definition: ansi_c_y.tab.h:121
yy_init_buffer
#define yy_init_buffer
Definition: jsil_lex.yy.cpp:14
YY_BREAK
#define YY_BREAK
Definition: jsil_lex.yy.cpp:1722
convert_float_literal
exprt convert_float_literal(const std::string &src)
build an expression from a floating-point literal
Definition: convert_float_literal.cpp:29
PARSER
#define PARSER
Definition: jsil_lex.yy.cpp:1494
yyout
#define yyout
Definition: jsil_lex.yy.cpp:26
TOK_FID
@ TOK_FID
Definition: jsil_y.tab.h:83
yyget_debug
#define yyget_debug
Definition: jsil_lex.yy.cpp:147
STRING_LITERAL
#define STRING_LITERAL
Definition: jsil_lex.yy.cpp:1538
YY_INPUT
#define YY_INPUT(buf, result, max_size)
Definition: jsil_lex.yy.cpp:1650
TOK_RETURNS
@ TOK_RETURNS
Definition: jsil_y.tab.h:60
TOK_DELETE
@ TOK_DELETE
Definition: ansi_c_y.tab.h:222
TOK_FIELD
@ TOK_FIELD
Definition: jsil_y.tab.h:74
YY_RULE_SETUP
#define YY_RULE_SETUP
Definition: jsil_lex.yy.cpp:1725
yyset_out
#define yyset_out
Definition: jsil_lex.yy.cpp:189
yy_delete_buffer
#define yy_delete_buffer
Definition: jsil_lex.yy.cpp:10
yy_c_buf_p
static char * yy_c_buf_p
Definition: jsil_lex.yy.cpp:533
yy_state_type
int yy_state_type
Definition: jsil_lex.yy.cpp:589
TOK_TRUE
@ TOK_TRUE
Definition: ansi_c_y.tab.h:202
TOK_NOT
@ TOK_NOT
Definition: jsil_y.tab.h:112
yy_top_state
static int yy_top_state(void)
Definition: jsil_lex.yy.cpp:3597
source_locationt
Definition: source_location.h:20
yy_did_buffer_switch_on_eof
static int yy_did_buffer_switch_on_eof
Definition: jsil_lex.yy.cpp:540
yy_buffer_state::yy_buffer_status
int yy_buffer_status
Definition: ansi_c_lex.yy.cpp:489
YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER
Definition: jsil_lex.yy.cpp:519
yy_buffer_state::yy_buf_pos
char * yy_buf_pos
Definition: ansi_c_lex.yy.cpp:450
yy_fatal_error
static void yy_fatal_error(const char *msg)
Definition: jsil_lex.yy.cpp:3606
TOK_T_NUMBER
@ TOK_T_NUMBER
Definition: jsil_y.tab.h:99
yynoreturn
#define yynoreturn
Definition: jsil_lex.yy.cpp:362
yy_trans_info::yy_nxt
flex_int32_t yy_nxt
Definition: ansi_c_lex.yy.cpp:621
yy_flex_debug
#define yy_flex_debug
Definition: jsil_lex.yy.cpp:21
yylex
#define yylex
Definition: jsil_lex.yy.cpp:24
yy_accept
static const flex_int16_t yy_accept[1305]
Definition: jsil_lex.yy.cpp:623
yyterminate
#define yyterminate()
Definition: jsil_lex.yy.cpp:1687
yy_trans_info::yy_verify
flex_int32_t yy_verify
Definition: ansi_c_lex.yy.cpp:620
yy_buffer_state::yy_bs_column
int yy_bs_column
The column count.
Definition: ansi_c_lex.yy.cpp:482
yy_buffer_state::yy_n_chars
int yy_n_chars
Definition: ansi_c_lex.yy.cpp:460
TOK_T_USER_OBJECT
@ TOK_T_USER_OBJECT
Definition: jsil_y.tab.h:101
yy_switch_to_buffer
#define yy_switch_to_buffer
Definition: jsil_lex.yy.cpp:17
yyget_lineno
#define yyget_lineno
Definition: jsil_lex.yy.cpp:207
YY_CHAR
flex_uint8_t YY_CHAR
Definition: ansi_c_lex.yy.cpp:585
TOK_DEFEQ
@ TOK_DEFEQ
Definition: jsil_y.tab.h:104
TOK_BASE
@ TOK_BASE
Definition: jsil_y.tab.h:75
EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH
Definition: jsil_lex.yy.cpp:423
yyless
#define yyless(n)
Definition: jsil_lex.yy.cpp:3615
yy_buffer_state::yy_is_interactive
int yy_is_interactive
Definition: ansi_c_lex.yy.cpp:473
yy_try_NUL_trans
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: jsil_lex.yy.cpp:3114
malloc
void * malloc(unsigned)
TOK_NEWLINE
@ TOK_NEWLINE
Definition: jsil_y.tab.h:58
flex_int32_t
int flex_int32_t
Definition: jsil_lex.yy.cpp:312
yyrestart
#define yyrestart
Definition: jsil_lex.yy.cpp:27
TOK_T_NULL
@ TOK_T_NULL
Definition: jsil_y.tab.h:95
TOK_TYPEOF
@ TOK_TYPEOF
Definition: ansi_c_y.tab.h:129
yyin
#define yyin
Definition: jsil_lex.yy.cpp:22
TOK_T_BUILTIN_OBJECT
@ TOK_T_BUILTIN_OBJECT
Definition: jsil_y.tab.h:100
yyget_leng
#define yyget_leng
Definition: jsil_lex.yy.cpp:195
EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN
Definition: jsil_lex.yy.cpp:421
COMMENT
#define COMMENT
Definition: jsil_lex.yy.cpp:1537
TOK_EMPTY
@ TOK_EMPTY
Definition: jsil_y.tab.h:79
flex_int8_t
signed char flex_int8_t
Definition: jsil_lex.yy.cpp:310
YY_MORE_ADJ
#define YY_MORE_ADJ
Definition: jsil_lex.yy.cpp:1473
YY_NEW_FILE
#define YY_NEW_FILE
Definition: jsil_lex.yy.cpp:387
YY_START
#define YY_START
Definition: jsil_lex.yy.cpp:382
YY_FLUSH_BUFFER
#define YY_FLUSH_BUFFER
Definition: jsil_lex.yy.cpp:553
flex_int16_t
short int flex_int16_t
Definition: jsil_lex.yy.cpp:311
EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE
Definition: jsil_lex.yy.cpp:422
TOK_PRIMVALUE
@ TOK_PRIMVALUE
Definition: jsil_y.tab.h:86
TOK_WITH
@ TOK_WITH
Definition: jsil_y.tab.h:67
TOK_T_STRING
@ TOK_T_STRING
Definition: jsil_y.tab.h:98
BEGIN
#define BEGIN
Definition: jsil_lex.yy.cpp:377
yyjsillval
unsigned yyjsillval
Definition: jsil_y.tab.cpp:1331
flex_uint8_t
unsigned char flex_uint8_t
Definition: ansi_c_lex.yy.cpp:313
YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
Definition: jsil_lex.yy.cpp:1474
YY_EXTRA_TYPE
#define YY_EXTRA_TYPE
Definition: jsil_lex.yy.cpp:1551
YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE
Definition: jsil_lex.yy.cpp:1634
s2
int16_t s2
Definition: bytecode_info.h:60
yy_init
static int yy_init
Definition: jsil_lex.yy.cpp:534
yy_start_stack_ptr
static int yy_start_stack_ptr
Definition: jsil_lex.yy.cpp:1618
TOK_THROWS
@ TOK_THROWS
Definition: jsil_y.tab.h:62
TOK_CONSTRUCTID
@ TOK_CONSTRUCTID
Definition: jsil_y.tab.h:85
TOK_REF
@ TOK_REF
Definition: jsil_y.tab.h:73
YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE
Definition: jsil_lex.yy.cpp:525
yy_size_t
size_t yy_size_t
Definition: ansi_c_lex.yy.cpp:414
parser_stack
#define parser_stack(x)
Definition: parser.h:144
YY_START_STACK_INCR
#define YY_START_STACK_INCR
Definition: jsil_lex.yy.cpp:1692
yy_scan_bytes
#define yy_scan_bytes
Definition: jsil_lex.yy.cpp:13
yy_last_accepting_cpos
static char * yy_last_accepting_cpos
Definition: jsil_lex.yy.cpp:1463
convert_string_literal
exprt convert_string_literal(const std::string &src)
Definition: convert_string_literal.cpp:71
yy_buffer_stack_top
static size_t yy_buffer_stack_top
index of top of stack.
Definition: jsil_lex.yy.cpp:509
TOK_NUM_TO_INT32
@ TOK_NUM_TO_INT32
Definition: jsil_y.tab.h:91
free
void free(void *)
TOK_NULL
@ TOK_NULL
Definition: jsil_y.tab.h:77
TOK_T_OBJECT
@ TOK_T_OBJECT
Definition: jsil_y.tab.h:102
yy_buffer_state::yy_bs_lineno
int yy_bs_lineno
The line count.
Definition: ansi_c_lex.yy.cpp:481
yy_state_type
int yy_state_type
Definition: ansi_c_lex.yy.cpp:589
yylineno
#define yylineno
Definition: jsil_lex.yy.cpp:25
TOK_SUBTYPE_OF
@ TOK_SUBTYPE_OF
Definition: jsil_y.tab.h:108
YY_STATE_EOF
#define YY_STATE_EOF(state)
Definition: jsil_lex.yy.cpp:385
TOK_CLASS
@ TOK_CLASS
Definition: ansi_c_y.tab.h:221
TOK_T_UNDEFINED
@ TOK_T_UNDEFINED
Definition: jsil_y.tab.h:96
yy_buffer_stack
static YY_BUFFER_STATE * yy_buffer_stack
Stack as an array.
Definition: jsil_lex.yy.cpp:511
TOK_TARGETFUNCTION
@ TOK_TARGETFUNCTION
Definition: jsil_y.tab.h:87
make_identifier
static int make_identifier()
Definition: jsil_lex.yy.cpp:1504
STATEMENTS
#define STATEMENTS
Definition: jsil_lex.yy.cpp:1540
yy_hold_char
static char yy_hold_char
Definition: jsil_lex.yy.cpp:528
TOK_VARIABLE_REFERENCE
@ TOK_VARIABLE_REFERENCE
Definition: jsil_y.tab.h:94