FrontISTR  5.9.0
Large-scale structural analysis program with finit element method
hecmw_ctrllex.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_ctrl_create_buffer
9 #define yy_delete_buffer HECMW_ctrl_delete_buffer
10 #define yy_scan_buffer HECMW_ctrl_scan_buffer
11 #define yy_scan_string HECMW_ctrl_scan_string
12 #define yy_scan_bytes HECMW_ctrl_scan_bytes
13 #define yy_init_buffer HECMW_ctrl_init_buffer
14 #define yy_flush_buffer HECMW_ctrl_flush_buffer
15 #define yy_load_buffer_state HECMW_ctrl_load_buffer_state
16 #define yy_switch_to_buffer HECMW_ctrl_switch_to_buffer
17 #define yypush_buffer_state HECMW_ctrlpush_buffer_state
18 #define yypop_buffer_state HECMW_ctrlpop_buffer_state
19 #define yyensure_buffer_stack HECMW_ctrlensure_buffer_stack
20 #define yy_flex_debug HECMW_ctrl_flex_debug
21 #define yyin HECMW_ctrlin
22 #define yyleng HECMW_ctrlleng
23 #define yylex HECMW_ctrllex
24 #define yylineno HECMW_ctrllineno
25 #define yyout HECMW_ctrlout
26 #define yyrestart HECMW_ctrlrestart
27 #define yytext HECMW_ctrltext
28 #define yywrap HECMW_ctrlwrap
29 #define yyalloc HECMW_ctrlalloc
30 #define yyrealloc HECMW_ctrlrealloc
31 #define yyfree HECMW_ctrlfree
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_ctrl_create_buffer_ALREADY_DEFINED
43 #else
44 #define yy_create_buffer HECMW_ctrl_create_buffer
45 #endif
46 
47 #ifdef yy_delete_buffer
48 #define HECMW_ctrl_delete_buffer_ALREADY_DEFINED
49 #else
50 #define yy_delete_buffer HECMW_ctrl_delete_buffer
51 #endif
52 
53 #ifdef yy_scan_buffer
54 #define HECMW_ctrl_scan_buffer_ALREADY_DEFINED
55 #else
56 #define yy_scan_buffer HECMW_ctrl_scan_buffer
57 #endif
58 
59 #ifdef yy_scan_string
60 #define HECMW_ctrl_scan_string_ALREADY_DEFINED
61 #else
62 #define yy_scan_string HECMW_ctrl_scan_string
63 #endif
64 
65 #ifdef yy_scan_bytes
66 #define HECMW_ctrl_scan_bytes_ALREADY_DEFINED
67 #else
68 #define yy_scan_bytes HECMW_ctrl_scan_bytes
69 #endif
70 
71 #ifdef yy_init_buffer
72 #define HECMW_ctrl_init_buffer_ALREADY_DEFINED
73 #else
74 #define yy_init_buffer HECMW_ctrl_init_buffer
75 #endif
76 
77 #ifdef yy_flush_buffer
78 #define HECMW_ctrl_flush_buffer_ALREADY_DEFINED
79 #else
80 #define yy_flush_buffer HECMW_ctrl_flush_buffer
81 #endif
82 
83 #ifdef yy_load_buffer_state
84 #define HECMW_ctrl_load_buffer_state_ALREADY_DEFINED
85 #else
86 #define yy_load_buffer_state HECMW_ctrl_load_buffer_state
87 #endif
88 
89 #ifdef yy_switch_to_buffer
90 #define HECMW_ctrl_switch_to_buffer_ALREADY_DEFINED
91 #else
92 #define yy_switch_to_buffer HECMW_ctrl_switch_to_buffer
93 #endif
94 
95 #ifdef yypush_buffer_state
96 #define HECMW_ctrlpush_buffer_state_ALREADY_DEFINED
97 #else
98 #define yypush_buffer_state HECMW_ctrlpush_buffer_state
99 #endif
100 
101 #ifdef yypop_buffer_state
102 #define HECMW_ctrlpop_buffer_state_ALREADY_DEFINED
103 #else
104 #define yypop_buffer_state HECMW_ctrlpop_buffer_state
105 #endif
106 
107 #ifdef yyensure_buffer_stack
108 #define HECMW_ctrlensure_buffer_stack_ALREADY_DEFINED
109 #else
110 #define yyensure_buffer_stack HECMW_ctrlensure_buffer_stack
111 #endif
112 
113 #ifdef yylex
114 #define HECMW_ctrllex_ALREADY_DEFINED
115 #else
116 #define yylex HECMW_ctrllex
117 #endif
118 
119 #ifdef yyrestart
120 #define HECMW_ctrlrestart_ALREADY_DEFINED
121 #else
122 #define yyrestart HECMW_ctrlrestart
123 #endif
124 
125 #ifdef yylex_init
126 #define HECMW_ctrllex_init_ALREADY_DEFINED
127 #else
128 #define yylex_init HECMW_ctrllex_init
129 #endif
130 
131 #ifdef yylex_init_extra
132 #define HECMW_ctrllex_init_extra_ALREADY_DEFINED
133 #else
134 #define yylex_init_extra HECMW_ctrllex_init_extra
135 #endif
136 
137 #ifdef yylex_destroy
138 #define HECMW_ctrllex_destroy_ALREADY_DEFINED
139 #else
140 #define yylex_destroy HECMW_ctrllex_destroy
141 #endif
142 
143 #ifdef yyget_debug
144 #define HECMW_ctrlget_debug_ALREADY_DEFINED
145 #else
146 #define yyget_debug HECMW_ctrlget_debug
147 #endif
148 
149 #ifdef yyset_debug
150 #define HECMW_ctrlset_debug_ALREADY_DEFINED
151 #else
152 #define yyset_debug HECMW_ctrlset_debug
153 #endif
154 
155 #ifdef yyget_extra
156 #define HECMW_ctrlget_extra_ALREADY_DEFINED
157 #else
158 #define yyget_extra HECMW_ctrlget_extra
159 #endif
160 
161 #ifdef yyset_extra
162 #define HECMW_ctrlset_extra_ALREADY_DEFINED
163 #else
164 #define yyset_extra HECMW_ctrlset_extra
165 #endif
166 
167 #ifdef yyget_in
168 #define HECMW_ctrlget_in_ALREADY_DEFINED
169 #else
170 #define yyget_in HECMW_ctrlget_in
171 #endif
172 
173 #ifdef yyset_in
174 #define HECMW_ctrlset_in_ALREADY_DEFINED
175 #else
176 #define yyset_in HECMW_ctrlset_in
177 #endif
178 
179 #ifdef yyget_out
180 #define HECMW_ctrlget_out_ALREADY_DEFINED
181 #else
182 #define yyget_out HECMW_ctrlget_out
183 #endif
184 
185 #ifdef yyset_out
186 #define HECMW_ctrlset_out_ALREADY_DEFINED
187 #else
188 #define yyset_out HECMW_ctrlset_out
189 #endif
190 
191 #ifdef yyget_leng
192 #define HECMW_ctrlget_leng_ALREADY_DEFINED
193 #else
194 #define yyget_leng HECMW_ctrlget_leng
195 #endif
196 
197 #ifdef yyget_text
198 #define HECMW_ctrlget_text_ALREADY_DEFINED
199 #else
200 #define yyget_text HECMW_ctrlget_text
201 #endif
202 
203 #ifdef yyget_lineno
204 #define HECMW_ctrlget_lineno_ALREADY_DEFINED
205 #else
206 #define yyget_lineno HECMW_ctrlget_lineno
207 #endif
208 
209 #ifdef yyset_lineno
210 #define HECMW_ctrlset_lineno_ALREADY_DEFINED
211 #else
212 #define yyset_lineno HECMW_ctrlset_lineno
213 #endif
214 
215 #ifdef yywrap
216 #define HECMW_ctrlwrap_ALREADY_DEFINED
217 #else
218 #define yywrap HECMW_ctrlwrap
219 #endif
220 
221 #ifdef yyalloc
222 #define HECMW_ctrlalloc_ALREADY_DEFINED
223 #else
224 #define yyalloc HECMW_ctrlalloc
225 #endif
226 
227 #ifdef yyrealloc
228 #define HECMW_ctrlrealloc_ALREADY_DEFINED
229 #else
230 #define yyrealloc HECMW_ctrlrealloc
231 #endif
232 
233 #ifdef yyfree
234 #define HECMW_ctrlfree_ALREADY_DEFINED
235 #else
236 #define yyfree HECMW_ctrlfree
237 #endif
238 
239 #ifdef yytext
240 #define HECMW_ctrltext_ALREADY_DEFINED
241 #else
242 #define yytext HECMW_ctrltext
243 #endif
244 
245 #ifdef yyleng
246 #define HECMW_ctrlleng_ALREADY_DEFINED
247 #else
248 #define yyleng HECMW_ctrlleng
249 #endif
250 
251 #ifdef yyin
252 #define HECMW_ctrlin_ALREADY_DEFINED
253 #else
254 #define yyin HECMW_ctrlin
255 #endif
256 
257 #ifdef yyout
258 #define HECMW_ctrlout_ALREADY_DEFINED
259 #else
260 #define yyout HECMW_ctrlout
261 #endif
262 
263 #ifdef yy_flex_debug
264 #define HECMW_ctrl_flex_debug_ALREADY_DEFINED
265 #else
266 #define yy_flex_debug HECMW_ctrl_flex_debug
267 #endif
268 
269 #ifdef yylineno
270 #define HECMW_ctrllineno_ALREADY_DEFINED
271 #else
272 #define yylineno HECMW_ctrllineno
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
445  {
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  */
455 
456  /* Number of characters read into yy_ch_buf, not including EOB
457  * characters.
458  */
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  */
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  */
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  */
479 
483  /* Whether to try to fill the input buffer when we reach the
484  * end of it.
485  */
487 
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 );
543 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
547 void yypop_buffer_state ( void );
548 
549 static void yyensure_buffer_stack ( void );
550 static void yy_load_buffer_state ( void );
551 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
552 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
553 
555 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
556 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
557 
558 void *yyalloc ( yy_size_t );
559 void *yyrealloc ( void *, yy_size_t );
560 void yyfree ( void * );
561 
562 #define yy_new_buffer yy_create_buffer
563 #define yy_set_interactive(is_interactive) \
564  { \
565  if ( ! YY_CURRENT_BUFFER ){ \
566  yyensure_buffer_stack (); \
567  YY_CURRENT_BUFFER_LVALUE = \
568  yy_create_buffer( yyin, YY_BUF_SIZE ); \
569  } \
570  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
571  }
572 #define yy_set_bol(at_bol) \
573  { \
574  if ( ! YY_CURRENT_BUFFER ){\
575  yyensure_buffer_stack (); \
576  YY_CURRENT_BUFFER_LVALUE = \
577  yy_create_buffer( yyin, YY_BUF_SIZE ); \
578  } \
579  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
580  }
581 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
582 
583 /* Begin user sect3 */
585 
586 FILE *yyin = 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 40
614 #define YY_END_OF_BUFFER 41
615 /* This struct is not used in this scanner,
616  but its presence is necessary. */
618  {
621  };
622 static const flex_int16_t yy_accept[184] =
623  { 0,
624  0, 0, 41, 39, 2, 3, 39, 39, 39, 34,
625  38, 38, 38, 35, 33, 37, 37, 37, 37, 37,
626  37, 37, 37, 37, 37, 37, 37, 39, 39, 2,
627  3, 0, 0, 0, 0, 0, 35, 38, 38, 35,
628  36, 36, 35, 38, 37, 0, 37, 37, 37, 37,
629  22, 24, 37, 37, 37, 28, 37, 37, 37, 0,
630  0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
631  0, 36, 36, 35, 0, 36, 36, 0, 38, 36,
632  38, 17, 37, 37, 37, 37, 16, 37, 37, 37,
633  29, 30, 37, 37, 0, 0, 0, 0, 0, 0,
634 
635  0, 0, 36, 36, 36, 37, 37, 37, 37, 37,
636  26, 37, 37, 32, 0, 0, 0, 0, 0, 7,
637  0, 0, 0, 18, 37, 37, 23, 25, 37, 37,
638  0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
639  0, 19, 37, 37, 31, 0, 0, 0, 0, 0,
640  0, 0, 0, 0, 11, 15, 37, 37, 27, 0,
641  0, 0, 10, 14, 5, 0, 13, 37, 37, 4,
642  0, 12, 0, 37, 37, 0, 9, 20, 37, 8,
643  37, 21, 0
644  } ;
645 
646 static const YY_CHAR yy_ec[256] =
647  { 0,
648  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
649  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
650  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
651  1, 5, 6, 1, 7, 1, 1, 1, 1, 1,
652  1, 1, 8, 9, 10, 11, 12, 13, 13, 13,
653  13, 13, 13, 13, 13, 13, 13, 14, 1, 1,
654  15, 1, 1, 1, 16, 17, 18, 19, 20, 21,
655  22, 23, 24, 25, 25, 26, 27, 28, 29, 30,
656  25, 31, 32, 33, 34, 25, 35, 25, 36, 25,
657  1, 12, 1, 1, 37, 1, 25, 25, 25, 25,
658 
659  38, 25, 25, 25, 25, 25, 25, 25, 25, 25,
660  39, 25, 25, 25, 25, 25, 25, 25, 25, 25,
661  25, 25, 1, 1, 1, 1, 1, 1, 1, 1,
662  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
666  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
669 
670  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
671  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
672  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
673  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
674  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675  1, 1, 1, 1, 1
676  } ;
677 
678 static const YY_CHAR yy_meta[40] =
679  { 0,
680  1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
681  2, 2, 2, 3, 1, 2, 2, 2, 2, 2,
682  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
683  2, 2, 2, 2, 2, 2, 2, 2, 2
684  } ;
685 
686 static const flex_int16_t yy_base[188] =
687  { 0,
688  0, 34, 442, 479, 40, 479, 437, 25, 33, 479,
689  36, 424, 0, 40, 479, 47, 51, 56, 60, 68,
690  72, 78, 83, 92, 96, 100, 107, 111, 51, 64,
691  479, 406, 410, 406, 387, 401, 111, 0, 399, 112,
692  114, 115, 126, 83, 133, 144, 147, 155, 151, 159,
693  172, 177, 181, 185, 192, 204, 208, 212, 216, 137,
694  379, 382, 378, 360, 171, 479, 176, 364, 356, 352,
695  365, 187, 201, 218, 224, 222, 223, 362, 360, 356,
696  346, 233, 237, 243, 251, 255, 259, 263, 268, 272,
697  279, 283, 287, 292, 330, 321, 314, 326, 306, 312,
698 
699  176, 312, 272, 287, 316, 302, 306, 310, 316, 322,
700  326, 330, 336, 340, 290, 296, 225, 296, 278, 59,
701  292, 276, 272, 345, 351, 356, 360, 365, 369, 375,
702  250, 146, 260, 246, 244, 223, 228, 209, 180, 172,
703  167, 379, 385, 389, 395, 165, 165, 154, 145, 139,
704  129, 122, 104, 97, 479, 479, 399, 404, 408, 89,
705  80, 72, 479, 479, 479, 53, 479, 413, 417, 479,
706  51, 479, 47, 422, 427, 43, 479, 432, 442, 479,
707  446, 450, 479, 48, 472, 475, 46
708  } ;
709 
710 static const flex_int16_t yy_def[188] =
711  { 0,
712  183, 1, 183, 183, 183, 183, 183, 183, 183, 183,
713  184, 184, 184, 184, 183, 185, 185, 185, 185, 185,
714  185, 185, 185, 185, 185, 185, 185, 183, 186, 183,
715  183, 183, 183, 183, 183, 183, 183, 184, 184, 184,
716  184, 184, 184, 184, 185, 187, 185, 185, 185, 185,
717  185, 185, 185, 185, 185, 185, 185, 185, 185, 186,
718  183, 183, 183, 183, 186, 183, 186, 183, 183, 183,
719  183, 183, 183, 183, 183, 184, 184, 183, 184, 184,
720  184, 185, 185, 185, 185, 185, 185, 185, 185, 185,
721  185, 185, 185, 185, 183, 183, 183, 183, 183, 183,
722 
723  183, 183, 183, 183, 183, 185, 185, 185, 185, 185,
724  185, 185, 185, 185, 183, 183, 183, 183, 183, 183,
725  183, 183, 183, 185, 185, 185, 185, 185, 185, 185,
726  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
727  183, 185, 185, 185, 185, 183, 183, 183, 183, 183,
728  183, 183, 183, 183, 183, 183, 185, 185, 185, 183,
729  183, 183, 183, 183, 183, 183, 183, 185, 185, 183,
730  183, 183, 183, 185, 185, 183, 183, 185, 185, 183,
731  185, 185, 0, 183, 183, 183, 183
732  } ;
733 
734 static const flex_int16_t yy_nxt[519] =
735  { 0,
736  4, 5, 6, 7, 5, 8, 4, 9, 10, 11,
737  12, 13, 14, 4, 15, 16, 16, 16, 17, 16,
738  18, 19, 20, 21, 16, 22, 16, 23, 24, 16,
739  25, 16, 26, 16, 16, 16, 27, 16, 16, 28,
740  29, 30, 32, 36, 30, 37, 39, 81, 40, 38,
741  42, 33, 43, 66, 67, 34, 35, 38, 38, 44,
742  46, 38, 38, 137, 46, 30, 38, 38, 30, 46,
743  38, 38, 180, 46, 47, 48, 177, 44, 38, 38,
744  138, 46, 38, 38, 176, 46, 173, 50, 38, 38,
745  78, 46, 79, 38, 38, 80, 46, 49, 54, 51,
746 
747  52, 53, 38, 38, 172, 46, 38, 38, 171, 46,
748  38, 38, 55, 46, 170, 58, 60, 38, 38, 56,
749  183, 73, 42, 74, 43, 57, 76, 77, 61, 167,
750  75, 44, 166, 44, 44, 59, 42, 62, 43, 66,
751  67, 63, 64, 38, 38, 44, 183, 165, 75, 44,
752  147, 44, 44, 38, 38, 38, 38, 38, 38, 164,
753  183, 38, 38, 44, 183, 38, 38, 148, 183, 38,
754  38, 163, 183, 66, 67, 162, 85, 82, 66, 67,
755  38, 83, 38, 38, 161, 183, 148, 38, 38, 84,
756  183, 38, 38, 160, 183, 38, 38, 156, 183, 103,
757 
758  86, 87, 38, 38, 155, 183, 75, 88, 121, 122,
759  154, 89, 91, 104, 38, 38, 90, 183, 38, 38,
760  75, 183, 38, 38, 75, 183, 38, 38, 73, 183,
761  74, 78, 93, 78, 76, 77, 105, 75, 75, 153,
762  92, 44, 44, 38, 38, 94, 183, 38, 38, 138,
763  183, 152, 106, 38, 38, 75, 183, 133, 134, 44,
764  44, 38, 38, 107, 183, 38, 38, 151, 183, 38,
765  38, 150, 183, 38, 38, 149, 183, 108, 38, 38,
766  146, 183, 38, 38, 103, 183, 110, 111, 109, 38,
767  38, 75, 183, 38, 38, 141, 183, 38, 38, 104,
768 
769  183, 140, 38, 38, 112, 183, 75, 139, 136, 75,
770  113, 114, 38, 38, 135, 183, 38, 38, 132, 183,
771  38, 38, 131, 183, 75, 125, 38, 38, 105, 183,
772  123, 124, 38, 38, 120, 183, 38, 38, 119, 183,
773  38, 38, 118, 183, 126, 117, 38, 38, 127, 183,
774  38, 38, 116, 183, 128, 38, 38, 115, 183, 46,
775  129, 38, 38, 130, 183, 143, 38, 38, 80, 183,
776  38, 38, 80, 183, 105, 38, 38, 142, 183, 38,
777  38, 102, 183, 101, 144, 38, 38, 100, 183, 38,
778  38, 99, 183, 98, 145, 38, 38, 97, 183, 38,
779 
780  38, 96, 183, 157, 158, 38, 38, 95, 183, 38,
781  38, 41, 183, 72, 38, 38, 159, 183, 38, 38,
782  71, 183, 168, 38, 38, 70, 183, 38, 38, 69,
783  183, 169, 38, 38, 68, 183, 41, 38, 38, 31,
784  183, 183, 38, 38, 174, 183, 183, 183, 183, 175,
785  179, 183, 38, 38, 178, 183, 38, 38, 183, 183,
786  38, 38, 183, 183, 183, 182, 183, 183, 183, 183,
787  183, 183, 181, 45, 45, 65, 65, 65, 3, 183,
788  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
789  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
790 
791  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
792  183, 183, 183, 183, 183, 183, 183, 183
793  } ;
794 
795 static const flex_int16_t yy_chk[519] =
796  { 0,
797  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
798  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
799  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
800  1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
801  2, 5, 8, 9, 5, 9, 11, 187, 11, 184,
802  14, 8, 14, 29, 29, 8, 8, 16, 16, 14,
803  16, 17, 17, 120, 17, 30, 18, 18, 30, 18,
804  19, 19, 176, 19, 17, 18, 173, 14, 20, 20,
805  120, 20, 21, 21, 171, 21, 166, 20, 22, 22,
806  44, 22, 44, 23, 23, 44, 23, 19, 23, 21,
807 
808  21, 22, 24, 24, 162, 24, 25, 25, 161, 25,
809  26, 26, 24, 26, 160, 25, 28, 27, 27, 24,
810  27, 37, 40, 37, 40, 24, 41, 42, 28, 154,
811  37, 40, 153, 41, 42, 26, 43, 28, 43, 60,
812  60, 28, 28, 45, 45, 43, 45, 152, 37, 40,
813  132, 41, 42, 46, 46, 46, 46, 47, 47, 151,
814  47, 49, 49, 43, 49, 48, 48, 132, 48, 50,
815  50, 150, 50, 65, 65, 149, 50, 47, 67, 67,
816  46, 48, 51, 51, 148, 51, 147, 52, 52, 49,
817  52, 53, 53, 146, 53, 54, 54, 141, 54, 72,
818 
819  51, 51, 55, 55, 140, 55, 72, 53, 101, 101,
820  139, 54, 55, 73, 56, 56, 54, 56, 57, 57,
821  73, 57, 58, 58, 72, 58, 59, 59, 74, 59,
822  74, 75, 58, 75, 76, 77, 75, 74, 73, 138,
823  57, 76, 77, 82, 82, 59, 82, 83, 83, 137,
824  83, 136, 83, 84, 84, 74, 84, 117, 117, 76,
825  77, 85, 85, 84, 85, 86, 86, 135, 86, 87,
826  87, 134, 87, 88, 88, 133, 88, 85, 89, 89,
827  131, 89, 90, 90, 103, 90, 88, 89, 86, 91,
828  91, 103, 91, 92, 92, 123, 92, 93, 93, 104,
829 
830  93, 122, 94, 94, 90, 94, 104, 121, 119, 103,
831  93, 94, 106, 106, 118, 106, 107, 107, 116, 107,
832  108, 108, 115, 108, 104, 107, 109, 109, 105, 109,
833  102, 106, 110, 110, 100, 110, 111, 111, 99, 111,
834  112, 112, 98, 112, 108, 97, 113, 113, 109, 113,
835  114, 114, 96, 114, 110, 124, 124, 95, 124, 81,
836  112, 125, 125, 113, 125, 126, 126, 126, 80, 126,
837  127, 127, 79, 127, 78, 128, 128, 125, 128, 129,
838  129, 71, 129, 70, 129, 130, 130, 69, 130, 142,
839  142, 68, 142, 64, 130, 143, 143, 63, 143, 144,
840 
841  144, 62, 144, 143, 143, 145, 145, 61, 145, 157,
842  157, 39, 157, 36, 158, 158, 144, 158, 159, 159,
843  35, 159, 157, 168, 168, 34, 168, 169, 169, 33,
844  169, 158, 174, 174, 32, 174, 12, 175, 175, 7,
845  175, 3, 178, 178, 168, 178, 0, 0, 0, 169,
846  175, 0, 179, 179, 174, 179, 181, 181, 0, 181,
847  182, 182, 0, 182, 0, 181, 0, 0, 0, 0,
848  0, 0, 179, 185, 185, 186, 186, 186, 183, 183,
849  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
850  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
851 
852  183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
853  183, 183, 183, 183, 183, 183, 183, 183
854  } ;
855 
856 static yy_state_type yy_last_accepting_state;
857 static char *yy_last_accepting_cpos;
858 
859 extern int yy_flex_debug;
861 
862 /* The intent behind this definition is that it'll catch
863  * any uses of REJECT which flex missed.
864  */
865 #define REJECT reject_used_but_not_detected
866 #define yymore() yymore_used_but_not_detected
867 #define YY_MORE_ADJ 0
868 #define YY_RESTORE_YY_MORE_OFFSET
869 char *yytext;
870 #line 1 "hecmw_ctrllex.l"
871 #line 2 "hecmw_ctrllex.l"
872 #include <string.h>
873 #include <errno.h>
874 #include "hecmw_ctrllex.h"
875 #include "hecmw_util.h"
876 
877 typedef union {
878  double dval;
879  char *str;
880 } YYSTYPE;
881 
882 static YYSTYPE yylval;
883 static int lineno;
884 static int flag_header;
885 
886 static void set_flag_header(int flag);
887 #line 888 "<stdout>"
888 #line 889 "<stdout>"
889 
890 #define INITIAL 0
891 
892 #ifndef YY_NO_UNISTD_H
893 /* Special case for "unistd.h", since it is non-ANSI. We include it way
894  * down here because we want the user's section 1 to have been scanned first.
895  * The user has a chance to override it with an option.
896  */
897 #include <unistd.h>
898 #endif
899 
900 #ifndef YY_EXTRA_TYPE
901 #define YY_EXTRA_TYPE void *
902 #endif
903 
904 static int yy_init_globals ( void );
905 
906 /* Accessor methods to globals.
907  These are made visible to non-reentrant scanners for convenience. */
908 
909 int yylex_destroy ( void );
910 
911 int yyget_debug ( void );
912 
913 void yyset_debug ( int debug_flag );
914 
915 YY_EXTRA_TYPE yyget_extra ( void );
916 
917 void yyset_extra ( YY_EXTRA_TYPE user_defined );
918 
919 FILE *yyget_in ( void );
920 
921 void yyset_in ( FILE * _in_str );
922 
923 FILE *yyget_out ( void );
924 
925 void yyset_out ( FILE * _out_str );
926 
927  int yyget_leng ( void );
928 
929 char *yyget_text ( void );
930 
931 int yyget_lineno ( void );
932 
933 void yyset_lineno ( int _line_number );
934 
935 /* Macros after this point can all be overridden by user definitions in
936  * section 1.
937  */
938 
939 #ifndef YY_SKIP_YYWRAP
940 #ifdef __cplusplus
941 extern "C" int yywrap ( void );
942 #else
943 extern int yywrap ( void );
944 #endif
945 #endif
946 
947 #ifndef YY_NO_UNPUT
948 
949 #endif
950 
951 #ifndef yytext_ptr
952 static void yy_flex_strncpy ( char *, const char *, int );
953 #endif
954 
955 #ifdef YY_NEED_STRLEN
956 static int yy_flex_strlen ( const char * );
957 #endif
958 
959 #ifndef YY_NO_INPUT
960 #ifdef __cplusplus
961 static int yyinput ( void );
962 #else
963 static int input ( void );
964 #endif
965 
966 #endif
967 
968 /* Amount of stuff to slurp up with each read. */
969 #ifndef YY_READ_BUF_SIZE
970 #ifdef __ia64__
971 /* On IA-64, the buffer size is 16k, not 8k */
972 #define YY_READ_BUF_SIZE 16384
973 #else
974 #define YY_READ_BUF_SIZE 8192
975 #endif /* __ia64__ */
976 #endif
977 
978 /* Copy whatever the last rule matched to the standard output. */
979 #ifndef ECHO
980 /* This used to be an fputs(), but since the string might contain NUL's,
981  * we now use fwrite().
982  */
983 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
984 #endif
985 
986 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
987  * is returned in "result".
988  */
989 #ifndef YY_INPUT
990 #define YY_INPUT(buf,result,max_size) \
991  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
992  { \
993  int c = '*'; \
994  int n; \
995  for ( n = 0; n < max_size && \
996  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
997  buf[n] = (char) c; \
998  if ( c == '\n' ) \
999  buf[n++] = (char) c; \
1000  if ( c == EOF && ferror( yyin ) ) \
1001  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1002  result = n; \
1003  } \
1004  else \
1005  { \
1006  errno=0; \
1007  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1008  { \
1009  if( errno != EINTR) \
1010  { \
1011  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1012  break; \
1013  } \
1014  errno=0; \
1015  clearerr(yyin); \
1016  } \
1017  }\
1018 \
1019 
1020 #endif
1021 
1022 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1023  * we don't want an extra ';' after the "return" because that will cause
1024  * some compilers to complain about unreachable statements.
1025  */
1026 #ifndef yyterminate
1027 #define yyterminate() return YY_NULL
1028 #endif
1029 
1030 /* Number of entries by which start-condition stack grows. */
1031 #ifndef YY_START_STACK_INCR
1032 #define YY_START_STACK_INCR 25
1033 #endif
1034 
1035 /* Report a fatal error. */
1036 #ifndef YY_FATAL_ERROR
1037 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1038 #endif
1039 
1040 /* end tables serialization structures and prototypes */
1041 
1042 /* Default declaration of generated scanner - a define so the user can
1043  * easily add parameters.
1044  */
1045 #ifndef YY_DECL
1046 #define YY_DECL_IS_OURS 1
1047 
1048 extern int yylex (void);
1049 
1050 #define YY_DECL int yylex (void)
1051 #endif /* !YY_DECL */
1052 
1053 /* Code executed at the beginning of each rule, after yytext and yyleng
1054  * have been set up.
1055  */
1056 #ifndef YY_USER_ACTION
1057 #define YY_USER_ACTION
1058 #endif
1059 
1060 /* Code executed at the end of each rule. */
1061 #ifndef YY_BREAK
1062 #define YY_BREAK /*LINTED*/break;
1063 #endif
1064 
1065 #define YY_RULE_SETUP \
1066  if ( yyleng > 0 ) \
1067  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1068  (yytext[yyleng - 1] == '\n'); \
1069  YY_USER_ACTION
1070 
1074 {
1075  yy_state_type yy_current_state;
1076  char *yy_cp, *yy_bp;
1077  int yy_act;
1078 
1079  if ( !(yy_init) )
1080  {
1081  (yy_init) = 1;
1082 
1083 #ifdef YY_USER_INIT
1084  YY_USER_INIT;
1085 #endif
1086 
1087  if ( ! (yy_start) )
1088  (yy_start) = 1; /* first start state */
1089 
1090  if ( ! yyin )
1091  yyin = stdin;
1092 
1093  if ( ! yyout )
1094  yyout = stdout;
1095 
1096  if ( ! YY_CURRENT_BUFFER ) {
1100  }
1101 
1103  }
1104 
1105  {
1106 #line 30 "hecmw_ctrllex.l"
1107 
1108 
1109 #line 1110 "<stdout>"
1110 
1111  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1112  {
1113  yy_cp = (yy_c_buf_p);
1114 
1115  /* Support of yytext. */
1116  *yy_cp = (yy_hold_char);
1117 
1118  /* yy_bp points to the position in yy_ch_buf of the start of
1119  * the current run.
1120  */
1121  yy_bp = yy_cp;
1122 
1123  yy_current_state = (yy_start);
1124  yy_current_state += YY_AT_BOL();
1125 yy_match:
1126  do
1127  {
1128  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1129  if ( yy_accept[yy_current_state] )
1130  {
1131  (yy_last_accepting_state) = yy_current_state;
1132  (yy_last_accepting_cpos) = yy_cp;
1133  }
1134  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1135  {
1136  yy_current_state = (int) yy_def[yy_current_state];
1137  if ( yy_current_state >= 184 )
1138  yy_c = yy_meta[yy_c];
1139  }
1140  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1141  ++yy_cp;
1142  }
1143  while ( yy_base[yy_current_state] != 479 );
1144 
1145 yy_find_action:
1146  yy_act = yy_accept[yy_current_state];
1147  if ( yy_act == 0 )
1148  { /* have to back up */
1149  yy_cp = (yy_last_accepting_cpos);
1150  yy_current_state = (yy_last_accepting_state);
1151  yy_act = yy_accept[yy_current_state];
1152  }
1153 
1155 
1156 do_action: /* This label is used only to access EOF actions. */
1157 
1158  switch ( yy_act )
1159  { /* beginning of action switch */
1160  case 0: /* must back up */
1161  /* undo the effects of YY_DO_BEFORE_ACTION */
1162  *yy_cp = (yy_hold_char);
1163  yy_cp = (yy_last_accepting_cpos);
1164  yy_current_state = (yy_last_accepting_state);
1165  goto yy_find_action;
1166 
1167 case 1:
1168 /* rule 1 can match eol */
1170 #line 32 "hecmw_ctrllex.l"
1171 { lineno++; set_flag_header(0); }
1172  YY_BREAK
1173 case 2:
1175 #line 33 "hecmw_ctrllex.l"
1176 { set_flag_header(0); }
1177  YY_BREAK
1178 case 3:
1179 /* rule 3 can match eol */
1181 #line 34 "hecmw_ctrllex.l"
1182 { lineno++; set_flag_header(0); return HECMW_CTRLLEX_NL; }
1183  YY_BREAK
1184 case 4:
1186 #line 36 "hecmw_ctrllex.l"
1187 { set_flag_header(1); return HECMW_CTRLLEX_H_CONTROL; }
1188  YY_BREAK
1189 case 5:
1191 #line 37 "hecmw_ctrllex.l"
1192 { return flag_header ? HECMW_CTRLLEX_H_CONTROL : ' '; }
1193  YY_BREAK
1194 case 6:
1196 #line 38 "hecmw_ctrllex.l"
1197 { set_flag_header(1); return HECMW_CTRLLEX_H_MESH; }
1198  YY_BREAK
1199 case 7:
1201 #line 39 "hecmw_ctrllex.l"
1202 { return flag_header ? HECMW_CTRLLEX_H_MESH : ' '; }
1203  YY_BREAK
1204 case 8:
1206 #line 40 "hecmw_ctrllex.l"
1207 { set_flag_header(1); return HECMW_CTRLLEX_H_MESH_GROUP; }
1208  YY_BREAK
1209 case 9:
1211 #line 41 "hecmw_ctrllex.l"
1212 { return flag_header ? HECMW_CTRLLEX_H_MESH_GROUP : ' '; }
1213  YY_BREAK
1214 case 10:
1216 #line 42 "hecmw_ctrllex.l"
1217 { set_flag_header(1); return HECMW_CTRLLEX_H_RESULT; }
1218  YY_BREAK
1219 case 11:
1221 #line 43 "hecmw_ctrllex.l"
1222 { return flag_header ? HECMW_CTRLLEX_H_RESULT : ' '; }
1223  YY_BREAK
1224 case 12:
1226 #line 44 "hecmw_ctrllex.l"
1227 { set_flag_header(1); return HECMW_CTRLLEX_H_RESTART; }
1228  YY_BREAK
1229 case 13:
1231 #line 45 "hecmw_ctrllex.l"
1232 { return flag_header ? HECMW_CTRLLEX_H_RESTART : ' '; }
1233  YY_BREAK
1234 case 14:
1236 #line 46 "hecmw_ctrllex.l"
1237 { set_flag_header(1); return HECMW_CTRLLEX_H_SUBDIR; }
1238  YY_BREAK
1239 case 15:
1241 #line 47 "hecmw_ctrllex.l"
1242 { return flag_header ? HECMW_CTRLLEX_H_SUBDIR : ' '; }
1243  YY_BREAK
1244 case 16:
1246 #line 49 "hecmw_ctrllex.l"
1247 { set_flag_header(0); return HECMW_CTRLLEX_K_INP; }
1248  YY_BREAK
1249 case 17:
1251 #line 50 "hecmw_ctrllex.l"
1252 { set_flag_header(0); return HECMW_CTRLLEX_K_DIR; }
1253  YY_BREAK
1254 case 18:
1256 #line 51 "hecmw_ctrllex.l"
1257 { set_flag_header(0); return HECMW_CTRLLEX_K_FEMAP; }
1258  YY_BREAK
1259 case 19:
1261 #line 52 "hecmw_ctrllex.l"
1262 { set_flag_header(0); return HECMW_CTRLLEX_K_GEOFEM; }
1263  YY_BREAK
1264 case 20:
1266 #line 53 "hecmw_ctrllex.l"
1267 { set_flag_header(0); return HECMW_CTRLLEX_K_HECMW_DIST; }
1268  YY_BREAK
1269 case 21:
1271 #line 54 "hecmw_ctrllex.l"
1272 { set_flag_header(0); return HECMW_CTRLLEX_K_HECMW_ENTIRE; }
1273  YY_BREAK
1274 case 22:
1276 #line 55 "hecmw_ctrllex.l"
1277 { set_flag_header(0); return HECMW_CTRLLEX_K_IN; }
1278  YY_BREAK
1279 case 23:
1281 #line 56 "hecmw_ctrllex.l"
1282 { set_flag_header(0); return HECMW_CTRLLEX_K_INOUT; }
1283  YY_BREAK
1284 case 24:
1286 #line 57 "hecmw_ctrllex.l"
1287 { set_flag_header(0); return HECMW_CTRLLEX_K_IO; }
1288  YY_BREAK
1289 case 25:
1291 #line 58 "hecmw_ctrllex.l"
1292 { set_flag_header(0); return HECMW_CTRLLEX_K_LIMIT; }
1293  YY_BREAK
1294 case 26:
1296 #line 59 "hecmw_ctrllex.l"
1297 { set_flag_header(0); return HECMW_CTRLLEX_K_NAME; }
1298  YY_BREAK
1299 case 27:
1301 #line 60 "hecmw_ctrllex.l"
1302 { set_flag_header(0); return HECMW_CTRLLEX_K_NASTRAN; }
1303  YY_BREAK
1304 case 28:
1306 #line 61 "hecmw_ctrllex.l"
1307 { set_flag_header(0); return HECMW_CTRLLEX_K_ON; }
1308  YY_BREAK
1309 case 29:
1311 #line 62 "hecmw_ctrllex.l"
1312 { set_flag_header(0); return HECMW_CTRLLEX_K_OFF; }
1313  YY_BREAK
1314 case 30:
1316 #line 63 "hecmw_ctrllex.l"
1317 { set_flag_header(0); return HECMW_CTRLLEX_K_OUT; }
1318  YY_BREAK
1319 case 31:
1321 #line 64 "hecmw_ctrllex.l"
1322 { set_flag_header(0); return HECMW_CTRLLEX_K_REFINE; }
1323  YY_BREAK
1324 case 32:
1326 #line 65 "hecmw_ctrllex.l"
1327 { set_flag_header(0); return HECMW_CTRLLEX_K_TYPE; }
1328  YY_BREAK
1329 case 33:
1331 #line 68 "hecmw_ctrllex.l"
1332 { set_flag_header(0); return '='; }
1333  YY_BREAK
1334 case 34:
1336 #line 69 "hecmw_ctrllex.l"
1337 { set_flag_header(0); return ','; }
1338  YY_BREAK
1339 case 35:
1341 #line 71 "hecmw_ctrllex.l"
1342 {
1343  yylval.dval = atof(yytext);
1344  set_flag_header(0);
1345  return HECMW_CTRLLEX_INT;
1346  }
1347  YY_BREAK
1348 case 36:
1350 #line 76 "hecmw_ctrllex.l"
1351 {
1352  yylval.dval = atof(yytext);
1353  set_flag_header(0);
1354  return HECMW_CTRLLEX_DOUBLE;
1355  }
1356  YY_BREAK
1357 case 37:
1359 #line 81 "hecmw_ctrllex.l"
1360 {
1361  yylval.str = yytext;
1362  set_flag_header(0);
1363  return HECMW_CTRLLEX_NAME;
1364  }
1365  YY_BREAK
1366 case 38:
1368 #line 86 "hecmw_ctrllex.l"
1369 {
1370  yylval.str = yytext;
1371  set_flag_header(0);
1372  return HECMW_CTRLLEX_FILENAME;
1373  }
1374  YY_BREAK
1375 case 39:
1377 #line 91 "hecmw_ctrllex.l"
1378 { set_flag_header(0); return yytext[0]; }
1379  YY_BREAK
1380 case YY_STATE_EOF(INITIAL):
1381 #line 92 "hecmw_ctrllex.l"
1382 { return 0; }
1383  YY_BREAK
1384 case 40:
1386 #line 94 "hecmw_ctrllex.l"
1387 ECHO;
1388  YY_BREAK
1389 #line 1390 "<stdout>"
1390 
1391  case YY_END_OF_BUFFER:
1392  {
1393  /* Amount of text matched not including the EOB char. */
1394  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1395 
1396  /* Undo the effects of YY_DO_BEFORE_ACTION. */
1397  *yy_cp = (yy_hold_char);
1399 
1400  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1401  {
1402  /* We're scanning a new file or input source. It's
1403  * possible that this happened because the user
1404  * just pointed yyin at a new source and called
1405  * yylex(). If so, then we have to assure
1406  * consistency between YY_CURRENT_BUFFER and our
1407  * globals. Here is the right place to do so, because
1408  * this is the first action (other than possibly a
1409  * back-up) that will match for the new input source.
1410  */
1411  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1412  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1413  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1414  }
1415 
1416  /* Note that here we test for yy_c_buf_p "<=" to the position
1417  * of the first EOB in the buffer, since yy_c_buf_p will
1418  * already have been incremented past the NUL character
1419  * (since all states make transitions on EOB to the
1420  * end-of-buffer state). Contrast this with the test
1421  * in input().
1422  */
1423  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1424  { /* This was really a NUL. */
1425  yy_state_type yy_next_state;
1426 
1427  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1428 
1429  yy_current_state = yy_get_previous_state( );
1430 
1431  /* Okay, we're now positioned to make the NUL
1432  * transition. We couldn't have
1433  * yy_get_previous_state() go ahead and do it
1434  * for us because it doesn't know how to deal
1435  * with the possibility of jamming (and we don't
1436  * want to build jamming into it because then it
1437  * will run more slowly).
1438  */
1439 
1440  yy_next_state = yy_try_NUL_trans( yy_current_state );
1441 
1443 
1444  if ( yy_next_state )
1445  {
1446  /* Consume the NUL. */
1447  yy_cp = ++(yy_c_buf_p);
1448  yy_current_state = yy_next_state;
1449  goto yy_match;
1450  }
1451 
1452  else
1453  {
1454  yy_cp = (yy_c_buf_p);
1455  goto yy_find_action;
1456  }
1457  }
1458 
1459  else switch ( yy_get_next_buffer( ) )
1460  {
1461  case EOB_ACT_END_OF_FILE:
1462  {
1463  (yy_did_buffer_switch_on_eof) = 0;
1464 
1465  if ( yywrap( ) )
1466  {
1467  /* Note: because we've taken care in
1468  * yy_get_next_buffer() to have set up
1469  * yytext, we can now set up
1470  * yy_c_buf_p so that if some total
1471  * hoser (like flex itself) wants to
1472  * call the scanner after we return the
1473  * YY_NULL, it'll still work - another
1474  * YY_NULL will get returned.
1475  */
1476  (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1477 
1479  goto do_action;
1480  }
1481 
1482  else
1483  {
1484  if ( ! (yy_did_buffer_switch_on_eof) )
1485  YY_NEW_FILE;
1486  }
1487  break;
1488  }
1489 
1490  case EOB_ACT_CONTINUE_SCAN:
1491  (yy_c_buf_p) =
1492  (yytext_ptr) + yy_amount_of_matched_text;
1493 
1494  yy_current_state = yy_get_previous_state( );
1495 
1496  yy_cp = (yy_c_buf_p);
1498  goto yy_match;
1499 
1500  case EOB_ACT_LAST_MATCH:
1501  (yy_c_buf_p) =
1502  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1503 
1504  yy_current_state = yy_get_previous_state( );
1505 
1506  yy_cp = (yy_c_buf_p);
1508  goto yy_find_action;
1509  }
1510  break;
1511  }
1512 
1513  default:
1515  "fatal flex scanner internal error--no action found" );
1516  } /* end of action switch */
1517  } /* end of scanning one token */
1518  } /* end of user's declarations */
1519 } /* end of yylex */
1520 
1521 /* yy_get_next_buffer - try to read in a new buffer
1522  *
1523  * Returns a code representing an action:
1524  * EOB_ACT_LAST_MATCH -
1525  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1526  * EOB_ACT_END_OF_FILE - end of file
1527  */
1528 static int yy_get_next_buffer (void)
1529 {
1530  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1531  char *source = (yytext_ptr);
1532  int number_to_move, i;
1533  int ret_val;
1534 
1535  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1537  "fatal flex scanner internal error--end of buffer missed" );
1538 
1539  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1540  { /* Don't try to fill the buffer, so this is an EOF. */
1541  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1542  {
1543  /* We matched a single character, the EOB, so
1544  * treat this as a final EOF.
1545  */
1546  return EOB_ACT_END_OF_FILE;
1547  }
1548 
1549  else
1550  {
1551  /* We matched some text prior to the EOB, first
1552  * process it.
1553  */
1554  return EOB_ACT_LAST_MATCH;
1555  }
1556  }
1557 
1558  /* Try to read more data. */
1559 
1560  /* First move last chars to start of buffer. */
1561  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
1562 
1563  for ( i = 0; i < number_to_move; ++i )
1564  *(dest++) = *(source++);
1565 
1566  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1567  /* don't do the read, it's not guaranteed to return an EOF,
1568  * just force an EOF
1569  */
1570  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1571 
1572  else
1573  {
1574  int num_to_read =
1575  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1576 
1577  while ( num_to_read <= 0 )
1578  { /* Not enough room in the buffer - grow it. */
1579 
1580  /* just a shorter name for the current buffer */
1582 
1583  int yy_c_buf_p_offset =
1584  (int) ((yy_c_buf_p) - b->yy_ch_buf);
1585 
1586  if ( b->yy_is_our_buffer )
1587  {
1588  int new_size = b->yy_buf_size * 2;
1589 
1590  if ( new_size <= 0 )
1591  b->yy_buf_size += b->yy_buf_size / 8;
1592  else
1593  b->yy_buf_size *= 2;
1594 
1595  b->yy_ch_buf = (char *)
1596  /* Include room in for 2 EOB chars. */
1597  yyrealloc( (void *) b->yy_ch_buf,
1598  (yy_size_t) (b->yy_buf_size + 2) );
1599  }
1600  else
1601  /* Can't grow it, we don't own it. */
1602  b->yy_ch_buf = NULL;
1603 
1604  if ( ! b->yy_ch_buf )
1606  "fatal error - scanner input buffer overflow" );
1607 
1608  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1609 
1610  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1611  number_to_move - 1;
1612 
1613  }
1614 
1615  if ( num_to_read > YY_READ_BUF_SIZE )
1616  num_to_read = YY_READ_BUF_SIZE;
1617 
1618  /* Read in more data. */
1619  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1620  (yy_n_chars), num_to_read );
1621 
1622  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1623  }
1624 
1625  if ( (yy_n_chars) == 0 )
1626  {
1627  if ( number_to_move == YY_MORE_ADJ )
1628  {
1629  ret_val = EOB_ACT_END_OF_FILE;
1630  yyrestart( yyin );
1631  }
1632 
1633  else
1634  {
1635  ret_val = EOB_ACT_LAST_MATCH;
1636  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1638  }
1639  }
1640 
1641  else
1642  ret_val = EOB_ACT_CONTINUE_SCAN;
1643 
1644  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1645  /* Extend the array by 50%, plus the number we really need. */
1646  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1647  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
1648  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
1649  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1650  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1651  /* "- 2" to take care of EOB's */
1652  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
1653  }
1654 
1655  (yy_n_chars) += number_to_move;
1656  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1657  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1658 
1659  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1660 
1661  return ret_val;
1662 }
1663 
1664 /* yy_get_previous_state - get the state just before the EOB char was reached */
1665 
1666  static yy_state_type yy_get_previous_state (void)
1667 {
1668  yy_state_type yy_current_state;
1669  char *yy_cp;
1670 
1671  yy_current_state = (yy_start);
1672  yy_current_state += YY_AT_BOL();
1673 
1674  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1675  {
1676  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1677  if ( yy_accept[yy_current_state] )
1678  {
1679  (yy_last_accepting_state) = yy_current_state;
1680  (yy_last_accepting_cpos) = yy_cp;
1681  }
1682  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1683  {
1684  yy_current_state = (int) yy_def[yy_current_state];
1685  if ( yy_current_state >= 184 )
1686  yy_c = yy_meta[yy_c];
1687  }
1688  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1689  }
1690 
1691  return yy_current_state;
1692 }
1693 
1694 /* yy_try_NUL_trans - try to make a transition on the NUL character
1695  *
1696  * synopsis
1697  * next_state = yy_try_NUL_trans( current_state );
1698  */
1699  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1700 {
1701  int yy_is_jam;
1702  char *yy_cp = (yy_c_buf_p);
1703 
1704  YY_CHAR yy_c = 1;
1705  if ( yy_accept[yy_current_state] )
1706  {
1707  (yy_last_accepting_state) = yy_current_state;
1708  (yy_last_accepting_cpos) = yy_cp;
1709  }
1710  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1711  {
1712  yy_current_state = (int) yy_def[yy_current_state];
1713  if ( yy_current_state >= 184 )
1714  yy_c = yy_meta[yy_c];
1715  }
1716  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1717  yy_is_jam = (yy_current_state == 183);
1718 
1719  return yy_is_jam ? 0 : yy_current_state;
1720 }
1721 
1722 #ifndef YY_NO_UNPUT
1723 
1724 #endif
1725 
1726 #ifndef YY_NO_INPUT
1727 #ifdef __cplusplus
1728  static int yyinput (void)
1729 #else
1730  static int input (void)
1731 #endif
1732 
1733 {
1734  int c;
1735 
1736  *(yy_c_buf_p) = (yy_hold_char);
1737 
1738  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1739  {
1740  /* yy_c_buf_p now points to the character we want to return.
1741  * If this occurs *before* the EOB characters, then it's a
1742  * valid NUL; if not, then we've hit the end of the buffer.
1743  */
1744  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1745  /* This was really a NUL. */
1746  *(yy_c_buf_p) = '\0';
1747 
1748  else
1749  { /* need more input */
1750  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
1751  ++(yy_c_buf_p);
1752 
1753  switch ( yy_get_next_buffer( ) )
1754  {
1755  case EOB_ACT_LAST_MATCH:
1756  /* This happens because yy_g_n_b()
1757  * sees that we've accumulated a
1758  * token and flags that we need to
1759  * try matching the token before
1760  * proceeding. But for input(),
1761  * there's no matching to consider.
1762  * So convert the EOB_ACT_LAST_MATCH
1763  * to EOB_ACT_END_OF_FILE.
1764  */
1765 
1766  /* Reset buffer status. */
1767  yyrestart( yyin );
1768 
1769  /*FALLTHROUGH*/
1770 
1771  case EOB_ACT_END_OF_FILE:
1772  {
1773  if ( yywrap( ) )
1774  return 0;
1775 
1776  if ( ! (yy_did_buffer_switch_on_eof) )
1777  YY_NEW_FILE;
1778 #ifdef __cplusplus
1779  return yyinput();
1780 #else
1781  return input();
1782 #endif
1783  }
1784 
1785  case EOB_ACT_CONTINUE_SCAN:
1786  (yy_c_buf_p) = (yytext_ptr) + offset;
1787  break;
1788  }
1789  }
1790  }
1791 
1792  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
1793  *(yy_c_buf_p) = '\0'; /* preserve yytext */
1794  (yy_hold_char) = *++(yy_c_buf_p);
1795 
1796  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
1797 
1798  return c;
1799 }
1800 #endif /* ifndef YY_NO_INPUT */
1801 
1807  void yyrestart (FILE * input_file )
1808 {
1809 
1810  if ( ! YY_CURRENT_BUFFER ){
1814  }
1815 
1816  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
1818 }
1819 
1824  void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
1825 {
1826 
1827  /* TODO. We should be able to replace this entire function body
1828  * with
1829  * yypop_buffer_state();
1830  * yypush_buffer_state(new_buffer);
1831  */
1833  if ( YY_CURRENT_BUFFER == new_buffer )
1834  return;
1835 
1836  if ( YY_CURRENT_BUFFER )
1837  {
1838  /* Flush out information for old buffer. */
1839  *(yy_c_buf_p) = (yy_hold_char);
1840  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1841  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1842  }
1843 
1844  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1846 
1847  /* We don't actually know whether we did this switch during
1848  * EOF (yywrap()) processing, but the only time this flag
1849  * is looked at is after yywrap() is called, so it's safe
1850  * to go ahead and always set it.
1851  */
1852  (yy_did_buffer_switch_on_eof) = 1;
1853 }
1854 
1855 static void yy_load_buffer_state (void)
1856 {
1857  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1858  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1859  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1860  (yy_hold_char) = *(yy_c_buf_p);
1861 }
1862 
1869  YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
1870 {
1871  YY_BUFFER_STATE b;
1872 
1873  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
1874  if ( ! b )
1875  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1876 
1877  b->yy_buf_size = size;
1878 
1879  /* yy_ch_buf has to be 2 characters longer than the size given because
1880  * we need to put in 2 end-of-buffer characters.
1881  */
1882  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
1883  if ( ! b->yy_ch_buf )
1884  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1885 
1886  b->yy_is_our_buffer = 1;
1887 
1888  yy_init_buffer( b, file );
1889 
1890  return b;
1891 }
1892 
1898 {
1899 
1900  if ( ! b )
1901  return;
1902 
1903  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1905 
1906  if ( b->yy_is_our_buffer )
1907  yyfree( (void *) b->yy_ch_buf );
1908 
1909  yyfree( (void *) b );
1910 }
1911 
1912 /* Initializes or reinitializes a buffer.
1913  * This function is sometimes called more than once on the same buffer,
1914  * such as during a yyrestart() or at EOF.
1915  */
1916  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
1917 
1918 {
1919  int oerrno = errno;
1920 
1921  yy_flush_buffer( b );
1922 
1923  b->yy_input_file = file;
1924  b->yy_fill_buffer = 1;
1925 
1926  /* If b is the current buffer, then yy_init_buffer was _probably_
1927  * called from yyrestart() or through yy_get_next_buffer.
1928  * In that case, we don't want to reset the lineno or column.
1929  */
1930  if (b != YY_CURRENT_BUFFER){
1931  b->yy_bs_lineno = 1;
1932  b->yy_bs_column = 0;
1933  }
1934 
1935  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1936 
1937  errno = oerrno;
1938 }
1939 
1945 {
1946  if ( ! b )
1947  return;
1948 
1949  b->yy_n_chars = 0;
1950 
1951  /* We always need two end-of-buffer characters. The first causes
1952  * a transition to the end-of-buffer state. The second causes
1953  * a jam in that state.
1954  */
1957 
1958  b->yy_buf_pos = &b->yy_ch_buf[0];
1959 
1960  b->yy_at_bol = 1;
1962 
1963  if ( b == YY_CURRENT_BUFFER )
1965 }
1966 
1973 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
1974 {
1975  if (new_buffer == NULL)
1976  return;
1977 
1979 
1980  /* This block is copied from yy_switch_to_buffer. */
1981  if ( YY_CURRENT_BUFFER )
1982  {
1983  /* Flush out information for old buffer. */
1984  *(yy_c_buf_p) = (yy_hold_char);
1985  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1986  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1987  }
1988 
1989  /* Only push if top exists. Otherwise, replace top. */
1990  if (YY_CURRENT_BUFFER)
1991  (yy_buffer_stack_top)++;
1992  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1993 
1994  /* copied from yy_switch_to_buffer. */
1996  (yy_did_buffer_switch_on_eof) = 1;
1997 }
1998 
2003 void yypop_buffer_state (void)
2004 {
2005  if (!YY_CURRENT_BUFFER)
2006  return;
2007 
2010  if ((yy_buffer_stack_top) > 0)
2011  --(yy_buffer_stack_top);
2012 
2013  if (YY_CURRENT_BUFFER) {
2015  (yy_did_buffer_switch_on_eof) = 1;
2016  }
2017 }
2018 
2019 /* Allocates the stack if it does not exist.
2020  * Guarantees space for at least one push.
2021  */
2022 static void yyensure_buffer_stack (void)
2023 {
2024  yy_size_t num_to_alloc;
2025 
2026  if (!(yy_buffer_stack)) {
2027 
2028  /* First allocation is just for 2 elements, since we don't know if this
2029  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2030  * immediate realloc on the next call.
2031  */
2032  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2033  (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2034  (num_to_alloc * sizeof(struct yy_buffer_state*)
2035  );
2036  if ( ! (yy_buffer_stack) )
2037  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2038 
2039  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2040 
2041  (yy_buffer_stack_max) = num_to_alloc;
2042  (yy_buffer_stack_top) = 0;
2043  return;
2044  }
2045 
2046  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2047 
2048  /* Increase the buffer to prepare for a possible push. */
2049  yy_size_t grow_size = 8 /* arbitrary grow size */;
2050 
2051  num_to_alloc = (yy_buffer_stack_max) + grow_size;
2052  (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2053  ((yy_buffer_stack),
2054  num_to_alloc * sizeof(struct yy_buffer_state*)
2055  );
2056  if ( ! (yy_buffer_stack) )
2057  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2058 
2059  /* zero only the new slots.*/
2060  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2061  (yy_buffer_stack_max) = num_to_alloc;
2062  }
2063 }
2064 
2071 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
2072 {
2073  YY_BUFFER_STATE b;
2074 
2075  if ( size < 2 ||
2076  base[size-2] != YY_END_OF_BUFFER_CHAR ||
2077  base[size-1] != YY_END_OF_BUFFER_CHAR )
2078  /* They forgot to leave room for the EOB's. */
2079  return NULL;
2080 
2081  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2082  if ( ! b )
2083  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2084 
2085  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
2086  b->yy_buf_pos = b->yy_ch_buf = base;
2087  b->yy_is_our_buffer = 0;
2088  b->yy_input_file = NULL;
2089  b->yy_n_chars = b->yy_buf_size;
2090  b->yy_is_interactive = 0;
2091  b->yy_at_bol = 1;
2092  b->yy_fill_buffer = 0;
2094 
2095  yy_switch_to_buffer( b );
2096 
2097  return b;
2098 }
2099 
2108 YY_BUFFER_STATE yy_scan_string (const char * yystr )
2109 {
2110 
2111  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2112 }
2113 
2121 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
2122 {
2123  YY_BUFFER_STATE b;
2124  char *buf;
2125  yy_size_t n;
2126  int i;
2127 
2128  /* Get memory for full buffer, including space for trailing EOB's. */
2129  n = (yy_size_t) (_yybytes_len + 2);
2130  buf = (char *) yyalloc( n );
2131  if ( ! buf )
2132  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2133 
2134  for ( i = 0; i < _yybytes_len; ++i )
2135  buf[i] = yybytes[i];
2136 
2137  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2138 
2139  b = yy_scan_buffer( buf, n );
2140  if ( ! b )
2141  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2142 
2143  /* It's okay to grow etc. this buffer, and we should throw it
2144  * away when we're done.
2145  */
2146  b->yy_is_our_buffer = 1;
2147 
2148  return b;
2149 }
2150 
2151 #ifndef YY_EXIT_FAILURE
2152 #define YY_EXIT_FAILURE 2
2153 #endif
2154 
2155 static void yynoreturn yy_fatal_error (const char* msg )
2156 {
2157  fprintf( stderr, "%s\n", msg );
2158  exit( YY_EXIT_FAILURE );
2159 }
2160 
2161 /* Redefine yyless() so it works in section 3 code. */
2162 
2163 #undef yyless
2164 #define yyless(n) \
2165  do \
2166  { \
2167  /* Undo effects of setting up yytext. */ \
2168  int yyless_macro_arg = (n); \
2169  YY_LESS_LINENO(yyless_macro_arg);\
2170  yytext[yyleng] = (yy_hold_char); \
2171  (yy_c_buf_p) = yytext + yyless_macro_arg; \
2172  (yy_hold_char) = *(yy_c_buf_p); \
2173  *(yy_c_buf_p) = '\0'; \
2174  yyleng = yyless_macro_arg; \
2175  } \
2176  while ( 0 )
2177 
2178 /* Accessor methods (get/set functions) to struct members. */
2179 
2183 int yyget_lineno (void)
2184 {
2185 
2186  return yylineno;
2187 }
2188 
2192 FILE *yyget_in (void)
2193 {
2194  return yyin;
2195 }
2196 
2200 FILE *yyget_out (void)
2201 {
2202  return yyout;
2203 }
2204 
2208 int yyget_leng (void)
2209 {
2210  return yyleng;
2211 }
2212 
2217 char *yyget_text (void)
2218 {
2219  return yytext;
2220 }
2221 
2226 void yyset_lineno (int _line_number )
2227 {
2228 
2229  yylineno = _line_number;
2230 }
2231 
2238 void yyset_in (FILE * _in_str )
2239 {
2240  yyin = _in_str ;
2241 }
2242 
2243 void yyset_out (FILE * _out_str )
2244 {
2245  yyout = _out_str ;
2246 }
2247 
2248 int yyget_debug (void)
2249 {
2250  return yy_flex_debug;
2251 }
2252 
2253 void yyset_debug (int _bdebug )
2254 {
2255  yy_flex_debug = _bdebug ;
2256 }
2257 
2258 static int yy_init_globals (void)
2259 {
2260  /* Initialization is the same as for the non-reentrant scanner.
2261  * This function is called from yylex_destroy(), so don't allocate here.
2262  */
2263 
2264  (yy_buffer_stack) = NULL;
2265  (yy_buffer_stack_top) = 0;
2266  (yy_buffer_stack_max) = 0;
2267  (yy_c_buf_p) = NULL;
2268  (yy_init) = 0;
2269  (yy_start) = 0;
2270 
2271 /* Defined in main.c */
2272 #ifdef YY_STDINIT
2273  yyin = stdin;
2274  yyout = stdout;
2275 #else
2276  yyin = NULL;
2277  yyout = NULL;
2278 #endif
2279 
2280  /* For future reference: Set errno on error, since we are called by
2281  * yylex_init()
2282  */
2283  return 0;
2284 }
2285 
2286 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2287 int yylex_destroy (void)
2288 {
2289 
2290  /* Pop the buffer stack, destroying each element. */
2291  while(YY_CURRENT_BUFFER){
2295  }
2296 
2297  /* Destroy the stack itself. */
2298  yyfree((yy_buffer_stack) );
2299  (yy_buffer_stack) = NULL;
2300 
2301  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2302  * yylex() is called, initialization will occur. */
2303  yy_init_globals( );
2304 
2305  return 0;
2306 }
2307 
2308 /*
2309  * Internal utility routines.
2310  */
2311 
2312 #ifndef yytext_ptr
2313 static void yy_flex_strncpy (char* s1, const char * s2, int n )
2314 {
2315 
2316  int i;
2317  for ( i = 0; i < n; ++i )
2318  s1[i] = s2[i];
2319 }
2320 #endif
2321 
2322 #ifdef YY_NEED_STRLEN
2323 static int yy_flex_strlen (const char * s )
2324 {
2325  int n;
2326  for ( n = 0; s[n]; ++n )
2327  ;
2328 
2329  return n;
2330 }
2331 #endif
2332 
2333 void *yyalloc (yy_size_t size )
2334 {
2335  return malloc(size);
2336 }
2337 
2338 void *yyrealloc (void * ptr, yy_size_t size )
2339 {
2340 
2341  /* The cast to (char *) in the following accommodates both
2342  * implementations that use char* generic pointers, and those
2343  * that use void* generic pointers. It works with the latter
2344  * because both ANSI C and C++ allow castless assignment from
2345  * any pointer type to void*, and deal with argument conversions
2346  * as though doing an assignment.
2347  */
2348  return realloc(ptr, size);
2349 }
2350 
2351 void yyfree (void * ptr )
2352 {
2353  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2354 }
2355 
2356 #define YYTABLES_NAME "yytables"
2357 
2358 #line 94 "hecmw_ctrllex.l"
2359 
2360 
2361 static void
2362 set_flag_header(int flag)
2363 {
2364  flag_header = flag ? 1 : 0;
2365 }
2366 
2367 
2368 int
2370 {
2371  return lineno;
2372 }
2373 
2374 
2375 double
2377 {
2378  return yylval.dval;
2379 }
2380 
2381 
2382 char *
2384 {
2385  return yytext;
2386 }
2387 
2388 
2389 int
2391 {
2392  return yylex();
2393 }
2394 
2395 
2396 int
2397 HECMW_ctrllex_next_token_skip(int skip_token)
2398 {
2399  int token;
2400  while((token = yylex())) {
2401  if(token != skip_token) break;
2402  }
2403  return token;
2404 }
2405 
2406 
2407 int
2408 HECMW_ctrllex_set_input(FILE *fp)
2409 {
2410  static int first = 1;
2411  if(fp == NULL) return -1;
2412  if(first) {
2413  yyin = fp;
2414  first = 0;
2415  } else {
2416  yyrestart(fp);
2417  }
2418  lineno = 1;
2419  return 0;
2420 }
2421 
2422 
2423 int
2425 {
2426  int token;
2427  while((token = HECMW_ctrllex_next_token())) {
2428  if(token == HECMW_CTRLLEX_NL) break;
2429  }
2430  return token;
2431 }
2432 
2433 
2434 int
2436 {
2437  char *p = yytext;
2438  while(*p) {
2439  if(*p == '\n') {
2440  lineno--;
2441  }
2442  p++;
2443  }
2444  yyless(0);
2445  return 0;
2446 }
2447 
2448 
2449 int
2450 HECMW_ctrlwrap(void)
2451 {
2452  return 1;
2453 }
2454 
#define yylex_destroy
#define YY_NEW_FILE
#define yyget_extra
#define yyset_extra
#define yyget_leng
unsigned char flex_uint8_t
#define yyset_lineno
#define yyleng
Definition: hecmw_ctrllex.c:22
#define yyrestart
Definition: hecmw_ctrllex.c:26
#define yyset_debug
#define YY_EXTRA_TYPE
#define yyout
Definition: hecmw_ctrllex.c:25
short int flex_int16_t
#define yytext
Definition: hecmw_ctrllex.c:27
unsigned int flex_uint32_t
#define yy_scan_bytes
Definition: hecmw_ctrllex.c:12
#define yylex
Definition: hecmw_ctrllex.c:23
#define YY_BREAK
#define yynoreturn
#define yyget_text
int yy_act
#define yypush_buffer_state
Definition: hecmw_ctrllex.c:17
struct yy_buffer_state * YY_BUFFER_STATE
#define yyfree
Definition: hecmw_ctrllex.c:31
#define YY_BUFFER_NEW
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_lineno
#define yylineno
Definition: hecmw_ctrllex.c:24
#define YY_BUFFER_NORMAL
char * yy_cp
#define yy_scan_buffer
Definition: hecmw_ctrllex.c:10
#define YY_MORE_ADJ
#define YY_RULE_SETUP
#define yy_scan_string
Definition: hecmw_ctrllex.c:11
#define YY_AT_BOL()
#define yy_flex_debug
Definition: hecmw_ctrllex.c:20
#define yytext_ptr
signed char flex_int8_t
#define EOB_ACT_END_OF_FILE
#define yyalloc
Definition: hecmw_ctrllex.c:29
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_debug
int flex_int32_t
#define yyin
Definition: hecmw_ctrllex.c:21
#define YY_START
#define yyensure_buffer_stack
Definition: hecmw_ctrllex.c:19
#define yy_switch_to_buffer
Definition: hecmw_ctrllex.c:16
int yy_state_type
#define YY_CURRENT_BUFFER
#define yy_init_buffer
Definition: hecmw_ctrllex.c:13
#define INITIAL
#define yypop_buffer_state
Definition: hecmw_ctrllex.c:18
#define yyget_in
char * yy_bp
#define YY_READ_BUF_SIZE
#define YY_INPUT(buf, result, max_size)
#define ECHO
#define yy_flush_buffer
Definition: hecmw_ctrllex.c:14
#define yyrealloc
Definition: hecmw_ctrllex.c:30
#define YY_END_OF_BUFFER
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
#define yyget_out
unsigned short int flex_uint16_t
#define yy_create_buffer
Definition: hecmw_ctrllex.c:8
flex_uint8_t YY_CHAR
#define YY_DO_BEFORE_ACTION
#define yy_delete_buffer
Definition: hecmw_ctrllex.c:9
#define EOB_ACT_LAST_MATCH
size_t yy_size_t
#define YY_BUFFER_EOF_PENDING
#define yyset_out
#define EOB_ACT_CONTINUE_SCAN
#define YY_DECL
#define yyless(n)
#define YY_BUF_SIZE
#define YY_EXIT_FAILURE
#define YY_SC_TO_UI(c)
#define yy_load_buffer_state
Definition: hecmw_ctrllex.c:15
#define yywrap
Definition: hecmw_ctrllex.c:28
#define yyset_in
double HECMW_ctrllex_get_number(void)
int HECMW_ctrllex_next_token_skip(int skip_token)
char * HECMW_ctrllex_get_text(void)
int HECMW_ctrllex_unput_token(void)
int HECMW_ctrllex_skip_line(void)
@ HECMW_CTRLLEX_K_IO
Definition: hecmw_ctrllex.h:33
@ HECMW_CTRLLEX_K_NAME
Definition: hecmw_ctrllex.h:35
@ HECMW_CTRLLEX_H_RESULT
Definition: hecmw_ctrllex.h:21
@ HECMW_CTRLLEX_K_REFINE
Definition: hecmw_ctrllex.h:40
@ HECMW_CTRLLEX_H_CONTROL
Definition: hecmw_ctrllex.h:18
@ HECMW_CTRLLEX_H_SUBDIR
Definition: hecmw_ctrllex.h:23
@ HECMW_CTRLLEX_K_INP
Definition: hecmw_ctrllex.h:25
@ HECMW_CTRLLEX_K_LIMIT
Definition: hecmw_ctrllex.h:34
@ HECMW_CTRLLEX_H_MESH
Definition: hecmw_ctrllex.h:19
@ HECMW_CTRLLEX_K_OFF
Definition: hecmw_ctrllex.h:38
@ HECMW_CTRLLEX_H_RESTART
Definition: hecmw_ctrllex.h:22
@ HECMW_CTRLLEX_DOUBLE
Definition: hecmw_ctrllex.h:14
@ HECMW_CTRLLEX_K_GEOFEM
Definition: hecmw_ctrllex.h:28
@ HECMW_CTRLLEX_K_HECMW_ENTIRE
Definition: hecmw_ctrllex.h:30
@ HECMW_CTRLLEX_INT
Definition: hecmw_ctrllex.h:13
@ HECMW_CTRLLEX_K_OUT
Definition: hecmw_ctrllex.h:39
@ HECMW_CTRLLEX_K_NASTRAN
Definition: hecmw_ctrllex.h:36
@ HECMW_CTRLLEX_K_DIR
Definition: hecmw_ctrllex.h:26
@ HECMW_CTRLLEX_K_HECMW_DIST
Definition: hecmw_ctrllex.h:29
@ HECMW_CTRLLEX_FILENAME
Definition: hecmw_ctrllex.h:16
@ HECMW_CTRLLEX_K_ON
Definition: hecmw_ctrllex.h:37
@ HECMW_CTRLLEX_K_TYPE
Definition: hecmw_ctrllex.h:41
@ HECMW_CTRLLEX_H_MESH_GROUP
Definition: hecmw_ctrllex.h:20
@ HECMW_CTRLLEX_K_INOUT
Definition: hecmw_ctrllex.h:32
@ HECMW_CTRLLEX_NL
Definition: hecmw_ctrllex.h:12
@ HECMW_CTRLLEX_NAME
Definition: hecmw_ctrllex.h:15
@ HECMW_CTRLLEX_K_IN
Definition: hecmw_ctrllex.h:31
@ HECMW_CTRLLEX_K_FEMAP
Definition: hecmw_ctrllex.h:27
int HECMW_ctrllex_set_input(FILE *fp)
int HECMW_ctrllex_next_token(void)
int HECMW_ctrllex_get_lineno(void)
#define NULL
flex_int32_t yy_verify
flex_int32_t yy_nxt
char * str
double dval