FrontISTR 5.2.0
Large-scale structural analysis program with finit element method
Loading...
Searching...
No Matches
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_flex_debug HECMW_hec_flex_debug
11#define yy_init_buffer HECMW_hec_init_buffer
12#define yy_flush_buffer HECMW_hec_flush_buffer
13#define yy_load_buffer_state HECMW_hec_load_buffer_state
14#define yy_switch_to_buffer HECMW_hec_switch_to_buffer
15#define yyin HECMW_hecin
16#define yyleng HECMW_hecleng
17#define yylex HECMW_heclex
18#define yylineno HECMW_heclineno
19#define yyout HECMW_hecout
20#define yyrestart HECMW_hecrestart
21#define yytext HECMW_hectext
22#define yywrap HECMW_hecwrap
23#define yyalloc HECMW_hecalloc
24#define yyrealloc HECMW_hecrealloc
25#define yyfree HECMW_hecfree
26
27#define FLEX_SCANNER
28#define YY_FLEX_MAJOR_VERSION 2
29#define YY_FLEX_MINOR_VERSION 5
30#define YY_FLEX_SUBMINOR_VERSION 35
31#if YY_FLEX_SUBMINOR_VERSION > 0
32#define FLEX_BETA
33#endif
34
35/* First, we deal with platform-specific or compiler-specific issues. */
36
37/* begin standard C headers. */
38#include <stdio.h>
39#include <string.h>
40#include <errno.h>
41#include <stdlib.h>
42
43/* end standard C headers. */
44
45/* flex integer type definitions */
46
47#ifndef FLEXINT_H
48#define FLEXINT_H
49
50/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
51
52#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
53
54/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
56 */
57#ifndef __STDC_LIMIT_MACROS
58#define __STDC_LIMIT_MACROS 1
59#endif
60
61#include <inttypes.h>
62typedef int8_t flex_int8_t;
63typedef uint8_t flex_uint8_t;
64typedef int16_t flex_int16_t;
65typedef uint16_t flex_uint16_t;
66typedef int32_t flex_int32_t;
67typedef uint32_t flex_uint32_t;
68typedef uint64_t flex_uint64_t;
69#else
70typedef signed char flex_int8_t;
71typedef short int flex_int16_t;
72typedef int flex_int32_t;
73typedef unsigned char flex_uint8_t;
74typedef unsigned short int flex_uint16_t;
75typedef unsigned int flex_uint32_t;
76#endif /* ! C99 */
77
78/* Limits of integral types. */
79#ifndef INT8_MIN
80#define INT8_MIN (-128)
81#endif
82#ifndef INT16_MIN
83#define INT16_MIN (-32767 - 1)
84#endif
85#ifndef INT32_MIN
86#define INT32_MIN (-2147483647 - 1)
87#endif
88#ifndef INT8_MAX
89#define INT8_MAX (127)
90#endif
91#ifndef INT16_MAX
92#define INT16_MAX (32767)
93#endif
94#ifndef INT32_MAX
95#define INT32_MAX (2147483647)
96#endif
97#ifndef UINT8_MAX
98#define UINT8_MAX (255U)
99#endif
100#ifndef UINT16_MAX
101#define UINT16_MAX (65535U)
102#endif
103#ifndef UINT32_MAX
104#define UINT32_MAX (4294967295U)
105#endif
106
107#endif /* ! FLEXINT_H */
108
109#ifdef __cplusplus
110
111/* The "const" storage-class-modifier is valid. */
112#define YY_USE_CONST
113
114#else /* ! __cplusplus */
115
116/* C99 requires __STDC__ to be defined as 1. */
117#if defined(__STDC__)
118
119#define YY_USE_CONST
120
121#endif /* defined (__STDC__) */
122#endif /* ! __cplusplus */
123
124#ifdef YY_USE_CONST
125#define yyconst const
126#else
127#define yyconst
128#endif
129
130/* Returned upon end-of-file. */
131#define YY_NULL 0
132
133/* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
136 * double cast.
137 */
138#define YY_SC_TO_UI(c) ((unsigned int)(unsigned char)c)
139
140/* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
143 */
144#define BEGIN (yy_start) = 1 + 2 *
145
146/* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
148 * compatibility.
149 */
150#define YY_START (((yy_start)-1) / 2)
151#define YYSTATE YY_START
152
153/* Action number for EOF rule of a given start state. */
154#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155
156/* Special action meaning "start processing a new file". */
157#define YY_NEW_FILE HECMW_hecrestart(HECMW_hecin)
158
159#define YY_END_OF_BUFFER_CHAR 0
160
161/* Size of default input buffer. */
162#ifndef YY_BUF_SIZE
163#define YY_BUF_SIZE 16384
164#endif
165
166/* The state buf must be large enough to hold one state per character in the
167 * main buffer.
168 */
169#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170
171#ifndef YY_TYPEDEF_YY_BUFFER_STATE
172#define YY_TYPEDEF_YY_BUFFER_STATE
174#endif
175
176#ifndef YY_TYPEDEF_YY_SIZE_T
177#define YY_TYPEDEF_YY_SIZE_T
178typedef size_t yy_size_t;
179#endif
180
182
184
185#define EOB_ACT_CONTINUE_SCAN 0
186#define EOB_ACT_END_OF_FILE 1
187#define EOB_ACT_LAST_MATCH 2
188
189#define YY_LESS_LINENO(n)
190
191/* Return all but the first "n" matched characters back to the input stream. */
192#define yyless(n) \
193 do { \
194 /* Undo effects of setting up HECMW_hectext. */ \
195 int yyless_macro_arg = (n); \
196 YY_LESS_LINENO(yyless_macro_arg); \
197 *yy_cp = (yy_hold_char); \
198 YY_RESTORE_YY_MORE_OFFSET(yy_c_buf_p) = yy_cp = \
199 yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
200 YY_DO_BEFORE_ACTION; /* set up HECMW_hectext again */ \
201 } while (0)
202
203#define unput(c) yyunput(c, (yytext_ptr))
204
205#ifndef YY_STRUCT_YY_BUFFER_STATE
206#define YY_STRUCT_YY_BUFFER_STATE
207struct yy_buffer_state {
208 FILE *yy_input_file;
209
210 char *yy_ch_buf; /* input buffer */
211 char *yy_buf_pos; /* current position in input buffer */
212
213 /* Size of input buffer in bytes, not including room for EOB
214 * characters.
215 */
217
218 /* Number of characters read into yy_ch_buf, not including EOB
219 * characters.
220 */
222
223 /* Whether we "own" the buffer - i.e., we know we created it,
224 * and can realloc() it to grow it, and should free() it to
225 * delete it.
226 */
228
229 /* Whether this is an "interactive" input source; if so, and
230 * if we're using stdio for input, then we want to use getc()
231 * instead of fread(), to make sure we stop fetching input after
232 * each newline.
233 */
235
236 /* Whether we're considered to be at the beginning of a line.
237 * If so, '^' rules will be active on the next match, otherwise
238 * not.
239 */
240 int yy_at_bol;
241
242 int yy_bs_lineno;
243 int yy_bs_column;
245 /* Whether to try to fill the input buffer when we reach the
246 * end of it.
247 */
248 int yy_fill_buffer;
249
251
252#define YY_BUFFER_NEW 0
253#define YY_BUFFER_NORMAL 1
254/* When an EOF's been seen but there's still some text to process
255 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
256 * shouldn't try reading from the input source any more. We might
257 * still have a bunch of tokens to match, though, because of
258 * possible backing-up.
259 *
260 * When we actually see the EOF, we change the status to "new"
261 * (via HECMW_hecrestart()), so that the user can continue scanning by
262 * just pointing HECMW_hecin at a new input file.
263 */
264#define YY_BUFFER_EOF_PENDING 2
265};
266#endif /* !YY_STRUCT_YY_BUFFER_STATE */
267
268/* Stack of input buffers. */
269static size_t yy_buffer_stack_top = 0;
270static size_t yy_buffer_stack_max = 0;
271static YY_BUFFER_STATE *yy_buffer_stack = 0;
273/* We provide macros for accessing buffer states in case in the
274 * future we want to put the buffer states in a more general
275 * "scanner state".
276 *
277 * Returns the top of the stack, or NULL.
278 */
279#define YY_CURRENT_BUFFER \
280 ((yy_buffer_stack) ? (yy_buffer_stack)[(yy_buffer_stack_top)] : NULL)
281
282/* Same as previous macro, but useful when we know that the buffer stack is not
283 * NULL or when we need an lvalue. For internal use only.
284 */
285#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
286
287/* yy_hold_char holds the character lost when HECMW_hectext is formed. */
288static char yy_hold_char;
289static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
291
292/* Points to current character in buffer. */
293static char *yy_c_buf_p = (char *)0;
294static int yy_init = 0; /* whether we need to initialize */
295static int yy_start = 0; /* start state number */
296
297/* Flag which is used to allow HECMW_hecwrap()'s to do buffer switches
298 * instead of setting up a fresh HECMW_hecin. A bit of a hack ...
299 */
300static int yy_did_buffer_switch_on_eof;
301
302void HECMW_hecrestart(FILE *input_file);
304YY_BUFFER_STATE HECMW_hec_create_buffer(FILE *file, int size);
309
310static void HECMW_hecensure_buffer_stack(void);
311static void HECMW_hec_load_buffer_state(void);
312static void HECMW_hec_init_buffer(YY_BUFFER_STATE b, FILE *file);
313
314#define YY_FLUSH_BUFFER HECMW_hec_flush_buffer(YY_CURRENT_BUFFER)
315
319
321void *HECMW_hecrealloc(void *, yy_size_t);
322void HECMW_hecfree(void *);
323
324#define yy_new_buffer HECMW_hec_create_buffer
325
326#define yy_set_interactive(is_interactive) \
327 { \
328 if (!YY_CURRENT_BUFFER) { \
329 HECMW_hecensure_buffer_stack(); \
330 YY_CURRENT_BUFFER_LVALUE = \
331 HECMW_hec_create_buffer(HECMW_hecin, YY_BUF_SIZE); \
332 } \
333 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
334 }
335
336#define yy_set_bol(at_bol) \
337 { \
338 if (!YY_CURRENT_BUFFER) { \
339 HECMW_hecensure_buffer_stack(); \
340 YY_CURRENT_BUFFER_LVALUE = \
341 HECMW_hec_create_buffer(HECMW_hecin, YY_BUF_SIZE); \
342 } \
343 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
344 }
345
346#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
347
348/* Begin user sect3 */
349
350typedef unsigned char YY_CHAR;
351
352FILE *HECMW_hecin = (FILE *)0, *HECMW_hecout = (FILE *)0;
353
354typedef int yy_state_type;
355
356extern int HECMW_heclineno;
357
359
360extern char *HECMW_hectext;
361#define yytext_ptr HECMW_hectext
362
363static yy_state_type yy_get_previous_state(void);
364static yy_state_type yy_try_NUL_trans(yy_state_type current_state);
365static int yy_get_next_buffer(void);
366static void yy_fatal_error(yyconst char msg[]);
367
368/* Done after the current pattern has been matched and before the
369 * corresponding action - sets up HECMW_hectext.
370 */
371#define YY_DO_BEFORE_ACTION \
372 (yytext_ptr) = yy_bp; \
373 HECMW_hecleng = (yy_size_t)(yy_cp - yy_bp); \
374 (yy_hold_char) = *yy_cp; \
375 *yy_cp = '\0'; \
376 (yy_c_buf_p) = yy_cp;
377
378#define YY_NUM_RULES 99
379#define YY_END_OF_BUFFER 100
380/* This struct is not used in this scanner,
381 but its presence is necessary. */
382struct yy_trans_info {
385};
386static yyconst flex_int16_t yy_accept[544] = {
387 0, 0, 0, 0, 5, 0, 0, 100, 98, 8, 9, 98, 98, 98, 91, 97, 95,
388 97, 94, 90, 96, 96, 92, 96, 96, 96, 96, 96, 96, 96, 96, 93, 96, 96,
389 96, 96, 98, 98, 99, 2, 99, 99, 5, 5, 4, 5, 6, 98, 8, 9, 0,
390 0, 0, 0, 0, 0, 0, 0, 95, 94, 97, 95, 94, 95, 97, 96, 0, 96,
391 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
392 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, 0,
393
394 0, 0, 0, 7, 0, 2, 0, 5, 4, 4, 4, 5, 1, 5, 6, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
396 0, 0, 97, 95, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
397 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
398 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 25, 0,
400
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 96, 96, 57,
402 96, 96, 60, 96, 96, 96, 96, 65, 96, 96, 68, 96, 70, 96, 96, 96, 96,
403 75, 96, 96, 96, 96, 96, 96, 96, 96, 96, 85, 86, 96, 0, 0, 0, 0,
404 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405 0, 0, 4, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 0, 0,
406 42, 0, 46, 0, 0, 0, 54, 96, 96, 96, 96, 96, 62, 63, 96,
407
408 96, 96, 96, 96, 96, 96, 96, 76, 77, 0, 96, 96, 96, 96, 82, 96, 96,
409 96, 87, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
410 41, 0, 45, 0, 0, 0, 53, 0, 4, 0, 0, 0, 17, 0, 0, 0, 0,
411 0, 0, 38, 40, 0, 0, 0, 0, 55, 96, 96, 96, 96, 96, 96, 96, 96,
412 96, 96, 73, 96, 0, 96, 96, 96, 81, 96, 96, 96, 96, 0, 0, 0, 16,
413 0, 0, 0, 0, 0, 0, 0, 37, 39, 0, 0, 0, 0, 0, 4,
414
415 0, 0, 0, 21, 0, 0, 0, 0, 0, 44, 0, 50, 52, 96, 96, 96, 96,
416 96, 96, 67, 69, 96, 96, 74, 0, 96, 79, 96, 83, 96, 96, 96, 0, 0,
417 0, 20, 0, 0, 28, 0, 0, 0, 43, 0, 49, 51, 3, 3, 0, 0, 0,
418 23, 0, 30, 0, 0, 48, 56, 96, 96, 61, 96, 66, 96, 72, 0, 78, 96,
419 96, 96, 96, 0, 0, 0, 22, 0, 29, 0, 0, 47, 3, 3, 0, 0, 0,
420 0, 27, 0, 0, 36, 58, 96, 64, 71, 78, 80, 96, 88, 89, 0,
421
422 0, 0, 0, 26, 0, 0, 35, 11, 0, 0, 0, 59, 96, 10, 0, 0, 0,
423 0, 0, 0, 84, 0, 0, 0, 0, 15, 0, 0, 14, 0, 13, 0, 12, 0,
424 0, 0, 0, 0, 0, 0, 32, 31, 0};
425
426static yyconst flex_int32_t yy_ec[256] = {
427 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1,
428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 1, 7, 1, 1,
429 1, 1, 1, 1, 1, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
430 13, 14, 1, 1, 15, 1, 1, 1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25,
431 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 25, 38, 39, 1, 12, 1, 1,
432 40, 1, 25, 25, 25, 25,
433
434 41, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
435 25, 25, 25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1,
440
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
444
445static yyconst flex_int32_t yy_meta[42] = {
446 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
447 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3};
448
449static yyconst flex_int16_t yy_base[556] = {
450 0, 0, 36, 41, 45, 50, 52, 1162, 1225, 55, 1225, 1152,
451 45, 51, 1225, 55, 54, 0, 64, 1225, 68, 76, 80, 86,
452 90, 96, 102, 106, 113, 117, 123, 137, 147, 175, 152, 132,
453 208, 67, 1225, 1225, 1150, 1126, 0, 1142, 70, 150, 1225, 1140,
454 81, 1225, 1109, 1105, 162, 71, 1116, 176, 118, 1104, 142, 108,
455 0, 159, 119, 188, 165, 192, 199, 204, 211, 231, 238, 242,
456 249, 253, 258, 264, 268, 279, 275, 284, 297, 302, 307, 313,
457 317, 324, 334, 338, 342, 346, 350, 356, 364, 230, 1093, 1083,
458 361, 1088, 108, 1087, 373,
459
460 224, 1081, 296, 1225, 301, 1225, 1077, 0, 0, 337, 1073, 377,
461 1225, 381, 1225, 1059, 1056, 1054, 83, 1060, 1059, 1039, 147, 1050,
462 1034, 1035, 1036, 91, 1037, 1034, 1012, 1009, 1006, 253, 324, 1023,
463 1019, 1012, 1009, 385, 389, 393, 397, 401, 410, 417, 421, 427,
464 431, 438, 443, 457, 447, 461, 468, 473, 481, 486, 491, 495,
465 500, 509, 513, 517, 524, 528, 532, 542, 549, 989, 987, 981,
466 187, 986, 983, 964, 981, 178, 973, 950, 953, 956, 265, 957,
467 956, 938, 935, 920, 930, 443, 544, 926, 911, 223, 902, 900,
468 895, 890, 1225, 898,
469
470 886, 872, 876, 881, 865, 865, 856, 853, 858, 840, 843, 834,
471 834, 848, 553, 557, 561, 565, 575, 579, 584, 588, 593, 597,
472 601, 606, 610, 619, 623, 628, 635, 639, 645, 650, 654, 658,
473 666, 676, 680, 685, 689, 693, 704, 708, 712, 720, 724, 833,
474 335, 825, 823, 819, 817, 1225, 824, 818, 809, 796, 802, 808,
475 796, 795, 789, 786, 791, 773, 774, 765, 764, 773, 771, 762,
476 765, 767, 741, 1225, 740, 751, 735, 728, 734, 1225, 724, 714,
477 719, 1225, 708, 1225, 717, 702, 713, 1225, 728, 735, 739, 743,
478 748, 754, 762, 766,
479
480 770, 777, 784, 790, 794, 798, 802, 808, 813, 695, 822, 827,
481 831, 838, 842, 846, 855, 859, 865, 703, 705, 705, 679, 1225,
482 677, 691, 674, 686, 667, 674, 1225, 661, 651, 660, 1225, 648,
483 1225, 658, 644, 656, 1225, 651, 647, 629, 642, 640, 1225, 624,
484 624, 624, 624, 625, 612, 1225, 1225, 602, 599, 596, 596, 869,
485 874, 878, 882, 886, 893, 899, 907, 911, 915, 919, 924, 929,
486 595, 933, 937, 942, 947, 951, 955, 961, 967, 580, 592, 588,
487 1225, 571, 569, 568, 553, 563, 565, 556, 1225, 1225, 548, 545,
488 540, 539, 525, 523,
489
490 514, 511, 507, 1225, 503, 503, 506, 496, 502, 1225, 485, 1225,
491 1225, 974, 978, 984, 989, 993, 1002, 1006, 1010, 1015, 1019, 1023,
492 481, 1029, 1034, 1039, 1043, 1047, 1051, 1055, 469, 467, 465, 1225,
493 462, 465, 1225, 470, 460, 467, 1225, 450, 1225, 1225, 0, 0,
494 457, 450, 187, 1225, 442, 1225, 250, 440, 1225, 1061, 1065, 1076,
495 1080, 1084, 1088, 1095, 1099, 444, 1103, 1107, 1111, 1115, 1119, 441,
496 432, 296, 1225, 425, 1225, 312, 418, 1225, 0, 0, 416, 398,
497 400, 410, 1225, 405, 390, 1225, 1126, 1130, 1136, 1140, 1225, 1145,
498 1149, 1153, 1157, 397,
499
500 378, 380, 390, 1225, 380, 364, 1225, 1225, 364, 358, 346, 1161,
501 1165, 1225, 348, 341, 327, 313, 310, 303, 1172, 281, 278, 264,
502 243, 1225, 224, 202, 1225, 214, 1225, 196, 1225, 187, 153, 150,
503 131, 121, 61, 53, 1225, 1225, 1225, 1186, 1190, 47, 1192, 1196,
504 1200, 1204, 1208, 43, 1212, 1216, 1220};
505
506static yyconst flex_int16_t yy_def[556] = {
507 0, 543, 1, 544, 545, 1, 1, 543, 543, 543, 543, 543, 543, 543, 543,
508 546, 546, 546, 546, 543, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
509 547, 547, 547, 547, 547, 547, 543, 548, 543, 543, 543, 543, 549, 549, 550,
510 551, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
511 546, 546, 546, 546, 546, 547, 552, 547, 547, 547, 547, 547, 547, 547, 547,
512 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
513 547, 547, 547, 548, 543, 543, 543, 543, 543, 543, 543,
514
515 543, 543, 548, 543, 548, 543, 543, 549, 550, 553, 550, 551, 543, 551, 543,
516 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
517 543, 543, 543, 543, 543, 543, 546, 546, 546, 547, 547, 547, 547, 547, 547,
518 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
519 547, 547, 547, 547, 547, 547, 547, 547, 547, 543, 543, 543, 543, 543, 543,
520 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 553,
521 553, 550, 543, 543, 543, 543, 543, 543, 543, 543,
522
523 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 547,
524 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
525 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
526 547, 547, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
527 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 550, 543, 543, 543, 543,
528 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
529 543, 543, 547, 547, 547, 547, 547, 547, 547, 547,
530
531 547, 547, 547, 547, 547, 547, 547, 547, 547, 543, 547, 547, 547, 547, 547,
532 547, 547, 547, 547, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
533 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 550, 543, 543,
534 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 547,
535 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 543, 547, 547,
536 547, 547, 547, 547, 547, 547, 543, 543, 543, 543, 543, 543, 543, 543, 543,
537 543, 543, 543, 543, 543, 543, 543, 543, 543, 550,
538
539 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 547, 547,
540 547, 547, 547, 547, 547, 547, 547, 547, 547, 543, 547, 547, 547, 547, 547,
541 547, 547, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
542 543, 554, 555, 543, 543, 543, 543, 543, 543, 543, 543, 543, 547, 547, 547,
543 547, 547, 547, 547, 547, 543, 547, 547, 547, 547, 547, 543, 543, 543, 543,
544 543, 543, 543, 543, 543, 554, 555, 543, 543, 543, 543, 543, 543, 543, 543,
545 547, 547, 547, 547, 543, 547, 547, 547, 547, 543,
546
547 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 547, 547, 543, 543,
548 543, 543, 543, 543, 543, 547, 543, 543, 543, 543, 543, 543, 543, 543, 543,
549 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 0, 543, 543,
550 543, 543, 543, 543, 543, 543, 543, 543, 543, 543};
551
552static yyconst flex_int16_t yy_nxt[1267] = {
553 0, 8, 9, 10, 11, 9, 12, 8, 13, 14, 15, 16, 17, 18, 8,
554 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 25, 25, 29, 30, 25,
555 25, 25, 31, 32, 33, 25, 34, 25, 25, 25, 35, 25, 36, 37, 39,
556 40, 139, 41, 39, 43, 60, 44, 45, 46, 47, 46, 47, 48, 36, 37,
557 48, 50, 58, 51, 59, 52, 61, 63, 62, 53, 104, 105, 54, 55, 64,
558 61, 110, 62, 56, 60, 60, 542, 66, 48, 57, 67, 48, 60, 60, 541,
559 66, 60, 60, 111, 66, 64, 68, 60, 60, 123, 66,
560
561 60, 60, 196, 66, 124, 70, 60, 60, 69, 66, 207, 71, 60, 60, 197,
562 66, 60, 60, 58, 66, 59, 72, 208, 60, 60, 73, 66, 60, 60, 61,
563 66, 62, 76, 60, 60, 178, 66, 130, 77, 131, 74, 179, 60, 60, 78,
564 543, 75, 60, 60, 540, 66, 79, 113, 114, 134, 132, 80, 60, 60, 539,
565 66, 135, 60, 60, 201, 66, 81, 92, 82, 83, 202, 63, 136, 538, 137,
566 84, 537, 138, 64, 118, 85, 86, 135, 119, 87, 60, 60, 120, 66, 121,
567 88, 485, 122, 126, 89, 257, 127, 128, 90, 64,
568
569 63, 258, 60, 60, 129, 543, 251, 64, 60, 60, 60, 60, 91, 93, 60,
570 60, 486, 543, 252, 140, 536, 60, 60, 94, 543, 95, 142, 96, 64, 535,
571 97, 98, 104, 105, 99, 100, 141, 534, 60, 533, 101, 60, 60, 185, 543,
572 186, 102, 532, 60, 60, 273, 543, 60, 60, 488, 543, 274, 143, 144, 60,
573 60, 187, 543, 60, 60, 134, 543, 489, 60, 60, 147, 543, 135, 145, 60,
574 60, 146, 543, 60, 60, 531, 543, 530, 150, 263, 60, 60, 148, 543, 60,
575 60, 149, 543, 135, 60, 60, 264, 543, 104, 105,
576
577 502, 151, 155, 104, 105, 152, 154, 60, 60, 529, 543, 153, 60, 60, 528,
578 543, 505, 60, 60, 157, 543, 527, 156, 60, 60, 503, 543, 60, 60, 506,
579 543, 136, 159, 136, 60, 60, 214, 543, 158, 113, 191, 526, 160, 161, 60,
580 60, 525, 543, 60, 60, 162, 543, 60, 60, 524, 543, 60, 60, 165, 543,
581 60, 60, 321, 543, 523, 163, 60, 60, 322, 543, 164, 522, 166, 520, 60,
582 60, 167, 543, 172, 113, 114, 519, 173, 113, 114, 168, 174, 518, 175, 169,
583 181, 176, 517, 182, 183, 60, 60, 506, 543, 60,
584
585 60, 184, 543, 60, 60, 516, 543, 60, 60, 503, 543, 60, 60, 515, 543,
586 215, 514, 216, 511, 217, 60, 60, 489, 543, 219, 510, 218, 60, 60, 486,
587 543, 60, 60, 509, 543, 508, 221, 60, 60, 220, 543, 60, 60, 507, 543,
588 113, 191, 222, 60, 60, 224, 543, 504, 60, 60, 501, 543, 60, 60, 500,
589 543, 223, 226, 495, 225, 490, 227, 60, 60, 487, 543, 60, 60, 484, 543,
590 483, 228, 480, 60, 60, 229, 543, 479, 60, 60, 478, 543, 231, 232, 477,
591 230, 60, 60, 476, 543, 475, 60, 60, 474, 543,
592
593 473, 60, 60, 472, 543, 60, 60, 466, 543, 233, 60, 60, 457, 543, 234,
594 235, 236, 456, 237, 60, 60, 455, 543, 60, 60, 454, 543, 60, 60, 238,
595 543, 453, 239, 240, 60, 60, 452, 543, 60, 60, 451, 543, 60, 60, 450,
596 543, 113, 191, 449, 242, 241, 245, 60, 60, 448, 543, 447, 244, 243, 60,
597 60, 246, 543, 60, 60, 446, 543, 60, 60, 445, 543, 60, 60, 444, 543,
598 60, 60, 443, 543, 442, 441, 440, 294, 247, 439, 60, 60, 293, 543, 60,
599 60, 438, 543, 295, 60, 60, 437, 543, 60, 60,
600
601 436, 543, 296, 60, 60, 435, 543, 60, 60, 434, 543, 60, 60, 433, 543,
602 297, 60, 60, 425, 543, 60, 60, 413, 543, 298, 412, 299, 411, 300, 60,
603 60, 410, 543, 60, 60, 409, 543, 301, 60, 60, 408, 543, 407, 302, 304,
604 60, 60, 406, 543, 60, 60, 405, 543, 404, 303, 60, 60, 403, 543, 402,
605 60, 60, 401, 543, 60, 60, 400, 543, 60, 60, 399, 543, 305, 307, 306,
606 398, 60, 60, 397, 543, 310, 396, 395, 308, 309, 394, 60, 60, 393, 543,
607 60, 60, 392, 543, 313, 60, 60, 391, 543, 60,
608
609 60, 390, 543, 60, 60, 389, 543, 388, 314, 311, 387, 386, 315, 312, 60,
610 60, 385, 543, 60, 60, 384, 543, 60, 60, 383, 543, 382, 317, 373, 316,
611 60, 60, 359, 543, 60, 60, 358, 543, 60, 60, 357, 543, 356, 319, 355,
612 60, 60, 318, 543, 60, 60, 354, 543, 60, 60, 353, 543, 352, 60, 60,
613 360, 543, 351, 364, 60, 60, 363, 543, 350, 361, 349, 362, 60, 60, 348,
614 543, 60, 60, 347, 543, 60, 60, 346, 543, 345, 344, 365, 60, 60, 343,
615 543, 342, 341, 366, 60, 60, 367, 543, 340, 368,
616
617 60, 60, 339, 543, 60, 60, 338, 543, 60, 60, 337, 543, 60, 60, 336,
618 543, 335, 370, 60, 60, 334, 543, 369, 60, 60, 333, 543, 332, 331, 330,
619 372, 371, 60, 60, 329, 543, 328, 60, 60, 327, 543, 60, 60, 326, 543,
620 374, 375, 325, 60, 60, 324, 543, 60, 60, 323, 543, 60, 60, 320, 543,
621 214, 378, 292, 376, 377, 60, 60, 291, 543, 60, 60, 290, 543, 289, 380,
622 60, 60, 288, 543, 60, 60, 287, 543, 286, 60, 60, 379, 543, 60, 60,
623 285, 543, 60, 60, 284, 543, 60, 60, 381, 543,
624
625 283, 415, 282, 60, 60, 281, 543, 414, 418, 60, 60, 280, 543, 279, 419,
626 416, 278, 60, 60, 417, 543, 60, 60, 277, 543, 60, 60, 276, 543, 60,
627 60, 275, 543, 420, 60, 60, 272, 543, 421, 60, 60, 271, 543, 60, 60,
628 270, 543, 60, 60, 422, 543, 269, 60, 60, 423, 543, 424, 60, 60, 426,
629 543, 60, 60, 427, 543, 60, 60, 268, 543, 267, 430, 60, 60, 266, 543,
630 265, 428, 60, 60, 262, 543, 261, 429, 260, 60, 60, 431, 543, 60, 60,
631 432, 543, 259, 458, 60, 60, 256, 543, 255, 60,
632
633 60, 254, 543, 60, 60, 253, 543, 460, 461, 250, 462, 459, 60, 60, 249,
634 543, 60, 60, 248, 543, 60, 60, 66, 543, 138, 60, 60, 463, 543, 60,
635 60, 138, 543, 60, 60, 214, 543, 213, 465, 60, 60, 212, 543, 211, 60,
636 60, 464, 543, 467, 60, 60, 210, 543, 60, 60, 209, 543, 60, 60, 206,
637 543, 60, 60, 205, 543, 60, 60, 204, 543, 203, 468, 60, 60, 200, 543,
638 60, 60, 199, 543, 198, 469, 471, 195, 194, 491, 470, 60, 60, 193, 543,
639 60, 60, 192, 543, 60, 60, 189, 543, 60, 60,
640
641 188, 543, 180, 493, 492, 60, 60, 177, 543, 60, 60, 171, 543, 60, 60,
642 494, 543, 60, 60, 170, 543, 60, 60, 133, 543, 60, 60, 496, 543, 60,
643 60, 125, 543, 117, 498, 116, 60, 60, 499, 543, 60, 60, 115, 543, 106,
644 497, 60, 60, 107, 543, 60, 60, 106, 543, 49, 60, 60, 512, 543, 60,
645 60, 543, 543, 60, 60, 543, 543, 60, 60, 543, 543, 60, 60, 543, 543,
646 60, 60, 543, 543, 543, 513, 543, 60, 60, 521, 543, 38, 38, 38, 38,
647 42, 42, 42, 42, 65, 65, 103, 103, 103, 103,
648
649 108, 543, 108, 108, 109, 543, 109, 109, 112, 112, 112, 112, 190, 190, 190,
650 190, 481, 543, 481, 481, 482, 543, 482, 482, 7, 543, 543, 543, 543, 543,
651 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
652 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
653 543, 543, 543, 543, 543, 543};
654
655static yyconst flex_int16_t yy_chk[1267] = {
656 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
659 3, 552, 3, 4, 4, 546, 4, 4, 5, 5, 6, 6, 9, 6, 6,
660 9, 12, 13, 12, 13, 12, 15, 16, 15, 12, 37, 37, 12, 12, 16,
661 18, 44, 18, 12, 20, 20, 540, 20, 48, 12, 20, 48, 21, 21, 539,
662 21, 22, 22, 44, 22, 16, 21, 23, 23, 53, 23,
663
664 24, 24, 119, 24, 53, 23, 25, 25, 22, 25, 128, 24, 26, 26, 119,
665 26, 27, 27, 59, 27, 59, 26, 128, 28, 28, 27, 28, 29, 29, 62,
666 29, 62, 29, 30, 30, 98, 30, 56, 30, 56, 28, 98, 35, 35, 30,
667 35, 28, 31, 31, 538, 31, 30, 45, 45, 58, 56, 31, 32, 32, 537,
668 32, 58, 34, 34, 123, 34, 32, 34, 32, 32, 123, 61, 64, 536, 64,
669 32, 535, 64, 61, 52, 32, 32, 58, 52, 32, 33, 33, 52, 33, 52,
670 33, 451, 52, 55, 33, 178, 55, 55, 33, 61,
671
672 63, 178, 65, 65, 55, 65, 173, 63, 66, 66, 66, 66, 33, 36, 67,
673 67, 451, 67, 173, 67, 534, 68, 68, 36, 68, 36, 68, 36, 63, 532,
674 36, 36, 93, 93, 36, 36, 67, 530, 66, 528, 36, 69, 69, 101, 69,
675 101, 36, 527, 70, 70, 194, 70, 71, 71, 455, 71, 194, 69, 70, 72,
676 72, 101, 72, 73, 73, 134, 73, 455, 74, 74, 73, 74, 134, 71, 75,
677 75, 72, 75, 76, 76, 525, 76, 524, 75, 183, 78, 78, 74, 78, 77,
678 77, 74, 77, 134, 79, 79, 183, 79, 103, 103,
679
680 474, 76, 79, 105, 105, 77, 78, 80, 80, 523, 80, 77, 81, 81, 522,
681 81, 478, 82, 82, 81, 82, 520, 80, 83, 83, 474, 83, 84, 84, 478,
682 84, 135, 83, 135, 85, 85, 135, 85, 82, 110, 110, 519, 84, 85, 86,
683 86, 518, 86, 87, 87, 86, 87, 88, 88, 517, 88, 89, 89, 88, 89,
684 90, 90, 249, 90, 516, 86, 91, 91, 249, 91, 87, 515, 89, 511, 92,
685 92, 90, 92, 96, 112, 112, 510, 96, 114, 114, 91, 96, 509, 96, 92,
686 100, 96, 506, 100, 100, 140, 140, 505, 140, 141,
687
688 141, 100, 141, 142, 142, 503, 142, 143, 143, 502, 143, 144, 144, 501, 144,
689 140, 500, 141, 489, 142, 145, 145, 488, 145, 144, 486, 143, 146, 146, 485,
690 146, 147, 147, 484, 147, 483, 146, 148, 148, 145, 148, 149, 149, 479, 149,
691 190, 190, 147, 150, 150, 149, 150, 476, 151, 151, 473, 151, 153, 153, 472,
692 153, 148, 151, 466, 150, 456, 151, 152, 152, 453, 152, 154, 154, 450, 154,
693 449, 152, 444, 155, 155, 153, 155, 442, 156, 156, 441, 156, 155, 156, 440,
694 154, 157, 157, 438, 157, 437, 158, 158, 435, 158,
695
696 434, 159, 159, 433, 159, 160, 160, 425, 160, 157, 161, 161, 411, 161, 157,
697 158, 159, 409, 160, 162, 162, 408, 162, 163, 163, 407, 163, 164, 164, 161,
698 164, 406, 162, 163, 165, 165, 405, 165, 166, 166, 403, 166, 167, 167, 402,
699 167, 191, 191, 401, 165, 164, 167, 168, 168, 400, 168, 399, 166, 165, 169,
700 169, 168, 169, 215, 215, 398, 215, 216, 216, 397, 216, 217, 217, 396, 217,
701 218, 218, 395, 218, 392, 391, 390, 216, 169, 389, 219, 219, 215, 219, 220,
702 220, 388, 220, 218, 221, 221, 387, 221, 222, 222,
703
704 386, 222, 219, 223, 223, 384, 223, 224, 224, 383, 224, 225, 225, 382, 225,
705 221, 226, 226, 373, 226, 227, 227, 359, 227, 222, 358, 223, 357, 224, 228,
706 228, 356, 228, 229, 229, 353, 229, 226, 230, 230, 352, 230, 351, 227, 231,
707 231, 231, 350, 231, 232, 232, 349, 232, 348, 229, 233, 233, 346, 233, 345,
708 234, 234, 344, 234, 235, 235, 343, 235, 236, 236, 342, 236, 232, 234, 233,
709 340, 237, 237, 339, 237, 238, 338, 336, 236, 237, 334, 238, 238, 333, 238,
710 239, 239, 332, 239, 240, 240, 240, 330, 240, 241,
711
712 241, 329, 241, 242, 242, 328, 242, 327, 241, 238, 326, 325, 242, 239, 243,
713 243, 323, 243, 244, 244, 322, 244, 245, 245, 321, 245, 320, 244, 310, 243,
714 246, 246, 291, 246, 247, 247, 290, 247, 293, 293, 289, 293, 287, 247, 285,
715 294, 294, 245, 294, 295, 295, 284, 295, 296, 296, 283, 296, 281, 297, 297,
716 293, 297, 280, 297, 298, 298, 296, 298, 279, 294, 278, 295, 299, 299, 277,
717 299, 300, 300, 275, 300, 301, 301, 274, 301, 273, 272, 300, 302, 302, 271,
718 302, 270, 269, 301, 303, 303, 302, 303, 268, 303,
719
720 304, 304, 267, 304, 305, 305, 266, 305, 306, 306, 265, 306, 307, 307, 264,
721 307, 263, 305, 308, 308, 262, 308, 304, 309, 309, 261, 309, 260, 259, 258,
722 307, 306, 311, 311, 257, 311, 256, 312, 312, 255, 312, 313, 313, 253, 313,
723 311, 312, 252, 314, 314, 251, 314, 315, 315, 250, 315, 316, 316, 248, 316,
724 214, 316, 213, 313, 314, 317, 317, 212, 317, 318, 318, 211, 318, 210, 318,
725 319, 319, 209, 319, 360, 360, 208, 360, 207, 361, 361, 317, 361, 362, 362,
726 206, 362, 363, 363, 205, 363, 364, 364, 319, 364,
727
728 204, 362, 203, 365, 365, 202, 365, 361, 365, 366, 366, 201, 366, 200, 366,
729 363, 198, 367, 367, 364, 367, 368, 368, 197, 368, 369, 369, 196, 369, 370,
730 370, 195, 370, 367, 371, 371, 193, 371, 368, 372, 372, 192, 372, 374, 374,
731 189, 374, 375, 375, 369, 375, 188, 376, 376, 370, 376, 372, 377, 377, 374,
732 377, 378, 378, 375, 378, 379, 379, 187, 379, 186, 379, 380, 380, 185, 380,
733 184, 376, 381, 381, 182, 381, 181, 378, 180, 414, 414, 380, 414, 415, 415,
734 381, 415, 179, 414, 416, 416, 177, 416, 176, 417,
735
736 417, 175, 417, 418, 418, 174, 418, 416, 417, 172, 418, 415, 419, 419, 171,
737 419, 420, 420, 170, 420, 421, 421, 139, 421, 138, 422, 422, 419, 422, 423,
738 423, 137, 423, 424, 424, 136, 424, 133, 423, 426, 426, 132, 426, 131, 427,
739 427, 422, 427, 426, 428, 428, 130, 428, 429, 429, 129, 429, 430, 430, 127,
740 430, 431, 431, 126, 431, 432, 432, 125, 432, 124, 428, 458, 458, 122, 458,
741 459, 459, 121, 459, 120, 430, 432, 118, 117, 459, 431, 460, 460, 116, 460,
742 461, 461, 111, 461, 462, 462, 107, 462, 463, 463,
743
744 102, 463, 99, 462, 460, 464, 464, 97, 464, 465, 465, 95, 465, 467, 467,
745 464, 467, 468, 468, 94, 468, 469, 469, 57, 469, 470, 470, 468, 470, 471,
746 471, 54, 471, 51, 470, 50, 491, 491, 471, 491, 492, 492, 47, 492, 43,
747 469, 493, 493, 41, 493, 494, 494, 40, 494, 11, 496, 496, 492, 496, 497,
748 497, 7, 497, 498, 498, 0, 498, 499, 499, 0, 499, 512, 512, 0, 512,
749 513, 513, 0, 513, 0, 497, 0, 521, 521, 513, 521, 544, 544, 544, 544,
750 545, 545, 545, 545, 547, 547, 548, 548, 548, 548,
751
752 549, 0, 549, 549, 550, 0, 550, 550, 551, 551, 551, 551, 553, 553, 553,
753 553, 554, 0, 554, 554, 555, 0, 555, 555, 543, 543, 543, 543, 543, 543,
754 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
755 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
756 543, 543, 543, 543, 543, 543};
757
758static yy_state_type yy_last_accepting_state;
759static char *yy_last_accepting_cpos;
760
761extern int HECMW_hec_flex_debug;
763
764/* The intent behind this definition is that it'll catch
765 * any uses of REJECT which flex missed.
766 */
767#define REJECT reject_used_but_not_detected
768#define yymore() yymore_used_but_not_detected
769#define YY_MORE_ADJ 0
770#define YY_RESTORE_YY_MORE_OFFSET
772#line 1 "../src/common/hecmw_heclex.l"
773#line 2 "../src/common/hecmw_heclex.l"
774#include <string.h>
775#include <errno.h>
776#include "hecmw_heclex.h"
777#include "hecmw_util.h"
778
779typedef union {
780 double dval;
781 char *str;
782} YYSTYPE;
783
784static YYSTYPE yylval;
785static int lineno;
786static int lineno_inc;
787static int flag_including = 0;
788static FILE *incfp;
789static char include_filename[HECMW_FILENAME_LEN + 1];
790static YY_BUFFER_STATE prev_state;
791static int flag_header;
792
793static void set_flag_header(int flag);
794
795#line 951 "<stdout>"
796
797#define INITIAL 0
798#define HEADER 1
799#define INCLUDE 2
800
801#ifndef YY_NO_UNISTD_H
802/* Special case for "unistd.h", since it is non-ANSI. We include it way
803 * down here because we want the user's section 1 to have been scanned first.
804 * The user has a chance to override it with an option.
805 */
806#include <unistd.h>
807#endif
808
809#ifndef YY_EXTRA_TYPE
810#define YY_EXTRA_TYPE void *
811#endif
812
813static int yy_init_globals(void);
814
815/* Accessor methods to globals.
816 These are made visible to non-reentrant scanners for convenience. */
817
818int HECMW_heclex_destroy(void);
819
820int HECMW_hecget_debug(void);
821
822void HECMW_hecset_debug(int debug_flag);
823
825
827
828FILE *HECMW_hecget_in(void);
829
830void HECMW_hecset_in(FILE *in_str);
831
832FILE *HECMW_hecget_out(void);
833
834void HECMW_hecset_out(FILE *out_str);
835
837
838char *HECMW_hecget_text(void);
839
840int HECMW_hecget_lineno(void);
841
842void HECMW_hecset_lineno(int line_number);
843
844/* Macros after this point can all be overridden by user definitions in
845 * section 1.
846 */
847
848#ifndef YY_SKIP_YYWRAP
849#ifdef __cplusplus
850extern "C" int HECMW_hecwrap(void);
851#else
852extern int HECMW_hecwrap(void);
853#endif
854#endif
855
856#ifndef yytext_ptr
857static void yy_flex_strncpy(char *, yyconst char *, int);
858#endif
859
860#ifdef YY_NEED_STRLEN
861static int yy_flex_strlen(yyconst char *);
862#endif
863
864#ifndef YY_NO_INPUT
865
866#ifdef __cplusplus
867static int yyinput(void);
868#else
869static int input(void);
870#endif
871
872#endif
873
874/* Amount of stuff to slurp up with each read. */
875#ifndef YY_READ_BUF_SIZE
876#define YY_READ_BUF_SIZE 8192
877#endif
878
879/* Copy whatever the last rule matched to the standard output. */
880#ifndef ECHO
881/* This used to be an fputs(), but since the string might contain NUL's,
882 * we now use fwrite().
883 */
884#define ECHO fwrite(HECMW_hectext, HECMW_hecleng, 1, HECMW_hecout)
885#endif
886
887/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
888 * is returned in "result".
889 */
890#ifndef YY_INPUT
891#define YY_INPUT(buf, result, max_size) \
892 if (YY_CURRENT_BUFFER_LVALUE->yy_is_interactive) { \
893 int c = '*'; \
894 yy_size_t n; \
895 for (n = 0; n < max_size && (c = getc(HECMW_hecin)) != EOF && c != '\n'; \
896 ++n) \
897 buf[n] = (char)c; \
898 if (c == '\n') buf[n++] = (char)c; \
899 if (c == EOF && ferror(HECMW_hecin)) \
900 YY_FATAL_ERROR("input in flex scanner failed"); \
901 result = n; \
902 } else { \
903 errno = 0; \
904 while ((result = fread(buf, 1, max_size, HECMW_hecin)) == 0 && \
905 ferror(HECMW_hecin)) { \
906 if (errno != EINTR) { \
907 YY_FATAL_ERROR("input in flex scanner failed"); \
908 break; \
909 } \
910 errno = 0; \
911 clearerr(HECMW_hecin); \
912 } \
913 }
914
915#endif
916
917/* No semi-colon after return; correct usage is to write "yyterminate();" -
918 * we don't want an extra ';' after the "return" because that will cause
919 * some compilers to complain about unreachable statements.
920 */
921#ifndef yyterminate
922#define yyterminate() return YY_NULL
923#endif
924
925/* Number of entries by which start-condition stack grows. */
926#ifndef YY_START_STACK_INCR
927#define YY_START_STACK_INCR 25
928#endif
929
930/* Report a fatal error. */
931#ifndef YY_FATAL_ERROR
932#define YY_FATAL_ERROR(msg) yy_fatal_error(msg)
933#endif
934
935/* end tables serialization structures and prototypes */
936
937/* Default declaration of generated scanner - a define so the user can
938 * easily add parameters.
939 */
940#ifndef YY_DECL
941#define YY_DECL_IS_OURS 1
942
943extern int HECMW_heclex(void);
944
945#define YY_DECL int HECMW_heclex(void)
946#endif /* !YY_DECL */
947
948/* Code executed at the beginning of each rule, after HECMW_hectext and
949 * HECMW_hecleng
950 * have been set up.
951 */
952#ifndef YY_USER_ACTION
953#define YY_USER_ACTION
954#endif
955
956/* Code executed at the end of each rule. */
957#ifndef YY_BREAK
958#define YY_BREAK break;
959#endif
960
961#define YY_RULE_SETUP \
962 if (HECMW_hecleng > 0) \
963 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
964 (HECMW_hectext[HECMW_hecleng - 1] == '\n'); \
965 YY_USER_ACTION
966
970 register yy_state_type yy_current_state;
971 register char *yy_cp, *yy_bp;
972 register int yy_act;
973
974#line 38 "../src/common/hecmw_heclex.l"
975
976#line 1139 "<stdout>"
977
978 if (!(yy_init)) {
979 (yy_init) = 1;
980
981#ifdef YY_USER_INIT
982 YY_USER_INIT;
983#endif
984
985 if (!(yy_start)) (yy_start) = 1; /* first start state */
986
987 if (!HECMW_hecin) HECMW_hecin = stdin;
988
989 if (!HECMW_hecout) HECMW_hecout = stdout;
990
991 if (!YY_CURRENT_BUFFER) {
992 HECMW_hecensure_buffer_stack();
995 }
996
997 HECMW_hec_load_buffer_state();
998 }
999
1000 while (1) /* loops until end-of-file is reached */
1001 {
1002 yy_cp = (yy_c_buf_p);
1003
1004 /* Support of HECMW_hectext. */
1005 *yy_cp = (yy_hold_char);
1006
1007 /* yy_bp points to the position in yy_ch_buf of the start of
1008 * the current run.
1009 */
1010 yy_bp = yy_cp;
1011
1012 yy_current_state = (yy_start);
1013 yy_current_state += YY_AT_BOL();
1014 yy_match:
1015 do {
1016 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1017 if (yy_accept[yy_current_state]) {
1018 (yy_last_accepting_state) = yy_current_state;
1019 (yy_last_accepting_cpos) = yy_cp;
1020 }
1021 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
1022 yy_current_state = (int)yy_def[yy_current_state];
1023 if (yy_current_state >= 544) yy_c = yy_meta[(unsigned int)yy_c];
1024 }
1025 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
1026 ++yy_cp;
1027 } while (yy_base[yy_current_state] != 1225);
1028
1029 yy_find_action:
1030 yy_act = yy_accept[yy_current_state];
1031 if (yy_act == 0) { /* have to back up */
1032 yy_cp = (yy_last_accepting_cpos);
1033 yy_current_state = (yy_last_accepting_state);
1034 yy_act = yy_accept[yy_current_state];
1035 }
1036
1038
1039 do_action: /* This label is used only to access EOF actions. */
1040
1041 switch (yy_act) { /* beginning of action switch */
1042 case 0: /* must back up */
1043 /* undo the effects of YY_DO_BEFORE_ACTION */
1044 *yy_cp = (yy_hold_char);
1045 yy_cp = (yy_last_accepting_cpos);
1046 yy_current_state = (yy_last_accepting_state);
1047 goto yy_find_action;
1048
1049 case 1:
1050 /* rule 1 can match eol */
1052#line 40 "../src/common/hecmw_heclex.l"
1053 {
1054 lineno++;
1055 set_flag_header(0);
1056 }
1057 YY_BREAK
1058 case 2:
1059 /* rule 2 can match eol */
1061#line 41 "../src/common/hecmw_heclex.l"
1062 {
1063 lineno++;
1064 set_flag_header(0);
1065 }
1066 YY_BREAK
1067 case 3:
1069#line 42 "../src/common/hecmw_heclex.l"
1070 {
1071 return flag_header ? HECMW_HECLEX_H_HEADER : ' ';
1072 }
1073 YY_BREAK
1074 case 4:
1076#line 43 "../src/common/hecmw_heclex.l"
1077 {
1079 set_flag_header(1);
1080 BEGIN INITIAL;
1081 }
1082 YY_BREAK
1083 case 5:
1085#line 48 "../src/common/hecmw_heclex.l"
1086 {
1087 set_flag_header(0);
1088 return HECMW_HECLEX_HEADER;
1089 }
1090 YY_BREAK
1091 case 6:
1092 /* rule 6 can match eol */
1094#line 50 "../src/common/hecmw_heclex.l"
1095 {
1096 lineno_inc++;
1097 set_flag_header(0);
1098 return HECMW_HECLEX_NL;
1099 }
1100 YY_BREAK
1101 case YY_STATE_EOF(INCLUDE):
1102#line 51 "../src/common/hecmw_heclex.l"
1103 {
1105 HECMW_hec_switch_to_buffer(prev_state);
1106 if (fclose(incfp)) {
1107 HECMW_set_error(HECMW_IO_E0006, "File: %s, %s", include_filename,
1108 strerror(errno));
1109 }
1110 flag_including = 0;
1111 BEGIN INITIAL;
1112 }
1113 YY_BREAK
1114 case 7:
1115 /* rule 7 can match eol */
1117#line 62 "../src/common/hecmw_heclex.l"
1118 {
1119 lineno++;
1120 set_flag_header(0);
1121 }
1122 YY_BREAK
1123 case 8:
1125#line 63 "../src/common/hecmw_heclex.l"
1126 {
1127 set_flag_header(0);
1128 }
1129 YY_BREAK
1130 case 9:
1131 /* rule 9 can match eol */
1133#line 64 "../src/common/hecmw_heclex.l"
1134 {
1135 lineno++;
1136 set_flag_header(0);
1137 return HECMW_HECLEX_NL;
1138 }
1139 YY_BREAK
1140 case 10:
1142#line 66 "../src/common/hecmw_heclex.l"
1143 {
1144 set_flag_header(1);
1146 }
1147 YY_BREAK
1148 case 11:
1150#line 67 "../src/common/hecmw_heclex.l"
1151 {
1152 return flag_header ? HECMW_HECLEX_H_AMPLITUDE : ' ';
1153 }
1154 YY_BREAK
1155 case 12:
1157#line 68 "../src/common/hecmw_heclex.l"
1158 {
1159 set_flag_header(1);
1161 }
1162 YY_BREAK
1163 case 13:
1165#line 69 "../src/common/hecmw_heclex.l"
1166 {
1167 return flag_header ? HECMW_HECLEX_H_CONNECTIVITY : ' ';
1168 }
1169 YY_BREAK
1170 case 14:
1172#line 70 "../src/common/hecmw_heclex.l"
1173 {
1174 set_flag_header(1);
1176 }
1177 YY_BREAK
1178 case 15:
1180#line 71 "../src/common/hecmw_heclex.l"
1181 {
1182 return flag_header ? HECMW_HECLEX_H_CONTACT_PAIR : ' ';
1183 }
1184 YY_BREAK
1185 case 16:
1187#line 72 "../src/common/hecmw_heclex.l"
1188 {
1189 set_flag_header(1);
1190 return HECMW_HECLEX_H_ECOPY;
1191 }
1192 YY_BREAK
1193 case 17:
1195#line 73 "../src/common/hecmw_heclex.l"
1196 {
1197 return flag_header ? HECMW_HECLEX_H_ECOPY : ' ';
1198 }
1199 YY_BREAK
1200 case 18:
1202#line 74 "../src/common/hecmw_heclex.l"
1203 {
1204 set_flag_header(1);
1205 return HECMW_HECLEX_H_EGEN;
1206 }
1207 YY_BREAK
1208 case 19:
1210#line 75 "../src/common/hecmw_heclex.l"
1211 {
1212 return flag_header ? HECMW_HECLEX_H_EGEN : ' ';
1213 }
1214 YY_BREAK
1215 case 20:
1217#line 76 "../src/common/hecmw_heclex.l"
1218 {
1219 set_flag_header(1);
1220 return HECMW_HECLEX_H_EGROUP;
1221 }
1222 YY_BREAK
1223 case 21:
1225#line 77 "../src/common/hecmw_heclex.l"
1226 {
1227 return flag_header ? HECMW_HECLEX_H_EGROUP : ' ';
1228 }
1229 YY_BREAK
1230 case 22:
1232#line 78 "../src/common/hecmw_heclex.l"
1233 {
1234 set_flag_header(1);
1236 }
1237 YY_BREAK
1238 case 23:
1240#line 79 "../src/common/hecmw_heclex.l"
1241 {
1242 return flag_header ? HECMW_HECLEX_H_ELEMENT : ' ';
1243 }
1244 YY_BREAK
1245 case 24:
1247#line 80 "../src/common/hecmw_heclex.l"
1248 {
1249 set_flag_header(1);
1250 return HECMW_HECLEX_H_END;
1251 }
1252 YY_BREAK
1253 case 25:
1255#line 81 "../src/common/hecmw_heclex.l"
1256 {
1257 return flag_header ? HECMW_HECLEX_H_END : ' ';
1258 }
1259 YY_BREAK
1260 case 26:
1262#line 82 "../src/common/hecmw_heclex.l"
1263 {
1264 set_flag_header(1);
1266 }
1267 YY_BREAK
1268 case 27:
1270#line 83 "../src/common/hecmw_heclex.l"
1271 {
1272 return flag_header ? HECMW_HECLEX_H_EQUATION : ' ';
1273 }
1274 YY_BREAK
1275 case 28:
1277#line 84 "../src/common/hecmw_heclex.l"
1278 {
1279 BEGIN HEADER;
1280 set_flag_header(1);
1281 return HECMW_HECLEX_H_HEADER;
1282 }
1283 YY_BREAK
1284 case 29:
1286#line 89 "../src/common/hecmw_heclex.l"
1287 {
1288 set_flag_header(1);
1290 }
1291 YY_BREAK
1292 case 30:
1294#line 90 "../src/common/hecmw_heclex.l"
1295 {
1296 return flag_header ? HECMW_HECLEX_H_INCLUDE : ' ';
1297 }
1298 YY_BREAK
1299 case 31:
1301#line 91 "../src/common/hecmw_heclex.l"
1302 {
1303 set_flag_header(1);
1305 }
1306 YY_BREAK
1307 case 32:
1309#line 95 "../src/common/hecmw_heclex.l"
1310 {
1311 return flag_header ? HECMW_HECLEX_H_INITIAL : ' ';
1312 }
1313 YY_BREAK
1314 case 33:
1316#line 98 "../src/common/hecmw_heclex.l"
1317 {
1318 set_flag_header(1);
1319 return HECMW_HECLEX_H_ITEM;
1320 }
1321 YY_BREAK
1322 case 34:
1324#line 99 "../src/common/hecmw_heclex.l"
1325 {
1326 return flag_header ? HECMW_HECLEX_H_ITEM : ' ';
1327 }
1328 YY_BREAK
1329 case 35:
1331#line 100 "../src/common/hecmw_heclex.l"
1332 {
1333 set_flag_header(1);
1335 }
1336 YY_BREAK
1337 case 36:
1339#line 101 "../src/common/hecmw_heclex.l"
1340 {
1341 return flag_header ? HECMW_HECLEX_H_MATERIAL : ' ';
1342 }
1343 YY_BREAK
1344 case 37:
1346#line 102 "../src/common/hecmw_heclex.l"
1347 {
1348 set_flag_header(1);
1349 return HECMW_HECLEX_H_NCOPY;
1350 }
1351 YY_BREAK
1352 case 38:
1354#line 103 "../src/common/hecmw_heclex.l"
1355 {
1356 return flag_header ? HECMW_HECLEX_H_NCOPY : ' ';
1357 }
1358 YY_BREAK
1359 case 39:
1361#line 104 "../src/common/hecmw_heclex.l"
1362 {
1363 set_flag_header(1);
1364 return HECMW_HECLEX_H_NFILL;
1365 }
1366 YY_BREAK
1367 case 40:
1369#line 105 "../src/common/hecmw_heclex.l"
1370 {
1371 return flag_header ? HECMW_HECLEX_H_NFILL : ' ';
1372 }
1373 YY_BREAK
1374 case 41:
1376#line 106 "../src/common/hecmw_heclex.l"
1377 {
1378 set_flag_header(1);
1379 return HECMW_HECLEX_H_NGEN;
1380 }
1381 YY_BREAK
1382 case 42:
1384#line 107 "../src/common/hecmw_heclex.l"
1385 {
1386 return flag_header ? HECMW_HECLEX_H_NGEN : ' ';
1387 }
1388 YY_BREAK
1389 case 43:
1391#line 108 "../src/common/hecmw_heclex.l"
1392 {
1393 set_flag_header(1);
1394 return HECMW_HECLEX_H_NGROUP;
1395 }
1396 YY_BREAK
1397 case 44:
1399#line 109 "../src/common/hecmw_heclex.l"
1400 {
1401 return flag_header ? HECMW_HECLEX_H_NGROUP : ' ';
1402 }
1403 YY_BREAK
1404 case 45:
1406#line 110 "../src/common/hecmw_heclex.l"
1407 {
1408 set_flag_header(1);
1409 return HECMW_HECLEX_H_NODE;
1410 }
1411 YY_BREAK
1412 case 46:
1414#line 111 "../src/common/hecmw_heclex.l"
1415 {
1416 return flag_header ? HECMW_HECLEX_H_NODE : ' ';
1417 }
1418 YY_BREAK
1419 case 47:
1421#line 112 "../src/common/hecmw_heclex.l"
1422 {
1423 set_flag_header(1);
1425 }
1426 YY_BREAK
1427 case 48:
1429#line 113 "../src/common/hecmw_heclex.l"
1430 {
1431 return flag_header ? HECMW_HECLEX_H_SECTION : ' ';
1432 }
1433 YY_BREAK
1434 case 49:
1436#line 114 "../src/common/hecmw_heclex.l"
1437 {
1438 set_flag_header(1);
1439 return HECMW_HECLEX_H_SGROUP;
1440 }
1441 YY_BREAK
1442 case 50:
1444#line 115 "../src/common/hecmw_heclex.l"
1445 {
1446 return flag_header ? HECMW_HECLEX_H_SGROUP : ' ';
1447 }
1448 YY_BREAK
1449 case 51:
1451#line 116 "../src/common/hecmw_heclex.l"
1452 {
1453 set_flag_header(1);
1454 return HECMW_HECLEX_H_SYSTEM;
1455 }
1456 YY_BREAK
1457 case 52:
1459#line 117 "../src/common/hecmw_heclex.l"
1460 {
1461 return flag_header ? HECMW_HECLEX_H_SYSTEM : ' ';
1462 }
1463 YY_BREAK
1464 case 53:
1466#line 118 "../src/common/hecmw_heclex.l"
1467 {
1468 set_flag_header(1);
1469 return HECMW_HECLEX_H_ZERO;
1470 }
1471 YY_BREAK
1472 case 54:
1474#line 119 "../src/common/hecmw_heclex.l"
1475 {
1476 return flag_header ? HECMW_HECLEX_H_ZERO : ' ';
1477 }
1478 YY_BREAK
1479 case 55:
1481#line 122 "../src/common/hecmw_heclex.l"
1482 {
1483 set_flag_header(0);
1484 return HECMW_HECLEX_K_ABAQUS;
1485 }
1486 YY_BREAK
1487 case 56:
1489#line 123 "../src/common/hecmw_heclex.l"
1490 {
1491 set_flag_header(0);
1493 }
1494 YY_BREAK
1495 case 57:
1497#line 124 "../src/common/hecmw_heclex.l"
1498 {
1499 set_flag_header(0);
1500 return HECMW_HECLEX_K_BEAM;
1501 }
1502 YY_BREAK
1503 case 58:
1505#line 125 "../src/common/hecmw_heclex.l"
1506 {
1507 set_flag_header(0);
1509 }
1510 YY_BREAK
1511 case 59:
1513#line 126 "../src/common/hecmw_heclex.l"
1514 {
1515 set_flag_header(0);
1517 }
1518 YY_BREAK
1519 case 60:
1521#line 127 "../src/common/hecmw_heclex.l"
1522 {
1523 set_flag_header(0);
1524 return HECMW_HECLEX_K_EGRP;
1525 }
1526 YY_BREAK
1527 case 61:
1529#line 128 "../src/common/hecmw_heclex.l"
1530 {
1531 set_flag_header(0);
1533 }
1534 YY_BREAK
1535 case 62:
1537#line 129 "../src/common/hecmw_heclex.l"
1538 {
1539 set_flag_header(0);
1540 return HECMW_HECLEX_K_HECMW;
1541 }
1542 YY_BREAK
1543 case 63:
1545#line 130 "../src/common/hecmw_heclex.l"
1546 {
1547 set_flag_header(0);
1548 return HECMW_HECLEX_K_INPUT;
1549 }
1550 YY_BREAK
1551 case 64:
1553#line 131 "../src/common/hecmw_heclex.l"
1554 {
1555 set_flag_header(0);
1557 }
1558 YY_BREAK
1559 case 65:
1561#line 132 "../src/common/hecmw_heclex.l"
1562 {
1563 set_flag_header(0);
1564 return HECMW_HECLEX_K_ITEM;
1565 }
1566 YY_BREAK
1567 case 66:
1569#line 133 "../src/common/hecmw_heclex.l"
1570 {
1571 set_flag_header(0);
1573 }
1574 YY_BREAK
1575 case 67:
1577#line 134 "../src/common/hecmw_heclex.l"
1578 {
1579 set_flag_header(0);
1581 }
1582 YY_BREAK
1583 case 68:
1585#line 135 "../src/common/hecmw_heclex.l"
1586 {
1587 set_flag_header(0);
1588 return HECMW_HECLEX_K_NAME;
1589 }
1590 YY_BREAK
1591 case 69:
1593#line 136 "../src/common/hecmw_heclex.l"
1594 {
1595 set_flag_header(0);
1597 }
1598 YY_BREAK
1599 case 70:
1601#line 137 "../src/common/hecmw_heclex.l"
1602 {
1603 set_flag_header(0);
1604 return HECMW_HECLEX_K_NGRP;
1605 }
1606 YY_BREAK
1607 case 71:
1609#line 138 "../src/common/hecmw_heclex.l"
1610 {
1611 set_flag_header(0);
1613 }
1614 YY_BREAK
1615 case 72:
1617#line 139 "../src/common/hecmw_heclex.l"
1618 {
1619 set_flag_header(0);
1621 }
1622 YY_BREAK
1623 case 73:
1625#line 140 "../src/common/hecmw_heclex.l"
1626 {
1627 set_flag_header(0);
1628 return HECMW_HECLEX_K_SECOPT;
1629 }
1630 YY_BREAK
1631 case 74:
1633#line 141 "../src/common/hecmw_heclex.l"
1634 {
1635 set_flag_header(0);
1637 }
1638 YY_BREAK
1639 case 75:
1641#line 142 "../src/common/hecmw_heclex.l"
1642 {
1643 set_flag_header(0);
1644 return HECMW_HECLEX_K_SGRP;
1645 }
1646 YY_BREAK
1647 case 76:
1649#line 143 "../src/common/hecmw_heclex.l"
1650 {
1651 set_flag_header(0);
1652 return HECMW_HECLEX_K_SHELL;
1653 }
1654 YY_BREAK
1655 case 77:
1657#line 144 "../src/common/hecmw_heclex.l"
1658 {
1659 set_flag_header(0);
1660 return HECMW_HECLEX_K_SOLID;
1661 }
1662 YY_BREAK
1663 case 78:
1665#line 145 "../src/common/hecmw_heclex.l"
1666 {
1667 set_flag_header(0);
1669 }
1670 YY_BREAK
1671 case 79:
1673#line 146 "../src/common/hecmw_heclex.l"
1674 {
1675 set_flag_header(0);
1677 }
1678 YY_BREAK
1679 case 80:
1681#line 147 "../src/common/hecmw_heclex.l"
1682 {
1683 set_flag_header(0);
1685 }
1686 YY_BREAK
1687 case 81:
1689#line 148 "../src/common/hecmw_heclex.l"
1690 {
1691 set_flag_header(0);
1692 return HECMW_HECLEX_K_SYSTEM;
1693 }
1694 YY_BREAK
1695 case 82:
1697#line 149 "../src/common/hecmw_heclex.l"
1698 {
1699 set_flag_header(0);
1700 return HECMW_HECLEX_K_TABLE;
1701 }
1702 YY_BREAK
1703 case 83:
1705#line 150 "../src/common/hecmw_heclex.l"
1706 {
1707 set_flag_header(0);
1709 }
1710 YY_BREAK
1711 case 84:
1713#line 151 "../src/common/hecmw_heclex.l"
1714 {
1715 set_flag_header(0);
1717 }
1718 YY_BREAK
1719 case 85:
1721#line 152 "../src/common/hecmw_heclex.l"
1722 {
1723 set_flag_header(0);
1724 return HECMW_HECLEX_K_TIME;
1725 }
1726 YY_BREAK
1727 case 86:
1729#line 153 "../src/common/hecmw_heclex.l"
1730 {
1731 set_flag_header(0);
1732 return HECMW_HECLEX_K_TYPE;
1733 }
1734 YY_BREAK
1735 case 87:
1737#line 154 "../src/common/hecmw_heclex.l"
1738 {
1739 set_flag_header(0);
1740 return HECMW_HECLEX_K_VALUE;
1741 }
1742 YY_BREAK
1743 case 88:
1745#line 155 "../src/common/hecmw_heclex.l"
1746 {
1747 set_flag_header(0);
1749 }
1750 YY_BREAK
1751 case 89:
1753#line 156 "../src/common/hecmw_heclex.l"
1754 {
1755 set_flag_header(0);
1757 }
1758 YY_BREAK
1759 case 90:
1761#line 158 "../src/common/hecmw_heclex.l"
1762 {
1763 set_flag_header(0);
1764 return '=';
1765 }
1766 YY_BREAK
1767 case 91:
1769#line 159 "../src/common/hecmw_heclex.l"
1770 {
1771 set_flag_header(0);
1772 return ',';
1773 }
1774 YY_BREAK
1775 case 92:
1777#line 160 "../src/common/hecmw_heclex.l"
1778 {
1779 set_flag_header(0);
1780 return 'C';
1781 }
1782 YY_BREAK
1783 case 93:
1785#line 161 "../src/common/hecmw_heclex.l"
1786 {
1787 set_flag_header(0);
1788 return 'R';
1789 }
1790 YY_BREAK
1791 case 94:
1793#line 163 "../src/common/hecmw_heclex.l"
1794 {
1795 yylval.dval = atof(HECMW_hectext);
1796 set_flag_header(0);
1797 return HECMW_HECLEX_INT;
1798 }
1799 YY_BREAK
1800 case 95:
1802#line 168 "../src/common/hecmw_heclex.l"
1803 {
1804 yylval.dval = atof(HECMW_hectext);
1805 set_flag_header(0);
1806 return HECMW_HECLEX_DOUBLE;
1807 }
1808 YY_BREAK
1809 case 96:
1811#line 173 "../src/common/hecmw_heclex.l"
1812 {
1813 yylval.str = HECMW_hectext;
1814 set_flag_header(0);
1815 return HECMW_HECLEX_NAME;
1816 }
1817 YY_BREAK
1818 case 97:
1820#line 178 "../src/common/hecmw_heclex.l"
1821 {
1822 yylval.str = HECMW_hectext;
1823 set_flag_header(0);
1824 return HECMW_HECLEX_FILENAME;
1825 }
1826 YY_BREAK
1827 case 98:
1829#line 183 "../src/common/hecmw_heclex.l"
1830 {
1831 set_flag_header(0);
1832 return HECMW_hectext[0];
1833 }
1834 YY_BREAK
1835 case YY_STATE_EOF(INITIAL):
1836 case YY_STATE_EOF(HEADER):
1837#line 184 "../src/common/hecmw_heclex.l"
1838 {
1839 return 0;
1840 }
1841 YY_BREAK
1842 case 99:
1844#line 186 "../src/common/hecmw_heclex.l"
1845 ECHO;
1846 YY_BREAK
1847#line 1770 "<stdout>"
1848
1849 case YY_END_OF_BUFFER: {
1850 /* Amount of text matched not including the EOB char. */
1851 int yy_amount_of_matched_text = (int)(yy_cp - (yytext_ptr)) - 1;
1852
1853 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1854 *yy_cp = (yy_hold_char);
1856
1857 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW) {
1858 /* We're scanning a new file or input source. It's
1859 * possible that this happened because the user
1860 * just pointed HECMW_hecin at a new source and called
1861 * HECMW_heclex(). If so, then we have to assure
1862 * consistency between YY_CURRENT_BUFFER and our
1863 * globals. Here is the right place to do so, because
1864 * this is the first action (other than possibly a
1865 * back-up) that will match for the new input source.
1866 */
1867 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1868 YY_CURRENT_BUFFER_LVALUE->yy_input_file = HECMW_hecin;
1869 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1870 }
1871
1872 /* Note that here we test for yy_c_buf_p "<=" to the position
1873 * of the first EOB in the buffer, since yy_c_buf_p will
1874 * already have been incremented past the NUL character
1875 * (since all states make transitions on EOB to the
1876 * end-of-buffer state). Contrast this with the test
1877 * in input().
1878 */
1879 if ((yy_c_buf_p) <=
1881 ->yy_ch_buf[(yy_n_chars)]) { /* This was really a NUL. */
1882 yy_state_type yy_next_state;
1883
1884 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1885
1886 yy_current_state = yy_get_previous_state();
1887
1888 /* Okay, we're now positioned to make the NUL
1889 * transition. We couldn't have
1890 * yy_get_previous_state() go ahead and do it
1891 * for us because it doesn't know how to deal
1892 * with the possibility of jamming (and we don't
1893 * want to build jamming into it because then it
1894 * will run more slowly).
1895 */
1896
1897 yy_next_state = yy_try_NUL_trans(yy_current_state);
1898
1900
1901 if (yy_next_state) {
1902 /* Consume the NUL. */
1903 yy_cp = ++(yy_c_buf_p);
1904 yy_current_state = yy_next_state;
1905 goto yy_match;
1906 }
1907
1908 else {
1909 yy_cp = (yy_c_buf_p);
1910 goto yy_find_action;
1911 }
1912 }
1913
1914 else
1915 switch (yy_get_next_buffer()) {
1916 case EOB_ACT_END_OF_FILE: {
1917 (yy_did_buffer_switch_on_eof) = 0;
1918
1919 if (HECMW_hecwrap()) {
1920 /* Note: because we've taken care in
1921 * yy_get_next_buffer() to have set up
1922 * HECMW_hectext, we can now set up
1923 * yy_c_buf_p so that if some total
1924 * hoser (like flex itself) wants to
1925 * call the scanner after we return the
1926 * YY_NULL, it'll still work - another
1927 * YY_NULL will get returned.
1928 */
1929 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1930
1932 goto do_action;
1933 }
1934
1935 else {
1936 if (!(yy_did_buffer_switch_on_eof)) YY_NEW_FILE;
1937 }
1938 break;
1939 }
1940
1942 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1943
1944 yy_current_state = yy_get_previous_state();
1945
1946 yy_cp = (yy_c_buf_p);
1948 goto yy_match;
1949
1950 case EOB_ACT_LAST_MATCH:
1951 (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1952
1953 yy_current_state = yy_get_previous_state();
1954
1955 yy_cp = (yy_c_buf_p);
1957 goto yy_find_action;
1958 }
1959 break;
1960 }
1961
1962 default:
1963 YY_FATAL_ERROR("fatal flex scanner internal error--no action found");
1964 } /* end of action switch */
1965 } /* end of scanning one token */
1966} /* end of HECMW_heclex */
1967
1968/* yy_get_next_buffer - try to read in a new buffer
1969 *
1970 * Returns a code representing an action:
1971 * EOB_ACT_LAST_MATCH -
1972 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1973 * EOB_ACT_END_OF_FILE - end of file
1974 */
1975static int yy_get_next_buffer(void) {
1976 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1977 register char *source = (yytext_ptr);
1978 register int number_to_move, i;
1979 int ret_val;
1980
1981 if ((yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1])
1982 YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed");
1983
1984 if (YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer ==
1985 0) { /* Don't try to fill the buffer, so this is an EOF. */
1986 if ((yy_c_buf_p) - (yytext_ptr)-YY_MORE_ADJ == 1) {
1987 /* We matched a single character, the EOB, so
1988 * treat this as a final EOF.
1989 */
1990 return EOB_ACT_END_OF_FILE;
1991 }
1992
1993 else {
1994 /* We matched some text prior to the EOB, first
1995 * process it.
1996 */
1997 return EOB_ACT_LAST_MATCH;
1998 }
1999 }
2000
2001 /* Try to read more data. */
2002
2003 /* First move last chars to start of buffer. */
2004 number_to_move = (int)((yy_c_buf_p) - (yytext_ptr)) - 1;
2005
2006 for (i = 0; i < number_to_move; ++i) *(dest++) = *(source++);
2007
2008 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING)
2009 /* don't do the read, it's not guaranteed to return an EOF,
2010 * just force an EOF
2011 */
2012 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2013
2014 else {
2015 yy_size_t num_to_read =
2016 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2017
2018 while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */
2019
2020 /* just a shorter name for the current buffer */
2022
2023 int yy_c_buf_p_offset = (int)((yy_c_buf_p)-b->yy_ch_buf);
2024
2025 if (b->yy_is_our_buffer) {
2026 yy_size_t new_size = b->yy_buf_size * 2;
2027
2028 if (new_size <= 0)
2029 b->yy_buf_size += b->yy_buf_size / 8;
2030 else
2031 b->yy_buf_size *= 2;
2032
2033 b->yy_ch_buf = (char *)
2034 /* Include room in for 2 EOB chars. */
2035 HECMW_hecrealloc((void *)b->yy_ch_buf, b->yy_buf_size + 2);
2036 } else
2037 /* Can't grow it, we don't own it. */
2038 b->yy_ch_buf = 0;
2039
2040 if (!b->yy_ch_buf)
2041 YY_FATAL_ERROR("fatal error - scanner input buffer overflow");
2042
2043 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2044
2045 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2046 }
2047
2048 if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE;
2049
2050 /* Read in more data. */
2051 YY_INPUT((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2052 (yy_n_chars), num_to_read);
2053
2054 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2055 }
2056
2057 if ((yy_n_chars) == 0) {
2058 if (number_to_move == YY_MORE_ADJ) {
2059 ret_val = EOB_ACT_END_OF_FILE;
2061 }
2062
2063 else {
2064 ret_val = EOB_ACT_LAST_MATCH;
2066 }
2067 }
2068
2069 else
2070 ret_val = EOB_ACT_CONTINUE_SCAN;
2071
2072 if ((yy_size_t)((yy_n_chars) + number_to_move) >
2073 YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2074 /* Extend the array by 50%, plus the number we really need. */
2075 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2076 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)HECMW_hecrealloc(
2077 (void *)YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size);
2078 if (!YY_CURRENT_BUFFER_LVALUE->yy_ch_buf)
2079 YY_FATAL_ERROR("out of dynamic memory in yy_get_next_buffer()");
2080 }
2081
2082 (yy_n_chars) += number_to_move;
2083 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2084 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2085
2086 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2087
2088 return ret_val;
2089}
2090
2091/* yy_get_previous_state - get the state just before the EOB char was reached */
2092
2093static yy_state_type yy_get_previous_state(void) {
2094 register yy_state_type yy_current_state;
2095 register char *yy_cp;
2096
2097 yy_current_state = (yy_start);
2098 yy_current_state += YY_AT_BOL();
2099
2100 for (yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp) {
2101 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2102 if (yy_accept[yy_current_state]) {
2103 (yy_last_accepting_state) = yy_current_state;
2104 (yy_last_accepting_cpos) = yy_cp;
2105 }
2106 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
2107 yy_current_state = (int)yy_def[yy_current_state];
2108 if (yy_current_state >= 544) yy_c = yy_meta[(unsigned int)yy_c];
2109 }
2110 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
2111 }
2112
2113 return yy_current_state;
2114}
2115
2116/* yy_try_NUL_trans - try to make a transition on the NUL character
2117 *
2118 * synopsis
2119 * next_state = yy_try_NUL_trans( current_state );
2120 */
2121static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state) {
2122 register int yy_is_jam;
2123 register char *yy_cp = (yy_c_buf_p);
2124
2125 register YY_CHAR yy_c = 1;
2126 if (yy_accept[yy_current_state]) {
2127 (yy_last_accepting_state) = yy_current_state;
2128 (yy_last_accepting_cpos) = yy_cp;
2129 }
2130 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
2131 yy_current_state = (int)yy_def[yy_current_state];
2132 if (yy_current_state >= 544) yy_c = yy_meta[(unsigned int)yy_c];
2133 }
2134 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
2135 yy_is_jam = (yy_current_state == 543);
2136
2137 return yy_is_jam ? 0 : yy_current_state;
2138}
2139
2140#ifndef YY_NO_INPUT
2141#ifdef __cplusplus
2142static int yyinput(void)
2143#else
2144static int input(void)
2145#endif
2146
2147{
2148 int c;
2149
2150 *(yy_c_buf_p) = (yy_hold_char);
2151
2152 if (*(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR) {
2153 /* yy_c_buf_p now points to the character we want to return.
2154 * If this occurs *before* the EOB characters, then it's a
2155 * valid NUL; if not, then we've hit the end of the buffer.
2156 */
2157 if ((yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)])
2158 /* This was really a NUL. */
2159 *(yy_c_buf_p) = '\0';
2160
2161 else { /* need more input */
2162 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
2163 ++(yy_c_buf_p);
2164
2165 switch (yy_get_next_buffer()) {
2166 case EOB_ACT_LAST_MATCH:
2167 /* This happens because yy_g_n_b()
2168 * sees that we've accumulated a
2169 * token and flags that we need to
2170 * try matching the token before
2171 * proceeding. But for input(),
2172 * there's no matching to consider.
2173 * So convert the EOB_ACT_LAST_MATCH
2174 * to EOB_ACT_END_OF_FILE.
2175 */
2176
2177 /* Reset buffer status. */
2179
2180 /*FALLTHROUGH*/
2181
2182 case EOB_ACT_END_OF_FILE: {
2183 if (HECMW_hecwrap()) return 0;
2184
2185 if (!(yy_did_buffer_switch_on_eof)) YY_NEW_FILE;
2186#ifdef __cplusplus
2187 return yyinput();
2188#else
2189 return input();
2190#endif
2191 }
2192
2194 (yy_c_buf_p) = (yytext_ptr) + offset;
2195 break;
2196 }
2197 }
2198 }
2199
2200 c = *(unsigned char *)(yy_c_buf_p); /* cast for 8-bit char's */
2201 *(yy_c_buf_p) = '\0'; /* preserve HECMW_hectext */
2202 (yy_hold_char) = *++(yy_c_buf_p);
2203
2204 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2205
2206 return c;
2207}
2208#endif /* ifndef YY_NO_INPUT */
2209
2215void HECMW_hecrestart(FILE *input_file) {
2216 if (!YY_CURRENT_BUFFER) {
2217 HECMW_hecensure_buffer_stack();
2220 }
2221
2222 HECMW_hec_init_buffer(YY_CURRENT_BUFFER, input_file);
2223 HECMW_hec_load_buffer_state();
2224}
2225
2231 /* TODO. We should be able to replace this entire function body
2232 * with
2233 * HECMW_hecpop_buffer_state();
2234 * HECMW_hecpush_buffer_state(new_buffer);
2235*/
2236 HECMW_hecensure_buffer_stack();
2237 if (YY_CURRENT_BUFFER == new_buffer) return;
2238
2239 if (YY_CURRENT_BUFFER) {
2240 /* Flush out information for old buffer. */
2241 *(yy_c_buf_p) = (yy_hold_char);
2242 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2243 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2244 }
2245
2246 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2247 HECMW_hec_load_buffer_state();
2248
2249 /* We don't actually know whether we did this switch during
2250 * EOF (HECMW_hecwrap()) processing, but the only time this flag
2251 * is looked at is after HECMW_hecwrap() is called, so it's safe
2252 * to go ahead and always set it.
2253 */
2254 (yy_did_buffer_switch_on_eof) = 1;
2255}
2256
2257static void HECMW_hec_load_buffer_state(void) {
2258 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2259 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2260 HECMW_hecin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2261 (yy_hold_char) = *(yy_c_buf_p);
2262}
2263
2273
2274 b = (YY_BUFFER_STATE)HECMW_hecalloc(sizeof(struct yy_buffer_state));
2275 if (!b) YY_FATAL_ERROR("out of dynamic memory in HECMW_hec_create_buffer()");
2276
2277 b->yy_buf_size = size;
2278
2279 /* yy_ch_buf has to be 2 characters longer than the size given because
2280 * we need to put in 2 end-of-buffer characters.
2281 */
2282 b->yy_ch_buf = (char *)HECMW_hecalloc(b->yy_buf_size + 2);
2283 if (!b->yy_ch_buf)
2284 YY_FATAL_ERROR("out of dynamic memory in HECMW_hec_create_buffer()");
2285
2286 b->yy_is_our_buffer = 1;
2287
2288 HECMW_hec_init_buffer(b, file);
2289
2290 return b;
2291}
2292
2298 if (!b) return;
2299
2300 if (b == YY_CURRENT_BUFFER) /* Not sure if we should pop here. */
2302
2303 if (b->yy_is_our_buffer) HECMW_hecfree((void *)b->yy_ch_buf);
2304
2305 HECMW_hecfree((void *)b);
2306}
2307
2308#ifndef __cplusplus
2309extern int isatty(int);
2310#endif /* __cplusplus */
2311
2312/* Initializes or reinitializes a buffer.
2313 * This function is sometimes called more than once on the same buffer,
2314 * such as during a HECMW_hecrestart() or at EOF.
2315 */
2316static void HECMW_hec_init_buffer(YY_BUFFER_STATE b, FILE *file)
2317
2318{
2319 int oerrno = errno;
2320
2322
2323 b->yy_input_file = file;
2324 b->yy_fill_buffer = 1;
2325
2326 /* If b is the current buffer, then HECMW_hec_init_buffer was _probably_
2327 * called from HECMW_hecrestart() or through yy_get_next_buffer.
2328 * In that case, we don't want to reset the lineno or column.
2329 */
2330 if (b != YY_CURRENT_BUFFER) {
2331 b->yy_bs_lineno = 1;
2332 b->yy_bs_column = 0;
2333 }
2334
2335 b->yy_is_interactive = file ? (isatty(fileno(file)) > 0) : 0;
2336
2337 errno = oerrno;
2338}
2339
2345 if (!b) return;
2346
2347 b->yy_n_chars = 0;
2348
2349 /* We always need two end-of-buffer characters. The first causes
2350 * a transition to the end-of-buffer state. The second causes
2351 * a jam in that state.
2352 */
2355
2356 b->yy_buf_pos = &b->yy_ch_buf[0];
2357
2358 b->yy_at_bol = 1;
2360
2361 if (b == YY_CURRENT_BUFFER) HECMW_hec_load_buffer_state();
2362}
2363
2371 if (new_buffer == NULL) return;
2372
2373 HECMW_hecensure_buffer_stack();
2374
2375 /* This block is copied from HECMW_hec_switch_to_buffer. */
2376 if (YY_CURRENT_BUFFER) {
2377 /* Flush out information for old buffer. */
2378 *(yy_c_buf_p) = (yy_hold_char);
2379 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2380 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2381 }
2382
2383 /* Only push if top exists. Otherwise, replace top. */
2384 if (YY_CURRENT_BUFFER) (yy_buffer_stack_top)++;
2385 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2386
2387 /* copied from HECMW_hec_switch_to_buffer. */
2388 HECMW_hec_load_buffer_state();
2389 (yy_did_buffer_switch_on_eof) = 1;
2390}
2391
2397 if (!YY_CURRENT_BUFFER) return;
2398
2401 if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top);
2402
2403 if (YY_CURRENT_BUFFER) {
2404 HECMW_hec_load_buffer_state();
2405 (yy_did_buffer_switch_on_eof) = 1;
2406 }
2407}
2408
2409/* Allocates the stack if it does not exist.
2410 * Guarantees space for at least one push.
2411 */
2412static void HECMW_hecensure_buffer_stack(void) {
2413 yy_size_t num_to_alloc;
2414
2415 if (!(yy_buffer_stack)) {
2416 /* First allocation is just for 2 elements, since we don't know if this
2417 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2418 * immediate realloc on the next call.
2419*/
2420 num_to_alloc = 1;
2421 (yy_buffer_stack) = (struct yy_buffer_state **)HECMW_hecalloc(
2422 num_to_alloc * sizeof(struct yy_buffer_state *));
2423 if (!(yy_buffer_stack))
2424 YY_FATAL_ERROR("out of dynamic memory in HECMW_hecensure_buffer_stack()");
2425
2426 memset((yy_buffer_stack), 0,
2427 num_to_alloc * sizeof(struct yy_buffer_state *));
2428
2429 (yy_buffer_stack_max) = num_to_alloc;
2430 (yy_buffer_stack_top) = 0;
2431 return;
2432 }
2433
2434 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1) {
2435 /* Increase the buffer to prepare for a possible push. */
2436 int grow_size = 8 /* arbitrary grow size */;
2437
2438 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2439 (yy_buffer_stack) = (struct yy_buffer_state **)HECMW_hecrealloc(
2440 (yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state *));
2441 if (!(yy_buffer_stack))
2442 YY_FATAL_ERROR("out of dynamic memory in HECMW_hecensure_buffer_stack()");
2443
2444 /* zero only the new slots.*/
2445 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0,
2446 grow_size * sizeof(struct yy_buffer_state *));
2447 (yy_buffer_stack_max) = num_to_alloc;
2448 }
2449}
2450
2460
2461 if (size < 2 || base[size - 2] != YY_END_OF_BUFFER_CHAR ||
2462 base[size - 1] != YY_END_OF_BUFFER_CHAR)
2463 /* They forgot to leave room for the EOB's. */
2464 return 0;
2465
2466 b = (YY_BUFFER_STATE)HECMW_hecalloc(sizeof(struct yy_buffer_state));
2467 if (!b) YY_FATAL_ERROR("out of dynamic memory in HECMW_hec_scan_buffer()");
2468
2469 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2470 b->yy_buf_pos = b->yy_ch_buf = base;
2471 b->yy_is_our_buffer = 0;
2472 b->yy_input_file = 0;
2473 b->yy_n_chars = b->yy_buf_size;
2474 b->yy_is_interactive = 0;
2475 b->yy_at_bol = 1;
2476 b->yy_fill_buffer = 0;
2478
2480
2481 return b;
2482}
2483
2494 return HECMW_hec_scan_bytes(yystr, strlen(yystr));
2495}
2496
2506 yy_size_t _yybytes_len) {
2508 char *buf;
2509 yy_size_t n, i;
2510
2511 /* Get memory for full buffer, including space for trailing EOB's. */
2512 n = _yybytes_len + 2;
2513 buf = (char *)HECMW_hecalloc(n);
2514 if (!buf) YY_FATAL_ERROR("out of dynamic memory in HECMW_hec_scan_bytes()");
2515
2516 for (i = 0; i < _yybytes_len; ++i) buf[i] = yybytes[i];
2517
2518 buf[_yybytes_len] = buf[_yybytes_len + 1] = YY_END_OF_BUFFER_CHAR;
2519
2520 b = HECMW_hec_scan_buffer(buf, n);
2521 if (!b) YY_FATAL_ERROR("bad buffer in HECMW_hec_scan_bytes()");
2522
2523 /* It's okay to grow etc. this buffer, and we should throw it
2524 * away when we're done.
2525 */
2526 b->yy_is_our_buffer = 1;
2527
2528 return b;
2529}
2530
2531#ifndef YY_EXIT_FAILURE
2532#define YY_EXIT_FAILURE 2
2533#endif
2534
2535static void yy_fatal_error(yyconst char *msg) {
2536 (void)fprintf(stderr, "%s\n", msg);
2537 exit(YY_EXIT_FAILURE);
2538}
2539
2540/* Redefine yyless() so it works in section 3 code. */
2541
2542#undef yyless
2543#define yyless(n) \
2544 do { \
2545 /* Undo effects of setting up HECMW_hectext. */ \
2546 int yyless_macro_arg = (n); \
2547 YY_LESS_LINENO(yyless_macro_arg); \
2548 HECMW_hectext[HECMW_hecleng] = (yy_hold_char); \
2549 (yy_c_buf_p) = HECMW_hectext + yyless_macro_arg; \
2550 (yy_hold_char) = *(yy_c_buf_p); \
2551 *(yy_c_buf_p) = '\0'; \
2552 HECMW_hecleng = yyless_macro_arg; \
2553 } while (0)
2554
2555/* Accessor methods (get/set functions) to struct members. */
2556
2561
2565FILE *HECMW_hecget_in(void) { return HECMW_hecin; }
2566
2570FILE *HECMW_hecget_out(void) { return HECMW_hecout; }
2571
2576
2581char *HECMW_hecget_text(void) { return HECMW_hectext; }
2582
2587void HECMW_hecset_lineno(int line_number) { HECMW_heclineno = line_number; }
2588
2595void HECMW_hecset_in(FILE *in_str) { HECMW_hecin = in_str; }
2596
2597void HECMW_hecset_out(FILE *out_str) { HECMW_hecout = out_str; }
2598
2600
2601void HECMW_hecset_debug(int bdebug) { HECMW_hec_flex_debug = bdebug; }
2602
2603static int yy_init_globals(void) {
2604 /* Initialization is the same as for the non-reentrant scanner.
2605*This function is called from HECMW_heclex_destroy(), so don't allocate here.
2606*/
2607
2608 (yy_buffer_stack) = 0;
2609 (yy_buffer_stack_top) = 0;
2610 (yy_buffer_stack_max) = 0;
2611 (yy_c_buf_p) = (char *)0;
2612 (yy_init) = 0;
2613 (yy_start) = 0;
2614
2615/* Defined in main.c */
2616#ifdef YY_STDINIT
2617 HECMW_hecin = stdin;
2618 HECMW_hecout = stdout;
2619#else
2620 HECMW_hecin = (FILE *)0;
2621 HECMW_hecout = (FILE *)0;
2622#endif
2623
2624 /* For future reference: Set errno on error, since we are called by
2625 * HECMW_heclex_init()
2626 */
2627 return 0;
2628}
2629
2630/* HECMW_heclex_destroy is for both reentrant and non-reentrant scanners. */
2632 /* Pop the buffer stack, destroying each element. */
2633 while (YY_CURRENT_BUFFER) {
2637 }
2638
2639 /* Destroy the stack itself. */
2640 HECMW_hecfree((yy_buffer_stack));
2641 (yy_buffer_stack) = NULL;
2642
2643 /* Reset the globals. This is important in a non-reentrant scanner so the next
2644 * time
2645 * HECMW_heclex() is called, initialization will occur. */
2646 yy_init_globals();
2647
2648 return 0;
2649}
2650
2651/*
2652 * Internal utility routines.
2653 */
2654
2655#ifndef yytext_ptr
2656static void yy_flex_strncpy(char *s1, yyconst char *s2, int n) {
2657 register int i;
2658 for (i = 0; i < n; ++i) s1[i] = s2[i];
2659}
2660#endif
2661
2662#ifdef YY_NEED_STRLEN
2663static int yy_flex_strlen(yyconst char *s) {
2664 register int n;
2665 for (n = 0; s[n]; ++n)
2666 ;
2667
2668 return n;
2669}
2670#endif
2671
2672void *HECMW_hecalloc(yy_size_t size) { return (void *)malloc(size); }
2673
2674void *HECMW_hecrealloc(void *ptr, yy_size_t size) {
2675 /* The cast to (char *) in the following accommodates both
2676 * implementations that use char* generic pointers, and those
2677 * that use void* generic pointers. It works with the latter
2678 * because both ANSI C and C++ allow castless assignment from
2679 * any pointer type to void*, and deal with argument conversions
2680 * as though doing an assignment.
2681 */
2682 return (void *)realloc((char *)ptr, size);
2683}
2684
2685void HECMW_hecfree(void *ptr) {
2686 free((char *)ptr); /* see HECMW_hecrealloc() for (char *) cast */
2687}
2688
2689#define YYTABLES_NAME "yytables"
2690
2691#line 186 "../src/common/hecmw_heclex.l"
2692
2693static void set_flag_header(int flag) { flag_header = flag ? 1 : 0; }
2694
2696 return flag_including ? lineno_inc : lineno;
2697}
2698
2699double HECMW_heclex_get_number(void) { return yylval.dval; }
2700
2702
2703int HECMW_heclex_is_including(void) { return flag_including ? 1 : 0; }
2704
2706
2707int HECMW_heclex_next_token_skip(int skip_token) {
2708 int token;
2709 while ((token = HECMW_heclex())) {
2710 if (token != skip_token) break;
2711 }
2712 return token;
2713}
2714
2716 static int first = 1;
2717 if (fp == NULL) return -1;
2718 if (first) {
2719 HECMW_hecin = fp;
2720 first = 0;
2721 } else {
2722 HECMW_hecrestart(fp);
2723 }
2724 lineno = 1;
2725 return 0;
2726}
2727
2729 int token;
2730 while ((token = HECMW_heclex_next_token())) {
2731 if (token == HECMW_HECLEX_NL) break;
2732 }
2733 return token;
2734}
2735
2736int HECMW_heclex_switch_to_include(const char *filename) {
2737 if (filename == NULL) return -1;
2738 if (flag_including) {
2739 HECMW_set_error(HECMW_IO_E0004, "File: %s, %s", filename);
2740 return -1;
2741 }
2742 if ((incfp = fopen(filename, "r")) == NULL) {
2743 HECMW_set_error(HECMW_IO_E0005, "File: %s, %s", filename, strerror(errno));
2744 return -1;
2745 }
2746 strcpy(include_filename, filename);
2747 prev_state = YY_CURRENT_BUFFER;
2749 lineno_inc = 1;
2750 flag_including = 1;
2751 BEGIN INCLUDE;
2752 return 0;
2753}
2754
2756 char *p = HECMW_hectext;
2757 while (*p) {
2758 if (*p == '\n') {
2759 if (YYSTATE == INCLUDE) {
2760 lineno_inc--;
2761 } else {
2762 lineno--;
2763 }
2764 }
2765 p++;
2766 }
2767 yyless(0);
2768 return 0;
2769}
2770
2771int HECMW_hecwrap(void) { return 1; }
unsigned char YY_CHAR
Definition: hecmw_ablex.c:349
short int flex_int16_t
Definition: hecmw_ablex.c:70
int flex_int32_t
Definition: hecmw_ablex.c:71
int yy_state_type
Definition: hecmw_ablex.c:353
size_t yy_size_t
Definition: hecmw_ablex.c:177
#define HECMW_FILENAME_LEN
Definition: hecmw_config.h:72
int HECMW_set_error(int errorno, const char *fmt,...)
Definition: hecmw_error.c:37
#define YY_NEW_FILE
Definition: hecmw_heclex.c:157
int HECMW_hecwrap(void)
unsigned char flex_uint8_t
Definition: hecmw_heclex.c:73
void HECMW_hecfree(void *)
yy_size_t HECMW_hecleng
Definition: hecmw_heclex.c:290
int HECMW_heclex_next_token(void)
void HECMW_hecpop_buffer_state(void)
int HECMW_hecget_debug(void)
unsigned char YY_CHAR
Definition: hecmw_heclex.c:350
void * HECMW_hecrealloc(void *, yy_size_t)
#define YY_EXTRA_TYPE
Definition: hecmw_heclex.c:810
int HECMW_hec_flex_debug
Definition: hecmw_heclex.c:762
double HECMW_heclex_get_number(void)
short int flex_int16_t
Definition: hecmw_heclex.c:71
void HECMW_hecset_in(FILE *in_str)
void HECMW_hecpush_buffer_state(YY_BUFFER_STATE new_buffer)
#define YYSTATE
Definition: hecmw_heclex.c:151
unsigned int flex_uint32_t
Definition: hecmw_heclex.c:75
#define INCLUDE
Definition: hecmw_heclex.c:799
#define YY_BREAK
Definition: hecmw_heclex.c:958
FILE * HECMW_hecout
Definition: hecmw_heclex.c:183
yy_size_t HECMW_hecget_leng(void)
struct yy_buffer_state * YY_BUFFER_STATE
Definition: hecmw_heclex.c:173
int HECMW_heclex(void)
void * HECMW_hecalloc(yy_size_t)
#define YY_BUFFER_NEW
Definition: hecmw_heclex.c:252
int HECMW_heclex_skip_line(void)
#define YY_RESTORE_YY_MORE_OFFSET
Definition: hecmw_heclex.c:770
void HECMW_hecrestart(FILE *input_file)
#define YY_BUFFER_NORMAL
Definition: hecmw_heclex.c:253
void HECMW_hecset_lineno(int line_number)
FILE * HECMW_hecin
Definition: hecmw_heclex.c:352
#define YY_MORE_ADJ
Definition: hecmw_heclex.c:769
#define YY_RULE_SETUP
Definition: hecmw_heclex.c:961
int HECMW_heclex_next_token_skip(int skip_token)
FILE * HECMW_hecget_out(void)
char * HECMW_hectext
Definition: hecmw_heclex.c:771
#define YY_AT_BOL()
Definition: hecmw_heclex.c:346
register char * yy_bp
Definition: hecmw_heclex.c:971
#define yytext_ptr
Definition: hecmw_heclex.c:361
void HECMW_hecset_out(FILE *out_str)
signed char flex_int8_t
Definition: hecmw_heclex.c:70
YY_BUFFER_STATE HECMW_hec_scan_buffer(char *base, yy_size_t size)
void HECMW_hecset_debug(int debug_flag)
YY_BUFFER_STATE HECMW_hec_scan_bytes(yyconst char *bytes, yy_size_t len)
#define EOB_ACT_END_OF_FILE
Definition: hecmw_heclex.c:186
register int yy_act
Definition: hecmw_heclex.c:972
#define YY_CURRENT_BUFFER_LVALUE
Definition: hecmw_heclex.c:285
int HECMW_heclex_switch_to_include(const char *filename)
int flex_int32_t
Definition: hecmw_heclex.c:72
int HECMW_heclex_unput_token(void)
char * HECMW_hecget_text(void)
void HECMW_hec_switch_to_buffer(YY_BUFFER_STATE new_buffer)
#define YY_START
Definition: hecmw_heclex.c:150
int yy_state_type
Definition: hecmw_heclex.c:354
#define YY_CURRENT_BUFFER
Definition: hecmw_heclex.c:279
int HECMW_heclex_get_lineno(void)
#define yyconst
Definition: hecmw_heclex.c:127
#define INITIAL
Definition: hecmw_heclex.c:797
int HECMW_heclex_set_input(FILE *fp)
#define YY_READ_BUF_SIZE
Definition: hecmw_heclex.c:876
#define YY_INPUT(buf, result, max_size)
Definition: hecmw_heclex.c:891
#define ECHO
Definition: hecmw_heclex.c:884
#define YY_END_OF_BUFFER
Definition: hecmw_heclex.c:379
void HECMW_hecset_extra(YY_EXTRA_TYPE user_defined)
#define YY_STATE_EOF(state)
Definition: hecmw_heclex.c:154
int isatty(int)
#define BEGIN
Definition: hecmw_heclex.c:144
#define HEADER
Definition: hecmw_heclex.c:798
#define YY_END_OF_BUFFER_CHAR
Definition: hecmw_heclex.c:159
register char * yy_cp
Definition: hecmw_heclex.c:971
#define YY_FATAL_ERROR(msg)
Definition: hecmw_heclex.c:932
char * HECMW_heclex_get_text(void)
int HECMW_hecget_lineno(void)
int HECMW_heclex_destroy(void)
unsigned short int flex_uint16_t
Definition: hecmw_heclex.c:74
void HECMW_hec_flush_buffer(YY_BUFFER_STATE b)
#define YY_DO_BEFORE_ACTION
Definition: hecmw_heclex.c:371
#define EOB_ACT_LAST_MATCH
Definition: hecmw_heclex.c:187
size_t yy_size_t
Definition: hecmw_heclex.c:178
#define YY_BUFFER_EOF_PENDING
Definition: hecmw_heclex.c:264
#define EOB_ACT_CONTINUE_SCAN
Definition: hecmw_heclex.c:185
#define YY_DECL
Definition: hecmw_heclex.c:945
#define yyless(n)
#define YY_BUF_SIZE
Definition: hecmw_heclex.c:163
#define YY_EXIT_FAILURE
int HECMW_heclex_is_including(void)
YY_BUFFER_STATE HECMW_hec_scan_string(yyconst char *yy_str)
FILE * HECMW_hecget_in(void)
int HECMW_heclineno
Definition: hecmw_heclex.c:358
#define YY_SC_TO_UI(c)
Definition: hecmw_heclex.c:138
YY_EXTRA_TYPE HECMW_hecget_extra(void)
void HECMW_hec_delete_buffer(YY_BUFFER_STATE b)
YY_BUFFER_STATE HECMW_hec_create_buffer(FILE *file, int size)
@ HECMW_HECLEX_K_SURF_SURF
Definition: hecmw_heclex.h:68
@ HECMW_HECLEX_K_GENERATE
Definition: hecmw_heclex.h:49
@ HECMW_HECLEX_H_EGROUP
Definition: hecmw_heclex.h:24
@ HECMW_HECLEX_H_ELEMENT
Definition: hecmw_heclex.h:25
@ HECMW_HECLEX_K_INPUT
Definition: hecmw_heclex.h:51
@ HECMW_HECLEX_K_TABULAR
Definition: hecmw_heclex.h:71
@ HECMW_HECLEX_K_SHELL
Definition: hecmw_heclex.h:64
@ HECMW_HECLEX_K_TYPE
Definition: hecmw_heclex.h:74
@ HECMW_HECLEX_H_EQUATION
Definition: hecmw_heclex.h:27
@ HECMW_HECLEX_H_EGEN
Definition: hecmw_heclex.h:23
@ HECMW_HECLEX_K_SYSTEM
Definition: hecmw_heclex.h:69
@ HECMW_HECLEX_K_COMPOSITE
Definition: hecmw_heclex.h:46
@ HECMW_HECLEX_DOUBLE
Definition: hecmw_heclex.h:14
@ HECMW_HECLEX_INT
Definition: hecmw_heclex.h:13
@ HECMW_HECLEX_K_ABAQUS
Definition: hecmw_heclex.h:43
@ HECMW_HECLEX_H_ZERO
Definition: hecmw_heclex.h:41
@ HECMW_HECLEX_H_ITEM
Definition: hecmw_heclex.h:31
@ HECMW_HECLEX_K_BEAM
Definition: hecmw_heclex.h:45
@ HECMW_HECLEX_FILENAME
Definition: hecmw_heclex.h:16
@ HECMW_HECLEX_K_SUBITEM
Definition: hecmw_heclex.h:67
@ HECMW_HECLEX_K_VALUE
Definition: hecmw_heclex.h:75
@ HECMW_HECLEX_K_DEFINITION
Definition: hecmw_heclex.h:47
@ HECMW_HECLEX_H_NCOPY
Definition: hecmw_heclex.h:33
@ HECMW_HECLEX_H_NODE
Definition: hecmw_heclex.h:37
@ HECMW_HECLEX_K_EGRP
Definition: hecmw_heclex.h:48
@ HECMW_HECLEX_K_MATERIAL
Definition: hecmw_heclex.h:54
@ HECMW_HECLEX_H_END
Definition: hecmw_heclex.h:26
@ HECMW_HECLEX_K_SOLID
Definition: hecmw_heclex.h:65
@ HECMW_HECLEX_H_CONNECTIVITY
Definition: hecmw_heclex.h:20
@ HECMW_HECLEX_H_NGROUP
Definition: hecmw_heclex.h:36
@ HECMW_HECLEX_H_NGEN
Definition: hecmw_heclex.h:35
@ HECMW_HECLEX_K_ABSOLUTE
Definition: hecmw_heclex.h:44
@ HECMW_HECLEX_K_RELATIVE
Definition: hecmw_heclex.h:60
@ HECMW_HECLEX_K_HECMW
Definition: hecmw_heclex.h:50
@ HECMW_HECLEX_H_INITIAL
Definition: hecmw_heclex.h:30
@ HECMW_HECLEX_K_NGRP
Definition: hecmw_heclex.h:58
@ HECMW_HECLEX_K_NAME
Definition: hecmw_heclex.h:56
@ HECMW_HECLEX_K_NASTRAN
Definition: hecmw_heclex.h:57
@ HECMW_HECLEX_H_MATERIAL
Definition: hecmw_heclex.h:32
@ HECMW_HECLEX_K_TABLE
Definition: hecmw_heclex.h:70
@ HECMW_HECLEX_K_NODE_SURF
Definition: hecmw_heclex.h:59
@ HECMW_HECLEX_HEADER
Definition: hecmw_heclex.h:17
@ HECMW_HECLEX_K_SECOPT
Definition: hecmw_heclex.h:61
@ HECMW_HECLEX_H_AMPLITUDE
Definition: hecmw_heclex.h:19
@ HECMW_HECLEX_H_ECOPY
Definition: hecmw_heclex.h:22
@ HECMW_HECLEX_K_SECTION
Definition: hecmw_heclex.h:62
@ 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:52
@ HECMW_HECLEX_K_STEP_TIME
Definition: hecmw_heclex.h:66
@ HECMW_HECLEX_H_INCLUDE
Definition: hecmw_heclex.h:29
@ HECMW_HECLEX_K_ITEM
Definition: hecmw_heclex.h:53
@ HECMW_HECLEX_H_SECTION
Definition: hecmw_heclex.h:38
@ HECMW_HECLEX_K_VALUETIME
Definition: hecmw_heclex.h:77
@ HECMW_HECLEX_K_SGRP
Definition: hecmw_heclex.h:63
@ HECMW_HECLEX_H_SGROUP
Definition: hecmw_heclex.h:39
@ HECMW_HECLEX_H_SYSTEM
Definition: hecmw_heclex.h:40
@ HECMW_HECLEX_NAME
Definition: hecmw_heclex.h:15
@ HECMW_HECLEX_K_TEMPERATURE
Definition: hecmw_heclex.h:72
@ HECMW_HECLEX_H_HEADER
Definition: hecmw_heclex.h:28
@ HECMW_HECLEX_H_NFILL
Definition: hecmw_heclex.h:34
@ HECMW_HECLEX_K_MATITEM
Definition: hecmw_heclex.h:55
@ HECMW_HECLEX_K_TIME
Definition: hecmw_heclex.h:73
@ HECMW_HECLEX_K_TIMEVALUE
Definition: hecmw_heclex.h:76
#define NULL
#define HECMW_IO_E0004
Definition: hecmw_msgno.h:144
#define HECMW_IO_E0006
Definition: hecmw_msgno.h:146
#define HECMW_IO_E0005
Definition: hecmw_msgno.h:145
FILE * yy_input_file
Definition: hecmw_ablex.c:207
yy_size_t yy_buf_size
Definition: hecmw_ablex.c:215
yy_size_t yy_n_chars
Definition: hecmw_ablex.c:220
flex_int32_t yy_verify
Definition: hecmw_ablex.c:382
flex_int32_t yy_nxt
Definition: hecmw_ablex.c:383
char * str
Definition: hecmw_ablex.c:1108
double dval
Definition: hecmw_ablex.c:1107