PIPS
tp_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 tp__create_buffer
9 #define yy_delete_buffer tp__delete_buffer
10 #define yy_scan_buffer tp__scan_buffer
11 #define yy_scan_string tp__scan_string
12 #define yy_scan_bytes tp__scan_bytes
13 #define yy_init_buffer tp__init_buffer
14 #define yy_flush_buffer tp__flush_buffer
15 #define yy_load_buffer_state tp__load_buffer_state
16 #define yy_switch_to_buffer tp__switch_to_buffer
17 #define yypush_buffer_state tp_push_buffer_state
18 #define yypop_buffer_state tp_pop_buffer_state
19 #define yyensure_buffer_stack tp_ensure_buffer_stack
20 #define yy_flex_debug tp__flex_debug
21 #define yyin tp_in
22 #define yyleng tp_leng
23 #define yylex tp_lex
24 #define yylineno tp_lineno
25 #define yyout tp_out
26 #define yyrestart tp_restart
27 #define yytext tp_text
28 #define yywrap tp_wrap
29 #define yyalloc tp_alloc
30 #define yyrealloc tp_realloc
31 #define yyfree tp_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 tp__create_buffer_ALREADY_DEFINED
43 #else
44 #define yy_create_buffer tp__create_buffer
45 #endif
46 
47 #ifdef yy_delete_buffer
48 #define tp__delete_buffer_ALREADY_DEFINED
49 #else
50 #define yy_delete_buffer tp__delete_buffer
51 #endif
52 
53 #ifdef yy_scan_buffer
54 #define tp__scan_buffer_ALREADY_DEFINED
55 #else
56 #define yy_scan_buffer tp__scan_buffer
57 #endif
58 
59 #ifdef yy_scan_string
60 #define tp__scan_string_ALREADY_DEFINED
61 #else
62 #define yy_scan_string tp__scan_string
63 #endif
64 
65 #ifdef yy_scan_bytes
66 #define tp__scan_bytes_ALREADY_DEFINED
67 #else
68 #define yy_scan_bytes tp__scan_bytes
69 #endif
70 
71 #ifdef yy_init_buffer
72 #define tp__init_buffer_ALREADY_DEFINED
73 #else
74 #define yy_init_buffer tp__init_buffer
75 #endif
76 
77 #ifdef yy_flush_buffer
78 #define tp__flush_buffer_ALREADY_DEFINED
79 #else
80 #define yy_flush_buffer tp__flush_buffer
81 #endif
82 
83 #ifdef yy_load_buffer_state
84 #define tp__load_buffer_state_ALREADY_DEFINED
85 #else
86 #define yy_load_buffer_state tp__load_buffer_state
87 #endif
88 
89 #ifdef yy_switch_to_buffer
90 #define tp__switch_to_buffer_ALREADY_DEFINED
91 #else
92 #define yy_switch_to_buffer tp__switch_to_buffer
93 #endif
94 
95 #ifdef yypush_buffer_state
96 #define tp_push_buffer_state_ALREADY_DEFINED
97 #else
98 #define yypush_buffer_state tp_push_buffer_state
99 #endif
100 
101 #ifdef yypop_buffer_state
102 #define tp_pop_buffer_state_ALREADY_DEFINED
103 #else
104 #define yypop_buffer_state tp_pop_buffer_state
105 #endif
106 
107 #ifdef yyensure_buffer_stack
108 #define tp_ensure_buffer_stack_ALREADY_DEFINED
109 #else
110 #define yyensure_buffer_stack tp_ensure_buffer_stack
111 #endif
112 
113 #ifdef yylex
114 #define tp_lex_ALREADY_DEFINED
115 #else
116 #define yylex tp_lex
117 #endif
118 
119 #ifdef yyrestart
120 #define tp_restart_ALREADY_DEFINED
121 #else
122 #define yyrestart tp_restart
123 #endif
124 
125 #ifdef yylex_init
126 #define tp_lex_init_ALREADY_DEFINED
127 #else
128 #define yylex_init tp_lex_init
129 #endif
130 
131 #ifdef yylex_init_extra
132 #define tp_lex_init_extra_ALREADY_DEFINED
133 #else
134 #define yylex_init_extra tp_lex_init_extra
135 #endif
136 
137 #ifdef yylex_destroy
138 #define tp_lex_destroy_ALREADY_DEFINED
139 #else
140 #define yylex_destroy tp_lex_destroy
141 #endif
142 
143 #ifdef yyget_debug
144 #define tp_get_debug_ALREADY_DEFINED
145 #else
146 #define yyget_debug tp_get_debug
147 #endif
148 
149 #ifdef yyset_debug
150 #define tp_set_debug_ALREADY_DEFINED
151 #else
152 #define yyset_debug tp_set_debug
153 #endif
154 
155 #ifdef yyget_extra
156 #define tp_get_extra_ALREADY_DEFINED
157 #else
158 #define yyget_extra tp_get_extra
159 #endif
160 
161 #ifdef yyset_extra
162 #define tp_set_extra_ALREADY_DEFINED
163 #else
164 #define yyset_extra tp_set_extra
165 #endif
166 
167 #ifdef yyget_in
168 #define tp_get_in_ALREADY_DEFINED
169 #else
170 #define yyget_in tp_get_in
171 #endif
172 
173 #ifdef yyset_in
174 #define tp_set_in_ALREADY_DEFINED
175 #else
176 #define yyset_in tp_set_in
177 #endif
178 
179 #ifdef yyget_out
180 #define tp_get_out_ALREADY_DEFINED
181 #else
182 #define yyget_out tp_get_out
183 #endif
184 
185 #ifdef yyset_out
186 #define tp_set_out_ALREADY_DEFINED
187 #else
188 #define yyset_out tp_set_out
189 #endif
190 
191 #ifdef yyget_leng
192 #define tp_get_leng_ALREADY_DEFINED
193 #else
194 #define yyget_leng tp_get_leng
195 #endif
196 
197 #ifdef yyget_text
198 #define tp_get_text_ALREADY_DEFINED
199 #else
200 #define yyget_text tp_get_text
201 #endif
202 
203 #ifdef yyget_lineno
204 #define tp_get_lineno_ALREADY_DEFINED
205 #else
206 #define yyget_lineno tp_get_lineno
207 #endif
208 
209 #ifdef yyset_lineno
210 #define tp_set_lineno_ALREADY_DEFINED
211 #else
212 #define yyset_lineno tp_set_lineno
213 #endif
214 
215 #ifdef yywrap
216 #define tp_wrap_ALREADY_DEFINED
217 #else
218 #define yywrap tp_wrap
219 #endif
220 
221 #ifdef yyalloc
222 #define tp_alloc_ALREADY_DEFINED
223 #else
224 #define yyalloc tp_alloc
225 #endif
226 
227 #ifdef yyrealloc
228 #define tp_realloc_ALREADY_DEFINED
229 #else
230 #define yyrealloc tp_realloc
231 #endif
232 
233 #ifdef yyfree
234 #define tp_free_ALREADY_DEFINED
235 #else
236 #define yyfree tp_free
237 #endif
238 
239 #ifdef yytext
240 #define tp_text_ALREADY_DEFINED
241 #else
242 #define yytext tp_text
243 #endif
244 
245 #ifdef yyleng
246 #define tp_leng_ALREADY_DEFINED
247 #else
248 #define yyleng tp_leng
249 #endif
250 
251 #ifdef yyin
252 #define tp_in_ALREADY_DEFINED
253 #else
254 #define yyin tp_in
255 #endif
256 
257 #ifdef yyout
258 #define tp_out_ALREADY_DEFINED
259 #else
260 #define yyout tp_out
261 #endif
262 
263 #ifdef yy_flex_debug
264 #define tp__flex_debug_ALREADY_DEFINED
265 #else
266 #define yy_flex_debug tp__flex_debug
267 #endif
268 
269 #ifdef yylineno
270 #define tp_lineno_ALREADY_DEFINED
271 #else
272 #define yylineno tp_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 73
614 #define YY_END_OF_BUFFER 74
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[289] =
623  { 0,
624  0, 0, 0, 0, 0, 0, 0, 0, 42, 42,
625  39, 39, 74, 72, 38, 51, 51, 53, 43, 72,
626  72, 45, 46, 49, 71, 70, 51, 50, 47, 48,
627  44, 38, 73, 37, 43, 44, 44, 44, 44, 44,
628  44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
629  44, 44, 72, 73, 52, 41, 40, 41, 42, 42,
630  39, 38, 51, 43, 0, 0, 0, 0, 0, 0,
631  0, 0, 71, 70, 0, 0, 0, 0, 18, 0,
632  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633  0, 0, 0, 0, 0, 0, 36, 0, 0, 0,
634 
635  0, 0, 0, 52, 41, 40, 42, 39, 0, 0,
636  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637  22, 0, 0, 0, 0, 0, 0, 0, 0, 16,
638  0, 0, 0, 0, 0, 19, 0, 0, 33, 0,
639  0, 0, 0, 0, 0, 0, 54, 0, 0, 0,
640  0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
641  0, 0, 0, 0, 34, 23, 0, 0, 24, 17,
642  10, 0, 4, 21, 0, 0, 0, 0, 26, 0,
643  0, 0, 0, 0, 0, 0, 0, 58, 0, 0,
644  0, 0, 0, 66, 0, 0, 0, 11, 0, 0,
645 
646  6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647  35, 0, 0, 29, 0, 0, 56, 0, 0, 0,
648  0, 64, 0, 0, 0, 0, 0, 12, 0, 0,
649  5, 8, 0, 2, 0, 9, 25, 1, 0, 20,
650  0, 0, 0, 0, 0, 0, 59, 0, 0, 0,
651  0, 67, 0, 0, 0, 0, 13, 0, 32, 30,
652  0, 28, 55, 61, 60, 57, 63, 69, 68, 65,
653  14, 0, 0, 0, 0, 3, 0, 0, 0, 0,
654  0, 7, 0, 0, 27, 15, 31, 0
655  } ;
656 
657 static const YY_CHAR yy_ec[256] =
658  { 0,
659  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
660  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
661  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662  1, 2, 5, 6, 7, 8, 9, 1, 1, 10,
663  11, 1, 1, 12, 13, 13, 13, 14, 14, 14,
664  14, 14, 14, 14, 14, 14, 14, 13, 15, 1,
665  16, 1, 1, 1, 17, 13, 18, 19, 20, 21,
666  22, 13, 23, 13, 13, 24, 25, 26, 27, 28,
667  13, 29, 30, 13, 31, 13, 13, 13, 13, 13,
668  32, 1, 33, 1, 13, 1, 34, 35, 36, 37,
669 
670  38, 39, 40, 41, 42, 13, 43, 44, 45, 46,
671  47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
672  57, 13, 1, 1, 1, 1, 1, 1, 1, 1,
673  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
674  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
676  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
677  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
678  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
679  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
680 
681  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
682  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
683  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
684  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
685  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
686  1, 1, 1, 1, 1
687  } ;
688 
689 static const YY_CHAR yy_meta[58] =
690  { 0,
691  1, 1, 2, 2, 3, 1, 1, 1, 1, 1,
692  1, 1, 3, 3, 1, 1, 3, 3, 3, 3,
693  3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
694  3, 1, 1, 3, 3, 3, 3, 3, 3, 3,
695  3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
696  3, 3, 3, 3, 3, 3, 3
697  } ;
698 
699 static const flex_int16_t yy_base[301] =
700  { 0,
701  0, 33, 65, 118, 14, 15, 48, 54, 56, 58,
702  19, 21, 357, 358, 354, 358, 352, 358, 0, 57,
703  59, 358, 358, 358, 0, 340, 358, 358, 358, 358,
704  358, 351, 358, 358, 0, 42, 295, 54, 41, 53,
705  313, 312, 303, 46, 300, 292, 293, 307, 86, 39,
706  298, 305, 336, 335, 358, 0, 338, 0, 0, 0,
707  0, 337, 358, 0, 314, 320, 2, 307, 311, 317,
708  37, 304, 0, 318, 279, 282, 291, 280, 358, 289,
709  279, 287, 280, 272, 281, 279, 268, 275, 279, 274,
710  279, 277, 277, 271, 267, 259, 8, 257, 264, 255,
711 
712  256, 256, 299, 358, 0, 302, 0, 0, 279, 278,
713  278, 281, 272, 274, 273, 273, 276, 267, 251, 248,
714  358, 243, 254, 238, 254, 249, 238, 238, 232, 84,
715  235, 235, 243, 227, 233, 358, 226, 230, 88, 232,
716  220, 224, 235, 236, 233, 219, 9, 245, 242, 236,
717  244, 10, 241, 238, 232, 240, 207, 203, 215, 215,
718  219, 204, 203, 210, 358, 358, 207, 202, 358, 358,
719  358, 207, 358, 358, 196, 203, 198, 203, 358, 210,
720  198, 203, 191, 200, 210, 209, 219, 358, 214, 208,
721  205, 204, 214, 358, 209, 203, 197, 358, 173, 60,
722 
723  358, 191, 190, 193, 172, 178, 186, 185, 168, 174,
724  358, 182, 166, 358, 180, 170, 358, 190, 108, 195,
725  197, 358, 187, 109, 192, 194, 158, 358, 173, 161,
726  358, 358, 150, 358, 158, 358, 358, 358, 156, 358,
727  149, 152, 146, 146, 132, 131, 358, 132, 133, 120,
728  119, 358, 123, 109, 94, 103, 358, 106, 105, 358,
729  88, 358, 358, 358, 358, 358, 358, 358, 358, 358,
730  358, 99, 94, 89, 85, 358, 80, 79, 78, 59,
731  59, 358, 39, 35, 358, 358, 358, 358, 172, 175,
732  178, 181, 184, 187, 190, 10, 193, 196, 199, 202
733 
734  } ;
735 
736 static const flex_int16_t yy_def[301] =
737  { 0,
738  289, 289, 290, 290, 291, 291, 292, 292, 293, 293,
739  294, 294, 288, 288, 288, 288, 288, 288, 295, 288,
740  288, 288, 288, 288, 296, 296, 288, 288, 288, 288,
741  288, 288, 288, 288, 295, 288, 288, 288, 288, 288,
742  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
743  288, 288, 297, 297, 288, 298, 288, 298, 299, 299,
744  300, 288, 288, 295, 288, 288, 288, 288, 288, 288,
745  288, 288, 296, 296, 288, 288, 288, 288, 288, 288,
746  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
747  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
748 
749  288, 288, 297, 288, 298, 288, 299, 300, 288, 288,
750  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
751  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
752  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
753  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
754  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
755  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
756  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
757  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
758  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
759 
760  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
761  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
762  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
763  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
764  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
765  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
766  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
767  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
768  288, 288, 288, 288, 288, 288, 288, 0, 288, 288,
769  288, 288, 288, 288, 288, 288, 288, 288, 288, 288
770 
771  } ;
772 
773 static const flex_int16_t yy_nxt[416] =
774  { 0,
775  14, 15, 16, 17, 14, 18, 19, 20, 21, 22,
776  23, 24, 73, 26, 27, 28, 54, 54, 111, 55,
777  55, 33, 14, 33, 14, 288, 185, 191, 112, 186,
778  192, 29, 30, 14, 15, 16, 17, 14, 18, 19,
779  20, 21, 22, 23, 24, 140, 26, 27, 28, 57,
780  16, 17, 288, 116, 141, 57, 16, 17, 16, 17,
781  16, 17, 58, 117, 29, 30, 32, 33, 58, 34,
782  60, 35, 60, 65, 66, 69, 70, 75, 83, 90,
783  99, 67, 84, 71, 68, 100, 72, 78, 85, 76,
784  79, 287, 91, 229, 80, 286, 285, 81, 36, 37,
785 
786  38, 39, 40, 82, 41, 42, 43, 230, 86, 44,
787  284, 45, 46, 47, 48, 49, 50, 51, 52, 32,
788  33, 167, 34, 96, 35, 176, 97, 245, 250, 283,
789  282, 168, 98, 281, 280, 177, 246, 251, 279, 278,
790  277, 276, 275, 274, 273, 272, 271, 270, 269, 268,
791  267, 36, 37, 38, 39, 40, 266, 41, 42, 43,
792  265, 264, 44, 263, 45, 46, 47, 48, 49, 50,
793  51, 52, 25, 25, 25, 31, 31, 31, 53, 53,
794  53, 56, 56, 56, 59, 59, 59, 61, 61, 61,
795  64, 262, 64, 103, 103, 103, 105, 261, 105, 107,
796 
797  260, 107, 108, 259, 108, 258, 257, 256, 255, 254,
798  253, 252, 249, 248, 247, 244, 243, 242, 241, 240,
799  239, 238, 237, 236, 235, 234, 233, 232, 231, 228,
800  227, 226, 225, 224, 223, 222, 221, 220, 219, 218,
801  217, 216, 215, 214, 213, 212, 211, 210, 209, 208,
802  207, 206, 205, 204, 203, 202, 201, 200, 199, 198,
803  197, 196, 195, 194, 193, 190, 189, 188, 187, 184,
804  183, 182, 181, 180, 179, 178, 175, 174, 173, 172,
805  171, 170, 169, 166, 165, 164, 163, 162, 161, 160,
806  159, 158, 157, 156, 155, 154, 153, 152, 151, 150,
807 
808  149, 148, 147, 106, 104, 146, 145, 144, 143, 142,
809  139, 138, 137, 136, 135, 134, 133, 132, 131, 130,
810  129, 128, 127, 126, 125, 124, 123, 122, 121, 120,
811  119, 74, 118, 115, 114, 113, 110, 109, 62, 106,
812  104, 104, 102, 101, 95, 94, 93, 92, 89, 88,
813  87, 77, 62, 74, 63, 62, 288, 13, 288, 288,
814  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
815  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
816  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
817  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
818 
819  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
820  288, 288, 288, 288, 288
821  } ;
822 
823 static const flex_int16_t yy_chk[416] =
824  { 0,
825  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
826  1, 1, 296, 1, 1, 1, 5, 6, 67, 5,
827  6, 11, 11, 12, 12, 0, 147, 152, 67, 147,
828  152, 1, 1, 2, 2, 2, 2, 2, 2, 2,
829  2, 2, 2, 2, 2, 97, 2, 2, 2, 7,
830  7, 7, 0, 71, 97, 8, 8, 8, 9, 9,
831  10, 10, 7, 71, 2, 2, 3, 3, 8, 3,
832  9, 3, 10, 20, 20, 21, 21, 36, 39, 44,
833  50, 20, 39, 21, 20, 50, 21, 38, 40, 36,
834  38, 284, 44, 200, 38, 283, 281, 38, 3, 3,
835 
836  3, 3, 3, 38, 3, 3, 3, 200, 40, 3,
837  280, 3, 3, 3, 3, 3, 3, 3, 3, 4,
838  4, 130, 4, 49, 4, 139, 49, 219, 224, 279,
839  278, 130, 49, 277, 275, 139, 219, 224, 274, 273,
840  272, 261, 259, 258, 256, 255, 254, 253, 251, 250,
841  249, 4, 4, 4, 4, 4, 248, 4, 4, 4,
842  246, 245, 4, 244, 4, 4, 4, 4, 4, 4,
843  4, 4, 289, 289, 289, 290, 290, 290, 291, 291,
844  291, 292, 292, 292, 293, 293, 293, 294, 294, 294,
845  295, 243, 295, 297, 297, 297, 298, 242, 298, 299,
846 
847  241, 299, 300, 239, 300, 235, 233, 230, 229, 227,
848  226, 225, 223, 221, 220, 218, 216, 215, 213, 212,
849  210, 209, 208, 207, 206, 205, 204, 203, 202, 199,
850  197, 196, 195, 193, 192, 191, 190, 189, 187, 186,
851  185, 184, 183, 182, 181, 180, 178, 177, 176, 175,
852  172, 168, 167, 164, 163, 162, 161, 160, 159, 158,
853  157, 156, 155, 154, 153, 151, 150, 149, 148, 146,
854  145, 144, 143, 142, 141, 140, 138, 137, 135, 134,
855  133, 132, 131, 129, 128, 127, 126, 125, 124, 123,
856  122, 120, 119, 118, 117, 116, 115, 114, 113, 112,
857 
858  111, 110, 109, 106, 103, 102, 101, 100, 99, 98,
859  96, 95, 94, 93, 92, 91, 90, 89, 88, 87,
860  86, 85, 84, 83, 82, 81, 80, 78, 77, 76,
861  75, 74, 72, 70, 69, 68, 66, 65, 62, 57,
862  54, 53, 52, 51, 48, 47, 46, 45, 43, 42,
863  41, 37, 32, 26, 17, 15, 13, 288, 288, 288,
864  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
865  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
866  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
867  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
868 
869  288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
870  288, 288, 288, 288, 288
871  } ;
872 
875 
876 extern int yy_flex_debug;
878 
879 /* The intent behind this definition is that it'll catch
880  * any uses of REJECT which flex missed.
881  */
882 #define REJECT reject_used_but_not_detected
883 #define yymore() yymore_used_but_not_detected
884 #define YY_MORE_ADJ 0
885 #define YY_RESTORE_YY_MORE_OFFSET
886 char *yytext;
887 #line 1 "tp_lex.l"
888 #define YY_NO_INPUT 1
889 #line 4 "tp_lex.l"
890 /*
891 
892  $Id: tp_lex.l 23412 2017-08-09 15:07:09Z irigoin $
893 
894  Copyright 1989-2016 MINES ParisTech
895 
896  This file is part of PIPS.
897 
898  PIPS is free software: you can redistribute it and/or modify it
899  under the terms of the GNU General Public License as published by
900  the Free Software Foundation, either version 3 of the License, or
901  any later version.
902 
903  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
904  WARRANTY; without even the implied warranty of MERCHANTABILITY or
905  FITNESS FOR A PARTICULAR PURPOSE.
906 
907  See the GNU General Public License for more details.
908 
909  You should have received a copy of the GNU General Public License
910  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
911 
912 */
913 #ifdef HAVE_CONFIG_H
914 #include "pips_config.h"
915 #endif
916 
917 #include <stdio.h>
918 #include <stdlib.h>
919 #include <string.h>
920 
921 #include "genC.h"
922 #include "misc.h"
923 #include "tpips.h"
924 #include "tp_yacc.h"
925 
926 /* disable echoing unmatched characters */
927 #define ECHO ;
928 
929 /* now get the characters from a string, not from a file */
930 #ifndef FLEX_SCANNER
931 
932 #undef input()
933 #define input() tpips_lex_input()
934 #undef unput()
935 #define unput(c) tpips_lex_unput(c)
936 void yyrestart(FILE *f){ yyin = f;}
937 
938 #else
939 
940 #define YY_INPUT(buf,result,max_size) \
941  { \
942  int c = tpips_lex_input(); \
943  result = (c == '\0') ? YY_NULL : (buf[0] = c, 1); \
944  }
945 
946 #endif
947 
948 string tpips_unknown_string = string_undefined; // For tp_yacc.y
949 static bool cr_not_returned;
950 static char * line_to_parse;
951 static char * line_parsed;
952 
954 {
955  skip_blanks(line);
956  /* store line pointer */
958  cr_not_returned = true;
959 }
960 
962 {
963  return line_to_parse;
964 }
965 
966 static int back = 0;
967 
968 void tpips_lex_print_pos(FILE* fout)
969 {
970  int shift = (int)((long) line_to_parse - (long)line_parsed) - back;
971  fprintf(fout,
972  "%s\n"
973  "%*s^\n"
974  "at line %d in \"%s\"\n", line_parsed, shift, "",
976 }
977 
978 static int tpips_lex_input (void)
979 {
980  char c = *line_to_parse;
981  pips_debug(9,"input char '%c'(0x%2x) from input\n", c, c);
982  if (c) line_to_parse++;
983  /* a fake \n is provided, to check for nargs in the syntax... */
984  else if (cr_not_returned) { cr_not_returned=false; return (int) '\n'; }
985  return (int) c;
986 }
987 
988 /* string to be processed by some other lexer/parser.
989  */
990 static char unk[2]; /* one char lines are not implicit shells */
991 
992 #define RETURN(x) pips_debug(8, "init %d\n", x); return x
993 #define KEYWORD(x) pips_debug(8, "key %d\n", x); BEGIN INITIAL; return x
994 #define LITTERAL(x) \
995  pips_debug(8, "spc %d\n", x); \
996  BEGIN SPC; \
997  return x
998 #define RESTART(x) pips_debug(8, "rst %d\n", x); BEGIN KEY; return x
999 
1000 #line 1001 "<stdout>"
1001 
1002 #line 1003 "<stdout>"
1003 
1004 #define INITIAL 0
1005 #define KEY 1
1006 #define STR 2
1007 #define SPC 3
1008 #define LIT 4
1009 #define UNK 5
1010 
1011 #ifndef YY_NO_UNISTD_H
1012 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1013  * down here because we want the user's section 1 to have been scanned first.
1014  * The user has a chance to override it with an option.
1015  */
1016 #include <unistd.h>
1017 #endif
1018 
1019 #ifndef YY_EXTRA_TYPE
1020 #define YY_EXTRA_TYPE void *
1021 #endif
1022 
1023 static int yy_init_globals ( void );
1024 
1025 /* Accessor methods to globals.
1026  These are made visible to non-reentrant scanners for convenience. */
1027 
1028 int yylex_destroy ( void );
1029 
1030 int yyget_debug ( void );
1031 
1032 void yyset_debug ( int debug_flag );
1033 
1034 YY_EXTRA_TYPE yyget_extra ( void );
1035 
1036 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1037 
1038 FILE *yyget_in ( void );
1039 
1040 void yyset_in ( FILE * _in_str );
1041 
1042 FILE *yyget_out ( void );
1043 
1044 void yyset_out ( FILE * _out_str );
1045 
1046  int yyget_leng ( void );
1047 
1048 char *yyget_text ( void );
1049 
1050 int yyget_lineno ( void );
1051 
1052 void yyset_lineno ( int _line_number );
1053 
1054 /* Macros after this point can all be overridden by user definitions in
1055  * section 1.
1056  */
1057 
1058 #ifndef YY_SKIP_YYWRAP
1059 #ifdef __cplusplus
1060 extern "C" int yywrap ( void );
1061 #else
1062 extern int yywrap ( void );
1063 #endif
1064 #endif
1065 
1066 #ifndef YY_NO_UNPUT
1067 
1068 #endif
1069 
1070 #ifndef yytext_ptr
1071 static void yy_flex_strncpy ( char *, const char *, int );
1072 #endif
1073 
1074 #ifdef YY_NEED_STRLEN
1075 static int yy_flex_strlen ( const char * );
1076 #endif
1077 
1078 #ifndef YY_NO_INPUT
1079 #ifdef __cplusplus
1080 static int yyinput ( void );
1081 #else
1082 static int input ( void );
1083 #endif
1084 
1085 #endif
1086 
1087 /* Amount of stuff to slurp up with each read. */
1088 #ifndef YY_READ_BUF_SIZE
1089 #ifdef __ia64__
1090 /* On IA-64, the buffer size is 16k, not 8k */
1091 #define YY_READ_BUF_SIZE 16384
1092 #else
1093 #define YY_READ_BUF_SIZE 8192
1094 #endif /* __ia64__ */
1095 #endif
1096 
1097 /* Copy whatever the last rule matched to the standard output. */
1098 #ifndef ECHO
1099 /* This used to be an fputs(), but since the string might contain NUL's,
1100  * we now use fwrite().
1101  */
1102 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1103 #endif
1104 
1105 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1106  * is returned in "result".
1107  */
1108 #ifndef YY_INPUT
1109 #define YY_INPUT(buf,result,max_size) \
1110  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1111  { \
1112  int c = '*'; \
1113  int n; \
1114  for ( n = 0; n < max_size && \
1115  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1116  buf[n] = (char) c; \
1117  if ( c == '\n' ) \
1118  buf[n++] = (char) c; \
1119  if ( c == EOF && ferror( yyin ) ) \
1120  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1121  result = n; \
1122  } \
1123  else \
1124  { \
1125  errno=0; \
1126  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1127  { \
1128  if( errno != EINTR) \
1129  { \
1130  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1131  break; \
1132  } \
1133  errno=0; \
1134  clearerr(yyin); \
1135  } \
1136  }\
1137 \
1138 
1139 #endif
1140 
1141 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1142  * we don't want an extra ';' after the "return" because that will cause
1143  * some compilers to complain about unreachable statements.
1144  */
1145 #ifndef yyterminate
1146 #define yyterminate() return YY_NULL
1147 #endif
1148 
1149 /* Number of entries by which start-condition stack grows. */
1150 #ifndef YY_START_STACK_INCR
1151 #define YY_START_STACK_INCR 25
1152 #endif
1153 
1154 /* Report a fatal error. */
1155 #ifndef YY_FATAL_ERROR
1156 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1157 #endif
1158 
1159 /* end tables serialization structures and prototypes */
1160 
1161 /* Default declaration of generated scanner - a define so the user can
1162  * easily add parameters.
1163  */
1164 #ifndef YY_DECL
1165 #define YY_DECL_IS_OURS 1
1166 
1167 extern int yylex (void);
1168 
1169 #define YY_DECL int yylex (void)
1170 #endif /* !YY_DECL */
1171 
1172 /* Code executed at the beginning of each rule, after yytext and yyleng
1173  * have been set up.
1174  */
1175 #ifndef YY_USER_ACTION
1176 #define YY_USER_ACTION
1177 #endif
1178 
1179 /* Code executed at the end of each rule. */
1180 #ifndef YY_BREAK
1181 #define YY_BREAK /*LINTED*/break;
1182 #endif
1183 
1184 #define YY_RULE_SETUP \
1185  YY_USER_ACTION
1186 
1187 /** The main scanner function which does all the work.
1188  */
1190 {
1191  yy_state_type yy_current_state;
1192  char *yy_cp, *yy_bp;
1193  int yy_act;
1194 
1195  if ( !(yy_init) )
1196  {
1197  (yy_init) = 1;
1198 
1199 #ifdef YY_USER_INIT
1200  YY_USER_INIT;
1201 #endif
1202 
1203  if ( ! (yy_start) )
1204  (yy_start) = 1; /* first start state */
1205 
1206  if ( ! yyin )
1207  yyin = stdin;
1208 
1209  if ( ! yyout )
1210  yyout = stdout;
1211 
1212  if ( ! YY_CURRENT_BUFFER ) {
1216  }
1217 
1219  }
1220 
1221  {
1222 #line 118 "tp_lex.l"
1223 
1224 
1225 #line 1226 "<stdout>"
1226 
1227  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1228  {
1229  yy_cp = (yy_c_buf_p);
1230 
1231  /* Support of yytext. */
1232  *yy_cp = (yy_hold_char);
1233 
1234  /* yy_bp points to the position in yy_ch_buf of the start of
1235  * the current run.
1236  */
1237  yy_bp = yy_cp;
1238 
1239  yy_current_state = (yy_start);
1240 yy_match:
1241  do
1242  {
1243  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1244  if ( yy_accept[yy_current_state] )
1245  {
1246  (yy_last_accepting_state) = yy_current_state;
1248  }
1249  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1250  {
1251  yy_current_state = (int) yy_def[yy_current_state];
1252  if ( yy_current_state >= 289 )
1253  yy_c = yy_meta[yy_c];
1254  }
1255  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1256  ++yy_cp;
1257  }
1258  while ( yy_base[yy_current_state] != 358 );
1259 
1260 yy_find_action:
1261  yy_act = yy_accept[yy_current_state];
1262  if ( yy_act == 0 )
1263  { /* have to back up */
1265  yy_current_state = (yy_last_accepting_state);
1266  yy_act = yy_accept[yy_current_state];
1267  }
1268 
1270 
1271 do_action: /* This label is used only to access EOF actions. */
1272 
1273  switch ( yy_act )
1274  { /* beginning of action switch */
1275  case 0: /* must back up */
1276  /* undo the effects of YY_DO_BEFORE_ACTION */
1277  *yy_cp = (yy_hold_char);
1279  yy_current_state = (yy_last_accepting_state);
1280  goto yy_find_action;
1281 
1282 case 1:
1284 #line 120 "tp_lex.l"
1286  YY_BREAK
1287 case 2:
1289 #line 121 "tp_lex.l"
1291  YY_BREAK
1292 case 3:
1294 #line 122 "tp_lex.l"
1296  YY_BREAK
1297 case 4:
1299 #line 123 "tp_lex.l"
1300 { KEYWORD(TK_OPEN); }
1301  YY_BREAK
1302 case 5:
1304 #line 124 "tp_lex.l"
1305 { KEYWORD(TK_CREATE); }
1306  YY_BREAK
1307 case 6:
1309 #line 125 "tp_lex.l"
1310 { KEYWORD(TK_CLOSE); }
1311  YY_BREAK
1312 case 7:
1314 #line 126 "tp_lex.l"
1315 { KEYWORD(TK_CHECKPOINT); }
1316  YY_BREAK
1317 case 8:
1319 #line 127 "tp_lex.l"
1320 { KEYWORD(TK_DELETE); }
1321  YY_BREAK
1322 case 9:
1324 #line 128 "tp_lex.l"
1325 { KEYWORD(TK_MODULE); }
1326  YY_BREAK
1327 case 10:
1329 #line 129 "tp_lex.l"
1330 { KEYWORD(TK_MAKE); }
1331  YY_BREAK
1332 case 11:
1334 #line 130 "tp_lex.l"
1335 { KEYWORD(TK_APPLY); }
1336  YY_BREAK
1337 case 12:
1339 #line 131 "tp_lex.l"
1340 { KEYWORD(TK_CAPPLY); }
1341  YY_BREAK
1342 case 13:
1344 #line 132 "tp_lex.l"
1345 { KEYWORD(TK_DISPLAY); }
1346  YY_BREAK
1347 case 14:
1349 #line 133 "tp_lex.l"
1350 { KEYWORD(TK_ACTIVATE); }
1351  YY_BREAK
1352 case 15:
1354 #line 134 "tp_lex.l"
1356  YY_BREAK
1357 case 16:
1359 #line 135 "tp_lex.l"
1361  YY_BREAK
1362 case 17:
1364 #line 136 "tp_lex.l"
1365 { KEYWORD(TK_INFO); }
1366  YY_BREAK
1367 case 18:
1369 #line 137 "tp_lex.l"
1370 { KEYWORD(TK_CDIR); }
1371  YY_BREAK
1372 case 19:
1374 #line 138 "tp_lex.l"
1375 { KEYWORD(TK_PWD); }
1376  YY_BREAK
1377 case 20:
1379 #line 139 "tp_lex.l"
1380 { KEYWORD(TK_SOURCE); }
1381  YY_BREAK
1382 case 21:
1384 #line 140 "tp_lex.l"
1385 { KEYWORD(TK_QUIT); }
1386  YY_BREAK
1387 case 22:
1389 #line 141 "tp_lex.l"
1390 { KEYWORD(TK_QUIT); }
1391  YY_BREAK
1392 case 23:
1394 #line 142 "tp_lex.l"
1395 { KEYWORD(TK_EXIT); }
1396  YY_BREAK
1397 case 24:
1399 #line 143 "tp_lex.l"
1400 { KEYWORD(TK_HELP); }
1401  YY_BREAK
1402 case 25:
1404 #line 144 "tp_lex.l"
1405 { KEYWORD(TK_REMOVE); }
1406  YY_BREAK
1407 case 26:
1409 #line 145 "tp_lex.l"
1410 { KEYWORD(TK_SHOW); }
1411  YY_BREAK
1412 case 27:
1414 #line 146 "tp_lex.l"
1415 { KEYWORD(TK_CHECKACTIVE); }
1416  YY_BREAK
1417 case 28:
1419 #line 147 "tp_lex.l"
1420 { KEYWORD(TK_VERSION); }
1421  YY_BREAK
1422 case 29:
1424 #line 148 "tp_lex.l"
1425 { KEYWORD(TK_TOUCH); }
1426  YY_BREAK
1427 case 30:
1429 #line 149 "tp_lex.l"
1430 { KEYWORD(TK_TIMEOUT); }
1431  YY_BREAK
1432 case 31:
1434 #line 151 "tp_lex.l"
1436  YY_BREAK
1437 case 32:
1439 #line 152 "tp_lex.l"
1441  YY_BREAK
1442 case 33:
1444 #line 153 "tp_lex.l"
1446  YY_BREAK
1447 case 34:
1449 #line 154 "tp_lex.l"
1450 { LITTERAL(TK_ECHO); }
1451  YY_BREAK
1452 case 35:
1454 #line 155 "tp_lex.l"
1455 { LITTERAL(TK_SHELL); }
1456  YY_BREAK
1457 case 36:
1459 #line 156 "tp_lex.l"
1460 { LITTERAL(TK_SHELL); }
1461  YY_BREAK
1462 case 37:
1464 #line 157 "tp_lex.l"
1465 { LITTERAL(TK_SHELL); }
1466  YY_BREAK
1467 case 38:
1469 #line 159 "tp_lex.l"
1470 /* skip blanks... */
1471  YY_BREAK
1472 case 39:
1474 #line 161 "tp_lex.l"
1475 { tp_lval.name = strdup(concatenate(unk, yytext, NULL));
1477  KEYWORD(TK_UNKNOWN); }
1478  YY_BREAK
1479 case 40:
1481 #line 165 "tp_lex.l"
1482 { BEGIN LIT; }
1483  YY_BREAK
1484 case 41:
1486 #line 166 "tp_lex.l"
1487 {
1488  back = strlen(yytext);
1489  tp_error("Space expected after initial keyword.\n");
1490  back = 0;
1491  }
1492  YY_BREAK
1493 case 42:
1495 #line 171 "tp_lex.l"
1497  YY_BREAK
1498 case 43:
1500 #line 172 "tp_lex.l"
1501 { BEGIN INITIAL;
1502  /* skip comments... (not for echo, shell set). */}
1503  YY_BREAK
1504 case 44:
1506 #line 174 "tp_lex.l"
1507 { unk[0]=yytext[0]; unk[1]='\0'; BEGIN UNK; }
1508  YY_BREAK
1509 case 45:
1511 #line 176 "tp_lex.l"
1512 { RETURN(TK_OPENPAREN); }
1513  YY_BREAK
1514 case 46:
1516 #line 177 "tp_lex.l"
1517 { RETURN(TK_CLOSEPAREN); }
1518  YY_BREAK
1519 case 47:
1521 #line 179 "tp_lex.l"
1522 { RETURN(TK_OPENPAREN); }
1523  YY_BREAK
1524 case 48:
1526 #line 180 "tp_lex.l"
1527 { RETURN(TK_CLOSEPAREN); }
1528  YY_BREAK
1529 case 49:
1531 #line 182 "tp_lex.l"
1532 { RETURN(TK_COMMA); }
1533  YY_BREAK
1534 case 50:
1536 #line 183 "tp_lex.l"
1537 { RETURN(TK_EQUAL); }
1538  YY_BREAK
1539 case 51:
1540 /* rule 51 can match eol */
1542 #line 185 "tp_lex.l"
1543 { RESTART(TK_ENDOFLINE); }
1544  YY_BREAK
1545 case YY_STATE_EOF(LIT):
1546 case YY_STATE_EOF(INITIAL):
1547 #line 186 "tp_lex.l"
1548 { RESTART(TK_ENDOFLINE); }
1549  YY_BREAK
1550 case 52:
1551 /* rule 52 can match eol */
1553 #line 188 "tp_lex.l"
1554 {
1555  // string contents without surrounding double quotes
1556  // no attempt at managing escaping double quotes
1558  tp_lval.name[strlen(yytext)-1] = '\0';
1560  YY_BREAK
1561 case 53:
1563 #line 194 "tp_lex.l"
1564 { BEGIN STR; }
1565  YY_BREAK
1566 case 54:
1568 #line 196 "tp_lex.l"
1569 { RETURN(TK_OWNER_ALL); }
1570  YY_BREAK
1571 case 55:
1573 #line 197 "tp_lex.l"
1575  YY_BREAK
1576 case 56:
1578 #line 198 "tp_lex.l"
1579 { RETURN(TK_OWNER_ALLCU); }
1580  YY_BREAK
1581 case 57:
1583 #line 199 "tp_lex.l"
1585  YY_BREAK
1586 case 58:
1588 #line 200 "tp_lex.l"
1589 { RETURN(TK_OWNER_MAIN); }
1590  YY_BREAK
1591 case 59:
1593 #line 201 "tp_lex.l"
1594 { RETURN(TK_OWNER_MODULE); }
1595  YY_BREAK
1596 case 60:
1598 #line 202 "tp_lex.l"
1600  YY_BREAK
1601 case 61:
1603 #line 203 "tp_lex.l"
1605  YY_BREAK
1606 case 62:
1608 #line 205 "tp_lex.l"
1609 { RETURN(TK_OWNER_ALL); }
1610  YY_BREAK
1611 case 63:
1613 #line 206 "tp_lex.l"
1615  YY_BREAK
1616 case 64:
1618 #line 207 "tp_lex.l"
1619 { RETURN(TK_OWNER_ALLCU); }
1620  YY_BREAK
1621 case 65:
1623 #line 208 "tp_lex.l"
1625  YY_BREAK
1626 case 66:
1628 #line 209 "tp_lex.l"
1629 { RETURN(TK_OWNER_MAIN); }
1630  YY_BREAK
1631 case 67:
1633 #line 210 "tp_lex.l"
1634 { RETURN(TK_OWNER_MODULE); }
1635  YY_BREAK
1636 case 68:
1638 #line 211 "tp_lex.l"
1640  YY_BREAK
1641 case 69:
1643 #line 212 "tp_lex.l"
1645  YY_BREAK
1646 case 70:
1648 #line 214 "tp_lex.l"
1649 { tp_lval.ival = atoi(yytext); RETURN(TK_INT); }
1650  YY_BREAK
1651 case 71:
1653 #line 216 "tp_lex.l"
1654 {
1656  RETURN(TK_NAME);
1657  }
1658  YY_BREAK
1659 case 72:
1661 #line 220 "tp_lex.l"
1662 { pips_user_warning("Unrecognized character \"%s\"\n",yytext); }
1663  YY_BREAK
1664 case 73:
1666 #line 222 "tp_lex.l"
1667 ECHO;
1668  YY_BREAK
1669 #line 1670 "<stdout>"
1670 case YY_STATE_EOF(KEY):
1671 case YY_STATE_EOF(STR):
1672 case YY_STATE_EOF(SPC):
1673 case YY_STATE_EOF(UNK):
1674  yyterminate();
1675 
1676  case YY_END_OF_BUFFER:
1677  {
1678  /* Amount of text matched not including the EOB char. */
1679  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1680 
1681  /* Undo the effects of YY_DO_BEFORE_ACTION. */
1682  *yy_cp = (yy_hold_char);
1684 
1685  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1686  {
1687  /* We're scanning a new file or input source. It's
1688  * possible that this happened because the user
1689  * just pointed yyin at a new source and called
1690  * yylex(). If so, then we have to assure
1691  * consistency between YY_CURRENT_BUFFER and our
1692  * globals. Here is the right place to do so, because
1693  * this is the first action (other than possibly a
1694  * back-up) that will match for the new input source.
1695  */
1696  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1697  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1698  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1699  }
1700 
1701  /* Note that here we test for yy_c_buf_p "<=" to the position
1702  * of the first EOB in the buffer, since yy_c_buf_p will
1703  * already have been incremented past the NUL character
1704  * (since all states make transitions on EOB to the
1705  * end-of-buffer state). Contrast this with the test
1706  * in input().
1707  */
1708  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1709  { /* This was really a NUL. */
1710  yy_state_type yy_next_state;
1711 
1712  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1713 
1714  yy_current_state = yy_get_previous_state( );
1715 
1716  /* Okay, we're now positioned to make the NUL
1717  * transition. We couldn't have
1718  * yy_get_previous_state() go ahead and do it
1719  * for us because it doesn't know how to deal
1720  * with the possibility of jamming (and we don't
1721  * want to build jamming into it because then it
1722  * will run more slowly).
1723  */
1724 
1725  yy_next_state = yy_try_NUL_trans( yy_current_state );
1726 
1728 
1729  if ( yy_next_state )
1730  {
1731  /* Consume the NUL. */
1732  yy_cp = ++(yy_c_buf_p);
1733  yy_current_state = yy_next_state;
1734  goto yy_match;
1735  }
1736 
1737  else
1738  {
1739  yy_cp = (yy_c_buf_p);
1740  goto yy_find_action;
1741  }
1742  }
1743 
1744  else switch ( yy_get_next_buffer( ) )
1745  {
1746  case EOB_ACT_END_OF_FILE:
1747  {
1749 
1750  if ( yywrap( ) )
1751  {
1752  /* Note: because we've taken care in
1753  * yy_get_next_buffer() to have set up
1754  * yytext, we can now set up
1755  * yy_c_buf_p so that if some total
1756  * hoser (like flex itself) wants to
1757  * call the scanner after we return the
1758  * YY_NULL, it'll still work - another
1759  * YY_NULL will get returned.
1760  */
1762 
1764  goto do_action;
1765  }
1766 
1767  else
1768  {
1769  if ( ! (yy_did_buffer_switch_on_eof) )
1770  YY_NEW_FILE;
1771  }
1772  break;
1773  }
1774 
1775  case EOB_ACT_CONTINUE_SCAN:
1776  (yy_c_buf_p) =
1777  (yytext_ptr) + yy_amount_of_matched_text;
1778 
1779  yy_current_state = yy_get_previous_state( );
1780 
1781  yy_cp = (yy_c_buf_p);
1783  goto yy_match;
1784 
1785  case EOB_ACT_LAST_MATCH:
1786  (yy_c_buf_p) =
1787  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1788 
1789  yy_current_state = yy_get_previous_state( );
1790 
1791  yy_cp = (yy_c_buf_p);
1793  goto yy_find_action;
1794  }
1795  break;
1796  }
1797 
1798  default:
1800  "fatal flex scanner internal error--no action found" );
1801  } /* end of action switch */
1802  } /* end of scanning one token */
1803  } /* end of user's declarations */
1804 } /* end of yylex */
1805 
1806 /* yy_get_next_buffer - try to read in a new buffer
1807  *
1808  * Returns a code representing an action:
1809  * EOB_ACT_LAST_MATCH -
1810  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1811  * EOB_ACT_END_OF_FILE - end of file
1812  */
1813 static int yy_get_next_buffer (void)
1814 {
1815  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1816  char *source = (yytext_ptr);
1817  int number_to_move, i;
1818  int ret_val;
1819 
1820  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1822  "fatal flex scanner internal error--end of buffer missed" );
1823 
1824  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1825  { /* Don't try to fill the buffer, so this is an EOF. */
1826  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1827  {
1828  /* We matched a single character, the EOB, so
1829  * treat this as a final EOF.
1830  */
1831  return EOB_ACT_END_OF_FILE;
1832  }
1833 
1834  else
1835  {
1836  /* We matched some text prior to the EOB, first
1837  * process it.
1838  */
1839  return EOB_ACT_LAST_MATCH;
1840  }
1841  }
1842 
1843  /* Try to read more data. */
1844 
1845  /* First move last chars to start of buffer. */
1846  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
1847 
1848  for ( i = 0; i < number_to_move; ++i )
1849  *(dest++) = *(source++);
1850 
1851  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1852  /* don't do the read, it's not guaranteed to return an EOF,
1853  * just force an EOF
1854  */
1855  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1856 
1857  else
1858  {
1859  int num_to_read =
1860  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1861 
1862  while ( num_to_read <= 0 )
1863  { /* Not enough room in the buffer - grow it. */
1864 
1865  /* just a shorter name for the current buffer */
1867 
1868  int yy_c_buf_p_offset =
1869  (int) ((yy_c_buf_p) - b->yy_ch_buf);
1870 
1871  if ( b->yy_is_our_buffer )
1872  {
1873  int new_size = b->yy_buf_size * 2;
1874 
1875  if ( new_size <= 0 )
1876  b->yy_buf_size += b->yy_buf_size / 8;
1877  else
1878  b->yy_buf_size *= 2;
1879 
1880  b->yy_ch_buf = (char *)
1881  /* Include room in for 2 EOB chars. */
1882  yyrealloc( (void *) b->yy_ch_buf,
1883  (yy_size_t) (b->yy_buf_size + 2) );
1884  }
1885  else
1886  /* Can't grow it, we don't own it. */
1887  b->yy_ch_buf = NULL;
1888 
1889  if ( ! b->yy_ch_buf )
1891  "fatal error - scanner input buffer overflow" );
1892 
1893  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1894 
1895  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1896  number_to_move - 1;
1897 
1898  }
1899 
1900  if ( num_to_read > YY_READ_BUF_SIZE )
1901  num_to_read = YY_READ_BUF_SIZE;
1902 
1903  /* Read in more data. */
1904  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1905  (yy_n_chars), num_to_read );
1906 
1907  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1908  }
1909 
1910  if ( (yy_n_chars) == 0 )
1911  {
1912  if ( number_to_move == YY_MORE_ADJ )
1913  {
1914  ret_val = EOB_ACT_END_OF_FILE;
1915  yyrestart( yyin );
1916  }
1917 
1918  else
1919  {
1920  ret_val = EOB_ACT_LAST_MATCH;
1921  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1923  }
1924  }
1925 
1926  else
1927  ret_val = EOB_ACT_CONTINUE_SCAN;
1928 
1929  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1930  /* Extend the array by 50%, plus the number we really need. */
1931  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1932  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
1933  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
1934  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1935  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1936  /* "- 2" to take care of EOB's */
1937  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
1938  }
1939 
1940  (yy_n_chars) += number_to_move;
1943 
1944  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1945 
1946  return ret_val;
1947 }
1948 
1949 /* yy_get_previous_state - get the state just before the EOB char was reached */
1950 
1951  static yy_state_type yy_get_previous_state (void)
1952 {
1953  yy_state_type yy_current_state;
1954  char *yy_cp;
1955 
1956  yy_current_state = (yy_start);
1957 
1958  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1959  {
1960  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1961  if ( yy_accept[yy_current_state] )
1962  {
1963  (yy_last_accepting_state) = yy_current_state;
1965  }
1966  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1967  {
1968  yy_current_state = (int) yy_def[yy_current_state];
1969  if ( yy_current_state >= 289 )
1970  yy_c = yy_meta[yy_c];
1971  }
1972  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1973  }
1974 
1975  return yy_current_state;
1976 }
1977 
1978 /* yy_try_NUL_trans - try to make a transition on the NUL character
1979  *
1980  * synopsis
1981  * next_state = yy_try_NUL_trans( current_state );
1982  */
1983  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1984 {
1985  int yy_is_jam;
1986  char *yy_cp = (yy_c_buf_p);
1987 
1988  YY_CHAR yy_c = 1;
1989  if ( yy_accept[yy_current_state] )
1990  {
1991  (yy_last_accepting_state) = yy_current_state;
1993  }
1994  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1995  {
1996  yy_current_state = (int) yy_def[yy_current_state];
1997  if ( yy_current_state >= 289 )
1998  yy_c = yy_meta[yy_c];
1999  }
2000  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2001  yy_is_jam = (yy_current_state == 288);
2002 
2003  return yy_is_jam ? 0 : yy_current_state;
2004 }
2005 
2006 #ifndef YY_NO_UNPUT
2007 
2008 #endif
2009 
2010 #ifndef YY_NO_INPUT
2011 #ifdef __cplusplus
2012  static int yyinput (void)
2013 #else
2014  static int input (void)
2015 #endif
2016 
2017 {
2018  int c;
2019 
2020  *(yy_c_buf_p) = (yy_hold_char);
2021 
2022  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2023  {
2024  /* yy_c_buf_p now points to the character we want to return.
2025  * If this occurs *before* the EOB characters, then it's a
2026  * valid NUL; if not, then we've hit the end of the buffer.
2027  */
2028  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2029  /* This was really a NUL. */
2030  *(yy_c_buf_p) = '\0';
2031 
2032  else
2033  { /* need more input */
2034  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2035  ++(yy_c_buf_p);
2036 
2037  switch ( yy_get_next_buffer( ) )
2038  {
2039  case EOB_ACT_LAST_MATCH:
2040  /* This happens because yy_g_n_b()
2041  * sees that we've accumulated a
2042  * token and flags that we need to
2043  * try matching the token before
2044  * proceeding. But for input(),
2045  * there's no matching to consider.
2046  * So convert the EOB_ACT_LAST_MATCH
2047  * to EOB_ACT_END_OF_FILE.
2048  */
2049 
2050  /* Reset buffer status. */
2051  yyrestart( yyin );
2052 
2053  /*FALLTHROUGH*/
2054 
2055  case EOB_ACT_END_OF_FILE:
2056  {
2057  if ( yywrap( ) )
2058  return 0;
2059 
2060  if ( ! (yy_did_buffer_switch_on_eof) )
2061  YY_NEW_FILE;
2062 #ifdef __cplusplus
2063  return yyinput();
2064 #else
2065  return input();
2066 #endif
2067  }
2068 
2069  case EOB_ACT_CONTINUE_SCAN:
2070  (yy_c_buf_p) = (yytext_ptr) + offset;
2071  break;
2072  }
2073  }
2074  }
2075 
2076  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2077  *(yy_c_buf_p) = '\0'; /* preserve yytext */
2078  (yy_hold_char) = *++(yy_c_buf_p);
2079 
2080  return c;
2081 }
2082 #endif /* ifndef YY_NO_INPUT */
2083 
2084 /** Immediately switch to a different input stream.
2085  * @param input_file A readable stream.
2086  *
2087  * @note This function does not reset the start condition to @c INITIAL .
2088  */
2089  void yyrestart (FILE * input_file )
2090 {
2091 
2092  if ( ! YY_CURRENT_BUFFER ){
2096  }
2097 
2098  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2100 }
2101 
2102 /** Switch to a different input buffer.
2103  * @param new_buffer The new input buffer.
2104  *
2105  */
2106  void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2107 {
2108 
2109  /* TODO. We should be able to replace this entire function body
2110  * with
2111  * yypop_buffer_state();
2112  * yypush_buffer_state(new_buffer);
2113  */
2115  if ( YY_CURRENT_BUFFER == new_buffer )
2116  return;
2117 
2118  if ( YY_CURRENT_BUFFER )
2119  {
2120  /* Flush out information for old buffer. */
2121  *(yy_c_buf_p) = (yy_hold_char);
2122  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2123  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2124  }
2125 
2126  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2128 
2129  /* We don't actually know whether we did this switch during
2130  * EOF (yywrap()) processing, but the only time this flag
2131  * is looked at is after yywrap() is called, so it's safe
2132  * to go ahead and always set it.
2133  */
2135 }
2136 
2137 static void yy_load_buffer_state (void)
2138 {
2139  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2140  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2141  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2142  (yy_hold_char) = *(yy_c_buf_p);
2143 }
2144 
2145 /** Allocate and initialize an input buffer state.
2146  * @param file A readable stream.
2147  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2148  *
2149  * @return the allocated buffer state.
2150  */
2151  YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
2152 {
2153  YY_BUFFER_STATE b;
2154 
2155  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2156  if ( ! b )
2157  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2158 
2159  b->yy_buf_size = size;
2160 
2161  /* yy_ch_buf has to be 2 characters longer than the size given because
2162  * we need to put in 2 end-of-buffer characters.
2163  */
2164  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2165  if ( ! b->yy_ch_buf )
2166  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2167 
2168  b->yy_is_our_buffer = 1;
2169 
2170  yy_init_buffer( b, file );
2171 
2172  return b;
2173 }
2174 
2175 /** Destroy the buffer.
2176  * @param b a buffer created with yy_create_buffer()
2177  *
2178  */
2180 {
2181 
2182  if ( ! b )
2183  return;
2184 
2185  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2187 
2188  if ( b->yy_is_our_buffer )
2189  yyfree( (void *) b->yy_ch_buf );
2190 
2191  yyfree( (void *) b );
2192 }
2193 
2194 /* Initializes or reinitializes a buffer.
2195  * This function is sometimes called more than once on the same buffer,
2196  * such as during a yyrestart() or at EOF.
2197  */
2198  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2199 
2200 {
2201  int oerrno = errno;
2202 
2203  yy_flush_buffer( b );
2204 
2205  b->yy_input_file = file;
2206  b->yy_fill_buffer = 1;
2207 
2208  /* If b is the current buffer, then yy_init_buffer was _probably_
2209  * called from yyrestart() or through yy_get_next_buffer.
2210  * In that case, we don't want to reset the lineno or column.
2211  */
2212  if (b != YY_CURRENT_BUFFER){
2213  b->yy_bs_lineno = 1;
2214  b->yy_bs_column = 0;
2215  }
2216 
2217  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2218 
2219  errno = oerrno;
2220 }
2221 
2222 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2223  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2224  *
2225  */
2227 {
2228  if ( ! b )
2229  return;
2230 
2231  b->yy_n_chars = 0;
2232 
2233  /* We always need two end-of-buffer characters. The first causes
2234  * a transition to the end-of-buffer state. The second causes
2235  * a jam in that state.
2236  */
2239 
2240  b->yy_buf_pos = &b->yy_ch_buf[0];
2241 
2242  b->yy_at_bol = 1;
2244 
2245  if ( b == YY_CURRENT_BUFFER )
2247 }
2248 
2249 /** Pushes the new state onto the stack. The new state becomes
2250  * the current state. This function will allocate the stack
2251  * if necessary.
2252  * @param new_buffer The new state.
2253  *
2254  */
2255 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2256 {
2257  if (new_buffer == NULL)
2258  return;
2259 
2261 
2262  /* This block is copied from yy_switch_to_buffer. */
2263  if ( YY_CURRENT_BUFFER )
2264  {
2265  /* Flush out information for old buffer. */
2266  *(yy_c_buf_p) = (yy_hold_char);
2267  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2268  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2269  }
2270 
2271  /* Only push if top exists. Otherwise, replace top. */
2272  if (YY_CURRENT_BUFFER)
2273  (yy_buffer_stack_top)++;
2274  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2275 
2276  /* copied from yy_switch_to_buffer. */
2279 }
2280 
2281 /** Removes and deletes the top of the stack, if present.
2282  * The next element becomes the new top.
2283  *
2284  */
2285 void yypop_buffer_state (void)
2286 {
2287  if (!YY_CURRENT_BUFFER)
2288  return;
2289 
2291  YY_CURRENT_BUFFER_LVALUE = NULL;
2292  if ((yy_buffer_stack_top) > 0)
2293  --(yy_buffer_stack_top);
2294 
2295  if (YY_CURRENT_BUFFER) {
2298  }
2299 }
2300 
2301 /* Allocates the stack if it does not exist.
2302  * Guarantees space for at least one push.
2303  */
2304 static void yyensure_buffer_stack (void)
2305 {
2306  yy_size_t num_to_alloc;
2307 
2308  if (!(yy_buffer_stack)) {
2309 
2310  /* First allocation is just for 2 elements, since we don't know if this
2311  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2312  * immediate realloc on the next call.
2313  */
2314  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2316  (num_to_alloc * sizeof(struct yy_buffer_state*)
2317  );
2318  if ( ! (yy_buffer_stack) )
2319  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2320 
2321  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2322 
2323  (yy_buffer_stack_max) = num_to_alloc;
2324  (yy_buffer_stack_top) = 0;
2325  return;
2326  }
2327 
2328  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2329 
2330  /* Increase the buffer to prepare for a possible push. */
2331  yy_size_t grow_size = 8 /* arbitrary grow size */;
2332 
2333  num_to_alloc = (yy_buffer_stack_max) + grow_size;
2335  ((yy_buffer_stack),
2336  num_to_alloc * sizeof(struct yy_buffer_state*)
2337  );
2338  if ( ! (yy_buffer_stack) )
2339  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2340 
2341  /* zero only the new slots.*/
2342  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2343  (yy_buffer_stack_max) = num_to_alloc;
2344  }
2345 }
2346 
2347 /** Setup the input buffer state to scan directly from a user-specified character buffer.
2348  * @param base the character buffer
2349  * @param size the size in bytes of the character buffer
2350  *
2351  * @return the newly allocated buffer state object.
2352  */
2354 {
2355  YY_BUFFER_STATE b;
2356 
2357  if ( size < 2 ||
2358  base[size-2] != YY_END_OF_BUFFER_CHAR ||
2359  base[size-1] != YY_END_OF_BUFFER_CHAR )
2360  /* They forgot to leave room for the EOB's. */
2361  return NULL;
2362 
2363  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2364  if ( ! b )
2365  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2366 
2367  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
2368  b->yy_buf_pos = b->yy_ch_buf = base;
2369  b->yy_is_our_buffer = 0;
2370  b->yy_input_file = NULL;
2371  b->yy_n_chars = b->yy_buf_size;
2372  b->yy_is_interactive = 0;
2373  b->yy_at_bol = 1;
2374  b->yy_fill_buffer = 0;
2376 
2377  yy_switch_to_buffer( b );
2378 
2379  return b;
2380 }
2381 
2382 /** Setup the input buffer state to scan a string. The next call to yylex() will
2383  * scan from a @e copy of @a str.
2384  * @param yystr a NUL-terminated string to scan
2385  *
2386  * @return the newly allocated buffer state object.
2387  * @note If you want to scan bytes that may contain NUL values, then use
2388  * yy_scan_bytes() instead.
2389  */
2390 YY_BUFFER_STATE yy_scan_string (const char * yystr )
2391 {
2392 
2393  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2394 }
2395 
2396 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2397  * scan from a @e copy of @a bytes.
2398  * @param yybytes the byte buffer to scan
2399  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2400  *
2401  * @return the newly allocated buffer state object.
2402  */
2403 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
2404 {
2405  YY_BUFFER_STATE b;
2406  char *buf;
2407  yy_size_t n;
2408  int i;
2409 
2410  /* Get memory for full buffer, including space for trailing EOB's. */
2411  n = (yy_size_t) (_yybytes_len + 2);
2412  buf = (char *) yyalloc( n );
2413  if ( ! buf )
2414  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2415 
2416  for ( i = 0; i < _yybytes_len; ++i )
2417  buf[i] = yybytes[i];
2418 
2419  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2420 
2421  b = yy_scan_buffer( buf, n );
2422  if ( ! b )
2423  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2424 
2425  /* It's okay to grow etc. this buffer, and we should throw it
2426  * away when we're done.
2427  */
2428  b->yy_is_our_buffer = 1;
2429 
2430  return b;
2431 }
2432 
2433 #ifndef YY_EXIT_FAILURE
2434 #define YY_EXIT_FAILURE 2
2435 #endif
2436 
2437 static void yynoreturn yy_fatal_error (const char* msg )
2438 {
2439  fprintf( stderr, "%s\n", msg );
2440  exit( YY_EXIT_FAILURE );
2441 }
2442 
2443 /* Redefine yyless() so it works in section 3 code. */
2444 
2445 #undef yyless
2446 #define yyless(n) \
2447  do \
2448  { \
2449  /* Undo effects of setting up yytext. */ \
2450  int yyless_macro_arg = (n); \
2451  YY_LESS_LINENO(yyless_macro_arg);\
2452  yytext[yyleng] = (yy_hold_char); \
2453  (yy_c_buf_p) = yytext + yyless_macro_arg; \
2454  (yy_hold_char) = *(yy_c_buf_p); \
2455  *(yy_c_buf_p) = '\0'; \
2456  yyleng = yyless_macro_arg; \
2457  } \
2458  while ( 0 )
2459 
2460 /* Accessor methods (get/set functions) to struct members. */
2461 
2462 /** Get the current line number.
2463  *
2464  */
2465 int yyget_lineno (void)
2466 {
2467 
2468  return yylineno;
2469 }
2470 
2471 /** Get the input stream.
2472  *
2473  */
2474 FILE *yyget_in (void)
2475 {
2476  return yyin;
2477 }
2478 
2479 /** Get the output stream.
2480  *
2481  */
2482 FILE *yyget_out (void)
2483 {
2484  return yyout;
2485 }
2486 
2487 /** Get the length of the current token.
2488  *
2489  */
2490 int yyget_leng (void)
2491 {
2492  return yyleng;
2493 }
2494 
2495 /** Get the current token.
2496  *
2497  */
2498 
2499 char *yyget_text (void)
2500 {
2501  return yytext;
2502 }
2503 
2504 /** Set the current line number.
2505  * @param _line_number line number
2506  *
2507  */
2508 void yyset_lineno (int _line_number )
2509 {
2510 
2511  yylineno = _line_number;
2512 }
2513 
2514 /** Set the input stream. This does not discard the current
2515  * input buffer.
2516  * @param _in_str A readable stream.
2517  *
2518  * @see yy_switch_to_buffer
2519  */
2520 void yyset_in (FILE * _in_str )
2521 {
2522  yyin = _in_str ;
2523 }
2524 
2525 void yyset_out (FILE * _out_str )
2526 {
2527  yyout = _out_str ;
2528 }
2529 
2530 int yyget_debug (void)
2531 {
2532  return yy_flex_debug;
2533 }
2534 
2535 void yyset_debug (int _bdebug )
2536 {
2537  yy_flex_debug = _bdebug ;
2538 }
2539 
2540 static int yy_init_globals (void)
2541 {
2542  /* Initialization is the same as for the non-reentrant scanner.
2543  * This function is called from yylex_destroy(), so don't allocate here.
2544  */
2545 
2546  (yy_buffer_stack) = NULL;
2547  (yy_buffer_stack_top) = 0;
2548  (yy_buffer_stack_max) = 0;
2549  (yy_c_buf_p) = NULL;
2550  (yy_init) = 0;
2551  (yy_start) = 0;
2552 
2553 /* Defined in main.c */
2554 #ifdef YY_STDINIT
2555  yyin = stdin;
2556  yyout = stdout;
2557 #else
2558  yyin = NULL;
2559  yyout = NULL;
2560 #endif
2561 
2562  /* For future reference: Set errno on error, since we are called by
2563  * yylex_init()
2564  */
2565  return 0;
2566 }
2567 
2568 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2569 int yylex_destroy (void)
2570 {
2571 
2572  /* Pop the buffer stack, destroying each element. */
2573  while(YY_CURRENT_BUFFER){
2575  YY_CURRENT_BUFFER_LVALUE = NULL;
2577  }
2578 
2579  /* Destroy the stack itself. */
2580  yyfree((yy_buffer_stack) );
2581  (yy_buffer_stack) = NULL;
2582 
2583  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2584  * yylex() is called, initialization will occur. */
2585  yy_init_globals( );
2586 
2587  return 0;
2588 }
2589 
2590 /*
2591  * Internal utility routines.
2592  */
2593 
2594 #ifndef yytext_ptr
2595 static void yy_flex_strncpy (char* s1, const char * s2, int n )
2596 {
2597 
2598  int i;
2599  for ( i = 0; i < n; ++i )
2600  s1[i] = s2[i];
2601 }
2602 #endif
2603 
2604 #ifdef YY_NEED_STRLEN
2605 static int yy_flex_strlen (const char * s )
2606 {
2607  int n;
2608  for ( n = 0; s[n]; ++n )
2609  ;
2610 
2611  return n;
2612 }
2613 #endif
2614 
2615 void *yyalloc (yy_size_t size )
2616 {
2617  return malloc(size);
2618 }
2619 
2620 void *yyrealloc (void * ptr, yy_size_t size )
2621 {
2622 
2623  /* The cast to (char *) in the following accommodates both
2624  * implementations that use char* generic pointers, and those
2625  * that use void* generic pointers. It works with the latter
2626  * because both ANSI C and C++ allow castless assignment from
2627  * any pointer type to void*, and deal with argument conversions
2628  * as though doing an assignment.
2629  */
2630  return realloc(ptr, size);
2631 }
2632 
2633 void yyfree (void * ptr )
2634 {
2635  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2636 }
2637 
2638 #define YYTABLES_NAME "yytables"
2639 
2640 #line 222 "tp_lex.l"
2641 
2642 
2643 int yywrap(void){ return 1; }
2644 
2645 void tp_init_lex(void)
2646 {
2647  BEGIN KEY;
2648 #ifdef FLEX_SCANNER
2649  yy_init = 1;
2650 #endif
2651 }
2652 
2653 void tp_error(const char * s)
2654 {
2655  tpips_init(); /* needed for user error... */
2656  tpips_lex_print_pos(stderr);
2657  pips_user_error("%s\n", s);
2658 }
2659 
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 *)
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 pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
Definition: misc-local.h:145
#define pips_user_warning
Definition: misc-local.h:146
#define exit(code)
Definition: misc-local.h:54
#define pips_user_error
Definition: misc-local.h:147
string concatenate(const char *,...)
Return the concatenation of the given strings.
Definition: string.c:183
#define string_undefined
Definition: newgen_types.h:40
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
char * strdup()
static int line
FLEX_SCANNER.
Definition: scanner.c:852
s1
Definition: set.c:247
static char buf[BSZ]
Definition: split_file.c:157
#define TK_INT
Definition: splitc.c:765
#define TK_COMMA
Definition: splitc.c:834
#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
#define TK_CLOSE
Definition: syn_yacc.c:289
#define TK_EXIT
Definition: syn_yacc.c:307
#define TK_NAME
Definition: syn_yacc.c:354
#define TK_OPEN
Definition: syn_yacc.c:320
#define yy_load_buffer_state
Definition: tp_lex.c:15
#define YY_NEW_FILE
Special action meaning "start processing a new file".
Definition: tp_lex.c:386
#define yyset_extra
Definition: tp_lex.c:164
#define yytext
Definition: tp_lex.c:27
unsigned char flex_uint8_t
Definition: tp_lex.c:312
#define yyset_lineno
Definition: tp_lex.c:212
static char yy_hold_char
yy_hold_char holds the character lost when yytext is formed.
Definition: tp_lex.c:527
static const YY_CHAR yy_meta[58]
Definition: tp_lex.c:689
#define LITTERAL(x)
Definition: tp_lex.c:994
static int tpips_lex_input(void)
Definition: tp_lex.c:978
static yy_state_type yy_last_accepting_state
Definition: tp_lex.c:873
#define yyrestart
Definition: tp_lex.c:26
static bool cr_not_returned
Definition: tp_lex.c:949
#define yyset_debug
Definition: tp_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: tp_lex.c:1020
static const flex_int16_t yy_def[301]
Definition: tp_lex.c:736
static int yy_start
whether we need to initialize
Definition: tp_lex.c:534
short int flex_int16_t
Definition: tp_lex.c:310
#define yy_flex_debug
Definition: tp_lex.c:20
#define yyget_out
Definition: tp_lex.c:182
static YY_BUFFER_STATE * yy_buffer_stack
Stack as an array.
Definition: tp_lex.c:510
unsigned int flex_uint32_t
Definition: tp_lex.c:314
#define RESTART(x)
Definition: tp_lex.c:998
static int yy_get_next_buffer(void)
#define yy_scan_bytes
Definition: tp_lex.c:12
#define YY_BREAK
Code executed at the end of each rule.
Definition: tp_lex.c:1181
#define SPC
Definition: tp_lex.c:1007
static size_t yy_buffer_stack_max
capacity of stack.
Definition: tp_lex.c:509
#define yynoreturn
Definition: tp_lex.c:361
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
static int back
Definition: tp_lex.c:966
#define yyget_debug
Definition: tp_lex.c:146
int yy_act
Definition: tp_lex.c:1193
#define yypush_buffer_state
Definition: tp_lex.c:17
struct yy_buffer_state * YY_BUFFER_STATE
Definition: tp_lex.c:408
#define yyfree
Definition: tp_lex.c:31
#define yyout
Definition: tp_lex.c:25
#define YY_BUFFER_NEW
Definition: tp_lex.c:490
#define yyget_lineno
Definition: tp_lex.c:206
#define yylex
Definition: tp_lex.c:23
#define YY_RESTORE_YY_MORE_OFFSET
Definition: tp_lex.c:885
static int yy_did_buffer_switch_on_eof
start state number
Definition: tp_lex.c:539
static int yy_init_globals(void)
#define yyget_text
Definition: tp_lex.c:200
void tpips_lex_print_pos(FILE *fout)
Definition: tp_lex.c:968
#define YY_BUFFER_NORMAL
Definition: tp_lex.c:491
char * yy_cp
Definition: tp_lex.c:1192
#define yyensure_buffer_stack
Definition: tp_lex.c:19
#define yy_scan_buffer
Definition: tp_lex.c:10
#define YY_MORE_ADJ
Definition: tp_lex.c:884
#define YY_RULE_SETUP
Definition: tp_lex.c:1184
static const flex_int16_t yy_base[301]
Definition: tp_lex.c:699
#define yy_scan_string
Definition: tp_lex.c:11
#define yytext_ptr
Definition: tp_lex.c:597
signed char flex_int8_t
C99 systems have <inttypes.h>.
Definition: tp_lex.c:309
#define yyget_leng
Definition: tp_lex.c:194
#define EOB_ACT_END_OF_FILE
Definition: tp_lex.c:421
#define yyalloc
Definition: tp_lex.c:29
#define yypop_buffer_state
Definition: tp_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: tp_lex.c:524
static char * line_parsed
Definition: tp_lex.c:951
int flex_int32_t
Definition: tp_lex.c:311
#define STR
Definition: tp_lex.c:1006
static const flex_int16_t yy_accept[289]
Definition: tp_lex.c:622
#define KEY
Definition: tp_lex.c:1005
#define YY_START
Translate the current start state into a value that can be later handed to BEGIN to return to the sta...
Definition: tp_lex.c:381
char * tpips_get_line_to_parse(void)
Definition: tp_lex.c:961
#define yy_switch_to_buffer
Definition: tp_lex.c:16
#define RETURN(x)
one char lines are not implicit shells
Definition: tp_lex.c:992
int yy_state_type
Definition: tp_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: tp_lex.c:518
#define LIT
Definition: tp_lex.c:1008
#define yy_init_buffer
Definition: tp_lex.c:13
void tpips_set_line_to_parse(char *line)
in lex file
Definition: tp_lex.c:953
static const flex_int16_t yy_chk[416]
Definition: tp_lex.c:823
#define INITIAL
Definition: tp_lex.c:1004
#define yyget_extra
Definition: tp_lex.c:158
char * yy_bp
Definition: tp_lex.c:1192
#define yyin
Definition: tp_lex.c:21
static int yy_n_chars
Definition: tp_lex.c:528
#define YY_READ_BUF_SIZE
Amount of stuff to slurp up with each read.
Definition: tp_lex.c:1093
#define YY_INPUT(buf, result, max_size)
now get the characters from a string, not from a file
Definition: tp_lex.c:940
#define ECHO
disable echoing unmatched characters
Definition: tp_lex.c:927
#define UNK
Definition: tp_lex.c:1009
#define yy_flush_buffer
Definition: tp_lex.c:14
#define yyrealloc
Definition: tp_lex.c:30
#define YY_END_OF_BUFFER
Definition: tp_lex.c:614
#define YY_STATE_EOF(state)
Action number for EOF rule of a given start state.
Definition: tp_lex.c:384
#define BEGIN
Enter a start condition.
Definition: tp_lex.c:376
#define YY_END_OF_BUFFER_CHAR
Definition: tp_lex.c:387
#define YY_FATAL_ERROR(msg)
Report a fatal error.
Definition: tp_lex.c:1156
#define yyterminate()
ia64
Definition: tp_lex.c:1146
unsigned short int flex_uint16_t
Definition: tp_lex.c:313
static char * line_to_parse
Definition: tp_lex.c:950
#define yywrap
Macros after this point can all be overridden by user definitions in section 1.
Definition: tp_lex.c:28
#define yy_create_buffer
A lexical scanner generated by flex.
Definition: tp_lex.c:8
flex_uint8_t YY_CHAR
Begin user sect3.
Definition: tp_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: tp_lex.c:607
#define KEYWORD(x)
Definition: tp_lex.c:993
#define yy_delete_buffer
Definition: tp_lex.c:9
#define EOB_ACT_LAST_MATCH
Definition: tp_lex.c:422
#define yyget_in
Definition: tp_lex.c:170
size_t yy_size_t
Definition: tp_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: tp_lex.c:502
#define yylineno
Definition: tp_lex.c:24
static yy_state_type yy_get_previous_state(void)
static const YY_CHAR yy_ec[256]
Definition: tp_lex.c:657
#define yylex_destroy
Accessor methods to globals.
Definition: tp_lex.c:140
#define yyset_out
Definition: tp_lex.c:188
static const flex_int16_t yy_nxt[416]
Definition: tp_lex.c:773
static char * yy_c_buf_p
Points to current character in buffer.
Definition: tp_lex.c:532
#define EOB_ACT_CONTINUE_SCAN
Definition: tp_lex.c:420
static char unk[2]
string to be processed by some other lexer/parser.
Definition: tp_lex.c:990
string tpips_unknown_string
Definition: tp_lex.c:948
static size_t yy_buffer_stack_top
!YY_STRUCT_YY_BUFFER_STATE
Definition: tp_lex.c:508
#define YY_DECL
Definition: tp_lex.c:1169
#define YY_BUF_SIZE
Size of default input buffer.
Definition: tp_lex.c:398
#define YY_EXIT_FAILURE
static int yy_init
Definition: tp_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: tp_lex.c:370
#define yyleng
Definition: tp_lex.c:22
static char * yy_last_accepting_cpos
Definition: tp_lex.c:874
#define yyset_in
Definition: tp_lex.c:176
#define TK_PWD
Definition: tp_yacc.c:626
#define TK_SOURCE
Definition: tp_yacc.c:629
#define TK_TOUCH
Definition: tp_yacc.c:639
#define TK_APPLY
Definition: tp_yacc.c:614
#define TK_DELETE
Definition: tp_yacc.c:611
#define TK_EQUAL
Definition: tp_yacc.c:652
#define TK_OWNER_MAIN
Definition: tp_yacc.c:645
#define TK_SET_ENVIRONMENT
Definition: tp_yacc.c:621
#define TK_A_STRING
Definition: tp_yacc.c:654
#define TK_SHOW
Definition: tp_yacc.c:628
#define TK_REMOVE
Definition: tp_yacc.c:617
#define TK_HELP
Definition: tp_yacc.c:627
#define TK_CLOSEPAREN
Definition: tp_yacc.c:651
#define TK_CHECKPOINT
Definition: tp_yacc.c:610
#define TK_CAPPLY
Definition: tp_yacc.c:615
#define TK_CREATE
Definition: tp_yacc.c:608
#define TK_OWNER_ALL
Definition: tp_yacc.c:641
#define TK_UNSET_ENVIRONMENT
Definition: tp_yacc.c:623
#define TK_QUIT
Definition: tp_yacc.c:634
YYSTYPE tp_lval
#define TK_SHELL
Definition: tp_yacc.c:630
#define TK_OPENPAREN
Definition: tp_yacc.c:649
#define TK_ACTIVATE
Definition: tp_yacc.c:618
#define TK_CDIR
Definition: tp_yacc.c:624
#define TK_ENDOFLINE
Definition: tp_yacc.c:655
#define TK_OWNER_ALLFUNC
Definition: tp_yacc.c:642
#define TK_OWNER_ALLCU
Definition: tp_yacc.c:643
#define TK_MODULE
Definition: tp_yacc.c:612
#define TK_OWNER_CALLEES
Definition: tp_yacc.c:648
#define TK_UNKNOWN
Definition: tp_yacc.c:632
#define TK_GET_PROPERTY
Definition: tp_yacc.c:620
#define TK_VERSION
Definition: tp_yacc.c:638
#define TK_OWNER_MODULE
Definition: tp_yacc.c:646
#define TK_OWNER_CALLERS
Definition: tp_yacc.c:647
#define TK_DISPLAY
Definition: tp_yacc.c:616
#define TK_OWNER_PROGRAM
Definition: tp_yacc.c:644
#define TK_SET_PROPERTY
Definition: tp_yacc.c:619
#define TK_CHECKACTIVE
Definition: tp_yacc.c:637
#define TK_GET_ENVIRONMENT
Definition: tp_yacc.c:622
#define TK_TIMEOUT
Definition: tp_yacc.c:633
#define TK_INFO
Definition: tp_yacc.c:625
#define TK_ECHO
Definition: tp_yacc.c:631
#define TK_LINE
Definition: tp_yacc.c:636
#define TK_MAKE
Definition: tp_yacc.c:613
void tp_init_lex()
#define skip_blanks(str)
Definition: tpips-local.h:71
void tp_error()
int tpips_current_line(void)
Definition: tpips.c:91
void tpips_init(void)
Definition: tpips.c:970
string tpips_current_name(void)
Definition: tpips.c:96
char * name
Definition: genspec.h:116
int ival
Definition: tp_yacc.c:665