PIPS
sl_lex.c
Go to the documentation of this file.
1 
2 #line 3 "<stdout>"
3 
4 #define YY_INT_ALIGNED short int
5 
6 /* A lexical scanner generated by flex */
7 
8 #define yy_create_buffer slx__create_buffer
9 #define yy_delete_buffer slx__delete_buffer
10 #define yy_scan_buffer slx__scan_buffer
11 #define yy_scan_string slx__scan_string
12 #define yy_scan_bytes slx__scan_bytes
13 #define yy_init_buffer slx__init_buffer
14 #define yy_flush_buffer slx__flush_buffer
15 #define yy_load_buffer_state slx__load_buffer_state
16 #define yy_switch_to_buffer slx__switch_to_buffer
17 #define yypush_buffer_state slx_push_buffer_state
18 #define yypop_buffer_state slx_pop_buffer_state
19 #define yyensure_buffer_stack slx_ensure_buffer_stack
20 #define yy_flex_debug slx__flex_debug
21 #define yyin slx_in
22 #define yyleng slx_leng
23 #define yylex slx_lex
24 #define yylineno slx_lineno
25 #define yyout slx_out
26 #define yyrestart slx_restart
27 #define yytext slx_text
28 #define yywrap slx_wrap
29 #define yyalloc slx_alloc
30 #define yyrealloc slx_realloc
31 #define yyfree slx_free
32 
33 #define FLEX_SCANNER
34 #define YY_FLEX_MAJOR_VERSION 2
35 #define YY_FLEX_MINOR_VERSION 6
36 #define YY_FLEX_SUBMINOR_VERSION 4
37 #if YY_FLEX_SUBMINOR_VERSION > 0
38 #define FLEX_BETA
39 #endif
40 
41 #ifdef yy_create_buffer
42 #define slx__create_buffer_ALREADY_DEFINED
43 #else
44 #define yy_create_buffer slx__create_buffer
45 #endif
46 
47 #ifdef yy_delete_buffer
48 #define slx__delete_buffer_ALREADY_DEFINED
49 #else
50 #define yy_delete_buffer slx__delete_buffer
51 #endif
52 
53 #ifdef yy_scan_buffer
54 #define slx__scan_buffer_ALREADY_DEFINED
55 #else
56 #define yy_scan_buffer slx__scan_buffer
57 #endif
58 
59 #ifdef yy_scan_string
60 #define slx__scan_string_ALREADY_DEFINED
61 #else
62 #define yy_scan_string slx__scan_string
63 #endif
64 
65 #ifdef yy_scan_bytes
66 #define slx__scan_bytes_ALREADY_DEFINED
67 #else
68 #define yy_scan_bytes slx__scan_bytes
69 #endif
70 
71 #ifdef yy_init_buffer
72 #define slx__init_buffer_ALREADY_DEFINED
73 #else
74 #define yy_init_buffer slx__init_buffer
75 #endif
76 
77 #ifdef yy_flush_buffer
78 #define slx__flush_buffer_ALREADY_DEFINED
79 #else
80 #define yy_flush_buffer slx__flush_buffer
81 #endif
82 
83 #ifdef yy_load_buffer_state
84 #define slx__load_buffer_state_ALREADY_DEFINED
85 #else
86 #define yy_load_buffer_state slx__load_buffer_state
87 #endif
88 
89 #ifdef yy_switch_to_buffer
90 #define slx__switch_to_buffer_ALREADY_DEFINED
91 #else
92 #define yy_switch_to_buffer slx__switch_to_buffer
93 #endif
94 
95 #ifdef yypush_buffer_state
96 #define slx_push_buffer_state_ALREADY_DEFINED
97 #else
98 #define yypush_buffer_state slx_push_buffer_state
99 #endif
100 
101 #ifdef yypop_buffer_state
102 #define slx_pop_buffer_state_ALREADY_DEFINED
103 #else
104 #define yypop_buffer_state slx_pop_buffer_state
105 #endif
106 
107 #ifdef yyensure_buffer_stack
108 #define slx_ensure_buffer_stack_ALREADY_DEFINED
109 #else
110 #define yyensure_buffer_stack slx_ensure_buffer_stack
111 #endif
112 
113 #ifdef yylex
114 #define slx_lex_ALREADY_DEFINED
115 #else
116 #define yylex slx_lex
117 #endif
118 
119 #ifdef yyrestart
120 #define slx_restart_ALREADY_DEFINED
121 #else
122 #define yyrestart slx_restart
123 #endif
124 
125 #ifdef yylex_init
126 #define slx_lex_init_ALREADY_DEFINED
127 #else
128 #define yylex_init slx_lex_init
129 #endif
130 
131 #ifdef yylex_init_extra
132 #define slx_lex_init_extra_ALREADY_DEFINED
133 #else
134 #define yylex_init_extra slx_lex_init_extra
135 #endif
136 
137 #ifdef yylex_destroy
138 #define slx_lex_destroy_ALREADY_DEFINED
139 #else
140 #define yylex_destroy slx_lex_destroy
141 #endif
142 
143 #ifdef yyget_debug
144 #define slx_get_debug_ALREADY_DEFINED
145 #else
146 #define yyget_debug slx_get_debug
147 #endif
148 
149 #ifdef yyset_debug
150 #define slx_set_debug_ALREADY_DEFINED
151 #else
152 #define yyset_debug slx_set_debug
153 #endif
154 
155 #ifdef yyget_extra
156 #define slx_get_extra_ALREADY_DEFINED
157 #else
158 #define yyget_extra slx_get_extra
159 #endif
160 
161 #ifdef yyset_extra
162 #define slx_set_extra_ALREADY_DEFINED
163 #else
164 #define yyset_extra slx_set_extra
165 #endif
166 
167 #ifdef yyget_in
168 #define slx_get_in_ALREADY_DEFINED
169 #else
170 #define yyget_in slx_get_in
171 #endif
172 
173 #ifdef yyset_in
174 #define slx_set_in_ALREADY_DEFINED
175 #else
176 #define yyset_in slx_set_in
177 #endif
178 
179 #ifdef yyget_out
180 #define slx_get_out_ALREADY_DEFINED
181 #else
182 #define yyget_out slx_get_out
183 #endif
184 
185 #ifdef yyset_out
186 #define slx_set_out_ALREADY_DEFINED
187 #else
188 #define yyset_out slx_set_out
189 #endif
190 
191 #ifdef yyget_leng
192 #define slx_get_leng_ALREADY_DEFINED
193 #else
194 #define yyget_leng slx_get_leng
195 #endif
196 
197 #ifdef yyget_text
198 #define slx_get_text_ALREADY_DEFINED
199 #else
200 #define yyget_text slx_get_text
201 #endif
202 
203 #ifdef yyget_lineno
204 #define slx_get_lineno_ALREADY_DEFINED
205 #else
206 #define yyget_lineno slx_get_lineno
207 #endif
208 
209 #ifdef yyset_lineno
210 #define slx_set_lineno_ALREADY_DEFINED
211 #else
212 #define yyset_lineno slx_set_lineno
213 #endif
214 
215 #ifdef yywrap
216 #define slx_wrap_ALREADY_DEFINED
217 #else
218 #define yywrap slx_wrap
219 #endif
220 
221 #ifdef yyalloc
222 #define slx_alloc_ALREADY_DEFINED
223 #else
224 #define yyalloc slx_alloc
225 #endif
226 
227 #ifdef yyrealloc
228 #define slx_realloc_ALREADY_DEFINED
229 #else
230 #define yyrealloc slx_realloc
231 #endif
232 
233 #ifdef yyfree
234 #define slx_free_ALREADY_DEFINED
235 #else
236 #define yyfree slx_free
237 #endif
238 
239 #ifdef yytext
240 #define slx_text_ALREADY_DEFINED
241 #else
242 #define yytext slx_text
243 #endif
244 
245 #ifdef yyleng
246 #define slx_leng_ALREADY_DEFINED
247 #else
248 #define yyleng slx_leng
249 #endif
250 
251 #ifdef yyin
252 #define slx_in_ALREADY_DEFINED
253 #else
254 #define yyin slx_in
255 #endif
256 
257 #ifdef yyout
258 #define slx_out_ALREADY_DEFINED
259 #else
260 #define yyout slx_out
261 #endif
262 
263 #ifdef yy_flex_debug
264 #define slx__flex_debug_ALREADY_DEFINED
265 #else
266 #define yy_flex_debug slx__flex_debug
267 #endif
268 
269 #ifdef yylineno
270 #define slx_lineno_ALREADY_DEFINED
271 #else
272 #define yylineno slx_lineno
273 #endif
274 
275 /* First, we deal with platform-specific or compiler-specific issues. */
276 
277 /* begin standard C headers. */
278 #include <stdio.h>
279 #include <string.h>
280 #include <errno.h>
281 #include <stdlib.h>
282 
283 /* end standard C headers. */
284 
285 /* flex integer type definitions */
286 
287 #ifndef FLEXINT_H
288 #define FLEXINT_H
289 
290 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
291 
292 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
293 
294 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
295  * if you want the limit (max/min) macros for int types.
296  */
297 #ifndef __STDC_LIMIT_MACROS
298 #define __STDC_LIMIT_MACROS 1
299 #endif
300 
301 #include <inttypes.h>
302 typedef int8_t flex_int8_t;
303 typedef uint8_t flex_uint8_t;
304 typedef int16_t flex_int16_t;
305 typedef uint16_t flex_uint16_t;
306 typedef int32_t flex_int32_t;
307 typedef uint32_t flex_uint32_t;
308 #else
309 typedef signed char flex_int8_t;
310 typedef short int flex_int16_t;
311 typedef int flex_int32_t;
312 typedef unsigned char flex_uint8_t;
313 typedef unsigned short int flex_uint16_t;
314 typedef unsigned int flex_uint32_t;
315 
316 /* Limits of integral types. */
317 #ifndef INT8_MIN
318 #define INT8_MIN (-128)
319 #endif
320 #ifndef INT16_MIN
321 #define INT16_MIN (-32767-1)
322 #endif
323 #ifndef INT32_MIN
324 #define INT32_MIN (-2147483647-1)
325 #endif
326 #ifndef INT8_MAX
327 #define INT8_MAX (127)
328 #endif
329 #ifndef INT16_MAX
330 #define INT16_MAX (32767)
331 #endif
332 #ifndef INT32_MAX
333 #define INT32_MAX (2147483647)
334 #endif
335 #ifndef UINT8_MAX
336 #define UINT8_MAX (255U)
337 #endif
338 #ifndef UINT16_MAX
339 #define UINT16_MAX (65535U)
340 #endif
341 #ifndef UINT32_MAX
342 #define UINT32_MAX (4294967295U)
343 #endif
344 
345 #ifndef SIZE_MAX
346 #define SIZE_MAX (~(size_t)0)
347 #endif
348 
349 #endif /* ! C99 */
350 
351 #endif /* ! FLEXINT_H */
352 
353 /* begin standard C++ headers. */
354 
355 /* TODO: this is always defined, so inline it */
356 #define yyconst const
357 
358 #if defined(__GNUC__) && __GNUC__ >= 3
359 #define yynoreturn __attribute__((__noreturn__))
360 #else
361 #define yynoreturn
362 #endif
363 
364 /* Returned upon end-of-file. */
365 #define YY_NULL 0
366 
367 /* Promotes a possibly negative, possibly signed char to an
368  * integer in range [0..255] for use as an array index.
369  */
370 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
371 
372 /* Enter a start condition. This macro really ought to take a parameter,
373  * but we do it the disgusting crufty way forced on us by the ()-less
374  * definition of BEGIN.
375  */
376 #define BEGIN (yy_start) = 1 + 2 *
377 /* Translate the current start state into a value that can be later handed
378  * to BEGIN to return to the state. The YYSTATE alias is for lex
379  * compatibility.
380  */
381 #define YY_START (((yy_start) - 1) / 2)
382 #define YYSTATE YY_START
383 /* Action number for EOF rule of a given start state. */
384 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
385 /* Special action meaning "start processing a new file". */
386 #define YY_NEW_FILE yyrestart( yyin )
387 #define YY_END_OF_BUFFER_CHAR 0
388 
389 /* Size of default input buffer. */
390 #ifndef YY_BUF_SIZE
391 #ifdef __ia64__
392 /* On IA-64, the buffer size is 16k, not 8k.
393  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
394  * Ditto for the __ia64__ case accordingly.
395  */
396 #define YY_BUF_SIZE 32768
397 #else
398 #define YY_BUF_SIZE 16384
399 #endif /* __ia64__ */
400 #endif
401 
402 /* The state buf must be large enough to hold one state per character in the main buffer.
403  */
404 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
405 
406 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
407 #define YY_TYPEDEF_YY_BUFFER_STATE
409 #endif
410 
411 #ifndef YY_TYPEDEF_YY_SIZE_T
412 #define YY_TYPEDEF_YY_SIZE_T
413 typedef size_t yy_size_t;
414 #endif
415 
416 extern int yyleng;
417 
418 extern FILE *yyin, *yyout;
419 
420 #define EOB_ACT_CONTINUE_SCAN 0
421 #define EOB_ACT_END_OF_FILE 1
422 #define EOB_ACT_LAST_MATCH 2
423 
424  #define YY_LESS_LINENO(n)
425  #define YY_LINENO_REWIND_TO(ptr)
426 
427 /* Return all but the first "n" matched characters back to the input stream. */
428 #define yyless(n) \
429  do \
430  { \
431  /* Undo effects of setting up yytext. */ \
432  int yyless_macro_arg = (n); \
433  YY_LESS_LINENO(yyless_macro_arg);\
434  *yy_cp = (yy_hold_char); \
435  YY_RESTORE_YY_MORE_OFFSET \
436  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
437  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
438  } \
439  while ( 0 )
440 #define unput(c) yyunput( c, (yytext_ptr) )
441 
442 #ifndef YY_STRUCT_YY_BUFFER_STATE
443 #define YY_STRUCT_YY_BUFFER_STATE
444 struct yy_buffer_state
445  {
446  FILE *yy_input_file;
447 
448  char *yy_ch_buf; /* input buffer */
449  char *yy_buf_pos; /* current position in input buffer */
450 
451  /* Size of input buffer in bytes, not including room for EOB
452  * characters.
453  */
454  int yy_buf_size;
455 
456  /* Number of characters read into yy_ch_buf, not including EOB
457  * characters.
458  */
459  int yy_n_chars;
460 
461  /* Whether we "own" the buffer - i.e., we know we created it,
462  * and can realloc() it to grow it, and should free() it to
463  * delete it.
464  */
465  int yy_is_our_buffer;
466 
467  /* Whether this is an "interactive" input source; if so, and
468  * if we're using stdio for input, then we want to use getc()
469  * instead of fread(), to make sure we stop fetching input after
470  * each newline.
471  */
472  int yy_is_interactive;
473 
474  /* Whether we're considered to be at the beginning of a line.
475  * If so, '^' rules will be active on the next match, otherwise
476  * not.
477  */
478  int yy_at_bol;
479 
480  int yy_bs_lineno; /**< The line count. */
481  int yy_bs_column; /**< The column count. */
482 
483  /* Whether to try to fill the input buffer when we reach the
484  * end of it.
485  */
486  int yy_fill_buffer;
487 
488  int yy_buffer_status;
489 
490 #define YY_BUFFER_NEW 0
491 #define YY_BUFFER_NORMAL 1
492  /* When an EOF's been seen but there's still some text to process
493  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
494  * shouldn't try reading from the input source any more. We might
495  * still have a bunch of tokens to match, though, because of
496  * possible backing-up.
497  *
498  * When we actually see the EOF, we change the status to "new"
499  * (via yyrestart()), so that the user can continue scanning by
500  * just pointing yyin at a new input file.
501  */
502 #define YY_BUFFER_EOF_PENDING 2
503 
504  };
505 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
506 
507 /* Stack of input buffers. */
508 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
509 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
510 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
511 
512 /* We provide macros for accessing buffer states in case in the
513  * future we want to put the buffer states in a more general
514  * "scanner state".
515  *
516  * Returns the top of the stack, or NULL.
517  */
518 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
519  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
520  : NULL)
521 /* Same as previous macro, but useful when we know that the buffer stack is not
522  * NULL or when we need an lvalue. For internal use only.
523  */
524 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
525 
526 /* yy_hold_char holds the character lost when yytext is formed. */
527 static char yy_hold_char;
528 static int yy_n_chars; /* number of characters read into yy_ch_buf */
529 int yyleng;
530 
531 /* Points to current character in buffer. */
532 static char *yy_c_buf_p = NULL;
533 static int yy_init = 0; /* whether we need to initialize */
534 static int yy_start = 0; /* start state number */
535 
536 /* Flag which is used to allow yywrap()'s to do buffer switches
537  * instead of setting up a fresh yyin. A bit of a hack ...
538  */
540 
541 void yyrestart ( FILE *input_file );
543 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
547 void yypop_buffer_state ( void );
548 
549 static void yyensure_buffer_stack ( void );
550 static void yy_load_buffer_state ( void );
551 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
552 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
553 
555 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
556 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
557 
558 void *yyalloc ( yy_size_t );
559 void *yyrealloc ( void *, yy_size_t );
560 void yyfree ( void * );
561 
562 #define yy_new_buffer yy_create_buffer
563 #define yy_set_interactive(is_interactive) \
564  { \
565  if ( ! YY_CURRENT_BUFFER ){ \
566  yyensure_buffer_stack (); \
567  YY_CURRENT_BUFFER_LVALUE = \
568  yy_create_buffer( yyin, YY_BUF_SIZE ); \
569  } \
570  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
571  }
572 #define yy_set_bol(at_bol) \
573  { \
574  if ( ! YY_CURRENT_BUFFER ){\
575  yyensure_buffer_stack (); \
576  YY_CURRENT_BUFFER_LVALUE = \
577  yy_create_buffer( yyin, YY_BUF_SIZE ); \
578  } \
579  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
580  }
581 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
582 
583 /* Begin user sect3 */
585 
586 FILE *yyin , *yyout ;
587 
588 typedef int yy_state_type;
589 
590 extern int yylineno;
591 int yylineno = 1;
592 
593 extern char *yytext;
594 #ifdef yytext_ptr
595 #undef yytext_ptr
596 #endif
597 #define yytext_ptr yytext
598 
601 static int yy_get_next_buffer ( void );
602 static void yynoreturn yy_fatal_error ( const char* msg );
603 
604 /* Done after the current pattern has been matched and before the
605  * corresponding action - sets up yytext.
606  */
607 #define YY_DO_BEFORE_ACTION \
608  (yytext_ptr) = yy_bp; \
609  yyleng = (int) (yy_cp - yy_bp); \
610  (yy_hold_char) = *yy_cp; \
611  *yy_cp = '\0'; \
612  (yy_c_buf_p) = yy_cp;
613 #define YY_NUM_RULES 18
614 #define YY_END_OF_BUFFER 19
615 /* This struct is not used in this scanner,
616  but its presence is necessary. */
617 struct yy_trans_info
618  {
621  };
622 static const flex_int16_t yy_accept[34] =
623  { 0,
624  0, 0, 17, 17, 3, 3, 19, 18, 17, 16,
625  14, 15, 6, 5, 7, 3, 10, 18, 8, 2,
626  2, 12, 13, 17, 14, 3, 11, 4, 9, 2,
627  2, 1, 0
628  } ;
629 
630 static const YY_CHAR yy_ec[256] =
631  { 0,
632  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
633  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
634  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
635  1, 2, 1, 1, 4, 1, 1, 1, 5, 1,
636  1, 1, 6, 7, 8, 1, 1, 9, 9, 9,
637  9, 9, 9, 9, 9, 9, 9, 5, 1, 10,
638  11, 12, 1, 1, 13, 14, 14, 14, 14, 14,
639  14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
640  14, 15, 14, 14, 14, 16, 14, 14, 14, 14,
641  1, 1, 1, 1, 14, 1, 14, 14, 14, 14,
642 
643  14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
644  14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
645  14, 14, 17, 1, 18, 1, 1, 1, 1, 1,
646  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
647  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
649  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
650  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
651  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
652  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
653 
654  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
655  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
656  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
657  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
658  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
659  1, 1, 1, 1, 1
660  } ;
661 
662 static const YY_CHAR yy_meta[19] =
663  { 0,
664  1, 1, 2, 3, 3, 1, 1, 1, 3, 1,
665  1, 1, 3, 3, 3, 3, 1, 1
666  } ;
667 
668 static const flex_int16_t yy_base[38] =
669  { 0,
670  0, 0, 38, 37, 0, 0, 39, 42, 0, 42,
671  17, 42, 42, 42, 42, 29, 26, 25, 24, 0,
672  21, 42, 42, 0, 19, 24, 42, 42, 42, 0,
673  17, 0, 42, 22, 25, 28, 27
674  } ;
675 
676 static const flex_int16_t yy_def[38] =
677  { 0,
678  34, 34, 35, 35, 33, 5, 33, 33, 36, 33,
679  33, 33, 33, 33, 33, 33, 33, 33, 33, 37,
680  37, 33, 33, 36, 33, 33, 33, 33, 33, 37,
681  37, 37, 0, 33, 33, 33, 33
682  } ;
683 
684 static const flex_int16_t yy_nxt[61] =
685  { 0,
686  8, 11, 11, 12, 8, 13, 14, 15, 16, 17,
687  18, 19, 20, 20, 20, 21, 22, 23, 25, 25,
688  25, 25, 8, 8, 8, 9, 9, 9, 24, 30,
689  24, 32, 26, 31, 29, 28, 27, 26, 33, 10,
690  10, 7, 33, 33, 33, 33, 33, 33, 33, 33,
691  33, 33, 33, 33, 33, 33, 33, 33, 33, 33
692  } ;
693 
694 static const flex_int16_t yy_chk[61] =
695  { 0,
696  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
697  5, 5, 5, 5, 5, 5, 5, 5, 11, 11,
698  25, 25, 34, 34, 34, 35, 35, 35, 36, 37,
699  36, 31, 26, 21, 19, 18, 17, 16, 7, 4,
700  3, 33, 33, 33, 33, 33, 33, 33, 33, 33,
701  33, 33, 33, 33, 33, 33, 33, 33, 33, 33
702  } ;
703 
706 
707 extern int yy_flex_debug;
709 
710 /* The intent behind this definition is that it'll catch
711  * any uses of REJECT which flex missed.
712  */
713 #define REJECT reject_used_but_not_detected
714 #define yymore() yymore_used_but_not_detected
715 #define YY_MORE_ADJ 0
716 #define YY_RESTORE_YY_MORE_OFFSET
717 char *yytext;
718 #line 1 "sl_lex.l"
719 #define YY_NO_INPUT 1
720 
721 #line 6 "sl_lex.l"
722 /*
723  Grammaire lex necessaire pour l'analyse lexicale d'une liste de systemes.
724  Les tokens renvoyes sont commentes dans le fichier "sl_gram.y".
725 */
726 
727 #include <stdio.h>
728 #include "boolean.h"
729 #include "arithmetique.h"
730 #include "vecteur.h"
731 
732 #include "sl_gram.h"
733 #ifdef SCAN_VIEW
734 #define RETURN(token,string) fprintf(stderr,"%s ", string) ; \
735  return(token)
736 #else
737 #define RETURN(token,string) return(token)
738 #endif
739 #line 740 "<stdout>"
740 #line 741 "<stdout>"
741 
742 #define INITIAL 0
743 #define COMMENT 1
744 #define TEXT 2
745 
746 #ifndef YY_NO_UNISTD_H
747 /* Special case for "unistd.h", since it is non-ANSI. We include it way
748  * down here because we want the user's section 1 to have been scanned first.
749  * The user has a chance to override it with an option.
750  */
751 #include <unistd.h>
752 #endif
753 
754 #ifndef YY_EXTRA_TYPE
755 #define YY_EXTRA_TYPE void *
756 #endif
757 
758 static int yy_init_globals ( void );
759 
760 /* Accessor methods to globals.
761  These are made visible to non-reentrant scanners for convenience. */
762 
763 int yylex_destroy ( void );
764 
765 int yyget_debug ( void );
766 
767 void yyset_debug ( int debug_flag );
768 
769 YY_EXTRA_TYPE yyget_extra ( void );
770 
771 void yyset_extra ( YY_EXTRA_TYPE user_defined );
772 
773 FILE *yyget_in ( void );
774 
775 void yyset_in ( FILE * _in_str );
776 
777 FILE *yyget_out ( void );
778 
779 void yyset_out ( FILE * _out_str );
780 
781  int yyget_leng ( void );
782 
783 char *yyget_text ( void );
784 
785 int yyget_lineno ( void );
786 
787 void yyset_lineno ( int _line_number );
788 
789 /* Macros after this point can all be overridden by user definitions in
790  * section 1.
791  */
792 
793 #ifndef YY_SKIP_YYWRAP
794 #ifdef __cplusplus
795 extern "C" int yywrap ( void );
796 #else
797 extern int yywrap ( void );
798 #endif
799 #endif
800 
801 #ifndef YY_NO_UNPUT
802 
803 #endif
804 
805 #ifndef yytext_ptr
806 static void yy_flex_strncpy ( char *, const char *, int );
807 #endif
808 
809 #ifdef YY_NEED_STRLEN
810 static int yy_flex_strlen ( const char * );
811 #endif
812 
813 #ifndef YY_NO_INPUT
814 #ifdef __cplusplus
815 static int yyinput ( void );
816 #else
817 static int input ( void );
818 #endif
819 
820 #endif
821 
822 /* Amount of stuff to slurp up with each read. */
823 #ifndef YY_READ_BUF_SIZE
824 #ifdef __ia64__
825 /* On IA-64, the buffer size is 16k, not 8k */
826 #define YY_READ_BUF_SIZE 16384
827 #else
828 #define YY_READ_BUF_SIZE 8192
829 #endif /* __ia64__ */
830 #endif
831 
832 /* Copy whatever the last rule matched to the standard output. */
833 #ifndef ECHO
834 /* This used to be an fputs(), but since the string might contain NUL's,
835  * we now use fwrite().
836  */
837 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
838 #endif
839 
840 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
841  * is returned in "result".
842  */
843 #ifndef YY_INPUT
844 #define YY_INPUT(buf,result,max_size) \
845  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
846  { \
847  int c = '*'; \
848  int n; \
849  for ( n = 0; n < max_size && \
850  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
851  buf[n] = (char) c; \
852  if ( c == '\n' ) \
853  buf[n++] = (char) c; \
854  if ( c == EOF && ferror( yyin ) ) \
855  YY_FATAL_ERROR( "input in flex scanner failed" ); \
856  result = n; \
857  } \
858  else \
859  { \
860  errno=0; \
861  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
862  { \
863  if( errno != EINTR) \
864  { \
865  YY_FATAL_ERROR( "input in flex scanner failed" ); \
866  break; \
867  } \
868  errno=0; \
869  clearerr(yyin); \
870  } \
871  }\
872 \
873 
874 #endif
875 
876 /* No semi-colon after return; correct usage is to write "yyterminate();" -
877  * we don't want an extra ';' after the "return" because that will cause
878  * some compilers to complain about unreachable statements.
879  */
880 #ifndef yyterminate
881 #define yyterminate() return YY_NULL
882 #endif
883 
884 /* Number of entries by which start-condition stack grows. */
885 #ifndef YY_START_STACK_INCR
886 #define YY_START_STACK_INCR 25
887 #endif
888 
889 /* Report a fatal error. */
890 #ifndef YY_FATAL_ERROR
891 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
892 #endif
893 
894 /* end tables serialization structures and prototypes */
895 
896 /* Default declaration of generated scanner - a define so the user can
897  * easily add parameters.
898  */
899 #ifndef YY_DECL
900 #define YY_DECL_IS_OURS 1
901 
902 extern int yylex (void);
903 
904 #define YY_DECL int yylex (void)
905 #endif /* !YY_DECL */
906 
907 /* Code executed at the beginning of each rule, after yytext and yyleng
908  * have been set up.
909  */
910 #ifndef YY_USER_ACTION
911 #define YY_USER_ACTION
912 #endif
913 
914 /* Code executed at the end of each rule. */
915 #ifndef YY_BREAK
916 #define YY_BREAK /*LINTED*/break;
917 #endif
918 
919 #define YY_RULE_SETUP \
920  YY_USER_ACTION
921 
922 /** The main scanner function which does all the work.
923  */
925 {
926  yy_state_type yy_current_state;
927  char *yy_cp, *yy_bp;
928  int yy_act;
929 
930  if ( !(yy_init) )
931  {
932  (yy_init) = 1;
933 
934 #ifdef YY_USER_INIT
935  YY_USER_INIT;
936 #endif
937 
938  if ( ! (yy_start) )
939  (yy_start) = 1; /* first start state */
940 
941  if ( ! yyin )
942  yyin = stdin;
943 
944  if ( ! yyout )
945  yyout = stdout;
946 
947  if ( ! YY_CURRENT_BUFFER ) {
951  }
952 
954  }
955 
956  {
957 #line 25 "sl_lex.l"
958 
959 #line 960 "<stdout>"
960 
961  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
962  {
963  yy_cp = (yy_c_buf_p);
964 
965  /* Support of yytext. */
966  *yy_cp = (yy_hold_char);
967 
968  /* yy_bp points to the position in yy_ch_buf of the start of
969  * the current run.
970  */
971  yy_bp = yy_cp;
972 
973  yy_current_state = (yy_start);
974 yy_match:
975  do
976  {
977  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
978  if ( yy_accept[yy_current_state] )
979  {
980  (yy_last_accepting_state) = yy_current_state;
982  }
983  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
984  {
985  yy_current_state = (int) yy_def[yy_current_state];
986  if ( yy_current_state >= 34 )
987  yy_c = yy_meta[yy_c];
988  }
989  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
990  ++yy_cp;
991  }
992  while ( yy_base[yy_current_state] != 42 );
993 
994 yy_find_action:
995  yy_act = yy_accept[yy_current_state];
996  if ( yy_act == 0 )
997  { /* have to back up */
999  yy_current_state = (yy_last_accepting_state);
1000  yy_act = yy_accept[yy_current_state];
1001  }
1002 
1004 
1005 do_action: /* This label is used only to access EOF actions. */
1006 
1007  switch ( yy_act )
1008  { /* beginning of action switch */
1009  case 0: /* must back up */
1010  /* undo the effects of YY_DO_BEFORE_ACTION */
1011  *yy_cp = (yy_hold_char);
1013  yy_current_state = (yy_last_accepting_state);
1014  goto yy_find_action;
1015 
1016 case 1:
1018 #line 26 "sl_lex.l"
1019 { RETURN(VAR, "VAR "); }
1020  YY_BREAK
1021 case 2:
1023 #line 27 "sl_lex.l"
1024 { RETURN(IDENT, "IDENT "); } /* ' */
1025  YY_BREAK
1026 case 3:
1028 #line 28 "sl_lex.l"
1029 { RETURN(CONSTANTE, "CONSTANTE "); }
1030  YY_BREAK
1031 case 4:
1033 #line 29 "sl_lex.l"
1034 { RETURN(EGAL, "EGAL "); }
1035  YY_BREAK
1036 case 5:
1038 #line 30 "sl_lex.l"
1039 { RETURN(VIRG, "VIRG "); }
1040  YY_BREAK
1041 case 6:
1043 #line 31 "sl_lex.l"
1044 { RETURN(PLUS, "PLUS "); }
1045  YY_BREAK
1046 case 7:
1048 #line 32 "sl_lex.l"
1049 { RETURN(MOINS, "MOINS "); }
1050  YY_BREAK
1051 case 8:
1053 #line 33 "sl_lex.l"
1054 { RETURN(SUP, "SUP "); }
1055  YY_BREAK
1056 case 9:
1058 #line 34 "sl_lex.l"
1059 { RETURN(SUPEGAL, "SUPEGAL "); }
1060  YY_BREAK
1061 case 10:
1063 #line 35 "sl_lex.l"
1064 { RETURN(INF, "INF "); }
1065  YY_BREAK
1066 case 11:
1068 #line 36 "sl_lex.l"
1069 { RETURN(INFEGAL, "INFEGAL "); }
1070  YY_BREAK
1071 case 12:
1073 #line 37 "sl_lex.l"
1074 { RETURN(ACCOUVR, "ACCOUVR "); }
1075  YY_BREAK
1076 case 13:
1078 #line 38 "sl_lex.l"
1079 { RETURN(ACCFERM, "ACCFERM "); }
1080  YY_BREAK
1081 case 14:
1082 /* rule 14 can match eol */
1084 #line 39 "sl_lex.l"
1085 ;
1086  YY_BREAK
1087 case 15:
1089 #line 40 "sl_lex.l"
1090 {BEGIN COMMENT;}
1091  YY_BREAK
1092 case 16:
1093 /* rule 16 can match eol */
1095 #line 41 "sl_lex.l"
1096 {BEGIN TEXT;}
1097  YY_BREAK
1098 case 17:
1100 #line 42 "sl_lex.l"
1101 ;
1102  YY_BREAK
1103 case 18:
1105 #line 43 "sl_lex.l"
1106 ECHO;
1107  YY_BREAK
1108 #line 1109 "<stdout>"
1109 case YY_STATE_EOF(INITIAL):
1110 case YY_STATE_EOF(COMMENT):
1111 case YY_STATE_EOF(TEXT):
1112  yyterminate();
1113 
1114  case YY_END_OF_BUFFER:
1115  {
1116  /* Amount of text matched not including the EOB char. */
1117  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1118 
1119  /* Undo the effects of YY_DO_BEFORE_ACTION. */
1120  *yy_cp = (yy_hold_char);
1122 
1123  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1124  {
1125  /* We're scanning a new file or input source. It's
1126  * possible that this happened because the user
1127  * just pointed yyin at a new source and called
1128  * yylex(). If so, then we have to assure
1129  * consistency between YY_CURRENT_BUFFER and our
1130  * globals. Here is the right place to do so, because
1131  * this is the first action (other than possibly a
1132  * back-up) that will match for the new input source.
1133  */
1134  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1135  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1136  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1137  }
1138 
1139  /* Note that here we test for yy_c_buf_p "<=" to the position
1140  * of the first EOB in the buffer, since yy_c_buf_p will
1141  * already have been incremented past the NUL character
1142  * (since all states make transitions on EOB to the
1143  * end-of-buffer state). Contrast this with the test
1144  * in input().
1145  */
1146  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1147  { /* This was really a NUL. */
1148  yy_state_type yy_next_state;
1149 
1150  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1151 
1152  yy_current_state = yy_get_previous_state( );
1153 
1154  /* Okay, we're now positioned to make the NUL
1155  * transition. We couldn't have
1156  * yy_get_previous_state() go ahead and do it
1157  * for us because it doesn't know how to deal
1158  * with the possibility of jamming (and we don't
1159  * want to build jamming into it because then it
1160  * will run more slowly).
1161  */
1162 
1163  yy_next_state = yy_try_NUL_trans( yy_current_state );
1164 
1166 
1167  if ( yy_next_state )
1168  {
1169  /* Consume the NUL. */
1170  yy_cp = ++(yy_c_buf_p);
1171  yy_current_state = yy_next_state;
1172  goto yy_match;
1173  }
1174 
1175  else
1176  {
1177  yy_cp = (yy_c_buf_p);
1178  goto yy_find_action;
1179  }
1180  }
1181 
1182  else switch ( yy_get_next_buffer( ) )
1183  {
1184  case EOB_ACT_END_OF_FILE:
1185  {
1187 
1188  if ( yywrap( ) )
1189  {
1190  /* Note: because we've taken care in
1191  * yy_get_next_buffer() to have set up
1192  * yytext, we can now set up
1193  * yy_c_buf_p so that if some total
1194  * hoser (like flex itself) wants to
1195  * call the scanner after we return the
1196  * YY_NULL, it'll still work - another
1197  * YY_NULL will get returned.
1198  */
1200 
1202  goto do_action;
1203  }
1204 
1205  else
1206  {
1207  if ( ! (yy_did_buffer_switch_on_eof) )
1208  YY_NEW_FILE;
1209  }
1210  break;
1211  }
1212 
1213  case EOB_ACT_CONTINUE_SCAN:
1214  (yy_c_buf_p) =
1215  (yytext_ptr) + yy_amount_of_matched_text;
1216 
1217  yy_current_state = yy_get_previous_state( );
1218 
1219  yy_cp = (yy_c_buf_p);
1221  goto yy_match;
1222 
1223  case EOB_ACT_LAST_MATCH:
1224  (yy_c_buf_p) =
1225  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1226 
1227  yy_current_state = yy_get_previous_state( );
1228 
1229  yy_cp = (yy_c_buf_p);
1231  goto yy_find_action;
1232  }
1233  break;
1234  }
1235 
1236  default:
1238  "fatal flex scanner internal error--no action found" );
1239  } /* end of action switch */
1240  } /* end of scanning one token */
1241  } /* end of user's declarations */
1242 } /* end of yylex */
1243 
1244 /* yy_get_next_buffer - try to read in a new buffer
1245  *
1246  * Returns a code representing an action:
1247  * EOB_ACT_LAST_MATCH -
1248  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1249  * EOB_ACT_END_OF_FILE - end of file
1250  */
1251 static int yy_get_next_buffer (void)
1252 {
1253  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1254  char *source = (yytext_ptr);
1255  int number_to_move, i;
1256  int ret_val;
1257 
1258  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1260  "fatal flex scanner internal error--end of buffer missed" );
1261 
1262  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1263  { /* Don't try to fill the buffer, so this is an EOF. */
1264  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1265  {
1266  /* We matched a single character, the EOB, so
1267  * treat this as a final EOF.
1268  */
1269  return EOB_ACT_END_OF_FILE;
1270  }
1271 
1272  else
1273  {
1274  /* We matched some text prior to the EOB, first
1275  * process it.
1276  */
1277  return EOB_ACT_LAST_MATCH;
1278  }
1279  }
1280 
1281  /* Try to read more data. */
1282 
1283  /* First move last chars to start of buffer. */
1284  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
1285 
1286  for ( i = 0; i < number_to_move; ++i )
1287  *(dest++) = *(source++);
1288 
1289  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1290  /* don't do the read, it's not guaranteed to return an EOF,
1291  * just force an EOF
1292  */
1293  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1294 
1295  else
1296  {
1297  int num_to_read =
1298  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1299 
1300  while ( num_to_read <= 0 )
1301  { /* Not enough room in the buffer - grow it. */
1302 
1303  /* just a shorter name for the current buffer */
1305 
1306  int yy_c_buf_p_offset =
1307  (int) ((yy_c_buf_p) - b->yy_ch_buf);
1308 
1309  if ( b->yy_is_our_buffer )
1310  {
1311  int new_size = b->yy_buf_size * 2;
1312 
1313  if ( new_size <= 0 )
1314  b->yy_buf_size += b->yy_buf_size / 8;
1315  else
1316  b->yy_buf_size *= 2;
1317 
1318  b->yy_ch_buf = (char *)
1319  /* Include room in for 2 EOB chars. */
1320  yyrealloc( (void *) b->yy_ch_buf,
1321  (yy_size_t) (b->yy_buf_size + 2) );
1322  }
1323  else
1324  /* Can't grow it, we don't own it. */
1325  b->yy_ch_buf = NULL;
1326 
1327  if ( ! b->yy_ch_buf )
1329  "fatal error - scanner input buffer overflow" );
1330 
1331  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1332 
1333  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1334  number_to_move - 1;
1335 
1336  }
1337 
1338  if ( num_to_read > YY_READ_BUF_SIZE )
1339  num_to_read = YY_READ_BUF_SIZE;
1340 
1341  /* Read in more data. */
1342  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1343  (yy_n_chars), num_to_read );
1344 
1345  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1346  }
1347 
1348  if ( (yy_n_chars) == 0 )
1349  {
1350  if ( number_to_move == YY_MORE_ADJ )
1351  {
1352  ret_val = EOB_ACT_END_OF_FILE;
1353  yyrestart( yyin );
1354  }
1355 
1356  else
1357  {
1358  ret_val = EOB_ACT_LAST_MATCH;
1359  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1361  }
1362  }
1363 
1364  else
1365  ret_val = EOB_ACT_CONTINUE_SCAN;
1366 
1367  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1368  /* Extend the array by 50%, plus the number we really need. */
1369  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1370  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
1371  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
1372  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1373  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1374  /* "- 2" to take care of EOB's */
1375  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
1376  }
1377 
1378  (yy_n_chars) += number_to_move;
1381 
1382  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1383 
1384  return ret_val;
1385 }
1386 
1387 /* yy_get_previous_state - get the state just before the EOB char was reached */
1388 
1389  static yy_state_type yy_get_previous_state (void)
1390 {
1391  yy_state_type yy_current_state;
1392  char *yy_cp;
1393 
1394  yy_current_state = (yy_start);
1395 
1396  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1397  {
1398  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1399  if ( yy_accept[yy_current_state] )
1400  {
1401  (yy_last_accepting_state) = yy_current_state;
1403  }
1404  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1405  {
1406  yy_current_state = (int) yy_def[yy_current_state];
1407  if ( yy_current_state >= 34 )
1408  yy_c = yy_meta[yy_c];
1409  }
1410  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1411  }
1412 
1413  return yy_current_state;
1414 }
1415 
1416 /* yy_try_NUL_trans - try to make a transition on the NUL character
1417  *
1418  * synopsis
1419  * next_state = yy_try_NUL_trans( current_state );
1420  */
1421  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1422 {
1423  int yy_is_jam;
1424  char *yy_cp = (yy_c_buf_p);
1425 
1426  YY_CHAR yy_c = 1;
1427  if ( yy_accept[yy_current_state] )
1428  {
1429  (yy_last_accepting_state) = yy_current_state;
1431  }
1432  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1433  {
1434  yy_current_state = (int) yy_def[yy_current_state];
1435  if ( yy_current_state >= 34 )
1436  yy_c = yy_meta[yy_c];
1437  }
1438  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1439  yy_is_jam = (yy_current_state == 33);
1440 
1441  return yy_is_jam ? 0 : yy_current_state;
1442 }
1443 
1444 #ifndef YY_NO_UNPUT
1445 
1446 #endif
1447 
1448 #ifndef YY_NO_INPUT
1449 #ifdef __cplusplus
1450  static int yyinput (void)
1451 #else
1452  static int input (void)
1453 #endif
1454 
1455 {
1456  int c;
1457 
1458  *(yy_c_buf_p) = (yy_hold_char);
1459 
1460  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1461  {
1462  /* yy_c_buf_p now points to the character we want to return.
1463  * If this occurs *before* the EOB characters, then it's a
1464  * valid NUL; if not, then we've hit the end of the buffer.
1465  */
1466  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1467  /* This was really a NUL. */
1468  *(yy_c_buf_p) = '\0';
1469 
1470  else
1471  { /* need more input */
1472  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
1473  ++(yy_c_buf_p);
1474 
1475  switch ( yy_get_next_buffer( ) )
1476  {
1477  case EOB_ACT_LAST_MATCH:
1478  /* This happens because yy_g_n_b()
1479  * sees that we've accumulated a
1480  * token and flags that we need to
1481  * try matching the token before
1482  * proceeding. But for input(),
1483  * there's no matching to consider.
1484  * So convert the EOB_ACT_LAST_MATCH
1485  * to EOB_ACT_END_OF_FILE.
1486  */
1487 
1488  /* Reset buffer status. */
1489  yyrestart( yyin );
1490 
1491  /*FALLTHROUGH*/
1492 
1493  case EOB_ACT_END_OF_FILE:
1494  {
1495  if ( yywrap( ) )
1496  return 0;
1497 
1498  if ( ! (yy_did_buffer_switch_on_eof) )
1499  YY_NEW_FILE;
1500 #ifdef __cplusplus
1501  return yyinput();
1502 #else
1503  return input();
1504 #endif
1505  }
1506 
1507  case EOB_ACT_CONTINUE_SCAN:
1508  (yy_c_buf_p) = (yytext_ptr) + offset;
1509  break;
1510  }
1511  }
1512  }
1513 
1514  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
1515  *(yy_c_buf_p) = '\0'; /* preserve yytext */
1516  (yy_hold_char) = *++(yy_c_buf_p);
1517 
1518  return c;
1519 }
1520 #endif /* ifndef YY_NO_INPUT */
1521 
1522 /** Immediately switch to a different input stream.
1523  * @param input_file A readable stream.
1524  *
1525  * @note This function does not reset the start condition to @c INITIAL .
1526  */
1527  void yyrestart (FILE * input_file )
1528 {
1529 
1530  if ( ! YY_CURRENT_BUFFER ){
1534  }
1535 
1536  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
1538 }
1539 
1540 /** Switch to a different input buffer.
1541  * @param new_buffer The new input buffer.
1542  *
1543  */
1544  void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
1545 {
1546 
1547  /* TODO. We should be able to replace this entire function body
1548  * with
1549  * yypop_buffer_state();
1550  * yypush_buffer_state(new_buffer);
1551  */
1553  if ( YY_CURRENT_BUFFER == new_buffer )
1554  return;
1555 
1556  if ( YY_CURRENT_BUFFER )
1557  {
1558  /* Flush out information for old buffer. */
1559  *(yy_c_buf_p) = (yy_hold_char);
1560  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1561  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1562  }
1563 
1564  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1566 
1567  /* We don't actually know whether we did this switch during
1568  * EOF (yywrap()) processing, but the only time this flag
1569  * is looked at is after yywrap() is called, so it's safe
1570  * to go ahead and always set it.
1571  */
1573 }
1574 
1575 static void yy_load_buffer_state (void)
1576 {
1577  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1578  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1579  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1580  (yy_hold_char) = *(yy_c_buf_p);
1581 }
1582 
1583 /** Allocate and initialize an input buffer state.
1584  * @param file A readable stream.
1585  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1586  *
1587  * @return the allocated buffer state.
1588  */
1589  YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
1590 {
1591  YY_BUFFER_STATE b;
1592 
1593  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
1594  if ( ! b )
1595  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1596 
1597  b->yy_buf_size = size;
1598 
1599  /* yy_ch_buf has to be 2 characters longer than the size given because
1600  * we need to put in 2 end-of-buffer characters.
1601  */
1602  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
1603  if ( ! b->yy_ch_buf )
1604  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1605 
1606  b->yy_is_our_buffer = 1;
1607 
1608  yy_init_buffer( b, file );
1609 
1610  return b;
1611 }
1612 
1613 /** Destroy the buffer.
1614  * @param b a buffer created with yy_create_buffer()
1615  *
1616  */
1618 {
1619 
1620  if ( ! b )
1621  return;
1622 
1623  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1625 
1626  if ( b->yy_is_our_buffer )
1627  yyfree( (void *) b->yy_ch_buf );
1628 
1629  yyfree( (void *) b );
1630 }
1631 
1632 /* Initializes or reinitializes a buffer.
1633  * This function is sometimes called more than once on the same buffer,
1634  * such as during a yyrestart() or at EOF.
1635  */
1636  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
1637 
1638 {
1639  int oerrno = errno;
1640 
1641  yy_flush_buffer( b );
1642 
1643  b->yy_input_file = file;
1644  b->yy_fill_buffer = 1;
1645 
1646  /* If b is the current buffer, then yy_init_buffer was _probably_
1647  * called from yyrestart() or through yy_get_next_buffer.
1648  * In that case, we don't want to reset the lineno or column.
1649  */
1650  if (b != YY_CURRENT_BUFFER){
1651  b->yy_bs_lineno = 1;
1652  b->yy_bs_column = 0;
1653  }
1654 
1655  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1656 
1657  errno = oerrno;
1658 }
1659 
1660 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1661  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1662  *
1663  */
1665 {
1666  if ( ! b )
1667  return;
1668 
1669  b->yy_n_chars = 0;
1670 
1671  /* We always need two end-of-buffer characters. The first causes
1672  * a transition to the end-of-buffer state. The second causes
1673  * a jam in that state.
1674  */
1677 
1678  b->yy_buf_pos = &b->yy_ch_buf[0];
1679 
1680  b->yy_at_bol = 1;
1682 
1683  if ( b == YY_CURRENT_BUFFER )
1685 }
1686 
1687 /** Pushes the new state onto the stack. The new state becomes
1688  * the current state. This function will allocate the stack
1689  * if necessary.
1690  * @param new_buffer The new state.
1691  *
1692  */
1693 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
1694 {
1695  if (new_buffer == NULL)
1696  return;
1697 
1699 
1700  /* This block is copied from yy_switch_to_buffer. */
1701  if ( YY_CURRENT_BUFFER )
1702  {
1703  /* Flush out information for old buffer. */
1704  *(yy_c_buf_p) = (yy_hold_char);
1705  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1706  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1707  }
1708 
1709  /* Only push if top exists. Otherwise, replace top. */
1710  if (YY_CURRENT_BUFFER)
1711  (yy_buffer_stack_top)++;
1712  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1713 
1714  /* copied from yy_switch_to_buffer. */
1717 }
1718 
1719 /** Removes and deletes the top of the stack, if present.
1720  * The next element becomes the new top.
1721  *
1722  */
1723 void yypop_buffer_state (void)
1724 {
1725  if (!YY_CURRENT_BUFFER)
1726  return;
1727 
1729  YY_CURRENT_BUFFER_LVALUE = NULL;
1730  if ((yy_buffer_stack_top) > 0)
1731  --(yy_buffer_stack_top);
1732 
1733  if (YY_CURRENT_BUFFER) {
1736  }
1737 }
1738 
1739 /* Allocates the stack if it does not exist.
1740  * Guarantees space for at least one push.
1741  */
1742 static void yyensure_buffer_stack (void)
1743 {
1744  yy_size_t num_to_alloc;
1745 
1746  if (!(yy_buffer_stack)) {
1747 
1748  /* First allocation is just for 2 elements, since we don't know if this
1749  * scanner will even need a stack. We use 2 instead of 1 to avoid an
1750  * immediate realloc on the next call.
1751  */
1752  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
1754  (num_to_alloc * sizeof(struct yy_buffer_state*)
1755  );
1756  if ( ! (yy_buffer_stack) )
1757  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
1758 
1759  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1760 
1761  (yy_buffer_stack_max) = num_to_alloc;
1762  (yy_buffer_stack_top) = 0;
1763  return;
1764  }
1765 
1766  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1767 
1768  /* Increase the buffer to prepare for a possible push. */
1769  yy_size_t grow_size = 8 /* arbitrary grow size */;
1770 
1771  num_to_alloc = (yy_buffer_stack_max) + grow_size;
1773  ((yy_buffer_stack),
1774  num_to_alloc * sizeof(struct yy_buffer_state*)
1775  );
1776  if ( ! (yy_buffer_stack) )
1777  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
1778 
1779  /* zero only the new slots.*/
1780  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1781  (yy_buffer_stack_max) = num_to_alloc;
1782  }
1783 }
1784 
1785 /** Setup the input buffer state to scan directly from a user-specified character buffer.
1786  * @param base the character buffer
1787  * @param size the size in bytes of the character buffer
1788  *
1789  * @return the newly allocated buffer state object.
1790  */
1792 {
1793  YY_BUFFER_STATE b;
1794 
1795  if ( size < 2 ||
1796  base[size-2] != YY_END_OF_BUFFER_CHAR ||
1797  base[size-1] != YY_END_OF_BUFFER_CHAR )
1798  /* They forgot to leave room for the EOB's. */
1799  return NULL;
1800 
1801  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
1802  if ( ! b )
1803  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1804 
1805  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
1806  b->yy_buf_pos = b->yy_ch_buf = base;
1807  b->yy_is_our_buffer = 0;
1808  b->yy_input_file = NULL;
1809  b->yy_n_chars = b->yy_buf_size;
1810  b->yy_is_interactive = 0;
1811  b->yy_at_bol = 1;
1812  b->yy_fill_buffer = 0;
1814 
1815  yy_switch_to_buffer( b );
1816 
1817  return b;
1818 }
1819 
1820 /** Setup the input buffer state to scan a string. The next call to yylex() will
1821  * scan from a @e copy of @a str.
1822  * @param yystr a NUL-terminated string to scan
1823  *
1824  * @return the newly allocated buffer state object.
1825  * @note If you want to scan bytes that may contain NUL values, then use
1826  * yy_scan_bytes() instead.
1827  */
1828 YY_BUFFER_STATE yy_scan_string (const char * yystr )
1829 {
1830 
1831  return yy_scan_bytes( yystr, (int) strlen(yystr) );
1832 }
1833 
1834 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
1835  * scan from a @e copy of @a bytes.
1836  * @param yybytes the byte buffer to scan
1837  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
1838  *
1839  * @return the newly allocated buffer state object.
1840  */
1841 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
1842 {
1843  YY_BUFFER_STATE b;
1844  char *buf;
1845  yy_size_t n;
1846  int i;
1847 
1848  /* Get memory for full buffer, including space for trailing EOB's. */
1849  n = (yy_size_t) (_yybytes_len + 2);
1850  buf = (char *) yyalloc( n );
1851  if ( ! buf )
1852  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1853 
1854  for ( i = 0; i < _yybytes_len; ++i )
1855  buf[i] = yybytes[i];
1856 
1857  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1858 
1859  b = yy_scan_buffer( buf, n );
1860  if ( ! b )
1861  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1862 
1863  /* It's okay to grow etc. this buffer, and we should throw it
1864  * away when we're done.
1865  */
1866  b->yy_is_our_buffer = 1;
1867 
1868  return b;
1869 }
1870 
1871 #ifndef YY_EXIT_FAILURE
1872 #define YY_EXIT_FAILURE 2
1873 #endif
1874 
1875 static void yynoreturn yy_fatal_error (const char* msg )
1876 {
1877  fprintf( stderr, "%s\n", msg );
1878  exit( YY_EXIT_FAILURE );
1879 }
1880 
1881 /* Redefine yyless() so it works in section 3 code. */
1882 
1883 #undef yyless
1884 #define yyless(n) \
1885  do \
1886  { \
1887  /* Undo effects of setting up yytext. */ \
1888  int yyless_macro_arg = (n); \
1889  YY_LESS_LINENO(yyless_macro_arg);\
1890  yytext[yyleng] = (yy_hold_char); \
1891  (yy_c_buf_p) = yytext + yyless_macro_arg; \
1892  (yy_hold_char) = *(yy_c_buf_p); \
1893  *(yy_c_buf_p) = '\0'; \
1894  yyleng = yyless_macro_arg; \
1895  } \
1896  while ( 0 )
1897 
1898 /* Accessor methods (get/set functions) to struct members. */
1899 
1900 /** Get the current line number.
1901  *
1902  */
1903 int yyget_lineno (void)
1904 {
1905 
1906  return yylineno;
1907 }
1908 
1909 /** Get the input stream.
1910  *
1911  */
1912 FILE *yyget_in (void)
1913 {
1914  return yyin;
1915 }
1916 
1917 /** Get the output stream.
1918  *
1919  */
1920 FILE *yyget_out (void)
1921 {
1922  return yyout;
1923 }
1924 
1925 /** Get the length of the current token.
1926  *
1927  */
1928 int yyget_leng (void)
1929 {
1930  return yyleng;
1931 }
1932 
1933 /** Get the current token.
1934  *
1935  */
1936 
1937 char *yyget_text (void)
1938 {
1939  return yytext;
1940 }
1941 
1942 /** Set the current line number.
1943  * @param _line_number line number
1944  *
1945  */
1946 void yyset_lineno (int _line_number )
1947 {
1948 
1949  yylineno = _line_number;
1950 }
1951 
1952 /** Set the input stream. This does not discard the current
1953  * input buffer.
1954  * @param _in_str A readable stream.
1955  *
1956  * @see yy_switch_to_buffer
1957  */
1958 void yyset_in (FILE * _in_str )
1959 {
1960  yyin = _in_str ;
1961 }
1962 
1963 void yyset_out (FILE * _out_str )
1964 {
1965  yyout = _out_str ;
1966 }
1967 
1968 int yyget_debug (void)
1969 {
1970  return yy_flex_debug;
1971 }
1972 
1973 void yyset_debug (int _bdebug )
1974 {
1975  yy_flex_debug = _bdebug ;
1976 }
1977 
1978 static int yy_init_globals (void)
1979 {
1980  /* Initialization is the same as for the non-reentrant scanner.
1981  * This function is called from yylex_destroy(), so don't allocate here.
1982  */
1983 
1984  (yy_buffer_stack) = NULL;
1985  (yy_buffer_stack_top) = 0;
1986  (yy_buffer_stack_max) = 0;
1987  (yy_c_buf_p) = NULL;
1988  (yy_init) = 0;
1989  (yy_start) = 0;
1990 
1991 /* Defined in main.c */
1992 #ifdef YY_STDINIT
1993  yyin = stdin;
1994  yyout = stdout;
1995 #else
1996  yyin = NULL;
1997  yyout = NULL;
1998 #endif
1999 
2000  /* For future reference: Set errno on error, since we are called by
2001  * yylex_init()
2002  */
2003  return 0;
2004 }
2005 
2006 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2007 int yylex_destroy (void)
2008 {
2009 
2010  /* Pop the buffer stack, destroying each element. */
2011  while(YY_CURRENT_BUFFER){
2013  YY_CURRENT_BUFFER_LVALUE = NULL;
2015  }
2016 
2017  /* Destroy the stack itself. */
2018  yyfree((yy_buffer_stack) );
2019  (yy_buffer_stack) = NULL;
2020 
2021  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2022  * yylex() is called, initialization will occur. */
2023  yy_init_globals( );
2024 
2025  return 0;
2026 }
2027 
2028 /*
2029  * Internal utility routines.
2030  */
2031 
2032 #ifndef yytext_ptr
2033 static void yy_flex_strncpy (char* s1, const char * s2, int n )
2034 {
2035 
2036  int i;
2037  for ( i = 0; i < n; ++i )
2038  s1[i] = s2[i];
2039 }
2040 #endif
2041 
2042 #ifdef YY_NEED_STRLEN
2043 static int yy_flex_strlen (const char * s )
2044 {
2045  int n;
2046  for ( n = 0; s[n]; ++n )
2047  ;
2048 
2049  return n;
2050 }
2051 #endif
2052 
2053 void *yyalloc (yy_size_t size )
2054 {
2055  return malloc(size);
2056 }
2057 
2058 void *yyrealloc (void * ptr, yy_size_t size )
2059 {
2060 
2061  /* The cast to (char *) in the following accommodates both
2062  * implementations that use char* generic pointers, and those
2063  * that use void* generic pointers. It works with the latter
2064  * because both ANSI C and C++ allow castless assignment from
2065  * any pointer type to void*, and deal with argument conversions
2066  * as though doing an assignment.
2067  */
2068  return realloc(ptr, size);
2069 }
2070 
2071 void yyfree (void * ptr )
2072 {
2073  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2074 }
2075 
2076 #define YYTABLES_NAME "yytables"
2077 
2078 #line 43 "sl_lex.l"
2079 
2080 
2081 int yywrap() { return(-1); }
2082 void sl_init_lex() { BEGIN TEXT; }
2083 
void const char const char const int
bdt base
Current expression.
Definition: bdt_read_paf.c:100
static Value offset
Definition: translation.c:283
unsigned char flex_uint8_t
Definition: genread_lex.c:312
static int input(void)
short int flex_int16_t
Definition: genread_lex.c:310
int flex_int32_t
Definition: genread_lex.c:311
int yy_state_type
Definition: genread_lex.c:588
flex_uint8_t YY_CHAR
Begin user sect3.
Definition: genread_lex.c:584
size_t yy_size_t
Definition: genread_lex.c:413
void * malloc(YYSIZE_T)
void free(void *)
#define IDENT
Definition: genspec.h:102
void * memset(void *str, int c, size_t len)
memset.c – set an area of memory to a given value Copyright (C) 1991, 2003, 2009-2011 Free Software F...
Definition: memset.c:23
#define exit(code)
Definition: misc-local.h:54
#define PLUS
Definition: sc_gram.c:200
#define INF
Definition: sc_gram.c:197
#define ACCOUVR
Definition: sc_gram.c:193
#define INFEGAL
Definition: sc_gram.c:198
#define SUPEGAL
Definition: sc_gram.c:202
#define ACCFERM
Definition: sc_gram.c:192
#define CONSTANTE
Definition: sc_gram.c:194
#define VIRG
Definition: sc_gram.c:204
#define EGAL
Definition: sc_gram.c:195
#define MOINS
Definition: sc_gram.c:199
#define SUP
Definition: sc_gram.c:201
#define VAR
Definition: sc_gram.c:203
void sl_init_lex(void)
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
s1
Definition: set.c:247
#define yy_load_buffer_state
Definition: sl_lex.c:15
#define YY_NEW_FILE
Special action meaning "start processing a new file".
Definition: sl_lex.c:386
#define yyset_extra
Definition: sl_lex.c:164
#define yytext
Definition: sl_lex.c:27
unsigned char flex_uint8_t
Definition: sl_lex.c:312
#define yyset_lineno
Definition: sl_lex.c:212
static char yy_hold_char
yy_hold_char holds the character lost when yytext is formed.
Definition: sl_lex.c:527
#define COMMENT
Definition: sl_lex.c:743
static yy_state_type yy_last_accepting_state
Definition: sl_lex.c:704
#define yyrestart
Definition: sl_lex.c:26
#define yyset_debug
Definition: sl_lex.c:152
static void yynoreturn yy_fatal_error(const char *msg)
#define YY_EXTRA_TYPE
Special case for "unistd.h", since it is non-ANSI.
Definition: sl_lex.c:755
static int yy_start
whether we need to initialize
Definition: sl_lex.c:534
short int flex_int16_t
Definition: sl_lex.c:310
#define yy_flex_debug
Definition: sl_lex.c:20
#define yyget_out
Definition: sl_lex.c:182
static YY_BUFFER_STATE * yy_buffer_stack
Stack as an array.
Definition: sl_lex.c:510
unsigned int flex_uint32_t
Definition: sl_lex.c:314
static int yy_get_next_buffer(void)
#define yy_scan_bytes
Definition: sl_lex.c:12
#define YY_BREAK
Code executed at the end of each rule.
Definition: sl_lex.c:916
static size_t yy_buffer_stack_max
capacity of stack.
Definition: sl_lex.c:509
#define yynoreturn
Definition: sl_lex.c:361
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
static const flex_int16_t yy_chk[61]
Definition: sl_lex.c:694
#define yyget_debug
Definition: sl_lex.c:146
int yy_act
Definition: sl_lex.c:928
#define yypush_buffer_state
Definition: sl_lex.c:17
struct yy_buffer_state * YY_BUFFER_STATE
Definition: sl_lex.c:408
#define yyfree
Definition: sl_lex.c:31
#define yyout
Definition: sl_lex.c:25
#define TEXT
Definition: sl_lex.c:744
#define YY_BUFFER_NEW
Definition: sl_lex.c:490
#define yyget_lineno
Definition: sl_lex.c:206
#define yylex
Definition: sl_lex.c:23
#define YY_RESTORE_YY_MORE_OFFSET
Definition: sl_lex.c:716
static int yy_did_buffer_switch_on_eof
start state number
Definition: sl_lex.c:539
static int yy_init_globals(void)
#define yyget_text
Definition: sl_lex.c:200
#define YY_BUFFER_NORMAL
Definition: sl_lex.c:491
char * yy_cp
Definition: sl_lex.c:927
#define yyensure_buffer_stack
Definition: sl_lex.c:19
#define yy_scan_buffer
Definition: sl_lex.c:10
#define YY_MORE_ADJ
Definition: sl_lex.c:715
#define YY_RULE_SETUP
Definition: sl_lex.c:919
#define yy_scan_string
Definition: sl_lex.c:11
static const flex_int16_t yy_def[38]
Definition: sl_lex.c:676
#define yytext_ptr
Definition: sl_lex.c:597
signed char flex_int8_t
C99 systems have <inttypes.h>.
Definition: sl_lex.c:309
static const flex_int16_t yy_accept[34]
Definition: sl_lex.c:622
#define yyget_leng
Definition: sl_lex.c:194
#define EOB_ACT_END_OF_FILE
Definition: sl_lex.c:421
#define yyalloc
Definition: sl_lex.c:29
#define yypop_buffer_state
Definition: sl_lex.c:18
#define YY_CURRENT_BUFFER_LVALUE
Same as previous macro, but useful when we know that the buffer stack is not NULL or when we need an ...
Definition: sl_lex.c:524
#define RETURN(token, string)
Definition: sl_lex.c:737
int flex_int32_t
Definition: sl_lex.c:311
#define YY_START
Translate the current start state into a value that can be later handed to BEGIN to return to the sta...
Definition: sl_lex.c:381
#define yy_switch_to_buffer
Definition: sl_lex.c:16
int yy_state_type
Definition: sl_lex.c:588
#define YY_CURRENT_BUFFER
We provide macros for accessing buffer states in case in the future we want to put the buffer states ...
Definition: sl_lex.c:518
#define yy_init_buffer
Definition: sl_lex.c:13
#define INITIAL
Definition: sl_lex.c:742
#define yyget_extra
Definition: sl_lex.c:158
char * yy_bp
Definition: sl_lex.c:927
#define yyin
Definition: sl_lex.c:21
static int yy_n_chars
Definition: sl_lex.c:528
#define YY_READ_BUF_SIZE
Amount of stuff to slurp up with each read.
Definition: sl_lex.c:828
#define YY_INPUT(buf, result, max_size)
Gets input and stuffs it into "buf".
Definition: sl_lex.c:844
#define ECHO
ia64
Definition: sl_lex.c:837
#define yy_flush_buffer
Definition: sl_lex.c:14
#define yyrealloc
Definition: sl_lex.c:30
#define YY_END_OF_BUFFER
Definition: sl_lex.c:614
#define YY_STATE_EOF(state)
Action number for EOF rule of a given start state.
Definition: sl_lex.c:384
#define BEGIN
Enter a start condition.
Definition: sl_lex.c:376
#define YY_END_OF_BUFFER_CHAR
Definition: sl_lex.c:387
#define YY_FATAL_ERROR(msg)
Report a fatal error.
Definition: sl_lex.c:891
#define yyterminate()
No semi-colon after return; correct usage is to write "yyterminate();" - we don't want an extra ';' a...
Definition: sl_lex.c:881
unsigned short int flex_uint16_t
Definition: sl_lex.c:313
#define yywrap
Macros after this point can all be overridden by user definitions in section 1.
Definition: sl_lex.c:28
#define yy_create_buffer
A lexical scanner generated by flex.
Definition: sl_lex.c:8
flex_uint8_t YY_CHAR
Begin user sect3.
Definition: sl_lex.c:584
#define YY_DO_BEFORE_ACTION
Done after the current pattern has been matched and before the corresponding action - sets up yytext.
Definition: sl_lex.c:607
static const flex_int16_t yy_nxt[61]
Definition: sl_lex.c:684
#define yy_delete_buffer
Definition: sl_lex.c:9
#define EOB_ACT_LAST_MATCH
Definition: sl_lex.c:422
#define yyget_in
Definition: sl_lex.c:170
size_t yy_size_t
Definition: sl_lex.c:413
#define YY_BUFFER_EOF_PENDING
When an EOF's been seen but there's still some text to process then we mark the buffer as YY_EOF_PEND...
Definition: sl_lex.c:502
#define yylineno
Definition: sl_lex.c:24
static yy_state_type yy_get_previous_state(void)
static const YY_CHAR yy_meta[19]
Definition: sl_lex.c:662
static const YY_CHAR yy_ec[256]
Definition: sl_lex.c:630
#define yylex_destroy
Accessor methods to globals.
Definition: sl_lex.c:140
#define yyset_out
Definition: sl_lex.c:188
static char * yy_c_buf_p
Points to current character in buffer.
Definition: sl_lex.c:532
#define EOB_ACT_CONTINUE_SCAN
Definition: sl_lex.c:420
static size_t yy_buffer_stack_top
!YY_STRUCT_YY_BUFFER_STATE
Definition: sl_lex.c:508
#define YY_DECL
Definition: sl_lex.c:904
#define YY_BUF_SIZE
Size of default input buffer.
Definition: sl_lex.c:398
#define YY_EXIT_FAILURE
static int yy_init
Definition: sl_lex.c:533
#define YY_SC_TO_UI(c)
Promotes a possibly negative, possibly signed char to an integer in range [0..255] for use as an arra...
Definition: sl_lex.c:370
static const flex_int16_t yy_base[38]
Definition: sl_lex.c:668
#define yyleng
Definition: sl_lex.c:22
static char * yy_last_accepting_cpos
Definition: sl_lex.c:705
#define yyset_in
Definition: sl_lex.c:176
static char buf[BSZ]
Definition: split_file.c:157
#define uint32_t
Definition: stdint.in.h:156
#define int32_t
Definition: stdint.in.h:155
#define uint16_t
Definition: stdint.in.h:149
#define int8_t
Definition: stdint.in.h:141
#define uint8_t
Definition: stdint.in.h:142
#define int16_t
Definition: stdint.in.h:148
int yy_n_chars
Number of characters read into yy_ch_buf, not including EOB characters.
Definition: genread_lex.c:459
int yy_bs_column
The column count.
Definition: genread_lex.c:481
FILE * yy_input_file
Definition: genread_lex.c:446
int yy_buf_size
current position in input buffer
Definition: genread_lex.c:454
int yy_fill_buffer
Whether to try to fill the input buffer when we reach the end of it.
Definition: genread_lex.c:486
int yy_is_our_buffer
Whether we "own" the buffer - i.e., we know we created it, and can realloc() it to grow it,...
Definition: genread_lex.c:465
int yy_bs_lineno
The line count.
Definition: genread_lex.c:480
char * yy_buf_pos
input buffer
Definition: genread_lex.c:449
int yy_at_bol
Whether we're considered to be at the beginning of a line.
Definition: genread_lex.c:478
int yy_is_interactive
Whether this is an "interactive" input source; if so, and if we're using stdio for input,...
Definition: genread_lex.c:472
This struct is not used in this scanner, but its presence is necessary.
Definition: genread_lex.c:618
flex_int32_t yy_verify
Definition: genread_lex.c:619
flex_int32_t yy_nxt
Definition: genread_lex.c:620