FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_heclex.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 HECMW_hec_create_buffer
9 #define yy_delete_buffer HECMW_hec_delete_buffer
10 #define yy_scan_buffer HECMW_hec_scan_buffer
11 #define yy_scan_string HECMW_hec_scan_string
12 #define yy_scan_bytes HECMW_hec_scan_bytes
13 #define yy_init_buffer HECMW_hec_init_buffer
14 #define yy_flush_buffer HECMW_hec_flush_buffer
15 #define yy_load_buffer_state HECMW_hec_load_buffer_state
16 #define yy_switch_to_buffer HECMW_hec_switch_to_buffer
17 #define yypush_buffer_state HECMW_hecpush_buffer_state
18 #define yypop_buffer_state HECMW_hecpop_buffer_state
19 #define yyensure_buffer_stack HECMW_hecensure_buffer_stack
20 #define yy_flex_debug HECMW_hec_flex_debug
21 #define yyin HECMW_hecin
22 #define yyleng HECMW_hecleng
23 #define yylex HECMW_heclex
24 #define yylineno HECMW_heclineno
25 #define yyout HECMW_hecout
26 #define yyrestart HECMW_hecrestart
27 #define yytext HECMW_hectext
28 #define yywrap HECMW_hecwrap
29 #define yyalloc HECMW_hecalloc
30 #define yyrealloc HECMW_hecrealloc
31 #define yyfree HECMW_hecfree
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 HECMW_hec_create_buffer_ALREADY_DEFINED
43 #else
44 #define yy_create_buffer HECMW_hec_create_buffer
45 #endif
46 
47 #ifdef yy_delete_buffer
48 #define HECMW_hec_delete_buffer_ALREADY_DEFINED
49 #else
50 #define yy_delete_buffer HECMW_hec_delete_buffer
51 #endif
52 
53 #ifdef yy_scan_buffer
54 #define HECMW_hec_scan_buffer_ALREADY_DEFINED
55 #else
56 #define yy_scan_buffer HECMW_hec_scan_buffer
57 #endif
58 
59 #ifdef yy_scan_string
60 #define HECMW_hec_scan_string_ALREADY_DEFINED
61 #else
62 #define yy_scan_string HECMW_hec_scan_string
63 #endif
64 
65 #ifdef yy_scan_bytes
66 #define HECMW_hec_scan_bytes_ALREADY_DEFINED
67 #else
68 #define yy_scan_bytes HECMW_hec_scan_bytes
69 #endif
70 
71 #ifdef yy_init_buffer
72 #define HECMW_hec_init_buffer_ALREADY_DEFINED
73 #else
74 #define yy_init_buffer HECMW_hec_init_buffer
75 #endif
76 
77 #ifdef yy_flush_buffer
78 #define HECMW_hec_flush_buffer_ALREADY_DEFINED
79 #else
80 #define yy_flush_buffer HECMW_hec_flush_buffer
81 #endif
82 
83 #ifdef yy_load_buffer_state
84 #define HECMW_hec_load_buffer_state_ALREADY_DEFINED
85 #else
86 #define yy_load_buffer_state HECMW_hec_load_buffer_state
87 #endif
88 
89 #ifdef yy_switch_to_buffer
90 #define HECMW_hec_switch_to_buffer_ALREADY_DEFINED
91 #else
92 #define yy_switch_to_buffer HECMW_hec_switch_to_buffer
93 #endif
94 
95 #ifdef yypush_buffer_state
96 #define HECMW_hecpush_buffer_state_ALREADY_DEFINED
97 #else
98 #define yypush_buffer_state HECMW_hecpush_buffer_state
99 #endif
100 
101 #ifdef yypop_buffer_state
102 #define HECMW_hecpop_buffer_state_ALREADY_DEFINED
103 #else
104 #define yypop_buffer_state HECMW_hecpop_buffer_state
105 #endif
106 
107 #ifdef yyensure_buffer_stack
108 #define HECMW_hecensure_buffer_stack_ALREADY_DEFINED
109 #else
110 #define yyensure_buffer_stack HECMW_hecensure_buffer_stack
111 #endif
112 
113 #ifdef yylex
114 #define HECMW_heclex_ALREADY_DEFINED
115 #else
116 #define yylex HECMW_heclex
117 #endif
118 
119 #ifdef yyrestart
120 #define HECMW_hecrestart_ALREADY_DEFINED
121 #else
122 #define yyrestart HECMW_hecrestart
123 #endif
124 
125 #ifdef yylex_init
126 #define HECMW_heclex_init_ALREADY_DEFINED
127 #else
128 #define yylex_init HECMW_heclex_init
129 #endif
130 
131 #ifdef yylex_init_extra
132 #define HECMW_heclex_init_extra_ALREADY_DEFINED
133 #else
134 #define yylex_init_extra HECMW_heclex_init_extra
135 #endif
136 
137 #ifdef yylex_destroy
138 #define HECMW_heclex_destroy_ALREADY_DEFINED
139 #else
140 #define yylex_destroy HECMW_heclex_destroy
141 #endif
142 
143 #ifdef yyget_debug
144 #define HECMW_hecget_debug_ALREADY_DEFINED
145 #else
146 #define yyget_debug HECMW_hecget_debug
147 #endif
148 
149 #ifdef yyset_debug
150 #define HECMW_hecset_debug_ALREADY_DEFINED
151 #else
152 #define yyset_debug HECMW_hecset_debug
153 #endif
154 
155 #ifdef yyget_extra
156 #define HECMW_hecget_extra_ALREADY_DEFINED
157 #else
158 #define yyget_extra HECMW_hecget_extra
159 #endif
160 
161 #ifdef yyset_extra
162 #define HECMW_hecset_extra_ALREADY_DEFINED
163 #else
164 #define yyset_extra HECMW_hecset_extra
165 #endif
166 
167 #ifdef yyget_in
168 #define HECMW_hecget_in_ALREADY_DEFINED
169 #else
170 #define yyget_in HECMW_hecget_in
171 #endif
172 
173 #ifdef yyset_in
174 #define HECMW_hecset_in_ALREADY_DEFINED
175 #else
176 #define yyset_in HECMW_hecset_in
177 #endif
178 
179 #ifdef yyget_out
180 #define HECMW_hecget_out_ALREADY_DEFINED
181 #else
182 #define yyget_out HECMW_hecget_out
183 #endif
184 
185 #ifdef yyset_out
186 #define HECMW_hecset_out_ALREADY_DEFINED
187 #else
188 #define yyset_out HECMW_hecset_out
189 #endif
190 
191 #ifdef yyget_leng
192 #define HECMW_hecget_leng_ALREADY_DEFINED
193 #else
194 #define yyget_leng HECMW_hecget_leng
195 #endif
196 
197 #ifdef yyget_text
198 #define HECMW_hecget_text_ALREADY_DEFINED
199 #else
200 #define yyget_text HECMW_hecget_text
201 #endif
202 
203 #ifdef yyget_lineno
204 #define HECMW_hecget_lineno_ALREADY_DEFINED
205 #else
206 #define yyget_lineno HECMW_hecget_lineno
207 #endif
208 
209 #ifdef yyset_lineno
210 #define HECMW_hecset_lineno_ALREADY_DEFINED
211 #else
212 #define yyset_lineno HECMW_hecset_lineno
213 #endif
214 
215 #ifdef yywrap
216 #define HECMW_hecwrap_ALREADY_DEFINED
217 #else
218 #define yywrap HECMW_hecwrap
219 #endif
220 
221 #ifdef yyalloc
222 #define HECMW_hecalloc_ALREADY_DEFINED
223 #else
224 #define yyalloc HECMW_hecalloc
225 #endif
226 
227 #ifdef yyrealloc
228 #define HECMW_hecrealloc_ALREADY_DEFINED
229 #else
230 #define yyrealloc HECMW_hecrealloc
231 #endif
232 
233 #ifdef yyfree
234 #define HECMW_hecfree_ALREADY_DEFINED
235 #else
236 #define yyfree HECMW_hecfree
237 #endif
238 
239 #ifdef yytext
240 #define HECMW_hectext_ALREADY_DEFINED
241 #else
242 #define yytext HECMW_hectext
243 #endif
244 
245 #ifdef yyleng
246 #define HECMW_hecleng_ALREADY_DEFINED
247 #else
248 #define yyleng HECMW_hecleng
249 #endif
250 
251 #ifdef yyin
252 #define HECMW_hecin_ALREADY_DEFINED
253 #else
254 #define yyin HECMW_hecin
255 #endif
256 
257 #ifdef yyout
258 #define HECMW_hecout_ALREADY_DEFINED
259 #else
260 #define yyout HECMW_hecout
261 #endif
262 
263 #ifdef yy_flex_debug
264 #define HECMW_hec_flex_debug_ALREADY_DEFINED
265 #else
266 #define yy_flex_debug HECMW_hec_flex_debug
267 #endif
268 
269 #ifdef yylineno
270 #define HECMW_heclineno_ALREADY_DEFINED
271 #else
272 #define yylineno HECMW_heclineno
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;
481  int yy_bs_column;
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;
509 static size_t yy_buffer_stack_max = 0;
510 static YY_BUFFER_STATE * yy_buffer_stack = NULL;
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  */
539 static int yy_did_buffer_switch_on_eof;
540 
541 void yyrestart ( FILE *input_file );
542 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
543 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
546 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
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 
554 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
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 = NULL, *yyout = NULL;
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 
599 static yy_state_type yy_get_previous_state ( void );
600 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
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 102
614 #define YY_END_OF_BUFFER 103
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[574] =
623  { 0,
624  0, 0, 0, 5, 0, 0, 103, 101, 8, 9,
625  101, 101, 101, 94, 100, 100, 100, 97, 93, 99,
626  99, 95, 99, 99, 99, 99, 99, 99, 99, 99,
627  96, 99, 99, 99, 99, 101, 101, 102, 2, 102,
628  102, 5, 5, 4, 5, 6, 101, 8, 9, 0,
629  0, 0, 0, 0, 0, 0, 0, 0, 97, 100,
630  100, 97, 98, 98, 97, 100, 99, 0, 99, 99,
631  99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
632  99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
633  99, 99, 99, 99, 0, 0, 0, 0, 0, 0,
634 
635  0, 0, 0, 0, 0, 7, 0, 2, 0, 5,
636  4, 4, 4, 5, 1, 5, 6, 0, 0, 0,
637  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638  0, 0, 0, 0, 0, 0, 98, 98, 97, 0,
639  98, 98, 0, 100, 98, 100, 99, 99, 99, 99,
640  99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
641  99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
642  99, 99, 99, 99, 99, 99, 0, 0, 0, 0,
643  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644  0, 0, 0, 0, 0, 0, 0, 4, 4, 4,
645 
646  0, 0, 0, 0, 0, 0, 0, 27, 0, 0,
647  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648  0, 0, 98, 98, 98, 99, 99, 59, 99, 99,
649  62, 99, 99, 99, 99, 67, 99, 99, 70, 99,
650  72, 99, 99, 99, 99, 78, 99, 99, 99, 99,
651  99, 99, 99, 99, 99, 88, 89, 99, 0, 0,
652  0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
653  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654  0, 0, 4, 0, 0, 0, 0, 21, 0, 0,
655  0, 0, 0, 0, 36, 0, 0, 0, 44, 0,
656 
657  48, 0, 0, 0, 56, 99, 99, 99, 99, 99,
658  64, 65, 99, 99, 99, 99, 99, 99, 99, 99,
659  79, 80, 0, 99, 99, 99, 99, 85, 99, 99,
660  99, 90, 0, 0, 0, 0, 20, 0, 0, 0,
661  0, 0, 0, 0, 35, 0, 0, 0, 43, 0,
662  47, 0, 0, 0, 55, 0, 4, 0, 0, 0,
663  19, 0, 0, 0, 0, 0, 0, 0, 40, 42,
664  0, 0, 0, 0, 57, 99, 99, 99, 99, 99,
665  99, 99, 99, 99, 99, 99, 76, 99, 0, 99,
666  99, 99, 84, 99, 99, 99, 99, 0, 0, 0,
667 
668  18, 0, 0, 0, 0, 0, 0, 0, 0, 39,
669  41, 0, 0, 0, 0, 0, 4, 0, 0, 0,
670  23, 0, 0, 0, 0, 0, 0, 0, 46, 0,
671  52, 54, 99, 99, 99, 99, 99, 99, 69, 71,
672  99, 99, 99, 77, 0, 99, 82, 99, 86, 99,
673  99, 99, 0, 0, 0, 22, 0, 0, 0, 0,
674  30, 0, 0, 0, 45, 0, 51, 53, 3, 3,
675  0, 0, 0, 25, 0, 0, 32, 0, 0, 50,
676  58, 99, 99, 63, 99, 68, 99, 99, 75, 0,
677  81, 99, 99, 99, 99, 0, 0, 0, 24, 0,
678 
679  0, 31, 0, 0, 49, 3, 3, 0, 0, 0,
680  0, 0, 29, 0, 0, 38, 60, 99, 66, 74,
681  73, 81, 83, 99, 91, 92, 0, 0, 0, 0,
682  0, 28, 0, 0, 37, 11, 0, 0, 17, 0,
683  61, 99, 10, 0, 0, 16, 0, 0, 0, 0,
684  87, 0, 0, 0, 0, 15, 0, 0, 14, 0,
685  13, 0, 12, 0, 0, 0, 0, 0, 0, 0,
686  34, 33, 0
687  } ;
688 
689 static const YY_CHAR yy_ec[256] =
690  { 0,
691  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
692  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
693  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
694  1, 5, 6, 1, 7, 1, 1, 1, 1, 1,
695  1, 1, 8, 9, 10, 11, 12, 13, 13, 13,
696  13, 13, 13, 13, 13, 13, 13, 14, 1, 1,
697  15, 1, 1, 1, 16, 17, 18, 19, 20, 21,
698  22, 23, 24, 25, 25, 26, 27, 28, 29, 30,
699  31, 32, 33, 34, 35, 36, 37, 25, 38, 39,
700  1, 12, 1, 1, 40, 1, 25, 25, 25, 25,
701 
702  41, 25, 25, 25, 25, 25, 25, 25, 25, 25,
703  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
704  25, 25, 1, 1, 1, 1, 1, 1, 1, 1,
705  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 
713  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
715  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
716  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
717  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
718  1, 1, 1, 1, 1
719  } ;
720 
721 static const YY_CHAR yy_meta[42] =
722  { 0,
723  1, 1, 2, 1, 1, 1, 1, 1, 1, 3,
724  3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
725  3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
726  3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
727  3
728  } ;
729 
730 static const flex_int16_t yy_base[586] =
731  { 0,
732  0, 36, 41, 45, 50, 52, 1276, 1277, 55, 1277,
733  1272, 45, 51, 1277, 55, 1259, 0, 63, 1277, 68,
734  75, 79, 85, 89, 95, 101, 105, 112, 116, 122,
735  136, 146, 174, 151, 131, 207, 67, 1277, 1277, 1265,
736  1233, 0, 1249, 44, 149, 1277, 1229, 159, 1277, 1203,
737  1199, 165, 47, 1208, 179, 72, 1200, 1203, 191, 0,
738  1199, 196, 158, 169, 204, 164, 207, 231, 236, 242,
739  248, 252, 256, 265, 269, 278, 283, 287, 293, 299,
740  303, 313, 318, 323, 329, 333, 340, 350, 354, 358,
741  362, 366, 372, 380, 151, 1181, 1172, 377, 1179, 86,
742 
743  1179, 389, 200, 1171, 202, 1277, 225, 1277, 1169, 0,
744  0, 281, 1162, 315, 1277, 353, 1277, 1150, 1150, 1141,
745  109, 1146, 1140, 1134, 1114, 113, 1124, 1108, 1109, 1110,
746  194, 1111, 1107, 1092, 1088, 1087, 368, 399, 402, 340,
747  401, 403, 1102, 1098, 1096, 1091, 386, 416, 420, 424,
748  437, 441, 445, 452, 456, 461, 466, 472, 483, 476,
749  487, 493, 500, 507, 512, 517, 521, 526, 535, 539,
750  543, 550, 554, 558, 568, 575, 1071, 1069, 1064, 219,
751  1066, 1067, 1063, 1043, 1060, 152, 1052, 1034, 1037, 1035,
752  229, 1038, 1035, 1013, 1008, 1005, 1018, 421, 505, 1016,
753 
754  998, 145, 991, 989, 987, 987, 987, 1277, 989, 977,
755  965, 967, 970, 954, 956, 949, 944, 949, 931, 933,
756  923, 924, 507, 554, 936, 579, 585, 589, 593, 601,
757  605, 609, 613, 619, 623, 628, 632, 637, 645, 649,
758  654, 662, 666, 671, 675, 679, 683, 691, 701, 705,
759  710, 714, 718, 729, 733, 737, 745, 749, 916, 244,
760  909, 909, 902, 901, 906, 1277, 904, 897, 883, 873,
761  876, 879, 867, 867, 860, 858, 865, 849, 850, 841,
762  838, 846, 842, 831, 831, 830, 804, 1277, 806, 820,
763  819, 800, 797, 804, 1277, 792, 780, 791, 1277, 780,
764 
765  1277, 787, 775, 788, 1277, 753, 760, 764, 768, 773,
766  779, 787, 791, 795, 802, 809, 815, 819, 825, 833,
767  838, 842, 770, 846, 852, 857, 862, 866, 870, 880,
768  884, 890, 776, 776, 778, 750, 1277, 748, 761, 758,
769  736, 748, 731, 738, 1277, 726, 716, 726, 1277, 715,
770  1277, 722, 707, 717, 1277, 716, 713, 697, 709, 705,
771  1277, 688, 686, 72, 687, 689, 691, 680, 1277, 1277,
772  668, 667, 662, 661, 894, 899, 903, 907, 911, 918,
773  924, 932, 936, 940, 944, 949, 956, 960, 660, 964,
774  969, 975, 981, 986, 990, 997, 1001, 645, 657, 652,
775 
776  1277, 639, 639, 252, 638, 626, 635, 636, 623, 1277,
777  1277, 615, 609, 606, 605, 596, 594, 583, 575, 574,
778  1277, 572, 572, 582, 565, 572, 557, 565, 1277, 547,
779  1277, 1277, 1008, 1015, 1019, 1024, 1028, 1036, 1040, 1044,
780  1049, 1053, 1059, 1063, 546, 1069, 1076, 1080, 1084, 1088,
781  1092, 1096, 536, 529, 524, 1277, 518, 514, 523, 505,
782  1277, 510, 499, 506, 1277, 487, 1277, 1277, 0, 0,
783  487, 478, 286, 1277, 476, 461, 1277, 117, 459, 1277,
784  1102, 1106, 1117, 1121, 1125, 1129, 1136, 1140, 1144, 462,
785  1148, 1153, 1157, 1161, 1165, 457, 450, 328, 1277, 445,
786 
787  434, 1277, 291, 434, 1277, 0, 0, 438, 414, 416,
788  425, 407, 1277, 419, 404, 1277, 1172, 1176, 1182, 1186,
789  1191, 1277, 1195, 1199, 1203, 1207, 409, 390, 390, 385,
790  364, 1277, 372, 356, 1277, 1277, 355, 347, 1277, 335,
791  1211, 1215, 1277, 322, 318, 1277, 310, 294, 291, 287,
792  1222, 268, 268, 267, 236, 1277, 241, 217, 1277, 212,
793  1277, 199, 1277, 169, 171, 135, 120, 110, 90, 70,
794  1277, 1277, 1277, 1236, 1240, 85, 1242, 1246, 1250, 1254,
795  1258, 43, 1262, 1266, 1270
796  } ;
797 
798 static const flex_int16_t yy_def[586] =
799  { 0,
800  573, 1, 574, 575, 1, 1, 573, 573, 573, 573,
801  573, 573, 573, 573, 576, 576, 576, 576, 573, 577,
802  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
803  577, 577, 577, 577, 577, 573, 578, 573, 573, 573,
804  573, 579, 579, 580, 581, 573, 573, 573, 573, 573,
805  573, 573, 573, 573, 573, 573, 573, 573, 573, 576,
806  576, 576, 576, 576, 576, 576, 577, 582, 577, 577,
807  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
808  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
809  577, 577, 577, 577, 578, 573, 573, 573, 573, 573,
810 
811  573, 573, 573, 573, 578, 573, 578, 573, 573, 579,
812  580, 583, 580, 581, 573, 581, 573, 573, 573, 573,
813  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
814  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
815  576, 576, 573, 576, 576, 576, 577, 577, 577, 577,
816  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
817  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
818  577, 577, 577, 577, 577, 577, 573, 573, 573, 573,
819  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
820  573, 573, 573, 573, 573, 573, 573, 583, 583, 580,
821 
822  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
823  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
824  573, 573, 573, 573, 573, 577, 577, 577, 577, 577,
825  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
826  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
827  577, 577, 577, 577, 577, 577, 577, 577, 573, 573,
828  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
829  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
830  573, 573, 580, 573, 573, 573, 573, 573, 573, 573,
831  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
832 
833  573, 573, 573, 573, 573, 577, 577, 577, 577, 577,
834  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
835  577, 577, 573, 577, 577, 577, 577, 577, 577, 577,
836  577, 577, 573, 573, 573, 573, 573, 573, 573, 573,
837  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
838  573, 573, 573, 573, 573, 573, 580, 573, 573, 573,
839  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
840  573, 573, 573, 573, 577, 577, 577, 577, 577, 577,
841  577, 577, 577, 577, 577, 577, 577, 577, 573, 577,
842  577, 577, 577, 577, 577, 577, 577, 573, 573, 573,
843 
844  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
845  573, 573, 573, 573, 573, 573, 580, 573, 573, 573,
846  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
847  573, 573, 577, 577, 577, 577, 577, 577, 577, 577,
848  577, 577, 577, 577, 573, 577, 577, 577, 577, 577,
849  577, 577, 573, 573, 573, 573, 573, 573, 573, 573,
850  573, 573, 573, 573, 573, 573, 573, 573, 584, 585,
851  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
852  577, 577, 577, 577, 577, 577, 577, 577, 577, 573,
853  577, 577, 577, 577, 577, 573, 573, 573, 573, 573,
854 
855  573, 573, 573, 573, 573, 584, 585, 573, 573, 573,
856  573, 573, 573, 573, 573, 573, 577, 577, 577, 577,
857  577, 573, 577, 577, 577, 577, 573, 573, 573, 573,
858  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
859  577, 577, 573, 573, 573, 573, 573, 573, 573, 573,
860  577, 573, 573, 573, 573, 573, 573, 573, 573, 573,
861  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
862  573, 573, 0, 573, 573, 573, 573, 573, 573, 573,
863  573, 573, 573, 573, 573
864  } ;
865 
866 static const flex_int16_t yy_nxt[1319] =
867  { 0,
868  8, 9, 10, 11, 9, 12, 8, 13, 14, 15,
869  16, 17, 18, 8, 19, 20, 21, 22, 23, 24,
870  25, 26, 27, 28, 25, 25, 29, 30, 25, 25,
871  25, 31, 32, 33, 25, 34, 25, 25, 25, 35,
872  25, 36, 37, 39, 40, 146, 41, 39, 43, 112,
873  44, 45, 46, 47, 46, 47, 48, 36, 37, 48,
874  50, 58, 51, 59, 52, 61, 113, 62, 53, 106,
875  107, 54, 55, 64, 126, 65, 423, 56, 60, 60,
876  127, 68, 66, 57, 69, 60, 60, 60, 68, 60,
877  60, 133, 68, 134, 70, 60, 60, 572, 68, 60,
878 
879  60, 424, 68, 66, 72, 60, 60, 71, 68, 135,
880  73, 60, 60, 186, 68, 60, 60, 571, 68, 187,
881  74, 514, 60, 60, 75, 68, 60, 60, 204, 68,
882  210, 78, 60, 60, 515, 68, 211, 79, 570, 76,
883  205, 60, 60, 80, 573, 77, 60, 60, 569, 68,
884  81, 115, 116, 106, 107, 82, 60, 60, 568, 68,
885  48, 60, 60, 48, 68, 83, 94, 84, 85, 269,
886  141, 143, 285, 144, 86, 270, 145, 66, 286, 87,
887  88, 142, 120, 89, 60, 60, 121, 68, 66, 90,
888  122, 123, 124, 91, 567, 125, 129, 92, 66, 130,
889 
890  131, 138, 566, 139, 106, 107, 64, 132, 65, 66,
891  140, 93, 95, 216, 64, 66, 65, 60, 60, 193,
892  573, 194, 96, 66, 97, 217, 98, 106, 107, 99,
893  100, 140, 565, 101, 102, 564, 66, 195, 262, 103,
894  60, 60, 60, 60, 66, 104, 60, 60, 275, 573,
895  263, 147, 60, 60, 563, 573, 458, 149, 60, 60,
896  276, 573, 60, 60, 562, 573, 60, 60, 148, 573,
897  60, 334, 151, 561, 150, 60, 60, 335, 573, 60,
898  60, 459, 573, 115, 199, 560, 154, 152, 60, 60,
899  510, 573, 153, 60, 60, 533, 573, 60, 60, 559,
900 
901  573, 558, 157, 60, 60, 557, 573, 155, 534, 60,
902  60, 156, 573, 60, 60, 511, 573, 115, 116, 159,
903  158, 162, 556, 60, 60, 160, 573, 555, 60, 60,
904  161, 573, 529, 60, 60, 164, 573, 554, 163, 60,
905  60, 553, 573, 60, 60, 552, 573, 143, 166, 143,
906  60, 60, 225, 573, 165, 115, 116, 530, 167, 168,
907  60, 60, 550, 573, 60, 60, 169, 573, 60, 60,
908  549, 573, 60, 60, 172, 573, 60, 60, 548, 573,
909  223, 170, 60, 60, 547, 573, 171, 140, 173, 534,
910  60, 60, 174, 573, 179, 546, 60, 60, 180, 573,
911 
912  545, 175, 181, 182, 183, 176, 189, 184, 140, 190,
913  191, 224, 138, 141, 139, 142, 226, 192, 140, 530,
914  66, 140, 66, 115, 199, 544, 60, 60, 543, 573,
915  60, 60, 540, 573, 60, 60, 515, 573, 539, 140,
916  538, 66, 140, 66, 227, 511, 228, 60, 60, 537,
917  573, 60, 60, 229, 573, 60, 60, 536, 573, 535,
918  230, 532, 60, 60, 232, 573, 60, 60, 531, 573,
919  231, 60, 60, 528, 573, 527, 60, 60, 233, 573,
920  235, 522, 60, 60, 516, 573, 60, 60, 513, 573,
921  234, 237, 236, 60, 60, 238, 573, 60, 60, 512,
922 
923  573, 509, 239, 60, 60, 508, 573, 115, 199, 240,
924  60, 60, 242, 573, 505, 243, 241, 60, 60, 223,
925  573, 504, 60, 60, 503, 573, 140, 60, 60, 502,
926  573, 60, 60, 501, 573, 244, 60, 60, 500, 573,
927  245, 246, 247, 459, 248, 60, 60, 140, 573, 60,
928  60, 499, 573, 60, 60, 249, 573, 498, 250, 251,
929  60, 60, 497, 573, 60, 60, 224, 573, 60, 60,
930  496, 573, 490, 140, 480, 253, 252, 256, 60, 60,
931  479, 573, 478, 255, 254, 60, 60, 257, 573, 60,
932  60, 477, 573, 476, 140, 60, 60, 475, 573, 60,
933 
934  60, 424, 573, 60, 60, 474, 573, 473, 472, 258,
935  307, 60, 60, 306, 573, 60, 60, 471, 573, 60,
936  60, 308, 573, 60, 60, 470, 573, 469, 309, 60,
937  60, 468, 573, 60, 60, 467, 573, 466, 60, 60,
938  310, 573, 60, 60, 465, 573, 464, 60, 60, 311,
939  573, 463, 312, 462, 313, 60, 60, 461, 573, 60,
940  60, 460, 573, 314, 60, 60, 457, 573, 456, 455,
941  315, 317, 60, 60, 454, 573, 60, 60, 453, 573,
942  316, 60, 60, 445, 573, 60, 60, 432, 573, 60,
943  60, 431, 573, 60, 60, 430, 573, 429, 320, 318,
944 
945  319, 60, 60, 428, 573, 323, 427, 426, 321, 322,
946  425, 60, 60, 422, 573, 60, 60, 421, 573, 326,
947  60, 60, 420, 573, 60, 60, 419, 573, 60, 60,
948  418, 573, 417, 327, 324, 416, 415, 328, 325, 60,
949  60, 414, 573, 60, 60, 413, 573, 60, 60, 412,
950  573, 411, 330, 410, 329, 60, 60, 409, 573, 60,
951  60, 408, 573, 60, 60, 407, 573, 406, 332, 405,
952  60, 60, 331, 573, 60, 60, 404, 573, 60, 60,
953  403, 573, 402, 60, 60, 375, 573, 401, 379, 60,
954  60, 378, 573, 400, 376, 399, 377, 60, 60, 398,
955 
956  573, 60, 60, 389, 573, 60, 60, 374, 573, 373,
957  372, 380, 60, 60, 371, 573, 370, 369, 381, 60,
958  60, 382, 573, 368, 383, 60, 60, 367, 573, 60,
959  60, 366, 573, 365, 384, 60, 60, 364, 573, 363,
960  362, 361, 386, 60, 60, 360, 573, 385, 60, 60,
961  359, 573, 60, 60, 358, 573, 60, 60, 387, 573,
962  357, 388, 60, 60, 356, 573, 355, 60, 60, 390,
963  573, 391, 60, 60, 354, 573, 60, 60, 353, 573,
964  60, 60, 352, 573, 351, 394, 350, 349, 393, 392,
965  60, 60, 348, 573, 60, 60, 347, 573, 346, 396,
966 
967  60, 60, 345, 573, 60, 60, 344, 573, 343, 60,
968  60, 395, 573, 60, 60, 342, 573, 60, 60, 341,
969  573, 60, 60, 397, 573, 340, 434, 339, 60, 60,
970  338, 573, 433, 437, 60, 60, 337, 573, 336, 438,
971  435, 333, 60, 60, 436, 573, 60, 60, 225, 573,
972  60, 60, 305, 573, 60, 60, 304, 573, 439, 60,
973  60, 303, 573, 440, 302, 441, 60, 60, 301, 573,
974  60, 60, 300, 573, 60, 60, 299, 573, 442, 60,
975  60, 298, 573, 297, 443, 60, 60, 444, 573, 296,
976  446, 60, 60, 295, 573, 447, 60, 60, 294, 573,
977 
978  60, 60, 293, 573, 292, 450, 291, 60, 60, 448,
979  573, 60, 60, 290, 573, 289, 288, 449, 60, 60,
980  287, 573, 451, 284, 452, 60, 60, 481, 573, 60,
981  60, 283, 573, 282, 60, 60, 281, 573, 60, 60,
982  280, 573, 483, 484, 279, 485, 60, 60, 482, 573,
983  60, 60, 278, 573, 60, 60, 277, 573, 274, 60,
984  60, 486, 573, 60, 60, 273, 573, 272, 487, 60,
985  60, 271, 573, 60, 60, 268, 573, 267, 489, 60,
986  60, 266, 573, 265, 488, 264, 60, 60, 491, 573,
987  60, 60, 261, 573, 60, 60, 260, 573, 60, 60,
988 
989  259, 573, 60, 60, 68, 573, 60, 60, 145, 573,
990  145, 492, 60, 60, 225, 573, 60, 60, 222, 573,
991  221, 493, 495, 220, 219, 517, 494, 60, 60, 218,
992  573, 60, 60, 215, 573, 60, 60, 214, 573, 60,
993  60, 213, 573, 212, 519, 518, 60, 60, 209, 573,
994  60, 60, 208, 573, 60, 60, 207, 573, 60, 60,
995  521, 573, 520, 60, 60, 206, 573, 60, 60, 203,
996  573, 60, 60, 523, 573, 60, 60, 202, 573, 201,
997  525, 200, 60, 60, 526, 573, 60, 60, 197, 573,
998  196, 524, 60, 60, 188, 573, 60, 60, 185, 573,
999 
1000  178, 60, 60, 541, 573, 60, 60, 177, 573, 60,
1001  60, 63, 573, 60, 60, 137, 573, 60, 60, 136,
1002  573, 60, 60, 128, 573, 60, 60, 119, 573, 118,
1003  542, 117, 60, 60, 551, 573, 38, 38, 38, 38,
1004  42, 42, 42, 42, 67, 67, 105, 105, 105, 105,
1005  110, 108, 110, 110, 111, 109, 111, 111, 114, 114,
1006  114, 114, 198, 198, 198, 198, 506, 108, 506, 506,
1007  507, 63, 507, 507, 49, 573, 7, 573, 573, 573,
1008  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
1009  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
1010 
1011  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
1012  573, 573, 573, 573, 573, 573, 573, 573
1013  } ;
1014 
1015 static const flex_int16_t yy_chk[1319] =
1016  { 0,
1017  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1018  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1019  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1020  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1021  1, 2, 2, 3, 3, 582, 3, 4, 4, 44,
1022  4, 4, 5, 5, 6, 6, 9, 6, 6, 9,
1023  12, 13, 12, 13, 12, 15, 44, 15, 12, 37,
1024  37, 12, 12, 18, 53, 18, 364, 12, 20, 20,
1025  53, 20, 18, 12, 20, 21, 21, 576, 21, 22,
1026  22, 56, 22, 56, 21, 23, 23, 570, 23, 24,
1027 
1028  24, 364, 24, 18, 23, 25, 25, 22, 25, 56,
1029  24, 26, 26, 100, 26, 27, 27, 569, 27, 100,
1030  26, 478, 28, 28, 27, 28, 29, 29, 121, 29,
1031  126, 29, 30, 30, 478, 30, 126, 30, 568, 28,
1032  121, 35, 35, 30, 35, 28, 31, 31, 567, 31,
1033  30, 45, 45, 95, 95, 31, 32, 32, 566, 32,
1034  48, 34, 34, 48, 34, 32, 34, 32, 32, 186,
1035  63, 66, 202, 66, 32, 186, 66, 63, 202, 32,
1036  32, 64, 52, 32, 33, 33, 52, 33, 64, 33,
1037  52, 52, 52, 33, 565, 52, 55, 33, 63, 55,
1038 
1039  55, 59, 564, 59, 105, 105, 62, 55, 62, 64,
1040  59, 33, 36, 131, 65, 62, 65, 67, 67, 103,
1041  67, 103, 36, 65, 36, 131, 36, 107, 107, 36,
1042  36, 59, 562, 36, 36, 560, 62, 103, 180, 36,
1043  68, 68, 68, 68, 65, 36, 69, 69, 191, 69,
1044  180, 69, 70, 70, 558, 70, 404, 70, 71, 71,
1045  191, 71, 72, 72, 557, 72, 73, 73, 69, 73,
1046  68, 260, 72, 555, 71, 74, 74, 260, 74, 75,
1047  75, 404, 75, 112, 112, 554, 75, 73, 76, 76,
1048  473, 76, 74, 77, 77, 503, 77, 78, 78, 553,
1049 
1050  78, 552, 77, 79, 79, 550, 79, 76, 503, 80,
1051  80, 76, 80, 81, 81, 473, 81, 114, 114, 79,
1052  78, 81, 549, 82, 82, 79, 82, 548, 83, 83,
1053  80, 83, 498, 84, 84, 83, 84, 547, 82, 85,
1054  85, 545, 85, 86, 86, 544, 86, 140, 85, 140,
1055  87, 87, 140, 87, 84, 116, 116, 498, 86, 87,
1056  88, 88, 540, 88, 89, 89, 88, 89, 90, 90,
1057  538, 90, 91, 91, 90, 91, 92, 92, 537, 92,
1058  137, 88, 93, 93, 534, 93, 89, 137, 91, 533,
1059  94, 94, 92, 94, 98, 531, 147, 147, 98, 147,
1060 
1061  530, 93, 98, 98, 98, 94, 102, 98, 137, 102,
1062  102, 138, 139, 141, 139, 142, 147, 102, 138, 529,
1063  141, 139, 142, 198, 198, 528, 148, 148, 527, 148,
1064  149, 149, 515, 149, 150, 150, 514, 150, 512, 138,
1065  511, 141, 139, 142, 148, 510, 149, 151, 151, 509,
1066  151, 152, 152, 150, 152, 153, 153, 508, 153, 504,
1067  151, 501, 154, 154, 153, 154, 155, 155, 500, 155,
1068  152, 156, 156, 497, 156, 496, 157, 157, 154, 157,
1069  156, 490, 158, 158, 479, 158, 160, 160, 476, 160,
1070  155, 158, 157, 159, 159, 158, 159, 161, 161, 475,
1071 
1072  161, 472, 159, 162, 162, 471, 162, 199, 199, 160,
1073  163, 163, 162, 163, 466, 163, 161, 164, 164, 223,
1074  164, 464, 165, 165, 463, 165, 223, 166, 166, 462,
1075  166, 167, 167, 460, 167, 164, 168, 168, 459, 168,
1076  164, 165, 166, 458, 167, 169, 169, 223, 169, 170,
1077  170, 457, 170, 171, 171, 168, 171, 455, 169, 170,
1078  172, 172, 454, 172, 173, 173, 224, 173, 174, 174,
1079  453, 174, 445, 224, 430, 172, 171, 174, 175, 175,
1080  428, 175, 427, 173, 172, 176, 176, 175, 176, 226,
1081  226, 426, 226, 425, 224, 227, 227, 424, 227, 228,
1082 
1083  228, 423, 228, 229, 229, 422, 229, 420, 419, 176,
1084  227, 230, 230, 226, 230, 231, 231, 418, 231, 232,
1085  232, 229, 232, 233, 233, 417, 233, 416, 230, 234,
1086  234, 415, 234, 235, 235, 414, 235, 413, 236, 236,
1087  232, 236, 237, 237, 412, 237, 409, 238, 238, 233,
1088  238, 408, 234, 407, 235, 239, 239, 406, 239, 240,
1089  240, 405, 240, 237, 241, 241, 403, 241, 402, 400,
1090  238, 242, 242, 242, 399, 242, 243, 243, 398, 243,
1091  240, 244, 244, 389, 244, 245, 245, 374, 245, 246,
1092  246, 373, 246, 247, 247, 372, 247, 371, 245, 243,
1093 
1094  244, 248, 248, 368, 248, 249, 367, 366, 247, 248,
1095  365, 249, 249, 363, 249, 250, 250, 362, 250, 251,
1096  251, 251, 360, 251, 252, 252, 359, 252, 253, 253,
1097  358, 253, 357, 252, 249, 356, 354, 253, 250, 254,
1098  254, 353, 254, 255, 255, 352, 255, 256, 256, 350,
1099  256, 348, 255, 347, 254, 257, 257, 346, 257, 258,
1100  258, 344, 258, 306, 306, 343, 306, 342, 258, 341,
1101  307, 307, 256, 307, 308, 308, 340, 308, 309, 309,
1102  339, 309, 338, 310, 310, 306, 310, 336, 310, 311,
1103  311, 309, 311, 335, 307, 334, 308, 312, 312, 333,
1104 
1105  312, 313, 313, 323, 313, 314, 314, 304, 314, 303,
1106  302, 313, 315, 315, 300, 315, 298, 297, 314, 316,
1107  316, 315, 316, 296, 316, 317, 317, 294, 317, 318,
1108  318, 293, 318, 292, 317, 319, 319, 291, 319, 290,
1109  289, 287, 318, 320, 320, 286, 320, 317, 321, 321,
1110  285, 321, 322, 322, 284, 322, 324, 324, 319, 324,
1111  283, 320, 325, 325, 282, 325, 281, 326, 326, 324,
1112  326, 325, 327, 327, 280, 327, 328, 328, 279, 328,
1113  329, 329, 278, 329, 277, 329, 276, 275, 327, 326,
1114  330, 330, 274, 330, 331, 331, 273, 331, 272, 331,
1115 
1116  332, 332, 271, 332, 375, 375, 270, 375, 269, 376,
1117  376, 330, 376, 377, 377, 268, 377, 378, 378, 267,
1118  378, 379, 379, 332, 379, 265, 377, 264, 380, 380,
1119  263, 380, 376, 380, 381, 381, 262, 381, 261, 381,
1120  378, 259, 382, 382, 379, 382, 383, 383, 225, 383,
1121  384, 384, 222, 384, 385, 385, 221, 385, 382, 386,
1122  386, 220, 386, 383, 219, 384, 387, 387, 218, 387,
1123  388, 388, 217, 388, 390, 390, 216, 390, 385, 391,
1124  391, 215, 391, 214, 386, 392, 392, 388, 392, 213,
1125  390, 393, 393, 212, 393, 391, 394, 394, 211, 394,
1126 
1127  395, 395, 210, 395, 209, 395, 207, 396, 396, 392,
1128  396, 397, 397, 206, 397, 205, 204, 394, 433, 433,
1129  203, 433, 396, 201, 397, 434, 434, 433, 434, 435,
1130  435, 200, 435, 197, 436, 436, 196, 436, 437, 437,
1131  195, 437, 435, 436, 194, 437, 438, 438, 434, 438,
1132  439, 439, 193, 439, 440, 440, 192, 440, 190, 441,
1133  441, 438, 441, 442, 442, 189, 442, 188, 441, 443,
1134  443, 187, 443, 444, 444, 185, 444, 184, 443, 446,
1135  446, 183, 446, 182, 442, 181, 447, 447, 446, 447,
1136  448, 448, 179, 448, 449, 449, 178, 449, 450, 450,
1137 
1138  177, 450, 451, 451, 146, 451, 452, 452, 145, 452,
1139  144, 448, 481, 481, 143, 481, 482, 482, 136, 482,
1140  135, 450, 452, 134, 133, 482, 451, 483, 483, 132,
1141  483, 484, 484, 130, 484, 485, 485, 129, 485, 486,
1142  486, 128, 486, 127, 485, 483, 487, 487, 125, 487,
1143  488, 488, 124, 488, 489, 489, 123, 489, 491, 491,
1144  488, 491, 487, 492, 492, 122, 492, 493, 493, 120,
1145  493, 494, 494, 492, 494, 495, 495, 119, 495, 118,
1146  494, 113, 517, 517, 495, 517, 518, 518, 109, 518,
1147  104, 493, 519, 519, 101, 519, 520, 520, 99, 520,
1148 
1149  97, 521, 521, 518, 521, 523, 523, 96, 523, 524,
1150  524, 61, 524, 525, 525, 58, 525, 526, 526, 57,
1151  526, 541, 541, 54, 541, 542, 542, 51, 542, 50,
1152  524, 47, 551, 551, 542, 551, 574, 574, 574, 574,
1153  575, 575, 575, 575, 577, 577, 578, 578, 578, 578,
1154  579, 43, 579, 579, 580, 41, 580, 580, 581, 581,
1155  581, 581, 583, 583, 583, 583, 584, 40, 584, 584,
1156  585, 16, 585, 585, 11, 7, 573, 573, 573, 573,
1157  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
1158  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
1159 
1160  573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
1161  573, 573, 573, 573, 573, 573, 573, 573
1162  } ;
1163 
1164 static yy_state_type yy_last_accepting_state;
1165 static char *yy_last_accepting_cpos;
1166 
1167 extern int yy_flex_debug;
1169 
1170 /* The intent behind this definition is that it'll catch
1171  * any uses of REJECT which flex missed.
1172  */
1173 #define REJECT reject_used_but_not_detected
1174 #define yymore() yymore_used_but_not_detected
1175 #define YY_MORE_ADJ 0
1176 #define YY_RESTORE_YY_MORE_OFFSET
1177 char *yytext;
1178 #line 1 "../src/common/hecmw_heclex.l"
1179 #line 2 "../src/common/hecmw_heclex.l"
1180 #include <string.h>
1181 #include <errno.h>
1182 #include "hecmw_heclex.h"
1183 #include "hecmw_util.h"
1184 
1185 typedef union {
1186  double dval;
1187  char *str;
1188 } YYSTYPE;
1189 
1190 static YYSTYPE yylval;
1191 static int lineno;
1192 static int lineno_inc;
1193 static int flag_including = 0;
1194 static FILE *incfp;
1195 static char include_filename[HECMW_FILENAME_LEN+1];
1196 static YY_BUFFER_STATE prev_state;
1197 static int flag_header;
1198 
1199 static void set_flag_header(int flag);
1200 #line 1201 "<stdout>"
1201 
1202 #line 1203 "<stdout>"
1203 
1204 #define INITIAL 0
1205 #define HEADER 1
1206 #define INCLUDE 2
1207 
1208 #ifndef YY_NO_UNISTD_H
1209 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1210  * down here because we want the user's section 1 to have been scanned first.
1211  * The user has a chance to override it with an option.
1212  */
1213 #include <unistd.h>
1214 #endif
1215 
1216 #ifndef YY_EXTRA_TYPE
1217 #define YY_EXTRA_TYPE void *
1218 #endif
1219 
1220 static int yy_init_globals ( void );
1221 
1222 /* Accessor methods to globals.
1223  These are made visible to non-reentrant scanners for convenience. */
1224 
1225 int yylex_destroy ( void );
1226 
1227 int yyget_debug ( void );
1228 
1229 void yyset_debug ( int debug_flag );
1230 
1231 YY_EXTRA_TYPE yyget_extra ( void );
1232 
1233 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1234 
1235 FILE *yyget_in ( void );
1236 
1237 void yyset_in ( FILE * _in_str );
1238 
1239 FILE *yyget_out ( void );
1240 
1241 void yyset_out ( FILE * _out_str );
1242 
1243  int yyget_leng ( void );
1244 
1245 char *yyget_text ( void );
1246 
1247 int yyget_lineno ( void );
1248 
1249 void yyset_lineno ( int _line_number );
1250 
1251 /* Macros after this point can all be overridden by user definitions in
1252  * section 1.
1253  */
1254 
1255 #ifndef YY_SKIP_YYWRAP
1256 #ifdef __cplusplus
1257 extern "C" int yywrap ( void );
1258 #else
1259 extern int yywrap ( void );
1260 #endif
1261 #endif
1262 
1263 #ifndef YY_NO_UNPUT
1264 
1265 #endif
1266 
1267 #ifndef yytext_ptr
1268 static void yy_flex_strncpy ( char *, const char *, int );
1269 #endif
1270 
1271 #ifdef YY_NEED_STRLEN
1272 static int yy_flex_strlen ( const char * );
1273 #endif
1274 
1275 #ifndef YY_NO_INPUT
1276 #ifdef __cplusplus
1277 static int yyinput ( void );
1278 #else
1279 static int input ( void );
1280 #endif
1281 
1282 #endif
1283 
1284 /* Amount of stuff to slurp up with each read. */
1285 #ifndef YY_READ_BUF_SIZE
1286 #ifdef __ia64__
1287 /* On IA-64, the buffer size is 16k, not 8k */
1288 #define YY_READ_BUF_SIZE 16384
1289 #else
1290 #define YY_READ_BUF_SIZE 8192
1291 #endif /* __ia64__ */
1292 #endif
1293 
1294 /* Copy whatever the last rule matched to the standard output. */
1295 #ifndef ECHO
1296 /* This used to be an fputs(), but since the string might contain NUL's,
1297  * we now use fwrite().
1298  */
1299 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1300 #endif
1301 
1302 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1303  * is returned in "result".
1304  */
1305 #ifndef YY_INPUT
1306 #define YY_INPUT(buf,result,max_size) \
1307  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1308  { \
1309  int c = '*'; \
1310  int n; \
1311  for ( n = 0; n < max_size && \
1312  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1313  buf[n] = (char) c; \
1314  if ( c == '\n' ) \
1315  buf[n++] = (char) c; \
1316  if ( c == EOF && ferror( yyin ) ) \
1317  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1318  result = n; \
1319  } \
1320  else \
1321  { \
1322  errno=0; \
1323  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1324  { \
1325  if( errno != EINTR) \
1326  { \
1327  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1328  break; \
1329  } \
1330  errno=0; \
1331  clearerr(yyin); \
1332  } \
1333  }\
1334 \
1335 
1336 #endif
1337 
1338 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1339  * we don't want an extra ';' after the "return" because that will cause
1340  * some compilers to complain about unreachable statements.
1341  */
1342 #ifndef yyterminate
1343 #define yyterminate() return YY_NULL
1344 #endif
1345 
1346 /* Number of entries by which start-condition stack grows. */
1347 #ifndef YY_START_STACK_INCR
1348 #define YY_START_STACK_INCR 25
1349 #endif
1350 
1351 /* Report a fatal error. */
1352 #ifndef YY_FATAL_ERROR
1353 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1354 #endif
1355 
1356 /* end tables serialization structures and prototypes */
1357 
1358 /* Default declaration of generated scanner - a define so the user can
1359  * easily add parameters.
1360  */
1361 #ifndef YY_DECL
1362 #define YY_DECL_IS_OURS 1
1363 
1364 extern int yylex (void);
1365 
1366 #define YY_DECL int yylex (void)
1367 #endif /* !YY_DECL */
1368 
1369 /* Code executed at the beginning of each rule, after yytext and yyleng
1370  * have been set up.
1371  */
1372 #ifndef YY_USER_ACTION
1373 #define YY_USER_ACTION
1374 #endif
1375 
1376 /* Code executed at the end of each rule. */
1377 #ifndef YY_BREAK
1378 #define YY_BREAK /*LINTED*/break;
1379 #endif
1380 
1381 #define YY_RULE_SETUP \
1382  if ( yyleng > 0 ) \
1383  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1384  (yytext[yyleng - 1] == '\n'); \
1385  YY_USER_ACTION
1386 
1389 YY_DECL
1391  yy_state_type yy_current_state;
1392  char *yy_cp, *yy_bp;
1393  int yy_act;
1394 
1395  if ( !(yy_init) )
1396  {
1397  (yy_init) = 1;
1398 
1399 #ifdef YY_USER_INIT
1400  YY_USER_INIT;
1401 #endif
1402 
1403  if ( ! (yy_start) )
1404  (yy_start) = 1; /* first start state */
1405 
1406  if ( ! yyin )
1407  yyin = stdin;
1408 
1409  if ( ! yyout )
1410  yyout = stdout;
1411 
1412  if ( ! YY_CURRENT_BUFFER ) {
1416  }
1417 
1419  }
1420 
1421  {
1422 #line 38 "../src/common/hecmw_heclex.l"
1423 
1424 
1425 #line 1426 "<stdout>"
1426 
1427  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1428  {
1429  yy_cp = (yy_c_buf_p);
1430 
1431  /* Support of yytext. */
1432  *yy_cp = (yy_hold_char);
1433 
1434  /* yy_bp points to the position in yy_ch_buf of the start of
1435  * the current run.
1436  */
1437  yy_bp = yy_cp;
1438 
1439  yy_current_state = (yy_start);
1440  yy_current_state += YY_AT_BOL();
1441 yy_match:
1442  do
1443  {
1444  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1445  if ( yy_accept[yy_current_state] )
1446  {
1447  (yy_last_accepting_state) = yy_current_state;
1448  (yy_last_accepting_cpos) = yy_cp;
1449  }
1450  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1451  {
1452  yy_current_state = (int) yy_def[yy_current_state];
1453  if ( yy_current_state >= 574 )
1454  yy_c = yy_meta[yy_c];
1455  }
1456  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1457  ++yy_cp;
1458  }
1459  while ( yy_base[yy_current_state] != 1277 );
1460 
1461 yy_find_action:
1462  yy_act = yy_accept[yy_current_state];
1463  if ( yy_act == 0 )
1464  { /* have to back up */
1465  yy_cp = (yy_last_accepting_cpos);
1466  yy_current_state = (yy_last_accepting_state);
1467  yy_act = yy_accept[yy_current_state];
1468  }
1469 
1471 
1472 do_action: /* This label is used only to access EOF actions. */
1473 
1474  switch ( yy_act )
1475  { /* beginning of action switch */
1476  case 0: /* must back up */
1477  /* undo the effects of YY_DO_BEFORE_ACTION */
1478  *yy_cp = (yy_hold_char);
1479  yy_cp = (yy_last_accepting_cpos);
1480  yy_current_state = (yy_last_accepting_state);
1481  goto yy_find_action;
1482 
1483 case 1:
1484 /* rule 1 can match eol */
1486 #line 40 "../src/common/hecmw_heclex.l"
1487 { lineno++; set_flag_header(0); }
1488  YY_BREAK
1489 case 2:
1490 /* rule 2 can match eol */
1492 #line 41 "../src/common/hecmw_heclex.l"
1493 { lineno++; set_flag_header(0); }
1494  YY_BREAK
1495 case 3:
1497 #line 42 "../src/common/hecmw_heclex.l"
1498 { return flag_header ? HECMW_HECLEX_H_HEADER : ' '; }
1499  YY_BREAK
1500 case 4:
1502 #line 43 "../src/common/hecmw_heclex.l"
1503 {
1505  set_flag_header(1);
1506  BEGIN INITIAL;
1507  }
1508  YY_BREAK
1509 case 5:
1511 #line 48 "../src/common/hecmw_heclex.l"
1512 { set_flag_header(0); return HECMW_HECLEX_HEADER; }
1513  YY_BREAK
1514 case 6:
1515 /* rule 6 can match eol */
1517 #line 50 "../src/common/hecmw_heclex.l"
1518 { lineno_inc++; set_flag_header(0); return HECMW_HECLEX_NL; }
1519  YY_BREAK
1520 case YY_STATE_EOF(INCLUDE):
1521 #line 51 "../src/common/hecmw_heclex.l"
1522 {
1524  yy_switch_to_buffer(prev_state);
1525  if(fclose(incfp)) {
1527  "File: %s, %s", include_filename, strerror(errno));
1528  }
1529  flag_including = 0;
1530  BEGIN INITIAL;
1531  }
1532  YY_BREAK
1533 case 7:
1534 /* rule 7 can match eol */
1536 #line 62 "../src/common/hecmw_heclex.l"
1537 { lineno++; set_flag_header(0); }
1538  YY_BREAK
1539 case 8:
1541 #line 63 "../src/common/hecmw_heclex.l"
1542 { set_flag_header(0); }
1543  YY_BREAK
1544 case 9:
1545 /* rule 9 can match eol */
1547 #line 64 "../src/common/hecmw_heclex.l"
1548 { lineno++; set_flag_header(0); return HECMW_HECLEX_NL; }
1549  YY_BREAK
1550 case 10:
1552 #line 66 "../src/common/hecmw_heclex.l"
1553 { set_flag_header(1); return HECMW_HECLEX_H_AMPLITUDE; }
1554  YY_BREAK
1555 case 11:
1557 #line 67 "../src/common/hecmw_heclex.l"
1558 { return flag_header ? HECMW_HECLEX_H_AMPLITUDE : ' '; }
1559  YY_BREAK
1560 case 12:
1562 #line 68 "../src/common/hecmw_heclex.l"
1563 { set_flag_header(1); return HECMW_HECLEX_H_CONNECTIVITY; }
1564  YY_BREAK
1565 case 13:
1567 #line 69 "../src/common/hecmw_heclex.l"
1568 { return flag_header ? HECMW_HECLEX_H_CONNECTIVITY : ' '; }
1569  YY_BREAK
1570 case 14:
1572 #line 70 "../src/common/hecmw_heclex.l"
1573 { set_flag_header(1); return HECMW_HECLEX_H_CONTACT_PAIR; }
1574  YY_BREAK
1575 case 15:
1577 #line 71 "../src/common/hecmw_heclex.l"
1578 { return flag_header ? HECMW_HECLEX_H_CONTACT_PAIR : ' '; }
1579  YY_BREAK
1580 case 16:
1582 #line 72 "../src/common/hecmw_heclex.l"
1583 { set_flag_header(1); return HECMW_HECLEX_H_EMBED_PAIR; }
1584  YY_BREAK
1585 case 17:
1587 #line 73 "../src/common/hecmw_heclex.l"
1588 { return flag_header ? HECMW_HECLEX_H_EMBED_PAIR : ' '; }
1589  YY_BREAK
1590 case 18:
1592 #line 74 "../src/common/hecmw_heclex.l"
1593 { set_flag_header(1); return HECMW_HECLEX_H_ECOPY; }
1594  YY_BREAK
1595 case 19:
1597 #line 75 "../src/common/hecmw_heclex.l"
1598 { return flag_header ? HECMW_HECLEX_H_ECOPY : ' '; }
1599  YY_BREAK
1600 case 20:
1602 #line 76 "../src/common/hecmw_heclex.l"
1603 { set_flag_header(1); return HECMW_HECLEX_H_EGEN; }
1604  YY_BREAK
1605 case 21:
1607 #line 77 "../src/common/hecmw_heclex.l"
1608 { return flag_header ? HECMW_HECLEX_H_EGEN : ' '; }
1609  YY_BREAK
1610 case 22:
1612 #line 78 "../src/common/hecmw_heclex.l"
1613 { set_flag_header(1); return HECMW_HECLEX_H_EGROUP; }
1614  YY_BREAK
1615 case 23:
1617 #line 79 "../src/common/hecmw_heclex.l"
1618 { return flag_header ? HECMW_HECLEX_H_EGROUP : ' '; }
1619  YY_BREAK
1620 case 24:
1622 #line 80 "../src/common/hecmw_heclex.l"
1623 { set_flag_header(1); return HECMW_HECLEX_H_ELEMENT; }
1624  YY_BREAK
1625 case 25:
1627 #line 81 "../src/common/hecmw_heclex.l"
1628 { return flag_header ? HECMW_HECLEX_H_ELEMENT : ' '; }
1629  YY_BREAK
1630 case 26:
1632 #line 82 "../src/common/hecmw_heclex.l"
1633 { set_flag_header(1); return HECMW_HECLEX_H_END; }
1634  YY_BREAK
1635 case 27:
1637 #line 83 "../src/common/hecmw_heclex.l"
1638 { return flag_header ? HECMW_HECLEX_H_END : ' '; }
1639  YY_BREAK
1640 case 28:
1642 #line 84 "../src/common/hecmw_heclex.l"
1643 { set_flag_header(1); return HECMW_HECLEX_H_EQUATION; }
1644  YY_BREAK
1645 case 29:
1647 #line 85 "../src/common/hecmw_heclex.l"
1648 { return flag_header ? HECMW_HECLEX_H_EQUATION : ' '; }
1649  YY_BREAK
1650 case 30:
1652 #line 86 "../src/common/hecmw_heclex.l"
1653 {
1654  BEGIN HEADER;
1655  set_flag_header(1);
1656  return HECMW_HECLEX_H_HEADER;
1657  }
1658  YY_BREAK
1659 case 31:
1661 #line 91 "../src/common/hecmw_heclex.l"
1662 { set_flag_header(1); return HECMW_HECLEX_H_INCLUDE; }
1663  YY_BREAK
1664 case 32:
1666 #line 92 "../src/common/hecmw_heclex.l"
1667 { return flag_header ? HECMW_HECLEX_H_INCLUDE : ' '; }
1668  YY_BREAK
1669 case 33:
1671 #line 93 "../src/common/hecmw_heclex.l"
1672 {
1673  set_flag_header(1);
1674  return HECMW_HECLEX_H_INITIAL;
1675  }
1676  YY_BREAK
1677 case 34:
1679 #line 97 "../src/common/hecmw_heclex.l"
1680 {
1681  return flag_header ? HECMW_HECLEX_H_INITIAL : ' ';
1682  }
1683  YY_BREAK
1684 case 35:
1686 #line 100 "../src/common/hecmw_heclex.l"
1687 { set_flag_header(1); return HECMW_HECLEX_H_ITEM; }
1688  YY_BREAK
1689 case 36:
1691 #line 101 "../src/common/hecmw_heclex.l"
1692 { return flag_header ? HECMW_HECLEX_H_ITEM : ' '; }
1693  YY_BREAK
1694 case 37:
1696 #line 102 "../src/common/hecmw_heclex.l"
1697 { set_flag_header(1); return HECMW_HECLEX_H_MATERIAL; }
1698  YY_BREAK
1699 case 38:
1701 #line 103 "../src/common/hecmw_heclex.l"
1702 { return flag_header ? HECMW_HECLEX_H_MATERIAL : ' '; }
1703  YY_BREAK
1704 case 39:
1706 #line 104 "../src/common/hecmw_heclex.l"
1707 { set_flag_header(1); return HECMW_HECLEX_H_NCOPY; }
1708  YY_BREAK
1709 case 40:
1711 #line 105 "../src/common/hecmw_heclex.l"
1712 { return flag_header ? HECMW_HECLEX_H_NCOPY : ' '; }
1713  YY_BREAK
1714 case 41:
1716 #line 106 "../src/common/hecmw_heclex.l"
1717 { set_flag_header(1); return HECMW_HECLEX_H_NFILL; }
1718  YY_BREAK
1719 case 42:
1721 #line 107 "../src/common/hecmw_heclex.l"
1722 { return flag_header ? HECMW_HECLEX_H_NFILL : ' '; }
1723  YY_BREAK
1724 case 43:
1726 #line 108 "../src/common/hecmw_heclex.l"
1727 { set_flag_header(1); return HECMW_HECLEX_H_NGEN; }
1728  YY_BREAK
1729 case 44:
1731 #line 109 "../src/common/hecmw_heclex.l"
1732 { return flag_header ? HECMW_HECLEX_H_NGEN : ' '; }
1733  YY_BREAK
1734 case 45:
1736 #line 110 "../src/common/hecmw_heclex.l"
1737 { set_flag_header(1); return HECMW_HECLEX_H_NGROUP; }
1738  YY_BREAK
1739 case 46:
1741 #line 111 "../src/common/hecmw_heclex.l"
1742 { return flag_header ? HECMW_HECLEX_H_NGROUP : ' '; }
1743  YY_BREAK
1744 case 47:
1746 #line 112 "../src/common/hecmw_heclex.l"
1747 { set_flag_header(1); return HECMW_HECLEX_H_NODE; }
1748  YY_BREAK
1749 case 48:
1751 #line 113 "../src/common/hecmw_heclex.l"
1752 { return flag_header ? HECMW_HECLEX_H_NODE : ' '; }
1753  YY_BREAK
1754 case 49:
1756 #line 114 "../src/common/hecmw_heclex.l"
1757 { set_flag_header(1); return HECMW_HECLEX_H_SECTION; }
1758  YY_BREAK
1759 case 50:
1761 #line 115 "../src/common/hecmw_heclex.l"
1762 { return flag_header ? HECMW_HECLEX_H_SECTION : ' '; }
1763  YY_BREAK
1764 case 51:
1766 #line 116 "../src/common/hecmw_heclex.l"
1767 { set_flag_header(1); return HECMW_HECLEX_H_SGROUP; }
1768  YY_BREAK
1769 case 52:
1771 #line 117 "../src/common/hecmw_heclex.l"
1772 { return flag_header ? HECMW_HECLEX_H_SGROUP : ' '; }
1773  YY_BREAK
1774 case 53:
1776 #line 118 "../src/common/hecmw_heclex.l"
1777 { set_flag_header(1); return HECMW_HECLEX_H_SYSTEM; }
1778  YY_BREAK
1779 case 54:
1781 #line 119 "../src/common/hecmw_heclex.l"
1782 { return flag_header ? HECMW_HECLEX_H_SYSTEM : ' '; }
1783  YY_BREAK
1784 case 55:
1786 #line 120 "../src/common/hecmw_heclex.l"
1787 { set_flag_header(1); return HECMW_HECLEX_H_ZERO; }
1788  YY_BREAK
1789 case 56:
1791 #line 121 "../src/common/hecmw_heclex.l"
1792 { return flag_header ? HECMW_HECLEX_H_ZERO : ' '; }
1793  YY_BREAK
1794 case 57:
1796 #line 124 "../src/common/hecmw_heclex.l"
1797 { set_flag_header(0); return HECMW_HECLEX_K_ABAQUS; }
1798  YY_BREAK
1799 case 58:
1801 #line 125 "../src/common/hecmw_heclex.l"
1802 { set_flag_header(0); return HECMW_HECLEX_K_ABSOLUTE; }
1803  YY_BREAK
1804 case 59:
1806 #line 126 "../src/common/hecmw_heclex.l"
1807 { set_flag_header(0); return HECMW_HECLEX_K_BEAM; }
1808  YY_BREAK
1809 case 60:
1811 #line 127 "../src/common/hecmw_heclex.l"
1812 { set_flag_header(0); return HECMW_HECLEX_K_COMPOSITE; }
1813  YY_BREAK
1814 case 61:
1816 #line 128 "../src/common/hecmw_heclex.l"
1817 { set_flag_header(0); return HECMW_HECLEX_K_DEFINITION; }
1818  YY_BREAK
1819 case 62:
1821 #line 129 "../src/common/hecmw_heclex.l"
1822 { set_flag_header(0); return HECMW_HECLEX_K_EGRP; }
1823  YY_BREAK
1824 case 63:
1826 #line 130 "../src/common/hecmw_heclex.l"
1827 { set_flag_header(0); return HECMW_HECLEX_K_GENERATE; }
1828  YY_BREAK
1829 case 64:
1831 #line 131 "../src/common/hecmw_heclex.l"
1832 { set_flag_header(0); return HECMW_HECLEX_K_HECMW; }
1833  YY_BREAK
1834 case 65:
1836 #line 132 "../src/common/hecmw_heclex.l"
1837 { set_flag_header(0); return HECMW_HECLEX_K_INPUT; }
1838  YY_BREAK
1839 case 66:
1841 #line 133 "../src/common/hecmw_heclex.l"
1842 { set_flag_header(0); return HECMW_HECLEX_K_INTERFACE; }
1843  YY_BREAK
1844 case 67:
1846 #line 134 "../src/common/hecmw_heclex.l"
1847 { set_flag_header(0); return HECMW_HECLEX_K_ITEM; }
1848  YY_BREAK
1849 case 68:
1851 #line 135 "../src/common/hecmw_heclex.l"
1852 { set_flag_header(0); return HECMW_HECLEX_K_MATERIAL; }
1853  YY_BREAK
1854 case 69:
1856 #line 136 "../src/common/hecmw_heclex.l"
1857 { set_flag_header(0); return HECMW_HECLEX_K_MATITEM; }
1858  YY_BREAK
1859 case 70:
1861 #line 137 "../src/common/hecmw_heclex.l"
1862 { set_flag_header(0); return HECMW_HECLEX_K_NAME; }
1863  YY_BREAK
1864 case 71:
1866 #line 138 "../src/common/hecmw_heclex.l"
1867 { set_flag_header(0); return HECMW_HECLEX_K_NASTRAN; }
1868  YY_BREAK
1869 case 72:
1871 #line 139 "../src/common/hecmw_heclex.l"
1872 { set_flag_header(0); return HECMW_HECLEX_K_NGRP; }
1873  YY_BREAK
1874 case 73:
1876 #line 140 "../src/common/hecmw_heclex.l"
1877 { set_flag_header(0); return HECMW_HECLEX_K_NODE_SURF; }
1878  YY_BREAK
1879 case 74:
1881 #line 141 "../src/common/hecmw_heclex.l"
1882 { set_flag_header(0); return HECMW_HECLEX_K_NODE_ELEM; }
1883  YY_BREAK
1884 case 75:
1886 #line 142 "../src/common/hecmw_heclex.l"
1887 { set_flag_header(0); return HECMW_HECLEX_K_RELATIVE; }
1888  YY_BREAK
1889 case 76:
1891 #line 143 "../src/common/hecmw_heclex.l"
1892 { set_flag_header(0); return HECMW_HECLEX_K_SECOPT; }
1893  YY_BREAK
1894 case 77:
1896 #line 144 "../src/common/hecmw_heclex.l"
1897 { set_flag_header(0); return HECMW_HECLEX_K_SECTION; }
1898  YY_BREAK
1899 case 78:
1901 #line 145 "../src/common/hecmw_heclex.l"
1902 { set_flag_header(0); return HECMW_HECLEX_K_SGRP; }
1903  YY_BREAK
1904 case 79:
1906 #line 146 "../src/common/hecmw_heclex.l"
1907 { set_flag_header(0); return HECMW_HECLEX_K_SHELL; }
1908  YY_BREAK
1909 case 80:
1911 #line 147 "../src/common/hecmw_heclex.l"
1912 { set_flag_header(0); return HECMW_HECLEX_K_SOLID; }
1913  YY_BREAK
1914 case 81:
1916 #line 148 "../src/common/hecmw_heclex.l"
1917 { set_flag_header(0); return HECMW_HECLEX_K_STEP_TIME; }
1918  YY_BREAK
1919 case 82:
1921 #line 149 "../src/common/hecmw_heclex.l"
1922 { set_flag_header(0); return HECMW_HECLEX_K_SUBITEM; }
1923  YY_BREAK
1924 case 83:
1926 #line 150 "../src/common/hecmw_heclex.l"
1927 { set_flag_header(0); return HECMW_HECLEX_K_SURF_SURF; }
1928  YY_BREAK
1929 case 84:
1931 #line 151 "../src/common/hecmw_heclex.l"
1932 { set_flag_header(0); return HECMW_HECLEX_K_SYSTEM; }
1933  YY_BREAK
1934 case 85:
1936 #line 152 "../src/common/hecmw_heclex.l"
1937 { set_flag_header(0); return HECMW_HECLEX_K_TABLE; }
1938  YY_BREAK
1939 case 86:
1941 #line 153 "../src/common/hecmw_heclex.l"
1942 { set_flag_header(0); return HECMW_HECLEX_K_TABULAR; }
1943  YY_BREAK
1944 case 87:
1946 #line 154 "../src/common/hecmw_heclex.l"
1947 { set_flag_header(0); return HECMW_HECLEX_K_TEMPERATURE; }
1948  YY_BREAK
1949 case 88:
1951 #line 155 "../src/common/hecmw_heclex.l"
1952 { set_flag_header(0); return HECMW_HECLEX_K_TIME; }
1953  YY_BREAK
1954 case 89:
1956 #line 156 "../src/common/hecmw_heclex.l"
1957 { set_flag_header(0); return HECMW_HECLEX_K_TYPE; }
1958  YY_BREAK
1959 case 90:
1961 #line 157 "../src/common/hecmw_heclex.l"
1962 { set_flag_header(0); return HECMW_HECLEX_K_VALUE; }
1963  YY_BREAK
1964 case 91:
1966 #line 158 "../src/common/hecmw_heclex.l"
1967 { set_flag_header(0); return HECMW_HECLEX_K_TIMEVALUE; }
1968  YY_BREAK
1969 case 92:
1971 #line 159 "../src/common/hecmw_heclex.l"
1972 { set_flag_header(0); return HECMW_HECLEX_K_VALUETIME; }
1973  YY_BREAK
1974 case 93:
1976 #line 161 "../src/common/hecmw_heclex.l"
1977 { set_flag_header(0); return '='; }
1978  YY_BREAK
1979 case 94:
1981 #line 162 "../src/common/hecmw_heclex.l"
1982 { set_flag_header(0); return ','; }
1983  YY_BREAK
1984 case 95:
1986 #line 163 "../src/common/hecmw_heclex.l"
1987 { set_flag_header(0); return 'C'; }
1988  YY_BREAK
1989 case 96:
1991 #line 164 "../src/common/hecmw_heclex.l"
1992 { set_flag_header(0); return 'R'; }
1993  YY_BREAK
1994 case 97:
1996 #line 166 "../src/common/hecmw_heclex.l"
1997 {
1998  yylval.dval = atof(yytext);
1999  set_flag_header(0);
2000  return HECMW_HECLEX_INT;
2001  }
2002  YY_BREAK
2003 case 98:
2005 #line 171 "../src/common/hecmw_heclex.l"
2006 {
2007  yylval.dval = atof(yytext);
2008  set_flag_header(0);
2009  return HECMW_HECLEX_DOUBLE;
2010  }
2011  YY_BREAK
2012 case 99:
2014 #line 176 "../src/common/hecmw_heclex.l"
2015 {
2016  yylval.str = yytext;
2017  set_flag_header(0);
2018  return HECMW_HECLEX_NAME;
2019  }
2020  YY_BREAK
2021 case 100:
2023 #line 181 "../src/common/hecmw_heclex.l"
2024 {
2025  yylval.str = yytext;
2026  set_flag_header(0);
2027  return HECMW_HECLEX_FILENAME;
2028  }
2029  YY_BREAK
2030 case 101:
2032 #line 186 "../src/common/hecmw_heclex.l"
2033 { set_flag_header(0); return yytext[0]; }
2034  YY_BREAK
2035 case YY_STATE_EOF(INITIAL):
2036 case YY_STATE_EOF(HEADER):
2037 #line 187 "../src/common/hecmw_heclex.l"
2038 { return 0; }
2039  YY_BREAK
2040 case 102:
2042 #line 189 "../src/common/hecmw_heclex.l"
2043 ECHO;
2044  YY_BREAK
2045 #line 2046 "<stdout>"
2046 
2047  case YY_END_OF_BUFFER:
2048  {
2049  /* Amount of text matched not including the EOB char. */
2050  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2051 
2052  /* Undo the effects of YY_DO_BEFORE_ACTION. */
2053  *yy_cp = (yy_hold_char);
2055 
2056  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2057  {
2058  /* We're scanning a new file or input source. It's
2059  * possible that this happened because the user
2060  * just pointed yyin at a new source and called
2061  * yylex(). If so, then we have to assure
2062  * consistency between YY_CURRENT_BUFFER and our
2063  * globals. Here is the right place to do so, because
2064  * this is the first action (other than possibly a
2065  * back-up) that will match for the new input source.
2066  */
2067  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2068  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2069  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2070  }
2071 
2072  /* Note that here we test for yy_c_buf_p "<=" to the position
2073  * of the first EOB in the buffer, since yy_c_buf_p will
2074  * already have been incremented past the NUL character
2075  * (since all states make transitions on EOB to the
2076  * end-of-buffer state). Contrast this with the test
2077  * in input().
2078  */
2079  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2080  { /* This was really a NUL. */
2081  yy_state_type yy_next_state;
2082 
2083  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2084 
2085  yy_current_state = yy_get_previous_state( );
2086 
2087  /* Okay, we're now positioned to make the NUL
2088  * transition. We couldn't have
2089  * yy_get_previous_state() go ahead and do it
2090  * for us because it doesn't know how to deal
2091  * with the possibility of jamming (and we don't
2092  * want to build jamming into it because then it
2093  * will run more slowly).
2094  */
2095 
2096  yy_next_state = yy_try_NUL_trans( yy_current_state );
2097 
2099 
2100  if ( yy_next_state )
2101  {
2102  /* Consume the NUL. */
2103  yy_cp = ++(yy_c_buf_p);
2104  yy_current_state = yy_next_state;
2105  goto yy_match;
2106  }
2107 
2108  else
2109  {
2110  yy_cp = (yy_c_buf_p);
2111  goto yy_find_action;
2112  }
2113  }
2114 
2115  else switch ( yy_get_next_buffer( ) )
2116  {
2117  case EOB_ACT_END_OF_FILE:
2118  {
2119  (yy_did_buffer_switch_on_eof) = 0;
2120 
2121  if ( yywrap( ) )
2122  {
2123  /* Note: because we've taken care in
2124  * yy_get_next_buffer() to have set up
2125  * yytext, we can now set up
2126  * yy_c_buf_p so that if some total
2127  * hoser (like flex itself) wants to
2128  * call the scanner after we return the
2129  * YY_NULL, it'll still work - another
2130  * YY_NULL will get returned.
2131  */
2132  (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2133 
2135  goto do_action;
2136  }
2137 
2138  else
2139  {
2140  if ( ! (yy_did_buffer_switch_on_eof) )
2141  YY_NEW_FILE;
2142  }
2143  break;
2144  }
2145 
2146  case EOB_ACT_CONTINUE_SCAN:
2147  (yy_c_buf_p) =
2148  (yytext_ptr) + yy_amount_of_matched_text;
2149 
2150  yy_current_state = yy_get_previous_state( );
2151 
2152  yy_cp = (yy_c_buf_p);
2154  goto yy_match;
2155 
2156  case EOB_ACT_LAST_MATCH:
2157  (yy_c_buf_p) =
2158  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2159 
2160  yy_current_state = yy_get_previous_state( );
2161 
2162  yy_cp = (yy_c_buf_p);
2164  goto yy_find_action;
2165  }
2166  break;
2167  }
2168 
2169  default:
2171  "fatal flex scanner internal error--no action found" );
2172  } /* end of action switch */
2173  } /* end of scanning one token */
2174  } /* end of user's declarations */
2175 } /* end of yylex */
2176 
2177 /* yy_get_next_buffer - try to read in a new buffer
2178  *
2179  * Returns a code representing an action:
2180  * EOB_ACT_LAST_MATCH -
2181  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2182  * EOB_ACT_END_OF_FILE - end of file
2183  */
2184 static int yy_get_next_buffer (void)
2185 {
2186  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2187  char *source = (yytext_ptr);
2188  int number_to_move, i;
2189  int ret_val;
2190 
2191  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2193  "fatal flex scanner internal error--end of buffer missed" );
2194 
2195  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2196  { /* Don't try to fill the buffer, so this is an EOF. */
2197  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2198  {
2199  /* We matched a single character, the EOB, so
2200  * treat this as a final EOF.
2201  */
2202  return EOB_ACT_END_OF_FILE;
2203  }
2204 
2205  else
2206  {
2207  /* We matched some text prior to the EOB, first
2208  * process it.
2209  */
2210  return EOB_ACT_LAST_MATCH;
2211  }
2212  }
2213 
2214  /* Try to read more data. */
2215 
2216  /* First move last chars to start of buffer. */
2217  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2218 
2219  for ( i = 0; i < number_to_move; ++i )
2220  *(dest++) = *(source++);
2221 
2222  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2223  /* don't do the read, it's not guaranteed to return an EOF,
2224  * just force an EOF
2225  */
2226  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2227 
2228  else
2229  {
2230  int num_to_read =
2231  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2232 
2233  while ( num_to_read <= 0 )
2234  { /* Not enough room in the buffer - grow it. */
2235 
2236  /* just a shorter name for the current buffer */
2238 
2239  int yy_c_buf_p_offset =
2240  (int) ((yy_c_buf_p) - b->yy_ch_buf);
2241 
2242  if ( b->yy_is_our_buffer )
2243  {
2244  int new_size = b->yy_buf_size * 2;
2245 
2246  if ( new_size <= 0 )
2247  b->yy_buf_size += b->yy_buf_size / 8;
2248  else
2249  b->yy_buf_size *= 2;
2250 
2251  b->yy_ch_buf = (char *)
2252  /* Include room in for 2 EOB chars. */
2253  yyrealloc( (void *) b->yy_ch_buf,
2254  (yy_size_t) (b->yy_buf_size + 2) );
2255  }
2256  else
2257  /* Can't grow it, we don't own it. */
2258  b->yy_ch_buf = NULL;
2259 
2260  if ( ! b->yy_ch_buf )
2262  "fatal error - scanner input buffer overflow" );
2263 
2264  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2265 
2266  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2267  number_to_move - 1;
2268 
2269  }
2270 
2271  if ( num_to_read > YY_READ_BUF_SIZE )
2272  num_to_read = YY_READ_BUF_SIZE;
2273 
2274  /* Read in more data. */
2275  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2276  (yy_n_chars), num_to_read );
2277 
2278  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2279  }
2280 
2281  if ( (yy_n_chars) == 0 )
2282  {
2283  if ( number_to_move == YY_MORE_ADJ )
2284  {
2285  ret_val = EOB_ACT_END_OF_FILE;
2286  yyrestart( yyin );
2287  }
2288 
2289  else
2290  {
2291  ret_val = EOB_ACT_LAST_MATCH;
2292  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2294  }
2295  }
2296 
2297  else
2298  ret_val = EOB_ACT_CONTINUE_SCAN;
2299 
2300  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2301  /* Extend the array by 50%, plus the number we really need. */
2302  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2303  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2304  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
2305  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2306  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2307  /* "- 2" to take care of EOB's */
2308  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2309  }
2310 
2311  (yy_n_chars) += number_to_move;
2312  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2313  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2314 
2315  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2316 
2317  return ret_val;
2318 }
2319 
2320 /* yy_get_previous_state - get the state just before the EOB char was reached */
2321 
2322  static yy_state_type yy_get_previous_state (void)
2323 {
2324  yy_state_type yy_current_state;
2325  char *yy_cp;
2326 
2327  yy_current_state = (yy_start);
2328  yy_current_state += YY_AT_BOL();
2329 
2330  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2331  {
2332  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2333  if ( yy_accept[yy_current_state] )
2334  {
2335  (yy_last_accepting_state) = yy_current_state;
2336  (yy_last_accepting_cpos) = yy_cp;
2337  }
2338  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2339  {
2340  yy_current_state = (int) yy_def[yy_current_state];
2341  if ( yy_current_state >= 574 )
2342  yy_c = yy_meta[yy_c];
2343  }
2344  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2345  }
2346 
2347  return yy_current_state;
2348 }
2349 
2350 /* yy_try_NUL_trans - try to make a transition on the NUL character
2351  *
2352  * synopsis
2353  * next_state = yy_try_NUL_trans( current_state );
2354  */
2355  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2356 {
2357  int yy_is_jam;
2358  char *yy_cp = (yy_c_buf_p);
2359 
2360  YY_CHAR yy_c = 1;
2361  if ( yy_accept[yy_current_state] )
2362  {
2363  (yy_last_accepting_state) = yy_current_state;
2364  (yy_last_accepting_cpos) = yy_cp;
2365  }
2366  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2367  {
2368  yy_current_state = (int) yy_def[yy_current_state];
2369  if ( yy_current_state >= 574 )
2370  yy_c = yy_meta[yy_c];
2371  }
2372  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2373  yy_is_jam = (yy_current_state == 573);
2374 
2375  return yy_is_jam ? 0 : yy_current_state;
2376 }
2377 
2378 #ifndef YY_NO_UNPUT
2379 
2380 #endif
2381 
2382 #ifndef YY_NO_INPUT
2383 #ifdef __cplusplus
2384  static int yyinput (void)
2385 #else
2386  static int input (void)
2387 #endif
2388 
2389 {
2390  int c;
2391 
2392  *(yy_c_buf_p) = (yy_hold_char);
2393 
2394  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2395  {
2396  /* yy_c_buf_p now points to the character we want to return.
2397  * If this occurs *before* the EOB characters, then it's a
2398  * valid NUL; if not, then we've hit the end of the buffer.
2399  */
2400  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2401  /* This was really a NUL. */
2402  *(yy_c_buf_p) = '\0';
2403 
2404  else
2405  { /* need more input */
2406  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2407  ++(yy_c_buf_p);
2408 
2409  switch ( yy_get_next_buffer( ) )
2410  {
2411  case EOB_ACT_LAST_MATCH:
2412  /* This happens because yy_g_n_b()
2413  * sees that we've accumulated a
2414  * token and flags that we need to
2415  * try matching the token before
2416  * proceeding. But for input(),
2417  * there's no matching to consider.
2418  * So convert the EOB_ACT_LAST_MATCH
2419  * to EOB_ACT_END_OF_FILE.
2420  */
2421 
2422  /* Reset buffer status. */
2423  yyrestart( yyin );
2424 
2425  /*FALLTHROUGH*/
2426 
2427  case EOB_ACT_END_OF_FILE:
2428  {
2429  if ( yywrap( ) )
2430  return 0;
2431 
2432  if ( ! (yy_did_buffer_switch_on_eof) )
2433  YY_NEW_FILE;
2434 #ifdef __cplusplus
2435  return yyinput();
2436 #else
2437  return input();
2438 #endif
2439  }
2440 
2441  case EOB_ACT_CONTINUE_SCAN:
2442  (yy_c_buf_p) = (yytext_ptr) + offset;
2443  break;
2444  }
2445  }
2446  }
2447 
2448  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2449  *(yy_c_buf_p) = '\0'; /* preserve yytext */
2450  (yy_hold_char) = *++(yy_c_buf_p);
2451 
2452  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2453 
2454  return c;
2455 }
2456 #endif /* ifndef YY_NO_INPUT */
2457 
2463  void yyrestart (FILE * input_file )
2464 {
2465 
2466  if ( ! YY_CURRENT_BUFFER ){
2470  }
2471 
2472  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2474 }
2475 
2480  void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2481 {
2482 
2483  /* TODO. We should be able to replace this entire function body
2484  * with
2485  * yypop_buffer_state();
2486  * yypush_buffer_state(new_buffer);
2487  */
2489  if ( YY_CURRENT_BUFFER == new_buffer )
2490  return;
2491 
2492  if ( YY_CURRENT_BUFFER )
2493  {
2494  /* Flush out information for old buffer. */
2495  *(yy_c_buf_p) = (yy_hold_char);
2496  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2497  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2498  }
2499 
2500  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2502 
2503  /* We don't actually know whether we did this switch during
2504  * EOF (yywrap()) processing, but the only time this flag
2505  * is looked at is after yywrap() is called, so it's safe
2506  * to go ahead and always set it.
2507  */
2508  (yy_did_buffer_switch_on_eof) = 1;
2509 }
2510 
2511 static void yy_load_buffer_state (void)
2512 {
2513  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2514  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2515  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2516  (yy_hold_char) = *(yy_c_buf_p);
2517 }
2518 
2525  YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
2526 {
2527  YY_BUFFER_STATE b;
2528 
2529  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2530  if ( ! b )
2531  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2532 
2533  b->yy_buf_size = size;
2534 
2535  /* yy_ch_buf has to be 2 characters longer than the size given because
2536  * we need to put in 2 end-of-buffer characters.
2537  */
2538  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2539  if ( ! b->yy_ch_buf )
2540  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2541 
2542  b->yy_is_our_buffer = 1;
2543 
2544  yy_init_buffer( b, file );
2545 
2546  return b;
2547 }
2548 
2554 {
2555 
2556  if ( ! b )
2557  return;
2558 
2559  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2561 
2562  if ( b->yy_is_our_buffer )
2563  yyfree( (void *) b->yy_ch_buf );
2564 
2565  yyfree( (void *) b );
2566 }
2567 
2568 /* Initializes or reinitializes a buffer.
2569  * This function is sometimes called more than once on the same buffer,
2570  * such as during a yyrestart() or at EOF.
2571  */
2572  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2573 
2574 {
2575  int oerrno = errno;
2576 
2577  yy_flush_buffer( b );
2578 
2579  b->yy_input_file = file;
2580  b->yy_fill_buffer = 1;
2581 
2582  /* If b is the current buffer, then yy_init_buffer was _probably_
2583  * called from yyrestart() or through yy_get_next_buffer.
2584  * In that case, we don't want to reset the lineno or column.
2585  */
2586  if (b != YY_CURRENT_BUFFER){
2587  b->yy_bs_lineno = 1;
2588  b->yy_bs_column = 0;
2589  }
2590 
2591  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2592 
2593  errno = oerrno;
2594 }
2595 
2601 {
2602  if ( ! b )
2603  return;
2604 
2605  b->yy_n_chars = 0;
2606 
2607  /* We always need two end-of-buffer characters. The first causes
2608  * a transition to the end-of-buffer state. The second causes
2609  * a jam in that state.
2610  */
2613 
2614  b->yy_buf_pos = &b->yy_ch_buf[0];
2615 
2616  b->yy_at_bol = 1;
2618 
2619  if ( b == YY_CURRENT_BUFFER )
2621 }
2622 
2629 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2630 {
2631  if (new_buffer == NULL)
2632  return;
2633 
2635 
2636  /* This block is copied from yy_switch_to_buffer. */
2637  if ( YY_CURRENT_BUFFER )
2638  {
2639  /* Flush out information for old buffer. */
2640  *(yy_c_buf_p) = (yy_hold_char);
2641  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2642  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2643  }
2644 
2645  /* Only push if top exists. Otherwise, replace top. */
2646  if (YY_CURRENT_BUFFER)
2647  (yy_buffer_stack_top)++;
2648  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2649 
2650  /* copied from yy_switch_to_buffer. */
2652  (yy_did_buffer_switch_on_eof) = 1;
2653 }
2654 
2659 void yypop_buffer_state (void)
2660 {
2661  if (!YY_CURRENT_BUFFER)
2662  return;
2663 
2666  if ((yy_buffer_stack_top) > 0)
2667  --(yy_buffer_stack_top);
2668 
2669  if (YY_CURRENT_BUFFER) {
2671  (yy_did_buffer_switch_on_eof) = 1;
2672  }
2673 }
2674 
2675 /* Allocates the stack if it does not exist.
2676  * Guarantees space for at least one push.
2677  */
2678 static void yyensure_buffer_stack (void)
2679 {
2680  yy_size_t num_to_alloc;
2681 
2682  if (!(yy_buffer_stack)) {
2683 
2684  /* First allocation is just for 2 elements, since we don't know if this
2685  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2686  * immediate realloc on the next call.
2687  */
2688  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2689  (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2690  (num_to_alloc * sizeof(struct yy_buffer_state*)
2691  );
2692  if ( ! (yy_buffer_stack) )
2693  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2694 
2695  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2696 
2697  (yy_buffer_stack_max) = num_to_alloc;
2698  (yy_buffer_stack_top) = 0;
2699  return;
2700  }
2701 
2702  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2703 
2704  /* Increase the buffer to prepare for a possible push. */
2705  yy_size_t grow_size = 8 /* arbitrary grow size */;
2706 
2707  num_to_alloc = (yy_buffer_stack_max) + grow_size;
2708  (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2709  ((yy_buffer_stack),
2710  num_to_alloc * sizeof(struct yy_buffer_state*)
2711  );
2712  if ( ! (yy_buffer_stack) )
2713  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2714 
2715  /* zero only the new slots.*/
2716  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2717  (yy_buffer_stack_max) = num_to_alloc;
2718  }
2719 }
2720 
2727 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
2728 {
2729  YY_BUFFER_STATE b;
2730 
2731  if ( size < 2 ||
2732  base[size-2] != YY_END_OF_BUFFER_CHAR ||
2733  base[size-1] != YY_END_OF_BUFFER_CHAR )
2734  /* They forgot to leave room for the EOB's. */
2735  return NULL;
2736 
2737  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2738  if ( ! b )
2739  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2740 
2741  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
2742  b->yy_buf_pos = b->yy_ch_buf = base;
2743  b->yy_is_our_buffer = 0;
2744  b->yy_input_file = NULL;
2745  b->yy_n_chars = b->yy_buf_size;
2746  b->yy_is_interactive = 0;
2747  b->yy_at_bol = 1;
2748  b->yy_fill_buffer = 0;
2750 
2751  yy_switch_to_buffer( b );
2752 
2753  return b;
2754 }
2755 
2764 YY_BUFFER_STATE yy_scan_string (const char * yystr )
2765 {
2766 
2767  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2768 }
2769 
2777 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
2778 {
2779  YY_BUFFER_STATE b;
2780  char *buf;
2781  yy_size_t n;
2782  int i;
2783 
2784  /* Get memory for full buffer, including space for trailing EOB's. */
2785  n = (yy_size_t) (_yybytes_len + 2);
2786  buf = (char *) yyalloc( n );
2787  if ( ! buf )
2788  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2789 
2790  for ( i = 0; i < _yybytes_len; ++i )
2791  buf[i] = yybytes[i];
2792 
2793  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2794 
2795  b = yy_scan_buffer( buf, n );
2796  if ( ! b )
2797  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2798 
2799  /* It's okay to grow etc. this buffer, and we should throw it
2800  * away when we're done.
2801  */
2802  b->yy_is_our_buffer = 1;
2803 
2804  return b;
2805 }
2806 
2807 #ifndef YY_EXIT_FAILURE
2808 #define YY_EXIT_FAILURE 2
2809 #endif
2810 
2811 static void yynoreturn yy_fatal_error (const char* msg )
2812 {
2813  fprintf( stderr, "%s\n", msg );
2814  exit( YY_EXIT_FAILURE );
2815 }
2816 
2817 /* Redefine yyless() so it works in section 3 code. */
2818 
2819 #undef yyless
2820 #define yyless(n) \
2821  do \
2822  { \
2823  /* Undo effects of setting up yytext. */ \
2824  int yyless_macro_arg = (n); \
2825  YY_LESS_LINENO(yyless_macro_arg);\
2826  yytext[yyleng] = (yy_hold_char); \
2827  (yy_c_buf_p) = yytext + yyless_macro_arg; \
2828  (yy_hold_char) = *(yy_c_buf_p); \
2829  *(yy_c_buf_p) = '\0'; \
2830  yyleng = yyless_macro_arg; \
2831  } \
2832  while ( 0 )
2833 
2834 /* Accessor methods (get/set functions) to struct members. */
2835 
2839 int yyget_lineno (void)
2840 {
2841 
2842  return yylineno;
2843 }
2844 
2848 FILE *yyget_in (void)
2849 {
2850  return yyin;
2851 }
2852 
2856 FILE *yyget_out (void)
2857 {
2858  return yyout;
2859 }
2860 
2864 int yyget_leng (void)
2865 {
2866  return yyleng;
2867 }
2868 
2873 char *yyget_text (void)
2874 {
2875  return yytext;
2876 }
2877 
2882 void yyset_lineno (int _line_number )
2883 {
2884 
2885  yylineno = _line_number;
2886 }
2887 
2894 void yyset_in (FILE * _in_str )
2895 {
2896  yyin = _in_str ;
2897 }
2898 
2899 void yyset_out (FILE * _out_str )
2900 {
2901  yyout = _out_str ;
2902 }
2903 
2904 int yyget_debug (void)
2905 {
2906  return yy_flex_debug;
2907 }
2908 
2909 void yyset_debug (int _bdebug )
2910 {
2911  yy_flex_debug = _bdebug ;
2912 }
2913 
2914 static int yy_init_globals (void)
2915 {
2916  /* Initialization is the same as for the non-reentrant scanner.
2917  * This function is called from yylex_destroy(), so don't allocate here.
2918  */
2919 
2920  (yy_buffer_stack) = NULL;
2921  (yy_buffer_stack_top) = 0;
2922  (yy_buffer_stack_max) = 0;
2923  (yy_c_buf_p) = NULL;
2924  (yy_init) = 0;
2925  (yy_start) = 0;
2926 
2927 /* Defined in main.c */
2928 #ifdef YY_STDINIT
2929  yyin = stdin;
2930  yyout = stdout;
2931 #else
2932  yyin = NULL;
2933  yyout = NULL;
2934 #endif
2935 
2936  /* For future reference: Set errno on error, since we are called by
2937  * yylex_init()
2938  */
2939  return 0;
2940 }
2941 
2942 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2943 int yylex_destroy (void)
2944 {
2945 
2946  /* Pop the buffer stack, destroying each element. */
2947  while(YY_CURRENT_BUFFER){
2951  }
2952 
2953  /* Destroy the stack itself. */
2954  yyfree((yy_buffer_stack) );
2955  (yy_buffer_stack) = NULL;
2956 
2957  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2958  * yylex() is called, initialization will occur. */
2959  yy_init_globals( );
2960 
2961  return 0;
2962 }
2963 
2964 /*
2965  * Internal utility routines.
2966  */
2967 
2968 #ifndef yytext_ptr
2969 static void yy_flex_strncpy (char* s1, const char * s2, int n )
2970 {
2971 
2972  int i;
2973  for ( i = 0; i < n; ++i )
2974  s1[i] = s2[i];
2975 }
2976 #endif
2977 
2978 #ifdef YY_NEED_STRLEN
2979 static int yy_flex_strlen (const char * s )
2980 {
2981  int n;
2982  for ( n = 0; s[n]; ++n )
2983  ;
2984 
2985  return n;
2986 }
2987 #endif
2988 
2989 void *yyalloc (yy_size_t size )
2990 {
2991  return malloc(size);
2992 }
2993 
2994 void *yyrealloc (void * ptr, yy_size_t size )
2995 {
2996 
2997  /* The cast to (char *) in the following accommodates both
2998  * implementations that use char* generic pointers, and those
2999  * that use void* generic pointers. It works with the latter
3000  * because both ANSI C and C++ allow castless assignment from
3001  * any pointer type to void*, and deal with argument conversions
3002  * as though doing an assignment.
3003  */
3004  return realloc(ptr, size);
3005 }
3006 
3007 void yyfree (void * ptr )
3008 {
3009  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3010 }
3011 
3012 #define YYTABLES_NAME "yytables"
3013 
3014 #line 189 "../src/common/hecmw_heclex.l"
3015 
3016 
3017 static void
3018 set_flag_header(int flag)
3019 {
3020  flag_header = flag ? 1 : 0;
3021 }
3022 
3023 
3024 int
3026 {
3027  return flag_including ? lineno_inc : lineno;
3028 }
3029 
3030 
3031 double
3033 {
3034  return yylval.dval;
3035 }
3036 
3037 
3038 char *
3040 {
3041  return yytext;
3042 }
3043 
3044 
3045 int
3047 {
3048  return flag_including ? 1 : 0;
3049 }
3050 
3051 
3052 int
3054 {
3055  return yylex();
3056 }
3057 
3058 
3059 int
3060 HECMW_heclex_next_token_skip(int skip_token)
3061 {
3062  int token;
3063  while((token = yylex())) {
3064  if(token != skip_token) break;
3065  }
3066  return token;
3067 }
3068 
3069 
3070 int
3071 HECMW_heclex_set_input(FILE *fp)
3072 {
3073  static int first = 1;
3074  if(fp == NULL) return -1;
3075  if(first) {
3076  yyin = fp;
3077  first = 0;
3078  } else {
3079  yyrestart(fp);
3080  }
3081  lineno = 1;
3082  return 0;
3083 }
3084 
3085 
3086 int
3088 {
3089  int token;
3090  while((token = HECMW_heclex_next_token())) {
3091  if(token == HECMW_HECLEX_NL) break;
3092  }
3093  return token;
3094 }
3095 
3096 
3097 int
3098 HECMW_heclex_switch_to_include(const char *filename)
3099 {
3100  if(filename == NULL) return -1;
3101  if(flag_including) {
3102  HECMW_set_error(HECMW_IO_E0004, "File: %s, %s", filename);
3103  return -1;
3104  }
3105  if((incfp = fopen(filename, "r")) == NULL) {
3106  HECMW_set_error(HECMW_IO_E0005, "File: %s, %s", filename, strerror(errno));
3107  return -1;
3108  }
3109  strcpy(include_filename, filename);
3110  prev_state = YY_CURRENT_BUFFER;
3112  lineno_inc = 1;
3113  flag_including = 1;
3114  BEGIN INCLUDE;
3115  return 0;
3116 }
3117 
3118 
3119 int
3121 {
3122  char *p = yytext;
3123  while(*p) {
3124  if(*p == '\n') {
3125  if(YYSTATE == INCLUDE) {
3126  lineno_inc--;
3127  } else {
3128  lineno--;
3129  }
3130  }
3131  p++;
3132  }
3133  yyless(0);
3134  return 0;
3135 }
3136 
3137 
3138 int
3139 HECMW_hecwrap(void)
3140 {
3141  return 1;
3142 }
3143 
3144 
3145 
HECMW_HECLEX_K_HECMW
@ HECMW_HECLEX_K_HECMW
Definition: hecmw_heclex.h:54
YY_CHAR
flex_uint8_t YY_CHAR
Definition: hecmw_heclex.c:584
HECMW_IO_E0005
#define HECMW_IO_E0005
Definition: hecmw_msgno.h:141
HECMW_HECLEX_K_TEMPERATURE
@ HECMW_HECLEX_K_TEMPERATURE
Definition: hecmw_heclex.h:77
flex_uint8_t
unsigned char flex_uint8_t
Definition: hecmw_ablex.c:312
YY_INPUT
#define YY_INPUT(buf, result, max_size)
Definition: hecmw_heclex.c:1306
yyset_lineno
#define yyset_lineno
Definition: hecmw_heclex.c:212
YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg)
Definition: hecmw_heclex.c:1353
HECMW_HECLEX_H_SYSTEM
@ HECMW_HECLEX_H_SYSTEM
Definition: hecmw_heclex.h:44
HECMW_HECLEX_K_SYSTEM
@ HECMW_HECLEX_K_SYSTEM
Definition: hecmw_heclex.h:74
HECMW_HECLEX_K_SHELL
@ HECMW_HECLEX_K_SHELL
Definition: hecmw_heclex.h:69
HECMW_HECLEX_H_NCOPY
@ HECMW_HECLEX_H_NCOPY
Definition: hecmw_heclex.h:37
HECMW_HECLEX_K_VALUE
@ HECMW_HECLEX_K_VALUE
Definition: hecmw_heclex.h:80
yyset_out
#define yyset_out
Definition: hecmw_heclex.c:188
HECMW_HECLEX_H_END
@ HECMW_HECLEX_H_END
Definition: hecmw_heclex.h:30
HECMW_HECLEX_K_NAME
@ HECMW_HECLEX_K_NAME
Definition: hecmw_heclex.h:60
YY_STATE_EOF
#define YY_STATE_EOF(state)
Definition: hecmw_heclex.c:384
HECMW_HECLEX_H_ELEMENT
@ HECMW_HECLEX_H_ELEMENT
Definition: hecmw_heclex.h:29
yy_cp
char * yy_cp
Definition: hecmw_heclex.c:1392
YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR
Definition: hecmw_heclex.c:387
YY_NEW_FILE
#define YY_NEW_FILE
Definition: hecmw_heclex.c:386
yy_trans_info
Definition: hecmw_ablex.c:617
HECMW_HECLEX_K_ABSOLUTE
@ HECMW_HECLEX_K_ABSOLUTE
Definition: hecmw_heclex.h:48
HECMW_HECLEX_K_STEP_TIME
@ HECMW_HECLEX_K_STEP_TIME
Definition: hecmw_heclex.h:71
HECMW_HECLEX_H_AMPLITUDE
@ HECMW_HECLEX_H_AMPLITUDE
Definition: hecmw_heclex.h:22
HECMW_HECLEX_H_EQUATION
@ HECMW_HECLEX_H_EQUATION
Definition: hecmw_heclex.h:31
YY_RULE_SETUP
#define YY_RULE_SETUP
Definition: hecmw_heclex.c:1381
HECMW_heclex_switch_to_include
int HECMW_heclex_switch_to_include(const char *filename)
yytext
#define yytext
Definition: hecmw_heclex.c:27
INITIAL
#define INITIAL
Definition: hecmw_heclex.c:1204
yy_scan_buffer
#define yy_scan_buffer
Definition: hecmw_heclex.c:10
yy_buffer_state::yy_input_file
FILE * yy_input_file
Definition: hecmw_ablex.c:446
HECMW_heclex_next_token
int HECMW_heclex_next_token(void)
HECMW_HECLEX_K_SGRP
@ HECMW_HECLEX_K_SGRP
Definition: hecmw_heclex.h:68
HEADER
#define HEADER
Definition: hecmw_heclex.c:1205
EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH
Definition: hecmw_heclex.c:422
HECMW_HECLEX_K_BEAM
@ HECMW_HECLEX_K_BEAM
Definition: hecmw_heclex.h:49
yy_buffer_state
Definition: hecmw_ablex.c:444
YY_SC_TO_UI
#define YY_SC_TO_UI(c)
Definition: hecmw_heclex.c:370
HECMW_HECLEX_K_TABLE
@ HECMW_HECLEX_K_TABLE
Definition: hecmw_heclex.h:75
hecmw_heclex.h
YY_BUF_SIZE
#define YY_BUF_SIZE
Definition: hecmw_heclex.c:398
EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE
Definition: hecmw_heclex.c:421
flex_int8_t
signed char flex_int8_t
Definition: hecmw_heclex.c:309
HECMW_HECLEX_K_DEFINITION
@ HECMW_HECLEX_K_DEFINITION
Definition: hecmw_heclex.h:51
YY_BUFFER_STATE
struct yy_buffer_state * YY_BUFFER_STATE
Definition: hecmw_heclex.c:408
yy_state_type
int yy_state_type
Definition: hecmw_heclex.c:588
yy_bp
char * yy_bp
Definition: hecmw_heclex.c:1392
YY_MORE_ADJ
#define YY_MORE_ADJ
Definition: hecmw_heclex.c:1175
yyalloc
#define yyalloc
Definition: hecmw_heclex.c:29
HECMW_heclex_skip_line
int HECMW_heclex_skip_line(void)
YY_DECL
#define YY_DECL
Definition: hecmw_heclex.c:1366
HECMW_HECLEX_H_NFILL
@ HECMW_HECLEX_H_NFILL
Definition: hecmw_heclex.h:38
HECMW_HECLEX_H_MATERIAL
@ HECMW_HECLEX_H_MATERIAL
Definition: hecmw_heclex.h:36
yyset_in
#define yyset_in
Definition: hecmw_heclex.c:176
yyin
#define yyin
Definition: hecmw_heclex.c:21
yy_buffer_state::yy_at_bol
int yy_at_bol
Definition: hecmw_ablex.c:478
YY_START
#define YY_START
Definition: hecmw_heclex.c:381
yy_scan_string
#define yy_scan_string
Definition: hecmw_heclex.c:11
HECMW_HECLEX_K_TIME
@ HECMW_HECLEX_K_TIME
Definition: hecmw_heclex.h:78
yy_buffer_state::yy_is_our_buffer
int yy_is_our_buffer
Definition: hecmw_ablex.c:465
HECMW_HECLEX_K_MATERIAL
@ HECMW_HECLEX_K_MATERIAL
Definition: hecmw_heclex.h:58
yyrealloc
#define yyrealloc
Definition: hecmw_heclex.c:30
HECMW_HECLEX_K_EGRP
@ HECMW_HECLEX_K_EGRP
Definition: hecmw_heclex.h:52
YY_EXIT_FAILURE
#define YY_EXIT_FAILURE
YY_BUFFER_NEW
#define YY_BUFFER_NEW
Definition: hecmw_heclex.c:490
HECMW_HECLEX_H_ZERO
@ HECMW_HECLEX_H_ZERO
Definition: hecmw_heclex.h:45
yyget_extra
#define yyget_extra
Definition: hecmw_heclex.c:158
HECMW_HECLEX_K_INPUT
@ HECMW_HECLEX_K_INPUT
Definition: hecmw_heclex.h:55
YYSTYPE
Definition: hecmw_ablex.c:1613
INCLUDE
#define INCLUDE
Definition: hecmw_heclex.c:1206
HECMW_HECLEX_H_INITIAL
@ HECMW_HECLEX_H_INITIAL
Definition: hecmw_heclex.h:34
flex_uint8_t
unsigned char flex_uint8_t
Definition: hecmw_heclex.c:312
yylex
#define yylex
Definition: hecmw_heclex.c:23
yypop_buffer_state
#define yypop_buffer_state
Definition: hecmw_heclex.c:18
yy_delete_buffer
#define yy_delete_buffer
Definition: hecmw_heclex.c:9
HECMW_HECLEX_K_MATITEM
@ HECMW_HECLEX_K_MATITEM
Definition: hecmw_heclex.h:59
HECMW_HECLEX_K_TYPE
@ HECMW_HECLEX_K_TYPE
Definition: hecmw_heclex.h:79
YY_CHAR
flex_uint8_t YY_CHAR
Definition: hecmw_ablex.c:584
HECMW_HECLEX_K_VALUETIME
@ HECMW_HECLEX_K_VALUETIME
Definition: hecmw_heclex.h:82
yy_buffer_state::yy_fill_buffer
int yy_fill_buffer
Definition: hecmw_ablex.c:486
HECMW_HECLEX_K_TIMEVALUE
@ HECMW_HECLEX_K_TIMEVALUE
Definition: hecmw_heclex.h:81
HECMW_heclex_get_number
double HECMW_heclex_get_number(void)
YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
Definition: hecmw_heclex.c:1176
HECMW_IO_E0006
#define HECMW_IO_E0006
Definition: hecmw_msgno.h:142
HECMW_HECLEX_K_INTERFACE
@ HECMW_HECLEX_K_INTERFACE
Definition: hecmw_heclex.h:56
YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER
Definition: hecmw_heclex.c:518
HECMW_heclex_next_token_skip
int HECMW_heclex_next_token_skip(int skip_token)
YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING
Definition: hecmw_heclex.c:502
yyget_debug
#define yyget_debug
Definition: hecmw_heclex.c:146
HECMW_HECLEX_H_INCLUDE
@ HECMW_HECLEX_H_INCLUDE
Definition: hecmw_heclex.h:33
EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN
Definition: hecmw_heclex.c:420
HECMW_HECLEX_K_NGRP
@ HECMW_HECLEX_K_NGRP
Definition: hecmw_heclex.h:62
yy_buffer_state::yy_buf_size
int yy_buf_size
Definition: hecmw_ablex.c:454
yy_buffer_state::yy_ch_buf
char * yy_ch_buf
Definition: hecmw_ablex.c:448
yy_state_type
int yy_state_type
Definition: hecmw_ablex.c:588
yyless
#define yyless(n)
Definition: hecmw_heclex.c:428
HECMW_HECLEX_H_NGEN
@ HECMW_HECLEX_H_NGEN
Definition: hecmw_heclex.h:39
YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE
Definition: hecmw_heclex.c:524
HECMW_HECLEX_K_NODE_ELEM
@ HECMW_HECLEX_K_NODE_ELEM
Definition: hecmw_heclex.h:64
yyget_in
#define yyget_in
Definition: hecmw_heclex.c:170
HECMW_HECLEX_H_NGROUP
@ HECMW_HECLEX_H_NGROUP
Definition: hecmw_heclex.h:40
HECMW_HECLEX_FILENAME
@ HECMW_HECLEX_FILENAME
Definition: hecmw_heclex.h:19
HECMW_HECLEX_K_ABAQUS
@ HECMW_HECLEX_K_ABAQUS
Definition: hecmw_heclex.h:47
yylineno
#define yylineno
Definition: hecmw_heclex.c:24
yyleng
#define yyleng
Definition: hecmw_heclex.c:22
HECMW_HECLEX_K_NASTRAN
@ HECMW_HECLEX_K_NASTRAN
Definition: hecmw_heclex.h:61
flex_uint16_t
unsigned short int flex_uint16_t
Definition: hecmw_heclex.c:313
yy_init_buffer
#define yy_init_buffer
Definition: hecmw_heclex.c:13
yy_switch_to_buffer
#define yy_switch_to_buffer
Definition: hecmw_heclex.c:16
HECMW_HECLEX_K_SURF_SURF
@ HECMW_HECLEX_K_SURF_SURF
Definition: hecmw_heclex.h:73
YYSTYPE::str
char * str
Definition: hecmw_ablex.c:1615
YYSTYPE::dval
double dval
Definition: hecmw_ablex.c:1614
YY_EXTRA_TYPE
#define YY_EXTRA_TYPE
Definition: hecmw_heclex.c:1217
HECMW_HECLEX_K_SECTION
@ HECMW_HECLEX_K_SECTION
Definition: hecmw_heclex.h:67
ECHO
#define ECHO
Definition: hecmw_heclex.c:1299
yy_flush_buffer
#define yy_flush_buffer
Definition: hecmw_heclex.c:14
yyensure_buffer_stack
#define yyensure_buffer_stack
Definition: hecmw_heclex.c:19
HECMW_heclex_set_input
int HECMW_heclex_set_input(FILE *fp)
yy_size_t
size_t yy_size_t
Definition: hecmw_heclex.c:413
HECMW_HECLEX_K_SUBITEM
@ HECMW_HECLEX_K_SUBITEM
Definition: hecmw_heclex.h:72
yytext_ptr
#define yytext_ptr
Definition: hecmw_heclex.c:597
HECMW_HECLEX_H_SECTION
@ HECMW_HECLEX_H_SECTION
Definition: hecmw_heclex.h:42
HECMW_IO_E0004
#define HECMW_IO_E0004
Definition: hecmw_msgno.h:140
HECMW_HECLEX_H_ECOPY
@ HECMW_HECLEX_H_ECOPY
Definition: hecmw_heclex.h:26
HECMW_HECLEX_H_SGROUP
@ HECMW_HECLEX_H_SGROUP
Definition: hecmw_heclex.h:43
HECMW_HECLEX_K_SOLID
@ HECMW_HECLEX_K_SOLID
Definition: hecmw_heclex.h:70
yynoreturn
#define yynoreturn
Definition: hecmw_heclex.c:361
yyset_extra
#define yyset_extra
Definition: hecmw_heclex.c:164
YY_AT_BOL
#define YY_AT_BOL()
Definition: hecmw_heclex.c:581
HECMW_HECLEX_K_NODE_SURF
@ HECMW_HECLEX_K_NODE_SURF
Definition: hecmw_heclex.h:63
yy_buffer_state::yy_buffer_status
int yy_buffer_status
Definition: hecmw_ablex.c:488
yy_buffer_state::yy_buf_pos
char * yy_buf_pos
Definition: hecmw_ablex.c:449
yyget_out
#define yyget_out
Definition: hecmw_heclex.c:182
HECMW_HECLEX_K_COMPOSITE
@ HECMW_HECLEX_K_COMPOSITE
Definition: hecmw_heclex.h:50
yyfree
#define yyfree
Definition: hecmw_heclex.c:31
yy_trans_info::yy_nxt
flex_int32_t yy_nxt
Definition: hecmw_ablex.c:620
BEGIN
#define BEGIN
Definition: hecmw_heclex.c:376
YY_END_OF_BUFFER
#define YY_END_OF_BUFFER
Definition: hecmw_heclex.c:614
yy_trans_info::yy_verify
flex_int32_t yy_verify
Definition: hecmw_ablex.c:619
HECMW_HECLEX_K_TABULAR
@ HECMW_HECLEX_K_TABULAR
Definition: hecmw_heclex.h:76
yyout
#define yyout
Definition: hecmw_heclex.c:25
yy_buffer_state::yy_bs_column
int yy_bs_column
Definition: hecmw_ablex.c:481
flex_int16_t
short int flex_int16_t
Definition: hecmw_ablex.c:310
yy_buffer_state::yy_n_chars
int yy_n_chars
Definition: hecmw_ablex.c:459
YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE
Definition: hecmw_heclex.c:1290
HECMW_HECLEX_H_EGEN
@ HECMW_HECLEX_H_EGEN
Definition: hecmw_heclex.h:27
yyget_leng
#define yyget_leng
Definition: hecmw_heclex.c:194
yyrestart
#define yyrestart
Definition: hecmw_heclex.c:26
HECMW_HECLEX_INT
@ HECMW_HECLEX_INT
Definition: hecmw_heclex.h:16
yy_buffer_state::yy_is_interactive
int yy_is_interactive
Definition: hecmw_ablex.c:472
HECMW_HECLEX_H_ITEM
@ HECMW_HECLEX_H_ITEM
Definition: hecmw_heclex.h:35
YY_BREAK
#define YY_BREAK
Definition: hecmw_heclex.c:1378
HECMW_heclex_get_text
char * HECMW_heclex_get_text(void)
yylex_destroy
#define yylex_destroy
Definition: hecmw_heclex.c:140
HECMW_HECLEX_H_EGROUP
@ HECMW_HECLEX_H_EGROUP
Definition: hecmw_heclex.h:28
HECMW_HECLEX_H_EMBED_PAIR
@ HECMW_HECLEX_H_EMBED_PAIR
Definition: hecmw_heclex.h:25
yywrap
#define yywrap
Definition: hecmw_heclex.c:28
yy_create_buffer
#define yy_create_buffer
Definition: hecmw_heclex.c:8
yyget_text
#define yyget_text
Definition: hecmw_heclex.c:200
yypush_buffer_state
#define yypush_buffer_state
Definition: hecmw_heclex.c:17
HECMW_HECLEX_H_CONNECTIVITY
@ HECMW_HECLEX_H_CONNECTIVITY
Definition: hecmw_heclex.h:23
yyset_debug
#define yyset_debug
Definition: hecmw_heclex.c:152
yy_flex_debug
#define yy_flex_debug
Definition: hecmw_heclex.c:20
HECMW_HECLEX_H_CONTACT_PAIR
@ HECMW_HECLEX_H_CONTACT_PAIR
Definition: hecmw_heclex.h:24
yy_size_t
size_t yy_size_t
Definition: hecmw_ablex.c:413
HECMW_HECLEX_DOUBLE
@ HECMW_HECLEX_DOUBLE
Definition: hecmw_heclex.h:17
flex_int16_t
short int flex_int16_t
Definition: hecmw_heclex.c:310
HECMW_HECLEX_K_RELATIVE
@ HECMW_HECLEX_K_RELATIVE
Definition: hecmw_heclex.h:65
flex_int32_t
int flex_int32_t
Definition: hecmw_ablex.c:311
YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION
Definition: hecmw_heclex.c:607
HECMW_set_error
int HECMW_set_error(int errorno, const char *fmt,...)
Definition: hecmw_error.c:37
HECMW_HECLEX_HEADER
@ HECMW_HECLEX_HEADER
Definition: hecmw_heclex.h:20
HECMW_HECLEX_NL
@ HECMW_HECLEX_NL
Definition: hecmw_heclex.h:15
HECMW_heclex_unput_token
int HECMW_heclex_unput_token(void)
yy_act
int yy_act
Definition: hecmw_heclex.c:1393
NULL
#define NULL
Definition: hecmw_io_nastran.c:30
flex_int32_t
int flex_int32_t
Definition: hecmw_heclex.c:311
HECMW_heclex_is_including
int HECMW_heclex_is_including(void)
HECMW_HECLEX_H_HEADER
@ HECMW_HECLEX_H_HEADER
Definition: hecmw_heclex.h:32
HECMW_heclex_get_lineno
int HECMW_heclex_get_lineno(void)
HECMW_FILENAME_LEN
#define HECMW_FILENAME_LEN
Definition: hecmw_config.h:72
YYSTATE
#define YYSTATE
Definition: hecmw_heclex.c:382
flex_uint32_t
unsigned int flex_uint32_t
Definition: hecmw_heclex.c:314
HECMW_HECLEX_K_SECOPT
@ HECMW_HECLEX_K_SECOPT
Definition: hecmw_heclex.h:66
HECMW_HECLEX_K_GENERATE
@ HECMW_HECLEX_K_GENERATE
Definition: hecmw_heclex.h:53
yy_load_buffer_state
#define yy_load_buffer_state
Definition: hecmw_heclex.c:15
YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL
Definition: hecmw_heclex.c:491
HECMW_HECLEX_NAME
@ HECMW_HECLEX_NAME
Definition: hecmw_heclex.h:18
hecmw_util.h
HECMW_HECLEX_H_NODE
@ HECMW_HECLEX_H_NODE
Definition: hecmw_heclex.h:41
HECMW_HECLEX_K_ITEM
@ HECMW_HECLEX_K_ITEM
Definition: hecmw_heclex.h:57
yy_buffer_state::yy_bs_lineno
int yy_bs_lineno
Definition: hecmw_ablex.c:480
yy_scan_bytes
#define yy_scan_bytes
Definition: hecmw_heclex.c:12
yyget_lineno
#define yyget_lineno
Definition: hecmw_heclex.c:206