Changeset 1349 for trunk/AGRIF/LIB/fortran.yy.c
- Timestamp:
- 2009-03-30T18:46:14+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AGRIF/LIB/fortran.yy.c
r1200 r1349 1 #line 2 "fortran.yy.c" 2 3 #line 4 "fortran.yy.c" 4 5 #define YY_INT_ALIGNED short int 6 1 #define yy_create_buffer fortran_create_buffer 2 #define yy_delete_buffer fortran_delete_buffer 3 #define yy_scan_buffer fortran_scan_buffer 4 #define yy_scan_string fortran_scan_string 5 #define yy_scan_bytes fortran_scan_bytes 6 #define yy_flex_debug fortran_flex_debug 7 #define yy_init_buffer fortran_init_buffer 8 #define yy_flush_buffer fortran_flush_buffer 9 #define yy_load_buffer_state fortran_load_buffer_state 10 #define yy_switch_to_buffer fortran_switch_to_buffer 11 #define yyin fortranin 12 #define yyleng fortranleng 13 #define yylex fortranlex 14 #define yyout fortranout 15 #define yyrestart fortranrestart 16 #define yytext fortrantext 17 #define yywrap fortranwrap 18 19 #line 20 "fortran.yy.c" 7 20 /* A lexical scanner generated by flex */ 21 22 /* Scanner skeleton version: 23 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ 24 */ 8 25 9 26 #define FLEX_SCANNER 10 27 #define YY_FLEX_MAJOR_VERSION 2 11 28 #define YY_FLEX_MINOR_VERSION 5 12 #define YY_FLEX_SUBMINOR_VERSION 33 13 #if YY_FLEX_SUBMINOR_VERSION > 0 14 #define FLEX_BETA 15 #endif 16 17 /* First, we deal with platform-specific or compiler-specific issues. */ 18 19 /* begin standard C headers. */ 29 20 30 #include <stdio.h> 21 #include <string.h> 22 #include <errno.h> 31 32 33 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ 34 #ifdef c_plusplus 35 #ifndef __cplusplus 36 #define __cplusplus 37 #endif 38 #endif 39 40 41 #ifdef __cplusplus 42 23 43 #include <stdlib.h> 24 25 /* end standard C headers. */ 26 27 /* flex integer type definitions */ 28 29 #ifndef FLEXINT_H 30 #define FLEXINT_H 31 32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 33 34 #if __STDC_VERSION__ >= 199901L 35 36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 37 * if you want the limit (max/min) macros for int types. 38 */ 39 #ifndef __STDC_LIMIT_MACROS 40 #define __STDC_LIMIT_MACROS 1 41 #endif 42 43 #include <inttypes.h> 44 typedef int8_t flex_int8_t; 45 typedef uint8_t flex_uint8_t; 46 typedef int16_t flex_int16_t; 47 typedef uint16_t flex_uint16_t; 48 typedef int32_t flex_int32_t; 49 typedef uint32_t flex_uint32_t; 50 #else 51 typedef signed char flex_int8_t; 52 typedef short int flex_int16_t; 53 typedef int flex_int32_t; 54 typedef unsigned char flex_uint8_t; 55 typedef unsigned short int flex_uint16_t; 56 typedef unsigned int flex_uint32_t; 57 #endif /* ! C99 */ 58 59 /* Limits of integral types. */ 60 #ifndef INT8_MIN 61 #define INT8_MIN (-128) 62 #endif 63 #ifndef INT16_MIN 64 #define INT16_MIN (-32767-1) 65 #endif 66 #ifndef INT32_MIN 67 #define INT32_MIN (-2147483647-1) 68 #endif 69 #ifndef INT8_MAX 70 #define INT8_MAX (127) 71 #endif 72 #ifndef INT16_MAX 73 #define INT16_MAX (32767) 74 #endif 75 #ifndef INT32_MAX 76 #define INT32_MAX (2147483647) 77 #endif 78 #ifndef UINT8_MAX 79 #define UINT8_MAX (255U) 80 #endif 81 #ifndef UINT16_MAX 82 #define UINT16_MAX (65535U) 83 #endif 84 #ifndef UINT32_MAX 85 #define UINT32_MAX (4294967295U) 86 #endif 87 88 #endif /* ! FLEXINT_H */ 89 90 #ifdef __cplusplus 44 #include <unistd.h> 45 46 /* Use prototypes in function declarations. */ 47 #define YY_USE_PROTOS 91 48 92 49 /* The "const" storage-class-modifier is valid. */ … … 97 54 #if __STDC__ 98 55 56 #define YY_USE_PROTOS 99 57 #define YY_USE_CONST 100 58 101 59 #endif /* __STDC__ */ 102 60 #endif /* ! __cplusplus */ 61 62 #ifdef __TURBOC__ 63 #pragma warn -rch 64 #pragma warn -use 65 #include <io.h> 66 #include <stdlib.h> 67 #define YY_USE_CONST 68 #define YY_USE_PROTOS 69 #endif 103 70 104 71 #ifdef YY_USE_CONST … … 106 73 #else 107 74 #define yyconst 75 #endif 76 77 78 #ifdef YY_USE_PROTOS 79 #define YY_PROTO(proto) proto 80 #else 81 #define YY_PROTO(proto) () 108 82 #endif 109 83 … … 122 96 * definition of BEGIN. 123 97 */ 124 #define BEGIN (yy_start)= 1 + 2 *98 #define BEGIN yy_start = 1 + 2 * 125 99 126 100 /* Translate the current start state into a value that can be later handed … … 128 102 * compatibility. 129 103 */ 130 #define YY_START (( (yy_start)- 1) / 2)104 #define YY_START ((yy_start - 1) / 2) 131 105 #define YYSTATE YY_START 132 106 … … 135 109 136 110 /* Special action meaning "start processing a new file". */ 137 #define YY_NEW_FILE fortranrestart(fortranin)111 #define YY_NEW_FILE yyrestart( yyin ) 138 112 139 113 #define YY_END_OF_BUFFER_CHAR 0 140 114 141 115 /* Size of default input buffer. */ 142 #ifndef YY_BUF_SIZE143 116 #define YY_BUF_SIZE 16384 144 #endif 145 146 /* The state buf must be large enough to hold one state per character in the main buffer. 147 */ 148 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 149 150 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 151 #define YY_TYPEDEF_YY_BUFFER_STATE 117 152 118 typedef struct yy_buffer_state *YY_BUFFER_STATE; 153 #endif 154 155 extern int fortranleng; 156 157 extern FILE *fortranin, *fortranout; 119 120 extern int yyleng; 121 extern FILE *yyin, *yyout; 158 122 159 123 #define EOB_ACT_CONTINUE_SCAN 0 … … 161 125 #define EOB_ACT_LAST_MATCH 2 162 126 163 #define YY_LESS_LINENO(n) 164 165 /* Return all but the first "n" matched characters back to the input stream. */ 127 /* The funky do-while in the following #define is used to turn the definition 128 * int a single C statement (which needs a semi-colon terminator). This 129 * avoids problems with code like: 130 * 131 * if ( condition_holds ) 132 * yyless( 5 ); 133 * else 134 * do_something_else(); 135 * 136 * Prior to using the do-while the compiler would get upset at the 137 * "else" because it interpreted the "if" statement as being all 138 * done when it reached the ';' after the yyless() call. 139 */ 140 141 /* Return all but the first 'n' matched characters back to the input stream. */ 142 166 143 #define yyless(n) \ 167 144 do \ 168 145 { \ 169 /* Undo effects of setting up fortrantext. */ \ 170 int yyless_macro_arg = (n); \ 171 YY_LESS_LINENO(yyless_macro_arg);\ 172 *yy_cp = (yy_hold_char); \ 146 /* Undo effects of setting up yytext. */ \ 147 *yy_cp = yy_hold_char; \ 173 148 YY_RESTORE_YY_MORE_OFFSET \ 174 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg- YY_MORE_ADJ; \175 YY_DO_BEFORE_ACTION; /* set up fortrantext again */ \149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ 150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 176 151 } \ 177 152 while ( 0 ) 178 153 179 #define unput(c) yyunput( c, (yytext_ptr))154 #define unput(c) yyunput( c, yytext_ptr ) 180 155 181 156 /* The following is because we cannot portably get our hands on size_t … … 183 158 * flex-generated scanners to compile on their own). 184 159 */ 185 186 #ifndef YY_TYPEDEF_YY_SIZE_T187 #define YY_TYPEDEF_YY_SIZE_T188 160 typedef unsigned int yy_size_t; 189 #endif 190 191 #ifndef YY_STRUCT_YY_BUFFER_STATE 192 #define YY_STRUCT_YY_BUFFER_STATE 161 162 193 163 struct yy_buffer_state 194 164 { … … 227 197 int yy_at_bol; 228 198 229 int yy_bs_lineno; /**< The line count. */230 int yy_bs_column; /**< The column count. */231 232 199 /* Whether to try to fill the input buffer when we reach the 233 200 * end of it. … … 236 203 237 204 int yy_buffer_status; 238 239 205 #define YY_BUFFER_NEW 0 240 206 #define YY_BUFFER_NORMAL 1 … … 246 212 * 247 213 * When we actually see the EOF, we change the status to "new" 248 * (via fortranrestart()), so that the user can continue scanning by249 * just pointing fortranin at a new input file.214 * (via yyrestart()), so that the user can continue scanning by 215 * just pointing yyin at a new input file. 250 216 */ 251 217 #define YY_BUFFER_EOF_PENDING 2 252 253 218 }; 254 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 255 256 /* Stack of input buffers. */ 257 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 258 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 259 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 219 220 static YY_BUFFER_STATE yy_current_buffer = 0; 260 221 261 222 /* We provide macros for accessing buffer states in case in the 262 223 * future we want to put the buffer states in a more general 263 224 * "scanner state". 264 *265 * Returns the top of the stack, or NULL.266 225 */ 267 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 268 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 269 : NULL) 270 271 /* Same as previous macro, but useful when we know that the buffer stack is not 272 * NULL or when we need an lvalue. For internal use only. 273 */ 274 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 275 276 /* yy_hold_char holds the character lost when fortrantext is formed. */ 226 #define YY_CURRENT_BUFFER yy_current_buffer 227 228 229 /* yy_hold_char holds the character lost when yytext is formed. */ 277 230 static char yy_hold_char; 231 278 232 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 279 int fortranleng; 233 234 235 int yyleng; 280 236 281 237 /* Points to current character in buffer. */ 282 238 static char *yy_c_buf_p = (char *) 0; 283 static int yy_init = 0; /* whether we need to initialize */239 static int yy_init = 1; /* whether we need to initialize */ 284 240 static int yy_start = 0; /* start state number */ 285 241 286 /* Flag which is used to allow fortranwrap()'s to do buffer switches287 * instead of setting up a fresh fortranin. A bit of a hack ...242 /* Flag which is used to allow yywrap()'s to do buffer switches 243 * instead of setting up a fresh yyin. A bit of a hack ... 288 244 */ 289 245 static int yy_did_buffer_switch_on_eof; 290 246 291 void fortranrestart (FILE *input_file ); 292 void fortran_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 293 YY_BUFFER_STATE fortran_create_buffer (FILE *file,int size ); 294 void fortran_delete_buffer (YY_BUFFER_STATE b ); 295 void fortran_flush_buffer (YY_BUFFER_STATE b ); 296 void fortranpush_buffer_state (YY_BUFFER_STATE new_buffer ); 297 void fortranpop_buffer_state (void ); 298 299 static void fortranensure_buffer_stack (void ); 300 static void fortran_load_buffer_state (void ); 301 static void fortran_init_buffer (YY_BUFFER_STATE b,FILE *file ); 302 303 #define YY_FLUSH_BUFFER fortran_flush_buffer(YY_CURRENT_BUFFER ) 304 305 YY_BUFFER_STATE fortran_scan_buffer (char *base,yy_size_t size ); 306 YY_BUFFER_STATE fortran_scan_string (yyconst char *yy_str ); 307 YY_BUFFER_STATE fortran_scan_bytes (yyconst char *bytes,int len ); 308 309 void *fortranalloc (yy_size_t ); 310 void *fortranrealloc (void *,yy_size_t ); 311 void fortranfree (void * ); 312 313 #define yy_new_buffer fortran_create_buffer 247 void yyrestart YY_PROTO(( FILE *input_file )); 248 249 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); 250 void yy_load_buffer_state YY_PROTO(( void )); 251 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); 252 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); 253 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); 254 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); 255 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) 256 257 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); 258 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); 259 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); 260 261 static void *yy_flex_alloc YY_PROTO(( yy_size_t )); 262 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); 263 static void yy_flex_free YY_PROTO(( void * )); 264 265 #define yy_new_buffer yy_create_buffer 314 266 315 267 #define yy_set_interactive(is_interactive) \ 316 268 { \ 317 if ( ! YY_CURRENT_BUFFER ){ \ 318 fortranensure_buffer_stack (); \ 319 YY_CURRENT_BUFFER_LVALUE = \ 320 fortran_create_buffer(fortranin,YY_BUF_SIZE ); \ 321 } \ 322 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 269 if ( ! yy_current_buffer ) \ 270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 271 yy_current_buffer->yy_is_interactive = is_interactive; \ 323 272 } 324 273 325 274 #define yy_set_bol(at_bol) \ 326 275 { \ 327 if ( ! YY_CURRENT_BUFFER ){\ 328 fortranensure_buffer_stack (); \ 329 YY_CURRENT_BUFFER_LVALUE = \ 330 fortran_create_buffer(fortranin,YY_BUF_SIZE ); \ 331 } \ 332 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 276 if ( ! yy_current_buffer ) \ 277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 278 yy_current_buffer->yy_at_bol = at_bol; \ 333 279 } 334 280 335 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 336 337 /* Begin user sect3 */ 281 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) 338 282 339 283 typedef unsigned char YY_CHAR; 340 341 FILE *fortranin = (FILE *) 0, *fortranout = (FILE *) 0; 342 284 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 343 285 typedef int yy_state_type; 344 345 extern int fortranlineno; 346 347 int fortranlineno = 1; 348 349 extern char *fortrantext; 350 #define yytext_ptr fortrantext 351 352 static yy_state_type yy_get_previous_state (void ); 353 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 354 static int yy_get_next_buffer (void ); 355 static void yy_fatal_error (yyconst char msg[] ); 286 extern char *yytext; 287 #define yytext_ptr yytext 288 289 static yy_state_type yy_get_previous_state YY_PROTO(( void )); 290 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); 291 static int yy_get_next_buffer YY_PROTO(( void )); 292 static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); 356 293 357 294 /* Done after the current pattern has been matched and before the 358 * corresponding action - sets up fortrantext.295 * corresponding action - sets up yytext. 359 296 */ 360 297 #define YY_DO_BEFORE_ACTION \ 361 (yytext_ptr)= yy_bp; \362 fortranleng = (size_t) (yy_cp - yy_bp); \363 (yy_hold_char)= *yy_cp; \298 yytext_ptr = yy_bp; \ 299 yyleng = (int) (yy_cp - yy_bp); \ 300 yy_hold_char = *yy_cp; \ 364 301 *yy_cp = '\0'; \ 365 (yy_c_buf_p)= yy_cp;302 yy_c_buf_p = yy_cp; 366 303 367 304 #define YY_NUM_RULES 173 368 305 #define YY_END_OF_BUFFER 174 369 /* This struct is not used in this scanner, 370 but its presence is necessary. */ 371 struct yy_trans_info 372 { 373 flex_int32_t yy_verify; 374 flex_int32_t yy_nxt; 375 }; 376 static yyconst flex_int16_t yy_accept[1124] = 306 static yyconst short int yy_accept[1124] = 377 307 { 0, 378 308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 502 432 } ; 503 433 504 static yyconst flex_int32_t yy_ec[256] =434 static yyconst int yy_ec[256] = 505 435 { 0, 506 436 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, … … 534 464 } ; 535 465 536 static yyconst flex_int32_t yy_meta[64] =466 static yyconst int yy_meta[64] = 537 467 { 0, 538 468 1, 2, 3, 4, 1, 5, 1, 1, 1, 6, … … 545 475 } ; 546 476 547 static yyconst flex_int16_t yy_base[1180] =477 static yyconst short int yy_base[1180] = 548 478 { 0, 549 0, 62, 0, 0, 0, 0, 418 8, 65, 0, 55,550 0, 0, 41 90, 35, 69, 70, 74, 37, 75, 50,479 0, 62, 0, 0, 0, 0, 4185, 65, 0, 55, 480 0, 0, 4187, 35, 69, 70, 74, 37, 75, 50, 551 481 53, 72, 93, 78, 66, 56, 148, 87, 81, 65, 552 482 68, 99, 71, 191, 230, 108, 183, 225, 244, 103, 553 483 137, 152, 185, 250, 265, 262, 281, 220, 286, 296, 554 308, 368, 134, 424, 321, 350, 149, 41 52, 310, 337,555 270, 41 92, 4185, 4192, 158, 380, 481, 4150, 4132, 138,556 163, 175, 179, 0, 414 8, 4130, 4177, 4176, 147, 133,557 417 8, 4177, 192, 156, 232, 393, 376, 4192, 402, 406,558 41 92, 4192, 543, 184, 4129, 4125, 204, 218, 226, 4123,559 560 412 5, 4192, 584, 358, 4192, 448, 532, 507, 514, 572,484 308, 368, 134, 424, 321, 350, 149, 4149, 310, 337, 485 270, 4189, 4182, 4189, 158, 380, 481, 4147, 4129, 138, 486 163, 175, 179, 0, 4145, 4127, 4174, 4189, 147, 133, 487 4176, 4175, 192, 156, 232, 393, 376, 4189, 402, 406, 488 4189, 4189, 543, 184, 4127, 4123, 204, 218, 226, 4121, 489 490 4123, 4189, 584, 358, 4189, 448, 532, 507, 514, 572, 561 491 534, 588, 593, 605, 617, 381, 242, 169, 195, 404, 562 492 384, 312, 517, 672, 524, 378, 403, 544, 365, 630, … … 564 494 672, 673, 603, 674, 680, 684, 698, 686, 699, 704, 565 495 706, 584, 707, 710, 711, 730, 683, 297, 732, 735, 566 734, 737, 742, 750, 788, 795, 417 2, 389, 316, 4137,567 412 5, 72, 4117, 807, 4192, 863, 427, 4168, 4192, 225,496 734, 737, 742, 750, 788, 795, 4170, 389, 316, 4135, 497 4123, 72, 4115, 807, 4189, 863, 427, 4166, 4189, 225, 568 498 327, 543, 632, 660, 804, 765, 799, 770, 764, 785, 569 788, 416 7, 4192, 343, 4166, 774, 4192, 4165, 820, 564,570 571 856, 918, 946, 414 9, 271, 661, 187, 270, 4118, 4108,572 812, 411 6, 4106, 547, 804, 617, 398, 859, 894, 906,573 868, 41 92, 889, 871, 815, 860, 896, 4122, 372, 4143,574 414 2, 4141, 4140, 275, 4101, 4138, 4101, 4192, 874, 907,575 908, 914, 411 3, 4112, 864, 973, 999, 977, 975, 983,499 788, 4165, 4189, 343, 4164, 774, 4189, 4163, 820, 564, 500 501 856, 918, 946, 4147, 271, 661, 187, 270, 4116, 4106, 502 812, 4114, 4104, 547, 804, 617, 398, 859, 894, 906, 503 868, 4189, 889, 871, 815, 860, 896, 4120, 372, 4141, 504 4140, 4139, 4138, 275, 4099, 4136, 4099, 4189, 874, 907, 505 908, 914, 4111, 4110, 864, 973, 999, 977, 975, 983, 576 506 984, 981, 1002, 986, 987, 1006, 1007, 1008, 1011, 1020, 577 1010, 409 3, 737, 1029, 1032, 1017, 1036, 1089, 1033, 1078,507 1010, 4091, 737, 1029, 1032, 1017, 1036, 1089, 1033, 1078, 578 508 1042, 1035, 1047, 1058, 1038, 1057, 1063, 1101, 1071, 1013, 579 41 92, 1070, 1079, 1082, 1083, 1105, 1110, 1148, 1149, 1112,509 4189, 1070, 1079, 1082, 1083, 1105, 1110, 1148, 1149, 1112, 580 510 1117, 1119, 1126, 1128, 1133, 1139, 1076, 1125, 1137, 1140, 581 511 582 512 1151, 1161, 1162, 1171, 1163, 1175, 1176, 1177, 1186, 1187, 583 513 1184, 1198, 1189, 1199, 1202, 1141, 1245, 1207, 1221, 1209, 584 1211, 1213, 1225, 1264, 1283, 40 90, 1290, 4147, 4094, 4098,585 40 91, 4095, 4093, 4103, 1346, 715, 922, 557, 1120, 837,586 1266, 0, 931, 4 100, 4093, 1236, 1235, 1243, 1264, 1271,587 1274, 800, 4 138, 1311, 4192, 1268, 873, 4137, 1332, 1295,588 1132, 1401, 1440, 0, 4005, 1479, 697, 659, 815, 998,589 3 951, 3948, 932, 3883, 3892, 1231, 551, 561, 1302, 1321,590 1342, 1351, 1355, 1385, 1410, 1424, 1449, 1463, 3 913, 4192,591 38 46, 4192, 4192, 4192, 4192, 4192, 3789, 3812, 4192, 3807,592 593 1347, 1488, 1497, 1506, 1515, 1524, 1533, 1302, 37 82, 1327,594 1304, 1525, 41 92, 1273, 1362, 1361, 1402, 1403, 1441, 1442,595 1526, 1443, 1527, 1528, 1531, 1533, 1535, 1534, 377 6, 1549,596 1553, 1539, 1597, 1655, 41 92, 1541, 1554, 1563, 1565, 1567,597 1569, 1575, 1578, 1577, 1361, 41 92, 1583, 1714, 1587, 1623,598 1591, 1596, 1607, 376 8, 1611, 1617, 1612, 1616, 1630, 1631,599 1645, 1639, 1684, 41 92, 1652, 1654, 1690, 4192, 1741, 1672,514 1211, 1213, 1225, 1264, 1283, 4088, 1290, 4145, 4092, 4096, 515 4089, 4093, 4091, 4101, 1346, 715, 922, 557, 1120, 837, 516 1266, 0, 931, 4098, 4091, 1236, 1235, 1243, 1264, 1271, 517 1274, 800, 4020, 1311, 4189, 1268, 873, 4003, 1332, 1295, 518 1132, 1401, 1440, 0, 3971, 1479, 697, 659, 815, 998, 519 3883, 3892, 932, 3876, 3823, 1231, 551, 561, 1302, 1321, 520 1342, 1351, 1355, 1385, 1410, 1424, 1449, 1463, 3829, 4189, 521 3812, 4189, 4189, 4189, 4189, 4189, 3767, 3805, 4189, 3802, 522 523 1347, 1488, 1497, 1506, 1515, 1524, 1533, 1302, 3778, 1327, 524 1304, 1525, 4189, 1273, 1362, 1361, 1402, 1403, 1441, 1442, 525 1526, 1443, 1527, 1528, 1531, 1533, 1535, 1534, 3773, 1549, 526 1553, 1539, 1597, 1655, 4189, 1541, 1554, 1563, 1565, 1567, 527 1569, 1575, 1578, 1577, 1361, 4189, 1583, 1714, 1587, 1623, 528 1591, 1596, 1607, 3762, 1611, 1617, 1612, 1616, 1630, 1631, 529 1645, 1639, 1684, 4189, 1652, 1654, 1690, 4189, 1741, 1672, 600 530 1742, 1743, 1744, 1745, 1746, 1747, 1751, 1757, 1766, 1756, 601 531 1767, 1771, 1772, 1777, 1776, 1801, 1779, 1780, 1781, 1782, 602 1787, 1790, 1800, 1802, 1828, 1805, 1806, 1810, 1846, 41 92,603 604 1808, 1812, 1809, 1814, 1830, 1832, 1870, 1885, 1892, 377 6,605 375 7, 3774, 3770, 3766, 3801, 1948, 1009, 1380, 1303, 663,606 1414, 1873, 374 8, 3749, 1903, 1863, 1902, 1839, 1943, 3796,532 1787, 1790, 1800, 1802, 1828, 1805, 1806, 1810, 1846, 4189, 533 534 1808, 1812, 1809, 1814, 1830, 1832, 1870, 1885, 1892, 3770, 535 3752, 3770, 3767, 3761, 3797, 1948, 1009, 1380, 1303, 663, 536 1414, 1873, 3746, 3747, 1903, 1863, 1902, 1839, 1943, 3794, 607 537 1306, 1438, 1451, 1849, 1566, 2003, 2029, 2068, 1591, 424, 608 1063, 1373, 375 8, 0, 1392, 3757, 0, 815, 3791, 1875,609 379 3, 1919, 1702, 4192, 4192, 3776, 4192, 4192, 1987, 2013,538 1063, 1373, 3756, 0, 1392, 3755, 0, 815, 3788, 1875, 539 3790, 1919, 1702, 4189, 4189, 3774, 4189, 4189, 1987, 2013, 610 540 2038, 2052, 1844, 2096, 1864, 1882, 1884, 1883, 1927, 1924, 611 1929, 1909, 1945, 1930, 374 8, 1949, 2123, 2124, 2160, 2045,612 2126, 37 41, 3734, 1588, 3738, 3731, 1623, 3723, 3690, 1963,541 1929, 1909, 1945, 1930, 3746, 1949, 2123, 2124, 2160, 2045, 542 2126, 3738, 3728, 1588, 3733, 3680, 1623, 3668, 3683, 1963, 613 543 2129, 1965, 2030, 2132, 2130, 2128, 2136, 2148, 2150, 2138, 614 544 615 2191, 41 92, 2186, 2178, 2162, 2180, 1990, 4192, 2164, 2166,616 2184, 41 92, 2187, 2196, 2188, 2190, 2194, 2200, 2209, 2203,545 2191, 4189, 2186, 2178, 2162, 2180, 1990, 4189, 2164, 2166, 546 2184, 4189, 2187, 2196, 2188, 2190, 2194, 2200, 2209, 2203, 617 547 2206, 2210, 2218, 2222, 2221, 2230, 2225, 2228, 2236, 2231, 618 2246, 2237, 2243, 2244, 2249, 3 701, 2252, 2255, 2258, 2256,619 2264, 41 92, 2265, 2267, 2276, 2277, 2322, 2331, 2341, 2313,620 36 90, 1416, 3687, 2336, 2397, 1449, 1648, 1854, 2040, 3720,621 2324, 36 76, 1783, 2335, 4192, 2313, 2312, 1910, 2335, 2392,622 41 92, 2389, 2194, 2341, 3697, 2249, 2042, 2452, 2478, 2504,623 2530, 1870, 36 81, 2558, 3678, 0, 4192, 2615, 0, 0,624 36 87, 3684, 3677, 3679, 3659, 2353, 2366, 2400, 4192, 4192,548 2246, 2237, 2243, 2244, 2249, 3696, 2252, 2255, 2258, 2256, 549 2264, 4189, 2265, 2267, 2276, 2277, 2322, 2331, 2341, 2313, 550 3686, 1416, 3684, 2336, 2397, 1449, 1648, 1854, 2040, 3697, 551 2324, 3654, 1783, 2335, 4189, 2313, 2312, 1910, 2335, 2392, 552 4189, 2389, 2194, 2341, 3693, 2249, 2042, 2452, 2478, 2504, 553 2530, 1870, 3675, 2558, 3672, 0, 4189, 2615, 0, 0, 554 3677, 3676, 4189, 3659, 3654, 2353, 2366, 2400, 4189, 4189, 625 555 626 556 2643, 2392, 2355, 2331, 2369, 2384, 2385, 2389, 2390, 2391, 627 2392, 2397, 3 609, 2431, 2415, 2393, 3586, 3583, 2395, 2430,628 41 92, 3576, 4192, 3569, 3582, 3569, 3542, 3551, 3536, 3546,557 2392, 2397, 3580, 2431, 2415, 2393, 3585, 3582, 2395, 2430, 558 4189, 3575, 4189, 3566, 3580, 3539, 3541, 3550, 3535, 3495, 629 559 2454, 2455, 2457, 2480, 2481, 2428, 2670, 2458, 2671, 2455, 630 41 92, 2482, 2708, 2672, 2676, 2677, 2692, 2483, 2484, 2678,560 4189, 2482, 2708, 2672, 2676, 2677, 2692, 2483, 2484, 2678, 631 561 2680, 2690, 2685, 2699, 2700, 2703, 2739, 2705, 2710, 2711, 632 562 2712, 2714, 2721, 2715, 2537, 2726, 2719, 2724, 2735, 2775, 633 2744, 2745, 2781, 2792, 2801, 34 95, 3474, 3433, 0, 1637,634 347 7, 3476, 3436, 0, 1991, 2750, 2772, 2806, 1959, 3474,635 347 3, 2313, 3472, 2356, 2860, 2921, 0, 3456, 4192, 4192,636 637 0, 346 7, 3466, 3468, 2537, 2621, 4192, 2905, 2793, 2747,563 2744, 2745, 2781, 2792, 2801, 3478, 3436, 3432, 0, 1637, 564 3476, 3475, 3435, 0, 1991, 2750, 2772, 2806, 1959, 3473, 565 3472, 2313, 3471, 2356, 2860, 2921, 0, 3455, 4189, 4189, 566 567 0, 3466, 4189, 3468, 2537, 2621, 4189, 2905, 2793, 2747, 638 568 2782, 2779, 2805, 2753, 2897, 2780, 2802, 3429, 2458, 2899, 639 2791, 2898, 41 92, 3428, 2900, 3429, 3426, 3409, 3422, 3423,569 2791, 2898, 4189, 3428, 2900, 3429, 3426, 3409, 3422, 3423, 640 570 3409, 3421, 3407, 2902, 2903, 2918, 2922, 2923, 2924, 2926, 641 571 2927, 2928, 2936, 2981, 2976, 2937, 2951, 2955, 2957, 2958, … … 643 573 2987, 3024, 3423, 2988, 2811, 2990, 2993, 3417, 3407, 2459, 644 574 2510, 3453, 3419, 2994, 2997, 2462, 3026, 3448, 3029, 3063, 645 0, 3426, 3002, 3000, 3016, 3006, 3013, 3018, 3021, 41 92,575 0, 3426, 3002, 3000, 3016, 3006, 3013, 3018, 3021, 4189, 646 576 3389, 3309, 3024, 3022, 3272, 3027, 3215, 3209, 3187, 3150, 647 577 648 3134, 3029, 41 92, 3004, 3055, 3040, 3056, 3042, 3058, 3061,578 3134, 3029, 4189, 3004, 3055, 3040, 3056, 3042, 3058, 3061, 649 579 3062, 3067, 3065, 3098, 2484, 3110, 3119, 3070, 3088, 3089, 650 580 3094, 2917, 3090, 3091, 3097, 3098, 2953, 3099, 2930, 3100, 651 581 3109, 2818, 2796, 2785, 2502, 3110, 3102, 2383, 3135, 3112, 652 582 3120, 3124, 3128, 3125, 2746, 2687, 3131, 3133, 2605, 3134, 653 2590, 2592, 2586, 2479, 2459, 2433, 41 92, 3139, 3143, 3144,583 2590, 2592, 2586, 2479, 2459, 2433, 4189, 3139, 3143, 3144, 654 584 3147, 3149, 3152, 3155, 2541, 3192, 3208, 3204, 3210, 3162, 655 585 3178, 2438, 3185, 3182, 2414, 3188, 2340, 3189, 3190, 2333, 656 41 92, 2018, 2288, 2260, 3192, 112, 3197, 3188, 3200, 3191,657 2137, 2149, 3210, 3211, 41 92, 2017, 2011, 4192, 1998, 4192,586 4189, 2018, 2288, 2260, 3192, 112, 3197, 3188, 3200, 3191, 587 2137, 2149, 3210, 3211, 4189, 2017, 2011, 4189, 1998, 4189, 658 588 659 589 1986, 3212, 3213, 3197, 3216, 3218, 2624, 3271, 1977, 3239, 660 590 1982, 1903, 3223, 3231, 1885, 3254, 1854, 1829, 3232, 3066, 661 1951, 1593, 3241, 1822, 1744, 3242, 3245, 1736, 1662, 41 92,591 1951, 1593, 3241, 1822, 1744, 3242, 3245, 1736, 1662, 4189, 662 592 1653, 3250, 3257, 3252, 3254, 2850, 3310, 1642, 3270, 1622, 663 41 92, 1521, 3100, 1441, 0, 3255, 3294, 1280, 1416, 1354,664 1309, 3268, 3280, 41 92, 1314, 1246, 3264, 3278, 3325, 3333,665 1178, 3284, 1155, 41 92, 3300, 1072, 3313, 2771, 1054, 1064,666 3294, 3296, 41 92, 1044, 3302, 3350, 3377, 992, 3305, 960,667 3102, 0, 3337, 892, 41 92, 829, 3312, 4192, 3342, 3388,593 4189, 1521, 3100, 1441, 0, 3255, 3294, 1280, 1416, 1354, 594 1309, 3268, 3280, 4189, 1314, 1246, 3264, 3278, 3325, 3333, 595 1178, 3284, 1155, 4189, 3300, 1072, 3313, 2771, 1054, 1064, 596 3294, 3296, 4189, 1044, 3302, 3350, 3377, 992, 3305, 960, 597 3102, 0, 3337, 892, 4189, 829, 3312, 4189, 3342, 3388, 668 598 696, 3345, 555, 3358, 3364, 406, 3367, 3414, 3415, 348, 669 599 670 3368, 41 92, 3341, 3380, 4192, 4192, 3366, 3381, 3351, 3367,671 2713, 3390, 3382, 3386, 281, 3404, 41 92, 3405, 3416, 3426,672 177, 41 92, 4192, 3482, 3499, 3516, 3533, 3550, 3567, 3577,600 3368, 4189, 3341, 3380, 4189, 4189, 3366, 3381, 3351, 3367, 601 2713, 3390, 3382, 3386, 281, 3404, 4189, 3405, 3416, 3426, 602 177, 4189, 4189, 3482, 3499, 3516, 3533, 3550, 3567, 3577, 673 603 3584, 3601, 3615, 3629, 3646, 3663, 3672, 3685, 3702, 3716, 674 604 3722, 3731, 3748, 3765, 3424, 3427, 3428, 3774, 3432, 3436, … … 678 608 } ; 679 609 680 static yyconst flex_int16_t yy_def[1180] =610 static yyconst short int yy_def[1180] = 681 611 { 0, 682 612 1123, 1, 1124, 1124, 1, 2, 1125, 1125, 1, 2, … … 687 617 37, 1123, 1123, 1123, 1132, 1133, 37, 38, 38, 37, 688 618 38, 1123, 1134, 1123, 1134, 1135, 1123, 1123, 1123, 1123, 689 1123, 1123, 1123, 1126, 1126, 1126, 1127, 112 7, 1127, 1127,619 1123, 1123, 1123, 1126, 1126, 1126, 1127, 1123, 1127, 1127, 690 620 1128, 1123, 1128, 1128, 1129, 1136, 1129, 1123, 1129, 1129, 691 621 1123, 1123, 1123, 1137, 1123, 1123, 1123, 1123, 1123, 1123, … … 755 685 1123, 1123, 1134, 1143, 1169, 1144, 1170, 1143, 1143, 1143, 756 686 1143, 203, 203, 1123, 203, 1171, 1123, 1123, 1172, 1126, 757 1173, 1127, 112 7, 1174, 1128, 1175, 1129, 1129, 1123, 1123,687 1173, 1127, 1123, 1174, 1128, 1175, 1129, 1129, 1123, 1123, 758 688 759 689 1123, 1123, 115, 115, 115, 115, 115, 115, 115, 115, … … 768 698 1143, 1144, 1170, 1170, 1123, 1143, 203, 203, 1123, 1123, 769 699 770 1126, 1127, 112 7, 1128, 1129, 1129, 1123, 1123, 115, 115,700 1126, 1127, 1123, 1128, 1129, 1129, 1123, 1123, 115, 115, 771 701 115, 115, 115, 115, 115, 115, 115, 1123, 1123, 115, 772 702 115, 115, 1123, 1123, 115, 1123, 1123, 1123, 1123, 1123, … … 811 741 } ; 812 742 813 static yyconst flex_int16_t yy_nxt[4256] =743 static yyconst short int yy_nxt[4253] = 814 744 { 0, 815 745 14, 15, 16, 17, 18, 19, 14, 20, 21, 22, … … 1194 1124 197, 562, 1120, 562, 935, 179, 933, 1118, 932, 927, 1195 1125 904, 903, 902, 901, 900, 899, 898, 897, 895, 890, 1196 82, 78, 78, 366, 197, 197, 197, 873, 179, 179,1197 8 70, 1121, 62, 62, 62, 62, 62, 62, 62, 62,1126 82, 78, 366, 197, 197, 197, 873, 179, 179, 870, 1127 869, 1121, 62, 62, 62, 62, 62, 62, 62, 62, 1198 1128 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 1199 1129 1200 1130 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 1201 63, 63, 63, 63, 63, 63, 74, 74, 86 9, 74,1131 63, 63, 63, 63, 63, 63, 74, 74, 868, 74, 1202 1132 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1203 74, 74, 74, 77, 77, 8 68, 77, 77, 77, 77,1133 74, 74, 74, 77, 77, 833, 77, 77, 77, 77, 1204 1134 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 1205 1135 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 1206 1136 81, 81, 81, 81, 81, 81, 81, 85, 85, 85, 1207 1137 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 1208 85, 85, 85, 85, 104, 104, 83 3, 832, 831, 830,1138 85, 85, 85, 85, 104, 104, 832, 831, 830, 829, 1209 1139 104, 108, 108, 108, 108, 108, 108, 108, 108, 108, 1210 1140 1211 1141 108, 178, 178, 178, 178, 178, 178, 178, 178, 178, 1212 178, 178, 178, 178, 178, 178, 178, 178, 184, 82 9,1213 184, 82 8, 184, 184, 827, 826, 824, 823, 184, 192,1142 178, 178, 178, 178, 178, 178, 178, 178, 184, 828, 1143 184, 827, 184, 184, 826, 824, 823, 818, 184, 192, 1214 1144 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 1215 1145 192, 192, 192, 192, 192, 192, 195, 195, 195, 195, 1216 195, 195, 195, 195, 195, 195, 818, 195, 195, 195,1146 195, 195, 195, 195, 195, 195, 82, 195, 195, 195, 1217 1147 195, 82, 195, 218, 218, 218, 218, 218, 218, 218, 1218 1148 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 1219 94, 82, 78, 94, 94, 238, 238, 238, 238, 78,1220 238, 238, 803, 238, 238, 366, 238, 238, 366, 197,1149 94, 78, 803, 94, 94, 238, 238, 238, 238, 366, 1150 238, 238, 366, 238, 238, 197, 238, 238, 783, 179, 1221 1151 1222 1152 238, 238, 328, 328, 328, 328, 328, 328, 328, 328, 1223 1153 328, 328, 328, 328, 328, 328, 328, 328, 328, 336, 1224 7 83, 336, 179, 778, 336, 341, 777, 341, 765, 341,1225 341, 342, 342, 7 30, 342, 342, 342, 342, 342, 342,1154 778, 336, 777, 765, 336, 341, 730, 341, 729, 341, 1155 341, 342, 342, 726, 342, 342, 342, 342, 342, 342, 1226 1156 342, 342, 342, 342, 342, 342, 342, 342, 353, 353, 1227 1157 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 1228 1158 353, 353, 353, 353, 353, 358, 358, 358, 358, 358, 1229 1159 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 1230 358, 358, 401, 72 9, 726, 401, 401, 262, 725, 262,1231 7 22, 721, 713, 700, 262, 82, 693, 689, 686, 530,1232 1233 663, 662, 262, 517, 530, 517, 654, 653, 517, 522,1234 65 2, 522, 651, 522, 522, 656, 650, 656, 612, 575,1235 656, 661, 408, 661, 558, 661, 661, 687, 687, 557,1160 358, 358, 401, 725, 722, 401, 401, 262, 721, 262, 1161 713, 700, 82, 693, 262, 689, 686, 530, 663, 662, 1162 1163 530, 654, 262, 517, 653, 517, 652, 651, 517, 522, 1164 650, 522, 612, 522, 522, 656, 575, 656, 408, 558, 1165 656, 661, 557, 661, 556, 661, 661, 687, 687, 555, 1236 1166 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 1237 687, 687, 687, 687, 690, 690, 55 6, 690, 690, 690,1167 687, 687, 687, 687, 690, 690, 554, 690, 690, 690, 1238 1168 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, 1239 690, 692, 692, 5 55, 692, 692, 692, 692, 692, 692,1169 690, 692, 692, 547, 692, 692, 692, 692, 692, 692, 1240 1170 692, 692, 692, 692, 692, 692, 692, 692, 695, 695, 1241 1171 695, 695, 695, 695, 695, 695, 695, 695, 695, 695, … … 1245 1175 697, 697, 782, 782, 782, 782, 782, 782, 782, 782, 1246 1176 782, 782, 782, 782, 782, 782, 782, 782, 782, 104, 1247 5 54, 104, 547, 104, 104, 784, 784, 546, 784, 784,1177 546, 104, 544, 104, 104, 784, 784, 543, 784, 784, 1248 1178 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 1249 1179 784, 784, 791, 791, 791, 791, 791, 791, 791, 791, 1250 1180 791, 791, 791, 791, 791, 791, 791, 791, 791, 793, 1251 1181 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 1252 793, 793, 793, 793, 793, 793, 799, 799, 544, 799,1182 793, 793, 793, 793, 793, 793, 799, 799, 366, 799, 1253 1183 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, 1254 1184 1255 799, 799, 799, 801, 801, 543, 801, 801, 801, 801,1185 799, 799, 799, 801, 801, 197, 801, 801, 801, 801, 1256 1186 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 1257 802, 802, 366, 802, 802, 802, 802, 802, 802, 802,1187 802, 802, 197, 802, 802, 802, 802, 802, 802, 802, 1258 1188 802, 802, 802, 802, 802, 802, 802, 804, 804, 804, 1259 1189 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, … … 1267 1197 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 1268 1198 914, 914, 966, 966, 966, 966, 966, 966, 966, 966, 1269 966, 966, 966, 966, 966, 966, 966, 966, 966, 197,1270 197, 524, 523, 515, 514, 513, 512, 511, 510, 179,1271 333, 429, 410, 408, 400, 399, 398, 395, 394, 393,1272 3 92, 389, 375, 374, 372, 371, 366, 197, 197, 193,1273 179, 334, 332, 331, 179, 237, 236, 229, 228, 82,1274 82, 78, 78, 213, 212, 210, 209, 193, 188, 1123,1275 64, 13, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,1199 966, 966, 966, 966, 966, 966, 966, 966, 966, 524, 1200 523, 515, 514, 513, 512, 511, 510, 179, 333, 429, 1201 410, 408, 400, 399, 398, 395, 394, 393, 392, 389, 1202 375, 374, 372, 371, 366, 197, 197, 193, 179, 334, 1203 332, 331, 179, 237, 236, 229, 228, 82, 82, 78, 1204 213, 212, 210, 209, 193, 188, 1123, 64, 13, 1123, 1205 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1276 1206 1277 1207 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, … … 1280 1210 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1281 1211 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1282 1123, 1123 , 1123, 1123, 11231212 1123, 1123 1283 1213 } ; 1284 1214 1285 static yyconst flex_int16_t yy_chk[4256] =1215 static yyconst short int yy_chk[4253] = 1286 1216 { 0, 1287 1217 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 1666 1596 878, 1158, 1119, 1158, 873, 872, 869, 1116, 868, 863, 1667 1597 833, 832, 831, 830, 829, 828, 827, 826, 824, 818, 1668 804, 80 3, 802, 798, 793, 791, 790, 783, 782, 781,1669 77 8, 1120, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,1598 804, 802, 798, 793, 791, 790, 783, 782, 781, 778, 1599 777, 1120, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1670 1600 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1671 1601 1672 1602 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1673 1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126, 77 7, 1126,1603 1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126, 776, 1126, 1674 1604 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1675 1126, 1126, 1126, 1127, 1127, 7 76, 1127, 1127, 1127, 1127,1605 1126, 1126, 1126, 1127, 1127, 730, 1127, 1127, 1127, 1127, 1676 1606 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1677 1607 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1678 1608 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129, 1129, 1679 1609 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1680 1129, 1129, 1129, 1129, 1130, 1130, 7 30, 729, 728, 727,1610 1129, 1129, 1129, 1129, 1130, 1130, 729, 728, 727, 726, 1681 1611 1130, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1682 1612 1683 1613 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1684 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133, 72 6,1685 1133, 72 5, 1133, 1133, 724, 722, 718, 717, 1133, 1134,1614 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133, 725, 1615 1133, 724, 1133, 1133, 722, 718, 717, 713, 1133, 1134, 1686 1616 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1687 1617 1134, 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1135, 1135, 1688 1135, 1135, 1135, 1135, 1135, 1135, 713, 1135, 1135, 1135,1689 1135, 69 5, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136,1618 1135, 1135, 1135, 1135, 1135, 1135, 695, 1135, 1135, 1135, 1619 1135, 694, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1690 1620 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1691 1137, 69 4, 693, 1137, 1137, 1138, 1138, 1138, 1138, 692,1692 1138, 1138, 6 91, 1138, 1138, 685, 1138, 1138, 683, 675,1621 1137, 692, 691, 1137, 1137, 1138, 1138, 1138, 1138, 685, 1622 1138, 1138, 683, 1138, 1138, 675, 1138, 1138, 662, 660, 1693 1623 1694 1624 1138, 1138, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1695 1625 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1696 6 62, 1140, 660, 653, 1140, 1141, 651, 1141, 636, 1141,1697 1141, 1142, 1142, 58 9, 1142, 1142, 1142, 1142, 1142, 1142,1626 653, 1140, 651, 636, 1140, 1141, 589, 1141, 588, 1141, 1627 1141, 1142, 1142, 586, 1142, 1142, 1142, 1142, 1142, 1142, 1698 1628 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1143, 1143, 1699 1629 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1700 1630 1143, 1143, 1143, 1143, 1143, 1144, 1144, 1144, 1144, 1144, 1701 1631 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1702 1144, 1144, 1148, 58 8, 586, 1148, 1148, 1154, 585, 1154,1703 5 83, 582, 575, 556, 1154, 551, 549, 546, 543, 530,1704 1705 5 24, 523, 1154, 1155, 515, 1155, 514, 513, 1155, 1156,1706 51 2, 1156, 511, 1156, 1156, 1159, 510, 1159, 454, 429,1707 1159, 1160, 409, 1160, 400, 1160, 1160, 1161, 1161, 398,1632 1144, 1144, 1148, 585, 583, 1148, 1148, 1154, 582, 1154, 1633 575, 556, 551, 549, 1154, 546, 543, 530, 524, 523, 1634 1635 515, 514, 1154, 1155, 513, 1155, 512, 511, 1155, 1156, 1636 510, 1156, 454, 1156, 1156, 1159, 429, 1159, 409, 400, 1637 1159, 1160, 398, 1160, 397, 1160, 1160, 1161, 1161, 391, 1708 1638 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1709 1161, 1161, 1161, 1161, 1162, 1162, 3 97, 1162, 1162, 1162,1639 1161, 1161, 1161, 1161, 1162, 1162, 389, 1162, 1162, 1162, 1710 1640 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1711 1162, 1163, 1163, 3 91, 1163, 1163, 1163, 1163, 1163, 1163,1641 1162, 1163, 1163, 375, 1163, 1163, 1163, 1163, 1163, 1163, 1712 1642 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 1164, 1713 1643 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, … … 1717 1647 1165, 1165, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1718 1648 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 1719 3 89, 1167, 375, 1167, 1167, 1168, 1168, 374, 1168, 1168,1649 374, 1167, 372, 1167, 1167, 1168, 1168, 371, 1168, 1168, 1720 1650 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1721 1651 1168, 1168, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1722 1652 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1723 1653 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1724 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 3 72, 1171,1654 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 365, 1171, 1725 1655 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1726 1656 1727 1171, 1171, 1171, 1172, 1172, 3 71, 1172, 1172, 1172, 1172,1657 1171, 1171, 1171, 1172, 1172, 358, 1172, 1172, 1172, 1172, 1728 1658 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1729 1173, 1173, 3 65, 1173, 1173, 1173, 1173, 1173, 1173, 1173,1659 1173, 1173, 353, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1730 1660 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1174, 1174, 1174, 1731 1661 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, … … 1739 1669 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1740 1670 1178, 1178, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1741 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 3 58,1742 3 53, 345, 344, 334, 333, 332, 331, 330, 329, 328,1743 326, 262, 244, 243, 237, 236, 235, 233, 232, 231,1744 2 30, 228, 213, 212, 210, 209, 204, 198, 195, 192,1745 17 8, 173, 171, 170, 167, 101, 100, 96, 95, 82,1746 81, 78, 77, 76, 75, 69, 68, 63, 58, 13,1747 7, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,1671 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 345, 1672 344, 334, 333, 332, 331, 330, 329, 328, 326, 262, 1673 244, 243, 237, 236, 235, 233, 232, 231, 230, 228, 1674 213, 212, 210, 209, 204, 198, 195, 192, 178, 173, 1675 171, 170, 167, 101, 100, 96, 95, 82, 81, 77, 1676 76, 75, 69, 68, 63, 58, 13, 7, 1123, 1123, 1677 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1748 1678 1749 1679 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, … … 1752 1682 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1753 1683 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1754 1123, 1123 , 1123, 1123, 11231684 1123, 1123 1755 1685 } ; 1756 1686 1757 1687 static yy_state_type yy_last_accepting_state; 1758 1688 static char *yy_last_accepting_cpos; 1759 1760 extern int fortran_flex_debug;1761 int fortran_flex_debug = 0;1762 1689 1763 1690 /* The intent behind this definition is that it'll catch … … 1768 1695 #define YY_MORE_ADJ 0 1769 1696 #define YY_RESTORE_YY_MORE_OFFSET 1770 char * fortrantext;1697 char *yytext; 1771 1698 #line 1 "fortran.lex" 1699 #define INITIAL 0 1772 1700 /******************************************************************************/ 1773 1701 /* */ … … 1804 1732 /* version 1.7 */ 1805 1733 /******************************************************************************/ 1806 1807 1808 1809 1734 #define parameter 1 1735 1736 #define character 2 1737 1738 #define donottreat 3 1739 1740 #define fortran77style 4 1741 1742 #define fortran90style 5 1810 1743 1811 1744 #line 41 "fortran.lex" … … 1813 1746 #include <stdlib.h> 1814 1747 #include <string.h> 1815 extern FILE * fortranin;1748 extern FILE * yyin; 1816 1749 #define MAX_INCLUDE_DEPTH 30 1817 1750 #define tabsize 6 … … 1835 1768 if (firstpass == 0) \ 1836 1769 {\ 1837 strcat(curbuf, fortrantext); \1770 strcat(curbuf,yytext); \ 1838 1771 Save_Length(curbuf,38); \ 1839 strcpy(motparse, fortrantext);\1772 strcpy(motparse,yytext);\ 1840 1773 Save_Length(motparse,32); \ 1841 1774 colnum = colnum + strlen(motparse);\ 1842 1775 ECHO; \ 1843 1776 }\ 1844 strcpy(motparse1, fortrantext);\1845 /*printf(" fortrantext = %s\n",fortrantext);*/\1777 strcpy(motparse1,yytext);\ 1778 /*printf("yytext = %s\n",yytext);*/\ 1846 1779 /*if ( firstpass == 1 ) 1847 printf(" fortrantext = %s %d\n",fortrantext,strlen(fortrantext));*/\1780 printf("yytext = %s %d\n",yytext,strlen(yytext));*/\ 1848 1781 } 1849 #line 1850 "fortran.yy.c" 1850 1851 #define INITIAL 0 1852 #define parameter 1 1853 #define character 2 1854 #define donottreat 3 1855 #define fortran77style 4 1856 #define fortran90style 5 1857 1858 #ifndef YY_NO_UNISTD_H 1859 /* Special case for "unistd.h", since it is non-ANSI. We include it way 1860 * down here because we want the user's section 1 to have been scanned first. 1861 * The user has a chance to override it with an option. 1862 */ 1863 #include <unistd.h> 1864 #endif 1865 1866 #ifndef YY_EXTRA_TYPE 1867 #define YY_EXTRA_TYPE void * 1868 #endif 1869 1870 static int yy_init_globals (void ); 1782 #line 1783 "fortran.yy.c" 1871 1783 1872 1784 /* Macros after this point can all be overridden by user definitions in … … 1876 1788 #ifndef YY_SKIP_YYWRAP 1877 1789 #ifdef __cplusplus 1878 extern "C" int fortranwrap (void);1790 extern "C" int yywrap YY_PROTO(( void )); 1879 1791 #else 1880 extern int fortranwrap (void ); 1881 #endif 1882 #endif 1883 1884 static void yyunput (int c,char *buf_ptr ); 1885 1792 extern int yywrap YY_PROTO(( void )); 1793 #endif 1794 #endif 1795 1796 #ifndef YY_NO_UNPUT 1797 static void yyunput YY_PROTO(( int c, char *buf_ptr )); 1798 #endif 1799 1886 1800 #ifndef yytext_ptr 1887 static void yy_flex_strncpy (char *,yyconst char *,int);1801 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); 1888 1802 #endif 1889 1803 1890 1804 #ifdef YY_NEED_STRLEN 1891 static int yy_flex_strlen (yyconst char *);1805 static int yy_flex_strlen YY_PROTO(( yyconst char * )); 1892 1806 #endif 1893 1807 1894 1808 #ifndef YY_NO_INPUT 1895 1896 1809 #ifdef __cplusplus 1897 static int yyinput (void);1810 static int yyinput YY_PROTO(( void )); 1898 1811 #else 1899 static int input (void ); 1900 #endif 1901 1812 static int input YY_PROTO(( void )); 1813 #endif 1814 #endif 1815 1816 #if YY_STACK_USED 1817 static int yy_start_stack_ptr = 0; 1818 static int yy_start_stack_depth = 0; 1819 static int *yy_start_stack = 0; 1820 #ifndef YY_NO_PUSH_STATE 1821 static void yy_push_state YY_PROTO(( int new_state )); 1822 #endif 1823 #ifndef YY_NO_POP_STATE 1824 static void yy_pop_state YY_PROTO(( void )); 1825 #endif 1826 #ifndef YY_NO_TOP_STATE 1827 static int yy_top_state YY_PROTO(( void )); 1828 #endif 1829 1830 #else 1831 #define YY_NO_PUSH_STATE 1 1832 #define YY_NO_POP_STATE 1 1833 #define YY_NO_TOP_STATE 1 1834 #endif 1835 1836 #ifdef YY_MALLOC_DECL 1837 YY_MALLOC_DECL 1838 #else 1839 #if __STDC__ 1840 #ifndef __cplusplus 1841 #include <stdlib.h> 1842 #endif 1843 #else 1844 /* Just try to get by without declaring the routines. This will fail 1845 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) 1846 * or sizeof(void*) != sizeof(int). 1847 */ 1848 #endif 1902 1849 #endif 1903 1850 … … 1908 1855 1909 1856 /* Copy whatever the last rule matched to the standard output. */ 1857 1910 1858 #ifndef ECHO 1911 1859 /* This used to be an fputs(), but since the string might contain NUL's, 1912 1860 * we now use fwrite(). 1913 1861 */ 1914 #define ECHO (void) fwrite( fortrantext, fortranleng, 1, fortranout )1862 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) 1915 1863 #endif 1916 1864 … … 1920 1868 #ifndef YY_INPUT 1921 1869 #define YY_INPUT(buf,result,max_size) \ 1922 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \1870 if ( yy_current_buffer->yy_is_interactive ) \ 1923 1871 { \ 1924 int c = '*'; \ 1925 size_t n; \ 1872 int c = '*', n; \ 1926 1873 for ( n = 0; n < max_size && \ 1927 (c = getc( fortranin )) != EOF && c != '\n'; ++n ) \1874 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 1928 1875 buf[n] = (char) c; \ 1929 1876 if ( c == '\n' ) \ 1930 1877 buf[n++] = (char) c; \ 1931 if ( c == EOF && ferror( fortranin ) ) \1878 if ( c == EOF && ferror( yyin ) ) \ 1932 1879 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1933 1880 result = n; \ 1934 1881 } \ 1935 else \ 1936 { \ 1937 errno=0; \ 1938 while ( (result = fread(buf, 1, max_size, fortranin))==0 && ferror(fortranin)) \ 1939 { \ 1940 if( errno != EINTR) \ 1941 { \ 1942 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1943 break; \ 1944 } \ 1945 errno=0; \ 1946 clearerr(fortranin); \ 1947 } \ 1948 }\ 1949 \ 1950 1882 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ 1883 && ferror( yyin ) ) \ 1884 YY_FATAL_ERROR( "input in flex scanner failed" ); 1951 1885 #endif 1952 1886 … … 1969 1903 #endif 1970 1904 1971 /* end tables serialization structures and prototypes */1972 1973 1905 /* Default declaration of generated scanner - a define so the user can 1974 1906 * easily add parameters. 1975 1907 */ 1976 1908 #ifndef YY_DECL 1977 #define YY_DECL_IS_OURS 1 1978 1979 extern int fortranlex (void); 1980 1981 #define YY_DECL int fortranlex (void) 1982 #endif /* !YY_DECL */ 1983 1984 /* Code executed at the beginning of each rule, after fortrantext and fortranleng 1909 #define YY_DECL int yylex YY_PROTO(( void )) 1910 #endif 1911 1912 /* Code executed at the beginning of each rule, after yytext and yyleng 1985 1913 * have been set up. 1986 1914 */ … … 1995 1923 1996 1924 #define YY_RULE_SETUP \ 1997 if ( fortranleng > 0 ) \1998 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \1999 ( fortrantext[fortranleng - 1] == '\n'); \1925 if ( yyleng > 0 ) \ 1926 yy_current_buffer->yy_at_bol = \ 1927 (yytext[yyleng - 1] == '\n'); \ 2000 1928 YY_USER_ACTION 2001 1929 2002 /** The main scanner function which does all the work.2003 */2004 1930 YY_DECL 2005 {1931 { 2006 1932 register yy_state_type yy_current_state; 2007 1933 register char *yy_cp, *yy_bp; 2008 1934 register int yy_act; 2009 1935 2010 1936 #line 106 "fortran.lex" 2011 1937 … … 2013 1939 if (infree) BEGIN(fortran90style) ; 2014 1940 2015 #line 2016"fortran.yy.c"2016 2017 if ( !(yy_init))1941 #line 1942 "fortran.yy.c" 1942 1943 if ( yy_init ) 2018 1944 { 2019 (yy_init) = 1;1945 yy_init = 0; 2020 1946 2021 1947 #ifdef YY_USER_INIT … … 2023 1949 #endif 2024 1950 2025 if ( ! (yy_start) ) 2026 (yy_start) = 1; /* first start state */ 2027 2028 if ( ! fortranin ) 2029 fortranin = stdin; 2030 2031 if ( ! fortranout ) 2032 fortranout = stdout; 2033 2034 if ( ! YY_CURRENT_BUFFER ) { 2035 fortranensure_buffer_stack (); 2036 YY_CURRENT_BUFFER_LVALUE = 2037 fortran_create_buffer(fortranin,YY_BUF_SIZE ); 2038 } 2039 2040 fortran_load_buffer_state( ); 1951 if ( ! yy_start ) 1952 yy_start = 1; /* first start state */ 1953 1954 if ( ! yyin ) 1955 yyin = stdin; 1956 1957 if ( ! yyout ) 1958 yyout = stdout; 1959 1960 if ( ! yy_current_buffer ) 1961 yy_current_buffer = 1962 yy_create_buffer( yyin, YY_BUF_SIZE ); 1963 1964 yy_load_buffer_state(); 2041 1965 } 2042 1966 2043 1967 while ( 1 ) /* loops until end-of-file is reached */ 2044 1968 { 2045 yy_cp = (yy_c_buf_p);2046 2047 /* Support of fortrantext. */2048 *yy_cp = (yy_hold_char);1969 yy_cp = yy_c_buf_p; 1970 1971 /* Support of yytext. */ 1972 *yy_cp = yy_hold_char; 2049 1973 2050 1974 /* yy_bp points to the position in yy_ch_buf of the start of … … 2053 1977 yy_bp = yy_cp; 2054 1978 2055 yy_current_state = (yy_start);1979 yy_current_state = yy_start; 2056 1980 yy_current_state += YY_AT_BOL(); 2057 1981 yy_match: … … 2061 1985 if ( yy_accept[yy_current_state] ) 2062 1986 { 2063 (yy_last_accepting_state)= yy_current_state;2064 (yy_last_accepting_cpos)= yy_cp;1987 yy_last_accepting_state = yy_current_state; 1988 yy_last_accepting_cpos = yy_cp; 2065 1989 } 2066 1990 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) … … 2073 1997 ++yy_cp; 2074 1998 } 2075 while ( yy_base[yy_current_state] != 41 92);1999 while ( yy_base[yy_current_state] != 4189 ); 2076 2000 2077 2001 yy_find_action: … … 2079 2003 if ( yy_act == 0 ) 2080 2004 { /* have to back up */ 2081 yy_cp = (yy_last_accepting_cpos);2082 yy_current_state = (yy_last_accepting_state);2005 yy_cp = yy_last_accepting_cpos; 2006 yy_current_state = yy_last_accepting_state; 2083 2007 yy_act = yy_accept[yy_current_state]; 2084 2008 } … … 2086 2010 YY_DO_BEFORE_ACTION; 2087 2011 2012 2088 2013 do_action: /* This label is used only to access EOF actions. */ 2014 2089 2015 2090 2016 switch ( yy_act ) … … 2092 2018 case 0: /* must back up */ 2093 2019 /* undo the effects of YY_DO_BEFORE_ACTION */ 2094 *yy_cp = (yy_hold_char);2095 yy_cp = (yy_last_accepting_cpos);2096 yy_current_state = (yy_last_accepting_state);2020 *yy_cp = yy_hold_char; 2021 yy_cp = yy_last_accepting_cpos; 2022 yy_current_state = yy_last_accepting_state; 2097 2023 goto yy_find_action; 2098 2024 … … 2155 2081 YY_RULE_SETUP 2156 2082 #line 122 "fortran.lex" 2157 {strcpy(yylval.na, fortrantext);return TOK_ENDSUBROUTINE;}2083 {strcpy(yylval.na,yytext);return TOK_ENDSUBROUTINE;} 2158 2084 YY_BREAK 2159 2085 case 13: 2160 2086 YY_RULE_SETUP 2161 2087 #line 123 "fortran.lex" 2162 {strcpy(yylval.na, fortrantext);return TOK_ENDPROGRAM;}2088 {strcpy(yylval.na,yytext);return TOK_ENDPROGRAM;} 2163 2089 YY_BREAK 2164 2090 case 14: 2165 2091 YY_RULE_SETUP 2166 2092 #line 124 "fortran.lex" 2167 {strcpy(yylval.na, fortrantext);return TOK_ENDFUNCTION;}2093 {strcpy(yylval.na,yytext);return TOK_ENDFUNCTION;} 2168 2094 YY_BREAK 2169 2095 case 15: 2170 2096 YY_RULE_SETUP 2171 2097 #line 125 "fortran.lex" 2172 {strcpy(yylval.na, fortrantext);return TOK_ENDUNIT;}2098 {strcpy(yylval.na,yytext);return TOK_ENDUNIT;} 2173 2099 YY_BREAK 2174 2100 case 16: … … 2181 2107 #line 127 "fortran.lex" 2182 2108 { 2183 strcpy(yylval.na, fortrantext);2109 strcpy(yylval.na,yytext); 2184 2110 tmpc = input(); 2185 2111 unput(tmpc); … … 2236 2162 YY_RULE_SETUP 2237 2163 #line 151 "fortran.lex" 2238 {strcpy(yylval.na, fortrantext);return TOK_DASTER;}2164 {strcpy(yylval.na,yytext);return TOK_DASTER;} 2239 2165 YY_BREAK 2240 2166 case 26: 2241 2167 YY_RULE_SETUP 2242 2168 #line 152 "fortran.lex" 2243 {strcpy(yylval.na, fortrantext);return TOK_EQV;}2169 {strcpy(yylval.na,yytext);return TOK_EQV;} 2244 2170 YY_BREAK 2245 2171 case 27: 2246 2172 YY_RULE_SETUP 2247 2173 #line 153 "fortran.lex" 2248 {strcpy(yylval.na, fortrantext);return TOK_EQ;}2174 {strcpy(yylval.na,yytext);return TOK_EQ;} 2249 2175 YY_BREAK 2250 2176 case 28: 2251 2177 YY_RULE_SETUP 2252 2178 #line 154 "fortran.lex" 2253 {strcpy(yylval.na, fortrantext);return TOK_GT;}2179 {strcpy(yylval.na,yytext);return TOK_GT;} 2254 2180 YY_BREAK 2255 2181 case 29: 2256 2182 YY_RULE_SETUP 2257 2183 #line 155 "fortran.lex" 2258 {strcpy(yylval.na, fortrantext);return TOK_GE;}2184 {strcpy(yylval.na,yytext);return TOK_GE;} 2259 2185 YY_BREAK 2260 2186 case 30: 2261 2187 YY_RULE_SETUP 2262 2188 #line 156 "fortran.lex" 2263 {strcpy(yylval.na, fortrantext);return TOK_LT;}2189 {strcpy(yylval.na,yytext);return TOK_LT;} 2264 2190 YY_BREAK 2265 2191 case 31: 2266 2192 YY_RULE_SETUP 2267 2193 #line 157 "fortran.lex" 2268 {strcpy(yylval.na, fortrantext);return TOK_LE;}2194 {strcpy(yylval.na,yytext);return TOK_LE;} 2269 2195 YY_BREAK 2270 2196 case 32: 2271 2197 YY_RULE_SETUP 2272 2198 #line 158 "fortran.lex" 2273 {strcpy(yylval.na, fortrantext);return TOK_NEQV;}2199 {strcpy(yylval.na,yytext);return TOK_NEQV;} 2274 2200 YY_BREAK 2275 2201 case 33: 2276 2202 YY_RULE_SETUP 2277 2203 #line 159 "fortran.lex" 2278 {strcpy(yylval.na, fortrantext);return TOK_NE;}2204 {strcpy(yylval.na,yytext);return TOK_NE;} 2279 2205 YY_BREAK 2280 2206 case 34: 2281 2207 YY_RULE_SETUP 2282 2208 #line 160 "fortran.lex" 2283 {strcpy(yylval.na, fortrantext);return TOK_NOT;}2209 {strcpy(yylval.na,yytext);return TOK_NOT;} 2284 2210 YY_BREAK 2285 2211 case 35: 2286 2212 YY_RULE_SETUP 2287 2213 #line 161 "fortran.lex" 2288 {strcpy(yylval.na, fortrantext);return TOK_OR;}2214 {strcpy(yylval.na,yytext);return TOK_OR;} 2289 2215 YY_BREAK 2290 2216 case 36: 2291 2217 YY_RULE_SETUP 2292 2218 #line 162 "fortran.lex" 2293 {strcpy(yylval.na, fortrantext);return TOK_XOR;}2219 {strcpy(yylval.na,yytext);return TOK_XOR;} 2294 2220 YY_BREAK 2295 2221 case 37: 2296 2222 YY_RULE_SETUP 2297 2223 #line 163 "fortran.lex" 2298 {strcpy(yylval.na, fortrantext);return TOK_AND;}2224 {strcpy(yylval.na,yytext);return TOK_AND;} 2299 2225 YY_BREAK 2300 2226 case 38: … … 2326 2252 YY_RULE_SETUP 2327 2253 #line 169 "fortran.lex" 2328 {strcpy(yylval.na, fortrantext);return TOK_REAL;}2254 {strcpy(yylval.na,yytext);return TOK_REAL;} 2329 2255 YY_BREAK 2330 2256 case 44: 2331 2257 YY_RULE_SETUP 2332 2258 #line 170 "fortran.lex" 2333 {strcpy(yylval.na, fortrantext);return TOK_INTEGER;}2259 {strcpy(yylval.na,yytext);return TOK_INTEGER;} 2334 2260 YY_BREAK 2335 2261 case 45: 2336 2262 YY_RULE_SETUP 2337 2263 #line 171 "fortran.lex" 2338 {strcpy(yylval.na, fortrantext);return TOK_LOGICAL;}2264 {strcpy(yylval.na,yytext);return TOK_LOGICAL;} 2339 2265 YY_BREAK 2340 2266 case 46: 2341 2267 YY_RULE_SETUP 2342 2268 #line 172 "fortran.lex" 2343 {strcpy(yylval.na, fortrantext);return TOK_CHARACTER;}2269 {strcpy(yylval.na,yytext);return TOK_CHARACTER;} 2344 2270 YY_BREAK 2345 2271 case 47: … … 2466 2392 YY_RULE_SETUP 2467 2393 #line 197 "fortran.lex" 2468 {if (inallocate == 1) return TOK_STAT; else {strcpy(yylval.na, fortrantext);return TOK_NAME;}}2394 {if (inallocate == 1) return TOK_STAT; else {strcpy(yylval.na,yytext);return TOK_NAME;}} 2469 2395 YY_BREAK 2470 2396 case 72: … … 2484 2410 YY_BREAK 2485 2411 case 75: 2486 /* rule 75 can match eol */2487 2412 YY_RULE_SETUP 2488 2413 #line 201 "fortran.lex" … … 2532 2457 YY_RULE_SETUP 2533 2458 #line 210 "fortran.lex" 2534 {strcpy(yylval.nac, fortrantext);return TOK_IN;}2459 {strcpy(yylval.nac,yytext);return TOK_IN;} 2535 2460 YY_BREAK 2536 2461 case 85: 2537 2462 YY_RULE_SETUP 2538 2463 #line 211 "fortran.lex" 2539 {strcpy(yylval.na, fortrantext);return TOK_DATA;}2464 {strcpy(yylval.na,yytext);return TOK_DATA;} 2540 2465 YY_BREAK 2541 2466 case 86: … … 2552 2477 YY_RULE_SETUP 2553 2478 #line 214 "fortran.lex" 2554 {strcpy(yylval.nac, fortrantext);return TOK_OUT;}2479 {strcpy(yylval.nac,yytext);return TOK_OUT;} 2555 2480 YY_BREAK 2556 2481 case 89: 2557 2482 YY_RULE_SETUP 2558 2483 #line 215 "fortran.lex" 2559 {strcpy(yylval.nac, fortrantext);return TOK_INOUT;}2484 {strcpy(yylval.nac,yytext);return TOK_INOUT;} 2560 2485 YY_BREAK 2561 2486 case 90: … … 2785 2710 YY_BREAK 2786 2711 case 135: 2787 /* rule 135 can match eol */2788 2712 YY_RULE_SETUP 2789 2713 #line 261 "fortran.lex" … … 2793 2717 YY_RULE_SETUP 2794 2718 #line 262 "fortran.lex" 2795 {strcpy(yylval.na, fortrantext);return TOK_DOUBLEPRECISION;}2719 {strcpy(yylval.na,yytext);return TOK_DOUBLEPRECISION;} 2796 2720 YY_BREAK 2797 2721 case 137: 2798 2722 YY_RULE_SETUP 2799 2723 #line 263 "fortran.lex" 2800 {strcpy(yylval.na, fortrantext);return TOK_DOUBLECOMPLEX;}2724 {strcpy(yylval.na,yytext);return TOK_DOUBLECOMPLEX;} 2801 2725 YY_BREAK 2802 2726 case 138: 2803 2727 YY_RULE_SETUP 2804 2728 #line 264 "fortran.lex" 2805 {strcpy(yylval.na, fortrantext);return TOK_SLASH;}2729 {strcpy(yylval.na,yytext);return TOK_SLASH;} 2806 2730 YY_BREAK 2807 2731 case 139: 2808 2732 YY_RULE_SETUP 2809 2733 #line 265 "fortran.lex" 2810 {strcpy(yylval.na, fortrantext);return TOK_DSLASH;}2734 {strcpy(yylval.na,yytext);return TOK_DSLASH;} 2811 2735 YY_BREAK 2812 2736 case 140: 2813 /* rule 140 can match eol */2814 2737 YY_RULE_SETUP 2815 2738 #line 266 "fortran.lex" 2816 {strcpy(yylval.na, fortrantext);return TOK_CHAR_CUT;}2739 {strcpy(yylval.na,yytext);return TOK_CHAR_CUT;} 2817 2740 YY_BREAK 2818 2741 case 141: 2819 2742 YY_RULE_SETUP 2820 2743 #line 267 "fortran.lex" 2821 {strcpy(yylval.na, fortrantext);return TOK_CHAR_CONSTANT;}2744 {strcpy(yylval.na,yytext);return TOK_CHAR_CONSTANT;} 2822 2745 YY_BREAK 2823 2746 case 142: 2824 2747 YY_RULE_SETUP 2825 2748 #line 268 "fortran.lex" 2826 {strcpy(yylval.na, fortrantext);return TOK_CHAR_MESSAGE;}2749 {strcpy(yylval.na,yytext);return TOK_CHAR_MESSAGE;} 2827 2750 YY_BREAK 2828 2751 case 143: 2829 2752 YY_RULE_SETUP 2830 2753 #line 269 "fortran.lex" 2831 {strcpy(yylval.na, fortrantext);return TOK_CHAR_INT;}2754 {strcpy(yylval.na,yytext);return TOK_CHAR_INT;} 2832 2755 YY_BREAK 2833 2756 case 144: 2834 2757 YY_RULE_SETUP 2835 2758 #line 270 "fortran.lex" 2836 {strcpy(yylval.na, fortrantext);return TOK_NAME;}2759 {strcpy(yylval.na,yytext);return TOK_NAME;} 2837 2760 YY_BREAK 2838 2761 case 145: 2839 2762 YY_RULE_SETUP 2840 2763 #line 271 "fortran.lex" 2841 {strcpy(yylval.na, fortrantext);return TOK_CSTREAL;}2764 {strcpy(yylval.na,yytext);return TOK_CSTREAL;} 2842 2765 YY_BREAK 2843 2766 case 146: 2844 2767 YY_RULE_SETUP 2845 2768 #line 272 "fortran.lex" 2846 {strcpy(yylval.na, fortrantext);return TOK_CSTREALDP;}2769 {strcpy(yylval.na,yytext);return TOK_CSTREALDP;} 2847 2770 YY_BREAK 2848 2771 case 147: 2849 2772 YY_RULE_SETUP 2850 2773 #line 273 "fortran.lex" 2851 {strcpy(yylval.na, fortrantext);return TOK_CSTREALQP;}2774 {strcpy(yylval.na,yytext);return TOK_CSTREALQP;} 2852 2775 YY_BREAK 2853 2776 case 148: 2854 /* rule 148 can match eol */ 2855 *yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */ 2856 (yy_c_buf_p) = yy_cp -= 1; 2857 YY_DO_BEFORE_ACTION; /* set up fortrantext again */ 2777 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2778 yy_c_buf_p = yy_cp -= 1; 2779 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2858 2780 YY_RULE_SETUP 2859 2781 #line 274 "fortran.lex" 2860 {strcpy(yylval.na, fortrantext);return TOK_CSTREAL;}2782 {strcpy(yylval.na,yytext);return TOK_CSTREAL;} 2861 2783 YY_BREAK 2862 2784 case 149: 2863 2785 YY_RULE_SETUP 2864 2786 #line 275 "fortran.lex" 2865 {strcpy(yylval.na, fortrantext);return TOK_CSTINT;}2787 {strcpy(yylval.na,yytext);return TOK_CSTINT;} 2866 2788 YY_BREAK 2867 2789 case 150: … … 2883 2805 YY_RULE_SETUP 2884 2806 #line 279 "fortran.lex" 2885 {strcpy(yylval.na, fortrantext);return (int) *fortrantext;}2807 {strcpy(yylval.na,yytext);return (int) *yytext;} 2886 2808 YY_BREAK 2887 2809 case 154: … … 2893 2815 YY_RULE_SETUP 2894 2816 #line 281 "fortran.lex" 2895 {return (int) * fortrantext;}2817 {return (int) *yytext;} 2896 2818 YY_BREAK 2897 2819 case 156: 2898 2820 YY_RULE_SETUP 2899 2821 #line 282 "fortran.lex" 2900 {return (int) * fortrantext;}2822 {return (int) *yytext;} 2901 2823 YY_BREAK 2902 2824 case 157: 2903 2825 YY_RULE_SETUP 2904 2826 #line 283 "fortran.lex" 2905 {return (int) * fortrantext;}2827 {return (int) *yytext;} 2906 2828 YY_BREAK 2907 2829 case 158: 2908 2830 YY_RULE_SETUP 2909 2831 #line 284 "fortran.lex" 2910 {return (int) * fortrantext;}2832 {return (int) *yytext;} 2911 2833 YY_BREAK 2912 2834 case 159: 2913 /* rule 159 can match eol */2914 2835 YY_RULE_SETUP 2915 2836 #line 285 "fortran.lex" 2916 {colnum=0;line_num_fortran++;line_num_fortran_common++; return (int) * fortrantext;}2837 {colnum=0;line_num_fortran++;line_num_fortran_common++; return (int) *yytext;} 2917 2838 YY_BREAK 2918 2839 case 160: 2919 *yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */2920 (yy_c_buf_p)= yy_cp -= 1;2921 YY_DO_BEFORE_ACTION; /* set up fortrantext again */2840 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2841 yy_c_buf_p = yy_cp -= 1; 2842 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2922 2843 YY_RULE_SETUP 2923 2844 #line 286 "fortran.lex" … … 2945 2866 YY_BREAK 2946 2867 case 165: 2947 /* rule 165 can match eol */2948 2868 YY_RULE_SETUP 2949 2869 #line 291 "fortran.lex" … … 2951 2871 YY_BREAK 2952 2872 case 166: 2953 /* rule 166 can match eol */2954 2873 YY_RULE_SETUP 2955 2874 #line 292 "fortran.lex" … … 2957 2876 YY_BREAK 2958 2877 case 167: 2959 /* rule 167 can match eol */2960 2878 YY_RULE_SETUP 2961 2879 #line 293 "fortran.lex" … … 2975 2893 YY_BREAK 2976 2894 case 168: 2977 /* rule 168 can match eol */2978 2895 YY_RULE_SETUP 2979 2896 #line 306 "fortran.lex" … … 2981 2898 YY_BREAK 2982 2899 case 169: 2983 /* rule 169 can match eol */2984 2900 YY_RULE_SETUP 2985 2901 #line 307 "fortran.lex" … … 2987 2903 YY_BREAK 2988 2904 case 170: 2989 /* rule 170 can match eol */2990 2905 YY_RULE_SETUP 2991 2906 #line 308 "fortran.lex" … … 2993 2908 YY_BREAK 2994 2909 case 171: 2995 /* rule 171 can match eol */2996 2910 YY_RULE_SETUP 2997 2911 #line 309 "fortran.lex" … … 3016 2930 ECHO; 3017 2931 YY_BREAK 3018 #line 3019"fortran.yy.c"2932 #line 2933 "fortran.yy.c" 3019 2933 case YY_STATE_EOF(INITIAL): 3020 2934 case YY_STATE_EOF(parameter): … … 3028 2942 { 3029 2943 /* Amount of text matched not including the EOB char. */ 3030 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;2944 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; 3031 2945 3032 2946 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3033 *yy_cp = (yy_hold_char);2947 *yy_cp = yy_hold_char; 3034 2948 YY_RESTORE_YY_MORE_OFFSET 3035 2949 3036 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )2950 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) 3037 2951 { 3038 2952 /* We're scanning a new file or input source. It's 3039 2953 * possible that this happened because the user 3040 * just pointed fortranin at a new source and called3041 * fortranlex(). If so, then we have to assure3042 * consistency between YY_CURRENT_BUFFERand our2954 * just pointed yyin at a new source and called 2955 * yylex(). If so, then we have to assure 2956 * consistency between yy_current_buffer and our 3043 2957 * globals. Here is the right place to do so, because 3044 2958 * this is the first action (other than possibly a 3045 2959 * back-up) that will match for the new input source. 3046 2960 */ 3047 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;3048 YY_CURRENT_BUFFER_LVALUE->yy_input_file = fortranin;3049 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;2961 yy_n_chars = yy_current_buffer->yy_n_chars; 2962 yy_current_buffer->yy_input_file = yyin; 2963 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; 3050 2964 } 3051 2965 … … 3057 2971 * in input(). 3058 2972 */ 3059 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )2973 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 3060 2974 { /* This was really a NUL. */ 3061 2975 yy_state_type yy_next_state; 3062 2976 3063 (yy_c_buf_p) = (yytext_ptr)+ yy_amount_of_matched_text;3064 3065 yy_current_state = yy_get_previous_state( 2977 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; 2978 2979 yy_current_state = yy_get_previous_state(); 3066 2980 3067 2981 /* Okay, we're now positioned to make the NUL … … 3076 2990 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3077 2991 3078 yy_bp = (yytext_ptr)+ YY_MORE_ADJ;2992 yy_bp = yytext_ptr + YY_MORE_ADJ; 3079 2993 3080 2994 if ( yy_next_state ) 3081 2995 { 3082 2996 /* Consume the NUL. */ 3083 yy_cp = ++ (yy_c_buf_p);2997 yy_cp = ++yy_c_buf_p; 3084 2998 yy_current_state = yy_next_state; 3085 2999 goto yy_match; … … 3088 3002 else 3089 3003 { 3090 yy_cp = (yy_c_buf_p);3004 yy_cp = yy_c_buf_p; 3091 3005 goto yy_find_action; 3092 3006 } 3093 3007 } 3094 3008 3095 else switch ( yy_get_next_buffer( 3009 else switch ( yy_get_next_buffer() ) 3096 3010 { 3097 3011 case EOB_ACT_END_OF_FILE: 3098 3012 { 3099 (yy_did_buffer_switch_on_eof)= 0;3100 3101 if ( fortranwrap() )3013 yy_did_buffer_switch_on_eof = 0; 3014 3015 if ( yywrap() ) 3102 3016 { 3103 3017 /* Note: because we've taken care in 3104 3018 * yy_get_next_buffer() to have set up 3105 * fortrantext, we can now set up3019 * yytext, we can now set up 3106 3020 * yy_c_buf_p so that if some total 3107 3021 * hoser (like flex itself) wants to … … 3110 3024 * YY_NULL will get returned. 3111 3025 */ 3112 (yy_c_buf_p) = (yytext_ptr)+ YY_MORE_ADJ;3026 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; 3113 3027 3114 3028 yy_act = YY_STATE_EOF(YY_START); … … 3118 3032 else 3119 3033 { 3120 if ( ! (yy_did_buffer_switch_on_eof))3034 if ( ! yy_did_buffer_switch_on_eof ) 3121 3035 YY_NEW_FILE; 3122 3036 } … … 3125 3039 3126 3040 case EOB_ACT_CONTINUE_SCAN: 3127 (yy_c_buf_p)=3128 (yytext_ptr)+ yy_amount_of_matched_text;3129 3130 yy_current_state = yy_get_previous_state( 3131 3132 yy_cp = (yy_c_buf_p);3133 yy_bp = (yytext_ptr)+ YY_MORE_ADJ;3041 yy_c_buf_p = 3042 yytext_ptr + yy_amount_of_matched_text; 3043 3044 yy_current_state = yy_get_previous_state(); 3045 3046 yy_cp = yy_c_buf_p; 3047 yy_bp = yytext_ptr + YY_MORE_ADJ; 3134 3048 goto yy_match; 3135 3049 3136 3050 case EOB_ACT_LAST_MATCH: 3137 (yy_c_buf_p)=3138 & YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];3139 3140 yy_current_state = yy_get_previous_state( 3141 3142 yy_cp = (yy_c_buf_p);3143 yy_bp = (yytext_ptr)+ YY_MORE_ADJ;3051 yy_c_buf_p = 3052 &yy_current_buffer->yy_ch_buf[yy_n_chars]; 3053 3054 yy_current_state = yy_get_previous_state(); 3055 3056 yy_cp = yy_c_buf_p; 3057 yy_bp = yytext_ptr + YY_MORE_ADJ; 3144 3058 goto yy_find_action; 3145 3059 } … … 3152 3066 } /* end of action switch */ 3153 3067 } /* end of scanning one token */ 3154 } /* end of fortranlex */ 3068 } /* end of yylex */ 3069 3155 3070 3156 3071 /* yy_get_next_buffer - try to read in a new buffer … … 3161 3076 * EOB_ACT_END_OF_FILE - end of file 3162 3077 */ 3163 static int yy_get_next_buffer (void) 3164 { 3165 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3166 register char *source = (yytext_ptr); 3078 3079 static int yy_get_next_buffer() 3080 { 3081 register char *dest = yy_current_buffer->yy_ch_buf; 3082 register char *source = yytext_ptr; 3167 3083 register int number_to_move, i; 3168 3084 int ret_val; 3169 3085 3170 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)+ 1] )3086 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) 3171 3087 YY_FATAL_ERROR( 3172 3088 "fatal flex scanner internal error--end of buffer missed" ); 3173 3089 3174 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )3090 if ( yy_current_buffer->yy_fill_buffer == 0 ) 3175 3091 { /* Don't try to fill the buffer, so this is an EOF. */ 3176 if ( (yy_c_buf_p) - (yytext_ptr)- YY_MORE_ADJ == 1 )3092 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) 3177 3093 { 3178 3094 /* We matched a single character, the EOB, so … … 3194 3110 3195 3111 /* First move last chars to start of buffer. */ 3196 number_to_move = (int) ( (yy_c_buf_p) - (yytext_ptr)) - 1;3112 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; 3197 3113 3198 3114 for ( i = 0; i < number_to_move; ++i ) 3199 3115 *(dest++) = *(source++); 3200 3116 3201 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )3117 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 3202 3118 /* don't do the read, it's not guaranteed to return an EOF, 3203 3119 * just force an EOF 3204 3120 */ 3205 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars)= 0;3121 yy_current_buffer->yy_n_chars = yy_n_chars = 0; 3206 3122 3207 3123 else 3208 3124 { 3209 3210 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;3125 int num_to_read = 3126 yy_current_buffer->yy_buf_size - number_to_move - 1; 3211 3127 3212 3128 while ( num_to_read <= 0 ) 3213 3129 { /* Not enough room in the buffer - grow it. */ 3130 #ifdef YY_USES_REJECT 3131 YY_FATAL_ERROR( 3132 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 3133 #else 3214 3134 3215 3135 /* just a shorter name for the current buffer */ 3216 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;3136 YY_BUFFER_STATE b = yy_current_buffer; 3217 3137 3218 3138 int yy_c_buf_p_offset = 3219 (int) ( (yy_c_buf_p)- b->yy_ch_buf);3139 (int) (yy_c_buf_p - b->yy_ch_buf); 3220 3140 3221 3141 if ( b->yy_is_our_buffer ) … … 3230 3150 b->yy_ch_buf = (char *) 3231 3151 /* Include room in for 2 EOB chars. */ 3232 fortranrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 3152 yy_flex_realloc( (void *) b->yy_ch_buf, 3153 b->yy_buf_size + 2 ); 3233 3154 } 3234 3155 else … … 3240 3161 "fatal error - scanner input buffer overflow" ); 3241 3162 3242 (yy_c_buf_p)= &b->yy_ch_buf[yy_c_buf_p_offset];3243 3244 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -3163 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; 3164 3165 num_to_read = yy_current_buffer->yy_buf_size - 3245 3166 number_to_move - 1; 3246 3167 #endif 3247 3168 } 3248 3169 … … 3251 3172 3252 3173 /* Read in more data. */ 3253 YY_INPUT( (& YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),3254 (yy_n_chars), num_to_read );3255 3256 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);3174 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), 3175 yy_n_chars, num_to_read ); 3176 3177 yy_current_buffer->yy_n_chars = yy_n_chars; 3257 3178 } 3258 3179 3259 if ( (yy_n_chars)== 0 )3180 if ( yy_n_chars == 0 ) 3260 3181 { 3261 3182 if ( number_to_move == YY_MORE_ADJ ) 3262 3183 { 3263 3184 ret_val = EOB_ACT_END_OF_FILE; 3264 fortranrestart(fortranin);3185 yyrestart( yyin ); 3265 3186 } 3266 3187 … … 3268 3189 { 3269 3190 ret_val = EOB_ACT_LAST_MATCH; 3270 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =3191 yy_current_buffer->yy_buffer_status = 3271 3192 YY_BUFFER_EOF_PENDING; 3272 3193 } … … 3276 3197 ret_val = EOB_ACT_CONTINUE_SCAN; 3277 3198 3278 (yy_n_chars)+= number_to_move;3279 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;3280 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)+ 1] = YY_END_OF_BUFFER_CHAR;3281 3282 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];3199 yy_n_chars += number_to_move; 3200 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; 3201 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; 3202 3203 yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; 3283 3204 3284 3205 return ret_val; 3285 } 3206 } 3207 3286 3208 3287 3209 /* yy_get_previous_state - get the state just before the EOB char was reached */ 3288 3210 3289 static yy_state_type yy_get_previous_state (void)3290 {3211 static yy_state_type yy_get_previous_state() 3212 { 3291 3213 register yy_state_type yy_current_state; 3292 3214 register char *yy_cp; 3293 3294 yy_current_state = (yy_start);3215 3216 yy_current_state = yy_start; 3295 3217 yy_current_state += YY_AT_BOL(); 3296 3218 3297 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )3219 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) 3298 3220 { 3299 3221 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 3300 3222 if ( yy_accept[yy_current_state] ) 3301 3223 { 3302 (yy_last_accepting_state)= yy_current_state;3303 (yy_last_accepting_cpos)= yy_cp;3224 yy_last_accepting_state = yy_current_state; 3225 yy_last_accepting_cpos = yy_cp; 3304 3226 } 3305 3227 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) … … 3313 3235 3314 3236 return yy_current_state; 3315 } 3237 } 3238 3316 3239 3317 3240 /* yy_try_NUL_trans - try to make a transition on the NUL character … … 3320 3243 * next_state = yy_try_NUL_trans( current_state ); 3321 3244 */ 3322 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 3323 { 3245 3246 #ifdef YY_USE_PROTOS 3247 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) 3248 #else 3249 static yy_state_type yy_try_NUL_trans( yy_current_state ) 3250 yy_state_type yy_current_state; 3251 #endif 3252 { 3324 3253 register int yy_is_jam; 3325 register char *yy_cp = (yy_c_buf_p);3254 register char *yy_cp = yy_c_buf_p; 3326 3255 3327 3256 register YY_CHAR yy_c = 1; 3328 3257 if ( yy_accept[yy_current_state] ) 3329 3258 { 3330 (yy_last_accepting_state)= yy_current_state;3331 (yy_last_accepting_cpos)= yy_cp;3259 yy_last_accepting_state = yy_current_state; 3260 yy_last_accepting_cpos = yy_cp; 3332 3261 } 3333 3262 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) … … 3341 3270 3342 3271 return yy_is_jam ? 0 : yy_current_state; 3343 } 3344 3345 static void yyunput (int c, register char * yy_bp ) 3346 { 3347 register char *yy_cp; 3348 3349 yy_cp = (yy_c_buf_p); 3350 3351 /* undo effects of setting up fortrantext */ 3352 *yy_cp = (yy_hold_char); 3353 3354 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 3272 } 3273 3274 3275 #ifndef YY_NO_UNPUT 3276 #ifdef YY_USE_PROTOS 3277 static void yyunput( int c, register char *yy_bp ) 3278 #else 3279 static void yyunput( c, yy_bp ) 3280 int c; 3281 register char *yy_bp; 3282 #endif 3283 { 3284 register char *yy_cp = yy_c_buf_p; 3285 3286 /* undo effects of setting up yytext */ 3287 *yy_cp = yy_hold_char; 3288 3289 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 3355 3290 { /* need to shift things up to make room */ 3356 3291 /* +2 for EOB chars. */ 3357 register int number_to_move = (yy_n_chars)+ 2;3358 register char *dest = & YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[3359 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];3292 register int number_to_move = yy_n_chars + 2; 3293 register char *dest = &yy_current_buffer->yy_ch_buf[ 3294 yy_current_buffer->yy_buf_size + 2]; 3360 3295 register char *source = 3361 & YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];3362 3363 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )3296 &yy_current_buffer->yy_ch_buf[number_to_move]; 3297 3298 while ( source > yy_current_buffer->yy_ch_buf ) 3364 3299 *--dest = *--source; 3365 3300 3366 3301 yy_cp += (int) (dest - source); 3367 3302 yy_bp += (int) (dest - source); 3368 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =3369 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;3370 3371 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )3303 yy_current_buffer->yy_n_chars = 3304 yy_n_chars = yy_current_buffer->yy_buf_size; 3305 3306 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 3372 3307 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 3373 3308 } … … 3375 3310 *--yy_cp = (char) c; 3376 3311 3377 (yytext_ptr) = yy_bp; 3378 (yy_hold_char) = *yy_cp; 3379 (yy_c_buf_p) = yy_cp; 3380 } 3381 3382 #ifndef YY_NO_INPUT 3312 3313 yytext_ptr = yy_bp; 3314 yy_hold_char = *yy_cp; 3315 yy_c_buf_p = yy_cp; 3316 } 3317 #endif /* ifndef YY_NO_UNPUT */ 3318 3319 3383 3320 #ifdef __cplusplus 3384 static int yyinput (void)3321 static int yyinput() 3385 3322 #else 3386 static int input (void) 3387 #endif 3388 3389 { 3323 static int input() 3324 #endif 3325 { 3390 3326 int c; 3391 3392 * (yy_c_buf_p) = (yy_hold_char);3393 3394 if ( * (yy_c_buf_p)== YY_END_OF_BUFFER_CHAR )3327 3328 *yy_c_buf_p = yy_hold_char; 3329 3330 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) 3395 3331 { 3396 3332 /* yy_c_buf_p now points to the character we want to return. … … 3398 3334 * valid NUL; if not, then we've hit the end of the buffer. 3399 3335 */ 3400 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )3336 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 3401 3337 /* This was really a NUL. */ 3402 * (yy_c_buf_p)= '\0';3338 *yy_c_buf_p = '\0'; 3403 3339 3404 3340 else 3405 3341 { /* need more input */ 3406 int offset = (yy_c_buf_p) - (yytext_ptr);3407 ++ (yy_c_buf_p);3408 3409 switch ( yy_get_next_buffer( 3342 int offset = yy_c_buf_p - yytext_ptr; 3343 ++yy_c_buf_p; 3344 3345 switch ( yy_get_next_buffer() ) 3410 3346 { 3411 3347 case EOB_ACT_LAST_MATCH: … … 3421 3357 3422 3358 /* Reset buffer status. */ 3423 fortranrestart(fortranin );3424 3425 /* FALLTHROUGH*/3359 yyrestart( yyin ); 3360 3361 /* fall through */ 3426 3362 3427 3363 case EOB_ACT_END_OF_FILE: 3428 3364 { 3429 if ( fortranwrap() )3430 return 0;3431 3432 if ( ! (yy_did_buffer_switch_on_eof))3365 if ( yywrap() ) 3366 return EOF; 3367 3368 if ( ! yy_did_buffer_switch_on_eof ) 3433 3369 YY_NEW_FILE; 3434 3370 #ifdef __cplusplus … … 3440 3376 3441 3377 case EOB_ACT_CONTINUE_SCAN: 3442 (yy_c_buf_p) = (yytext_ptr)+ offset;3378 yy_c_buf_p = yytext_ptr + offset; 3443 3379 break; 3444 3380 } … … 3446 3382 } 3447 3383 3448 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */3449 * (yy_c_buf_p) = '\0'; /* preserve fortrantext */3450 (yy_hold_char) = *++(yy_c_buf_p);3451 3452 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');3384 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ 3385 *yy_c_buf_p = '\0'; /* preserve yytext */ 3386 yy_hold_char = *++yy_c_buf_p; 3387 3388 yy_current_buffer->yy_at_bol = (c == '\n'); 3453 3389 3454 3390 return c; 3455 }3456 #endif /* ifndef YY_NO_INPUT */3457 3458 /** Immediately switch to a different input stream.3459 * @param input_file A readable stream.3460 *3461 * @note This function does not reset the start condition to @c INITIAL .3462 */3463 void fortranrestart (FILE * input_file )3464 {3465 3466 if ( ! YY_CURRENT_BUFFER ){3467 fortranensure_buffer_stack ();3468 YY_CURRENT_BUFFER_LVALUE =3469 fortran_create_buffer(fortranin,YY_BUF_SIZE );3470 3391 } 3471 3392 3472 fortran_init_buffer(YY_CURRENT_BUFFER,input_file ); 3473 fortran_load_buffer_state( ); 3474 } 3475 3476 /** Switch to a different input buffer. 3477 * @param new_buffer The new input buffer. 3478 * 3479 */ 3480 void fortran_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 3481 { 3482 3483 /* TODO. We should be able to replace this entire function body 3484 * with 3485 * fortranpop_buffer_state(); 3486 * fortranpush_buffer_state(new_buffer); 3487 */ 3488 fortranensure_buffer_stack (); 3489 if ( YY_CURRENT_BUFFER == new_buffer ) 3393 3394 #ifdef YY_USE_PROTOS 3395 void yyrestart( FILE *input_file ) 3396 #else 3397 void yyrestart( input_file ) 3398 FILE *input_file; 3399 #endif 3400 { 3401 if ( ! yy_current_buffer ) 3402 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 3403 3404 yy_init_buffer( yy_current_buffer, input_file ); 3405 yy_load_buffer_state(); 3406 } 3407 3408 3409 #ifdef YY_USE_PROTOS 3410 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 3411 #else 3412 void yy_switch_to_buffer( new_buffer ) 3413 YY_BUFFER_STATE new_buffer; 3414 #endif 3415 { 3416 if ( yy_current_buffer == new_buffer ) 3490 3417 return; 3491 3418 3492 if ( YY_CURRENT_BUFFER)3419 if ( yy_current_buffer ) 3493 3420 { 3494 3421 /* Flush out information for old buffer. */ 3495 * (yy_c_buf_p) = (yy_hold_char);3496 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);3497 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);3422 *yy_c_buf_p = yy_hold_char; 3423 yy_current_buffer->yy_buf_pos = yy_c_buf_p; 3424 yy_current_buffer->yy_n_chars = yy_n_chars; 3498 3425 } 3499 3426 3500 YY_CURRENT_BUFFER_LVALUE= new_buffer;3501 fortran_load_buffer_state();3427 yy_current_buffer = new_buffer; 3428 yy_load_buffer_state(); 3502 3429 3503 3430 /* We don't actually know whether we did this switch during 3504 * EOF ( fortranwrap()) processing, but the only time this flag3505 * is looked at is after fortranwrap() is called, so it's safe3431 * EOF (yywrap()) processing, but the only time this flag 3432 * is looked at is after yywrap() is called, so it's safe 3506 3433 * to go ahead and always set it. 3507 3434 */ 3508 (yy_did_buffer_switch_on_eof) = 1; 3509 } 3510 3511 static void fortran_load_buffer_state (void) 3512 { 3513 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3514 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 3515 fortranin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 3516 (yy_hold_char) = *(yy_c_buf_p); 3517 } 3518 3519 /** Allocate and initialize an input buffer state. 3520 * @param file A readable stream. 3521 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 3522 * 3523 * @return the allocated buffer state. 3524 */ 3525 YY_BUFFER_STATE fortran_create_buffer (FILE * file, int size ) 3526 { 3435 yy_did_buffer_switch_on_eof = 1; 3436 } 3437 3438 3439 #ifdef YY_USE_PROTOS 3440 void yy_load_buffer_state( void ) 3441 #else 3442 void yy_load_buffer_state() 3443 #endif 3444 { 3445 yy_n_chars = yy_current_buffer->yy_n_chars; 3446 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; 3447 yyin = yy_current_buffer->yy_input_file; 3448 yy_hold_char = *yy_c_buf_p; 3449 } 3450 3451 3452 #ifdef YY_USE_PROTOS 3453 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) 3454 #else 3455 YY_BUFFER_STATE yy_create_buffer( file, size ) 3456 FILE *file; 3457 int size; 3458 #endif 3459 { 3527 3460 YY_BUFFER_STATE b; 3528 3529 b = (YY_BUFFER_STATE) fortranalloc(sizeof( struct yy_buffer_state ));3461 3462 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 3530 3463 if ( ! b ) 3531 YY_FATAL_ERROR( "out of dynamic memory in fortran_create_buffer()" );3464 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 3532 3465 3533 3466 b->yy_buf_size = size; … … 3536 3469 * we need to put in 2 end-of-buffer characters. 3537 3470 */ 3538 b->yy_ch_buf = (char *) fortranalloc(b->yy_buf_size + 2);3471 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); 3539 3472 if ( ! b->yy_ch_buf ) 3540 YY_FATAL_ERROR( "out of dynamic memory in fortran_create_buffer()" );3473 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 3541 3474 3542 3475 b->yy_is_our_buffer = 1; 3543 3476 3544 fortran_init_buffer(b,file );3477 yy_init_buffer( b, file ); 3545 3478 3546 3479 return b; 3547 } 3548 3549 /** Destroy the buffer. 3550 * @param b a buffer created with fortran_create_buffer() 3551 * 3552 */ 3553 void fortran_delete_buffer (YY_BUFFER_STATE b ) 3554 { 3555 3480 } 3481 3482 3483 #ifdef YY_USE_PROTOS 3484 void yy_delete_buffer( YY_BUFFER_STATE b ) 3485 #else 3486 void yy_delete_buffer( b ) 3487 YY_BUFFER_STATE b; 3488 #endif 3489 { 3556 3490 if ( ! b ) 3557 3491 return; 3558 3492 3559 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */3560 YY_CURRENT_BUFFER_LVALUE= (YY_BUFFER_STATE) 0;3493 if ( b == yy_current_buffer ) 3494 yy_current_buffer = (YY_BUFFER_STATE) 0; 3561 3495 3562 3496 if ( b->yy_is_our_buffer ) 3563 fortranfree((void *) b->yy_ch_buf ); 3564 3565 fortranfree((void *) b ); 3566 } 3567 3568 #ifndef __cplusplus 3569 extern int isatty (int ); 3570 #endif /* __cplusplus */ 3571 3572 /* Initializes or reinitializes a buffer. 3573 * This function is sometimes called more than once on the same buffer, 3574 * such as during a fortranrestart() or at EOF. 3575 */ 3576 static void fortran_init_buffer (YY_BUFFER_STATE b, FILE * file ) 3577 3578 { 3579 int oerrno = errno; 3580 3581 fortran_flush_buffer(b ); 3497 yy_flex_free( (void *) b->yy_ch_buf ); 3498 3499 yy_flex_free( (void *) b ); 3500 } 3501 3502 3503 #ifndef YY_ALWAYS_INTERACTIVE 3504 #ifndef YY_NEVER_INTERACTIVE 3505 extern int isatty YY_PROTO(( int )); 3506 #endif 3507 #endif 3508 3509 #ifdef YY_USE_PROTOS 3510 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) 3511 #else 3512 void yy_init_buffer( b, file ) 3513 YY_BUFFER_STATE b; 3514 FILE *file; 3515 #endif 3516 3517 3518 { 3519 yy_flush_buffer( b ); 3582 3520 3583 3521 b->yy_input_file = file; 3584 3522 b->yy_fill_buffer = 1; 3585 3523 3586 /* If b is the current buffer, then fortran_init_buffer was _probably_ 3587 * called from fortranrestart() or through yy_get_next_buffer. 3588 * In that case, we don't want to reset the lineno or column. 3589 */ 3590 if (b != YY_CURRENT_BUFFER){ 3591 b->yy_bs_lineno = 1; 3592 b->yy_bs_column =0;3593 } 3594 3595 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 3596 3597 errno = oerrno; 3598 } 3599 3600 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 3601 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 3602 * 3603 */ 3604 void fortran_flush_buffer (YY_BUFFER_STATE b ) 3605 {3606 3524 #if YY_ALWAYS_INTERACTIVE 3525 b->yy_is_interactive = 1; 3526 #else 3527 #if YY_NEVER_INTERACTIVE 3528 b->yy_is_interactive = 0; 3529 #else 3530 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 3531 #endif 3532 #endif 3533 } 3534 3535 3536 #ifdef YY_USE_PROTOS 3537 void yy_flush_buffer( YY_BUFFER_STATE b ) 3538 #else 3539 void yy_flush_buffer( b ) 3540 YY_BUFFER_STATE b; 3541 #endif 3542 3543 { 3544 if ( ! b ) 3607 3545 return; 3608 3546 … … 3621 3559 b->yy_buffer_status = YY_BUFFER_NEW; 3622 3560 3623 if ( b == YY_CURRENT_BUFFER ) 3624 fortran_load_buffer_state( ); 3625 } 3626 3627 /** Pushes the new state onto the stack. The new state becomes 3628 * the current state. This function will allocate the stack 3629 * if necessary. 3630 * @param new_buffer The new state. 3631 * 3632 */ 3633 void fortranpush_buffer_state (YY_BUFFER_STATE new_buffer ) 3634 { 3635 if (new_buffer == NULL) 3636 return; 3637 3638 fortranensure_buffer_stack(); 3639 3640 /* This block is copied from fortran_switch_to_buffer. */ 3641 if ( YY_CURRENT_BUFFER ) 3642 { 3643 /* Flush out information for old buffer. */ 3644 *(yy_c_buf_p) = (yy_hold_char); 3645 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 3646 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3647 } 3648 3649 /* Only push if top exists. Otherwise, replace top. */ 3650 if (YY_CURRENT_BUFFER) 3651 (yy_buffer_stack_top)++; 3652 YY_CURRENT_BUFFER_LVALUE = new_buffer; 3653 3654 /* copied from fortran_switch_to_buffer. */ 3655 fortran_load_buffer_state( ); 3656 (yy_did_buffer_switch_on_eof) = 1; 3657 } 3658 3659 /** Removes and deletes the top of the stack, if present. 3660 * The next element becomes the new top. 3661 * 3662 */ 3663 void fortranpop_buffer_state (void) 3664 { 3665 if (!YY_CURRENT_BUFFER) 3666 return; 3667 3668 fortran_delete_buffer(YY_CURRENT_BUFFER ); 3669 YY_CURRENT_BUFFER_LVALUE = NULL; 3670 if ((yy_buffer_stack_top) > 0) 3671 --(yy_buffer_stack_top); 3672 3673 if (YY_CURRENT_BUFFER) { 3674 fortran_load_buffer_state( ); 3675 (yy_did_buffer_switch_on_eof) = 1; 3561 if ( b == yy_current_buffer ) 3562 yy_load_buffer_state(); 3676 3563 } 3677 } 3678 3679 /* Allocates the stack if it does not exist. 3680 * Guarantees space for at least one push. 3681 */ 3682 static void fortranensure_buffer_stack (void) 3683 { 3684 int num_to_alloc; 3685 3686 if (!(yy_buffer_stack)) { 3687 3688 /* First allocation is just for 2 elements, since we don't know if this 3689 * scanner will even need a stack. We use 2 instead of 1 to avoid an 3690 * immediate realloc on the next call. 3691 */ 3692 num_to_alloc = 1; 3693 (yy_buffer_stack) = (struct yy_buffer_state**)fortranalloc 3694 (num_to_alloc * sizeof(struct yy_buffer_state*) 3695 ); 3696 3697 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 3698 3699 (yy_buffer_stack_max) = num_to_alloc; 3700 (yy_buffer_stack_top) = 0; 3701 return; 3702 } 3703 3704 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 3705 3706 /* Increase the buffer to prepare for a possible push. */ 3707 int grow_size = 8 /* arbitrary grow size */; 3708 3709 num_to_alloc = (yy_buffer_stack_max) + grow_size; 3710 (yy_buffer_stack) = (struct yy_buffer_state**)fortranrealloc 3711 ((yy_buffer_stack), 3712 num_to_alloc * sizeof(struct yy_buffer_state*) 3713 ); 3714 3715 /* zero only the new slots.*/ 3716 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 3717 (yy_buffer_stack_max) = num_to_alloc; 3718 } 3719 } 3720 3721 /** Setup the input buffer state to scan directly from a user-specified character buffer. 3722 * @param base the character buffer 3723 * @param size the size in bytes of the character buffer 3724 * 3725 * @return the newly allocated buffer state object. 3726 */ 3727 YY_BUFFER_STATE fortran_scan_buffer (char * base, yy_size_t size ) 3728 { 3564 3565 3566 #ifndef YY_NO_SCAN_BUFFER 3567 #ifdef YY_USE_PROTOS 3568 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) 3569 #else 3570 YY_BUFFER_STATE yy_scan_buffer( base, size ) 3571 char *base; 3572 yy_size_t size; 3573 #endif 3574 { 3729 3575 YY_BUFFER_STATE b; 3730 3576 3731 3577 if ( size < 2 || 3732 3578 base[size-2] != YY_END_OF_BUFFER_CHAR || … … 3735 3581 return 0; 3736 3582 3737 b = (YY_BUFFER_STATE) fortranalloc(sizeof( struct yy_buffer_state ));3583 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 3738 3584 if ( ! b ) 3739 YY_FATAL_ERROR( "out of dynamic memory in fortran_scan_buffer()" );3585 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 3740 3586 3741 3587 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ … … 3749 3595 b->yy_buffer_status = YY_BUFFER_NEW; 3750 3596 3751 fortran_switch_to_buffer(b);3597 yy_switch_to_buffer( b ); 3752 3598 3753 3599 return b; 3754 } 3755 3756 /** Setup the input buffer state to scan a string. The next call to fortranlex() will 3757 * scan from a @e copy of @a str. 3758 * @param str a NUL-terminated string to scan 3759 * 3760 * @return the newly allocated buffer state object. 3761 * @note If you want to scan bytes that may contain NUL values, then use 3762 * fortran_scan_bytes() instead. 3763 */ 3764 YY_BUFFER_STATE fortran_scan_string (yyconst char * yystr ) 3765 { 3766 3767 return fortran_scan_bytes(yystr,strlen(yystr) ); 3768 } 3769 3770 /** Setup the input buffer state to scan the given bytes. The next call to fortranlex() will 3771 * scan from a @e copy of @a bytes. 3772 * @param bytes the byte buffer to scan 3773 * @param len the number of bytes in the buffer pointed to by @a bytes. 3774 * 3775 * @return the newly allocated buffer state object. 3776 */ 3777 YY_BUFFER_STATE fortran_scan_bytes (yyconst char * yybytes, int _yybytes_len ) 3778 { 3600 } 3601 #endif 3602 3603 3604 #ifndef YY_NO_SCAN_STRING 3605 #ifdef YY_USE_PROTOS 3606 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) 3607 #else 3608 YY_BUFFER_STATE yy_scan_string( yy_str ) 3609 yyconst char *yy_str; 3610 #endif 3611 { 3612 int len; 3613 for ( len = 0; yy_str[len]; ++len ) 3614 ; 3615 3616 return yy_scan_bytes( yy_str, len ); 3617 } 3618 #endif 3619 3620 3621 #ifndef YY_NO_SCAN_BYTES 3622 #ifdef YY_USE_PROTOS 3623 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) 3624 #else 3625 YY_BUFFER_STATE yy_scan_bytes( bytes, len ) 3626 yyconst char *bytes; 3627 int len; 3628 #endif 3629 { 3779 3630 YY_BUFFER_STATE b; 3780 3631 char *buf; 3781 3632 yy_size_t n; 3782 3633 int i; 3783 3634 3784 3635 /* Get memory for full buffer, including space for trailing EOB's. */ 3785 n = _yybytes_len + 2;3786 buf = (char *) fortranalloc(n);3636 n = len + 2; 3637 buf = (char *) yy_flex_alloc( n ); 3787 3638 if ( ! buf ) 3788 YY_FATAL_ERROR( "out of dynamic memory in fortran_scan_bytes()" );3789 3790 for ( i = 0; i < _yybytes_len; ++i )3791 buf[i] = yybytes[i];3792 3793 buf[ _yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;3794 3795 b = fortran_scan_buffer(buf,n );3639 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 3640 3641 for ( i = 0; i < len; ++i ) 3642 buf[i] = bytes[i]; 3643 3644 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; 3645 3646 b = yy_scan_buffer( buf, n ); 3796 3647 if ( ! b ) 3797 YY_FATAL_ERROR( "bad buffer in fortran_scan_bytes()" );3648 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 3798 3649 3799 3650 /* It's okay to grow etc. this buffer, and we should throw it … … 3803 3654 3804 3655 return b; 3805 } 3656 } 3657 #endif 3658 3659 3660 #ifndef YY_NO_PUSH_STATE 3661 #ifdef YY_USE_PROTOS 3662 static void yy_push_state( int new_state ) 3663 #else 3664 static void yy_push_state( new_state ) 3665 int new_state; 3666 #endif 3667 { 3668 if ( yy_start_stack_ptr >= yy_start_stack_depth ) 3669 { 3670 yy_size_t new_size; 3671 3672 yy_start_stack_depth += YY_START_STACK_INCR; 3673 new_size = yy_start_stack_depth * sizeof( int ); 3674 3675 if ( ! yy_start_stack ) 3676 yy_start_stack = (int *) yy_flex_alloc( new_size ); 3677 3678 else 3679 yy_start_stack = (int *) yy_flex_realloc( 3680 (void *) yy_start_stack, new_size ); 3681 3682 if ( ! yy_start_stack ) 3683 YY_FATAL_ERROR( 3684 "out of memory expanding start-condition stack" ); 3685 } 3686 3687 yy_start_stack[yy_start_stack_ptr++] = YY_START; 3688 3689 BEGIN(new_state); 3690 } 3691 #endif 3692 3693 3694 #ifndef YY_NO_POP_STATE 3695 static void yy_pop_state() 3696 { 3697 if ( --yy_start_stack_ptr < 0 ) 3698 YY_FATAL_ERROR( "start-condition stack underflow" ); 3699 3700 BEGIN(yy_start_stack[yy_start_stack_ptr]); 3701 } 3702 #endif 3703 3704 3705 #ifndef YY_NO_TOP_STATE 3706 static int yy_top_state() 3707 { 3708 return yy_start_stack[yy_start_stack_ptr - 1]; 3709 } 3710 #endif 3806 3711 3807 3712 #ifndef YY_EXIT_FAILURE … … 3809 3714 #endif 3810 3715 3811 static void yy_fatal_error (yyconst char* msg ) 3812 { 3813 (void) fprintf( stderr, "%s\n", msg ); 3716 #ifdef YY_USE_PROTOS 3717 static void yy_fatal_error( yyconst char msg[] ) 3718 #else 3719 static void yy_fatal_error( msg ) 3720 char msg[]; 3721 #endif 3722 { 3723 (void) fprintf( stderr, "%s\n", msg ); 3814 3724 exit( YY_EXIT_FAILURE ); 3815 } 3725 } 3726 3727 3816 3728 3817 3729 /* Redefine yyless() so it works in section 3 code. */ … … 3821 3733 do \ 3822 3734 { \ 3823 /* Undo effects of setting up fortrantext. */ \ 3824 int yyless_macro_arg = (n); \ 3825 YY_LESS_LINENO(yyless_macro_arg);\ 3826 fortrantext[fortranleng] = (yy_hold_char); \ 3827 (yy_c_buf_p) = fortrantext + yyless_macro_arg; \ 3828 (yy_hold_char) = *(yy_c_buf_p); \ 3829 *(yy_c_buf_p) = '\0'; \ 3830 fortranleng = yyless_macro_arg; \ 3735 /* Undo effects of setting up yytext. */ \ 3736 yytext[yyleng] = yy_hold_char; \ 3737 yy_c_buf_p = yytext + n; \ 3738 yy_hold_char = *yy_c_buf_p; \ 3739 *yy_c_buf_p = '\0'; \ 3740 yyleng = n; \ 3831 3741 } \ 3832 3742 while ( 0 ) 3833 3743 3834 /* Accessor methods (get/set functions) to struct members. */ 3835 3836 /** Get the current line number. 3837 * 3838 */ 3839 int fortranget_lineno (void) 3840 { 3841 3842 return fortranlineno; 3843 } 3844 3845 /** Get the input stream. 3846 * 3847 */ 3848 FILE *fortranget_in (void) 3849 { 3850 return fortranin; 3851 } 3852 3853 /** Get the output stream. 3854 * 3855 */ 3856 FILE *fortranget_out (void) 3857 { 3858 return fortranout; 3859 } 3860 3861 /** Get the length of the current token. 3862 * 3863 */ 3864 int fortranget_leng (void) 3865 { 3866 return fortranleng; 3867 } 3868 3869 /** Get the current token. 3870 * 3871 */ 3872 3873 char *fortranget_text (void) 3874 { 3875 return fortrantext; 3876 } 3877 3878 /** Set the current line number. 3879 * @param line_number 3880 * 3881 */ 3882 void fortranset_lineno (int line_number ) 3883 { 3884 3885 fortranlineno = line_number; 3886 } 3887 3888 /** Set the input stream. This does not discard the current 3889 * input buffer. 3890 * @param in_str A readable stream. 3891 * 3892 * @see fortran_switch_to_buffer 3893 */ 3894 void fortranset_in (FILE * in_str ) 3895 { 3896 fortranin = in_str ; 3897 } 3898 3899 void fortranset_out (FILE * out_str ) 3900 { 3901 fortranout = out_str ; 3902 } 3903 3904 int fortranget_debug (void) 3905 { 3906 return fortran_flex_debug; 3907 } 3908 3909 void fortranset_debug (int bdebug ) 3910 { 3911 fortran_flex_debug = bdebug ; 3912 } 3913 3914 static int yy_init_globals (void) 3915 { 3916 /* Initialization is the same as for the non-reentrant scanner. 3917 * This function is called from fortranlex_destroy(), so don't allocate here. 3918 */ 3919 3920 (yy_buffer_stack) = 0; 3921 (yy_buffer_stack_top) = 0; 3922 (yy_buffer_stack_max) = 0; 3923 (yy_c_buf_p) = (char *) 0; 3924 (yy_init) = 0; 3925 (yy_start) = 0; 3926 3927 /* Defined in main.c */ 3928 #ifdef YY_STDINIT 3929 fortranin = stdin; 3930 fortranout = stdout; 3744 3745 /* Internal utility routines. */ 3746 3747 #ifndef yytext_ptr 3748 #ifdef YY_USE_PROTOS 3749 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) 3931 3750 #else 3932 fortranin = (FILE *) 0; 3933 fortranout = (FILE *) 0; 3934 #endif 3935 3936 /* For future reference: Set errno on error, since we are called by 3937 * fortranlex_init() 3938 */ 3939 return 0; 3940 } 3941 3942 /* fortranlex_destroy is for both reentrant and non-reentrant scanners. */ 3943 int fortranlex_destroy (void) 3944 { 3945 3946 /* Pop the buffer stack, destroying each element. */ 3947 while(YY_CURRENT_BUFFER){ 3948 fortran_delete_buffer(YY_CURRENT_BUFFER ); 3949 YY_CURRENT_BUFFER_LVALUE = NULL; 3950 fortranpop_buffer_state(); 3951 } 3952 3953 /* Destroy the stack itself. */ 3954 fortranfree((yy_buffer_stack) ); 3955 (yy_buffer_stack) = NULL; 3956 3957 /* Reset the globals. This is important in a non-reentrant scanner so the next time 3958 * fortranlex() is called, initialization will occur. */ 3959 yy_init_globals( ); 3960 3961 return 0; 3962 } 3963 3964 /* 3965 * Internal utility routines. 3966 */ 3967 3968 #ifndef yytext_ptr 3969 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 3970 { 3751 static void yy_flex_strncpy( s1, s2, n ) 3752 char *s1; 3753 yyconst char *s2; 3754 int n; 3755 #endif 3756 { 3971 3757 register int i; 3972 3758 for ( i = 0; i < n; ++i ) 3973 3759 s1[i] = s2[i]; 3974 }3760 } 3975 3761 #endif 3976 3762 3977 3763 #ifdef YY_NEED_STRLEN 3978 static int yy_flex_strlen (yyconst char * s ) 3979 { 3764 #ifdef YY_USE_PROTOS 3765 static int yy_flex_strlen( yyconst char *s ) 3766 #else 3767 static int yy_flex_strlen( s ) 3768 yyconst char *s; 3769 #endif 3770 { 3980 3771 register int n; 3981 3772 for ( n = 0; s[n]; ++n ) … … 3983 3774 3984 3775 return n; 3985 } 3986 #endif 3987 3988 void *fortranalloc (yy_size_t size ) 3989 { 3776 } 3777 #endif 3778 3779 3780 #ifdef YY_USE_PROTOS 3781 static void *yy_flex_alloc( yy_size_t size ) 3782 #else 3783 static void *yy_flex_alloc( size ) 3784 yy_size_t size; 3785 #endif 3786 { 3990 3787 return (void *) malloc( size ); 3991 } 3992 3993 void *fortranrealloc (void * ptr, yy_size_t size ) 3994 { 3788 } 3789 3790 #ifdef YY_USE_PROTOS 3791 static void *yy_flex_realloc( void *ptr, yy_size_t size ) 3792 #else 3793 static void *yy_flex_realloc( ptr, size ) 3794 void *ptr; 3795 yy_size_t size; 3796 #endif 3797 { 3995 3798 /* The cast to (char *) in the following accommodates both 3996 3799 * implementations that use char* generic pointers, and those … … 4001 3804 */ 4002 3805 return (void *) realloc( (char *) ptr, size ); 4003 } 4004 4005 void fortranfree (void * ptr ) 4006 { 4007 free( (char *) ptr ); /* see fortranrealloc() for (char *) cast */ 4008 } 4009 4010 #define YYTABLES_NAME "yytables" 4011 3806 } 3807 3808 #ifdef YY_USE_PROTOS 3809 static void yy_flex_free( void *ptr ) 3810 #else 3811 static void yy_flex_free( ptr ) 3812 void *ptr; 3813 #endif 3814 { 3815 free( ptr ); 3816 } 3817 3818 #if YY_MAIN 3819 int main() 3820 { 3821 yylex(); 3822 return 0; 3823 } 3824 #endif 4012 3825 #line 319 "fortran.lex" 4013 4014 3826 4015 3827 … … 4030 3842 { 4031 3843 } 4032
Note: See TracChangeset
for help on using the changeset viewer.