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