![]() ![]() |
![]() |
1 mike 1.3 #define yy_create_buffer cimmof__create_buffer 2 #define yy_delete_buffer cimmof__delete_buffer 3 #define yy_scan_buffer cimmof__scan_buffer 4 #define yy_scan_string cimmof__scan_string 5 #define yy_scan_bytes cimmof__scan_bytes 6 #define yy_flex_debug cimmof__flex_debug 7 #define yy_init_buffer cimmof__init_buffer 8 #define yy_flush_buffer cimmof__flush_buffer 9 #define yy_load_buffer_state cimmof__load_buffer_state 10 #define yy_switch_to_buffer cimmof__switch_to_buffer 11 #define yyin cimmof_in 12 #define yyleng cimmof_leng 13 #define yylex cimmof_lex 14 #define yyout cimmof_out 15 #define yyrestart cimmof_restart 16 #define yytext cimmof_text 17 #define yywrap cimmof_wrap 18 19 #line 20 "cimmof_lex.cpp" 20 /* A lexical scanner generated by flex */ 21 22 mike 1.3 /* Scanner skeleton version: | ||
23 bob 1.4 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ | ||
24 mike 1.3 */ 25 26 #define FLEX_SCANNER 27 #define YY_FLEX_MAJOR_VERSION 2 28 #define YY_FLEX_MINOR_VERSION 5 29 30 #include <stdio.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 43 #include <stdlib.h> 44 #include <unistd.h> 45 mike 1.3 46 /* Use prototypes in function declarations. */ 47 #define YY_USE_PROTOS 48 49 /* The "const" storage-class-modifier is valid. */ 50 #define YY_USE_CONST 51 52 #else /* ! __cplusplus */ 53 54 #if __STDC__ 55 56 #define YY_USE_PROTOS 57 #define YY_USE_CONST 58 59 #endif /* __STDC__ */ 60 #endif /* ! __cplusplus */ 61 62 #ifdef __TURBOC__ 63 #pragma warn -rch 64 #pragma warn -use 65 #include <io.h> 66 mike 1.3 #include <stdlib.h> 67 #define YY_USE_CONST 68 #define YY_USE_PROTOS 69 #endif 70 71 #ifdef YY_USE_CONST 72 #define yyconst const 73 #else 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) () 82 #endif 83 84 /* Returned upon end-of-file. */ 85 #define YY_NULL 0 86 87 mike 1.3 /* Promotes a possibly negative, possibly signed char to an unsigned 88 * integer for use as an array index. If the signed char is negative, 89 * we want to instead treat it as an 8-bit unsigned char, hence the 90 * double cast. 91 */ 92 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 93 94 /* Enter a start condition. This macro really ought to take a parameter, 95 * but we do it the disgusting crufty way forced on us by the ()-less 96 * definition of BEGIN. 97 */ 98 #define BEGIN yy_start = 1 + 2 * 99 100 /* Translate the current start state into a value that can be later handed 101 * to BEGIN to return to the state. The YYSTATE alias is for lex 102 * compatibility. 103 */ 104 #define YY_START ((yy_start - 1) / 2) 105 #define YYSTATE YY_START 106 107 /* Action number for EOF rule of a given start state. */ 108 mike 1.3 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 109 110 /* Special action meaning "start processing a new file". */ 111 #define YY_NEW_FILE yyrestart( yyin ) 112 113 #define YY_END_OF_BUFFER_CHAR 0 114 115 /* Size of default input buffer. */ 116 #define YY_BUF_SIZE 16384 117 118 typedef struct yy_buffer_state *YY_BUFFER_STATE; 119 120 extern int yyleng; 121 extern FILE *yyin, *yyout; 122 123 #define EOB_ACT_CONTINUE_SCAN 0 124 #define EOB_ACT_END_OF_FILE 1 125 #define EOB_ACT_LAST_MATCH 2 126 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 mike 1.3 * 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 143 #define yyless(n) \ 144 do \ 145 { \ 146 /* Undo effects of setting up yytext. */ \ 147 *yy_cp = yy_hold_char; \ 148 YY_RESTORE_YY_MORE_OFFSET \ 149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ 150 mike 1.3 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 151 } \ 152 while ( 0 ) 153 154 #define unput(c) yyunput( c, yytext_ptr ) 155 156 /* The following is because we cannot portably get our hands on size_t 157 * (without autoconf's help, which isn't available because we want 158 * flex-generated scanners to compile on their own). 159 */ 160 typedef unsigned int yy_size_t; 161 162 163 struct yy_buffer_state 164 { 165 FILE *yy_input_file; 166 167 char *yy_ch_buf; /* input buffer */ 168 char *yy_buf_pos; /* current position in input buffer */ 169 170 /* Size of input buffer in bytes, not including room for EOB 171 mike 1.3 * characters. 172 */ 173 yy_size_t yy_buf_size; 174 175 /* Number of characters read into yy_ch_buf, not including EOB 176 * characters. 177 */ 178 int yy_n_chars; 179 180 /* Whether we "own" the buffer - i.e., we know we created it, 181 * and can realloc() it to grow it, and should free() it to 182 * delete it. 183 */ 184 int yy_is_our_buffer; 185 186 /* Whether this is an "interactive" input source; if so, and 187 * if we're using stdio for input, then we want to use getc() 188 * instead of fread(), to make sure we stop fetching input after 189 * each newline. 190 */ 191 int yy_is_interactive; 192 mike 1.3 193 /* Whether we're considered to be at the beginning of a line. 194 * If so, '^' rules will be active on the next match, otherwise 195 * not. 196 */ 197 int yy_at_bol; 198 199 /* Whether to try to fill the input buffer when we reach the 200 * end of it. 201 */ 202 int yy_fill_buffer; 203 204 int yy_buffer_status; 205 #define YY_BUFFER_NEW 0 206 #define YY_BUFFER_NORMAL 1 207 /* When an EOF's been seen but there's still some text to process 208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 209 * shouldn't try reading from the input source any more. We might 210 * still have a bunch of tokens to match, though, because of 211 * possible backing-up. 212 * 213 mike 1.3 * When we actually see the EOF, we change the status to "new" 214 * (via yyrestart()), so that the user can continue scanning by 215 * just pointing yyin at a new input file. 216 */ 217 #define YY_BUFFER_EOF_PENDING 2 218 }; 219 220 static YY_BUFFER_STATE yy_current_buffer = 0; 221 222 /* We provide macros for accessing buffer states in case in the 223 * future we want to put the buffer states in a more general 224 * "scanner state". 225 */ 226 #define YY_CURRENT_BUFFER yy_current_buffer 227 228 229 /* yy_hold_char holds the character lost when yytext is formed. */ 230 static char yy_hold_char; 231 232 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 233 234 mike 1.3 235 int yyleng; 236 237 /* Points to current character in buffer. */ 238 static char *yy_c_buf_p = (char *) 0; 239 static int yy_init = 1; /* whether we need to initialize */ 240 static int yy_start = 0; /* start state number */ 241 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 ... 244 */ 245 static int yy_did_buffer_switch_on_eof; 246 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 mike 1.3 #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 266 267 #define yy_set_interactive(is_interactive) \ 268 { \ 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; \ 272 } 273 274 #define yy_set_bol(at_bol) \ 275 { \ 276 mike 1.3 if ( ! yy_current_buffer ) \ 277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 278 yy_current_buffer->yy_at_bol = at_bol; \ 279 } 280 281 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) 282 283 typedef unsigned char YY_CHAR; 284 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 285 typedef int yy_state_type; 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[] )); 293 294 /* Done after the current pattern has been matched and before the 295 * corresponding action - sets up yytext. 296 */ 297 mike 1.3 #define YY_DO_BEFORE_ACTION \ 298 yytext_ptr = yy_bp; \ 299 yyleng = (int) (yy_cp - yy_bp); \ 300 yy_hold_char = *yy_cp; \ 301 *yy_cp = '\0'; \ 302 yy_c_buf_p = yy_cp; 303 304 #define YY_NUM_RULES 68 305 #define YY_END_OF_BUFFER 69 306 static yyconst short int yy_accept[274] = 307 { 0, 308 0, 0, 69, 67, 3, 1, 26, 67, 67, 67, 309 9, 10, 67, 20, 27, 67, 17, 17, 11, 12, 310 19, 66, 66, 66, 66, 66, 66, 66, 66, 66, 311 66, 66, 66, 66, 66, 66, 66, 66, 7, 8, 312 66, 5, 6, 0, 22, 0, 65, 0, 0, 18, 313 18, 18, 13, 2, 17, 0, 66, 66, 29, 66, 314 66, 66, 66, 66, 66, 66, 66, 66, 66, 31, 315 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 316 66, 0, 21, 14, 14, 16, 13, 2, 2, 15, 317 41, 66, 66, 66, 66, 66, 66, 66, 66, 66, 318 mike 1.3 319 66, 66, 66, 66, 66, 66, 66, 66, 42, 66, 320 66, 66, 66, 66, 66, 66, 66, 66, 66, 0, 321 13, 13, 66, 66, 66, 66, 66, 66, 66, 66, 322 66, 66, 66, 66, 23, 66, 66, 66, 66, 66, 323 66, 66, 66, 66, 66, 66, 66, 24, 66, 66, 324 0, 66, 66, 66, 63, 66, 66, 66, 25, 66, 325 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 326 66, 66, 33, 66, 66, 66, 57, 66, 66, 66, 327 66, 66, 66, 53, 4, 0, 66, 66, 64, 66, 328 66, 66, 43, 66, 66, 66, 39, 66, 66, 66, 329 330 61, 62, 66, 66, 34, 58, 59, 60, 50, 66, 331 66, 54, 55, 56, 28, 66, 51, 66, 66, 66, 332 49, 66, 66, 66, 66, 66, 66, 66, 66, 66, 333 66, 52, 66, 66, 66, 30, 66, 37, 66, 66, 334 66, 66, 66, 66, 66, 66, 66, 40, 32, 38, 335 66, 66, 66, 66, 66, 66, 36, 46, 47, 66, 336 35, 66, 66, 66, 66, 66, 48, 66, 66, 66, 337 44, 45, 0 338 } ; 339 mike 1.3 340 static yyconst int yy_ec[256] = 341 { 0, 342 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 343 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 344 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 345 1, 2, 1, 5, 6, 7, 1, 1, 8, 9, 346 10, 1, 11, 12, 11, 13, 14, 15, 16, 17, 347 18, 19, 20, 21, 20, 22, 23, 24, 25, 1, 348 26, 1, 1, 1, 27, 28, 29, 30, 31, 32, 349 33, 34, 35, 36, 36, 37, 38, 39, 40, 41, 350 42, 43, 44, 45, 46, 47, 36, 36, 48, 36, 351 49, 1, 50, 1, 36, 1, 51, 28, 52, 30, 352 353 31, 32, 33, 34, 35, 36, 36, 53, 38, 39, 354 40, 41, 42, 43, 54, 45, 46, 47, 36, 55, 355 48, 36, 56, 1, 57, 1, 1, 1, 1, 1, 356 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 357 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 358 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 359 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 360 mike 1.3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 361 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 362 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 363 364 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 366 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 367 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 368 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 369 1, 1, 1, 1, 1 370 } ; 371 372 static yyconst int yy_meta[58] = 373 { 0, 374 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 375 4, 1, 5, 1, 6, 6, 6, 6, 6, 6, 376 6, 6, 6, 1, 1, 1, 7, 7, 7, 7, 377 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 378 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 379 7, 7, 3, 3, 8, 1, 1 380 } ; 381 mike 1.3 382 static yyconst short int yy_base[284] = 383 { 0, 384 0, 0, 397, 398, 398, 398, 55, 355, 0, 0, 385 398, 398, 46, 398, 0, 381, 50, 51, 398, 398, 386 398, 26, 354, 359, 39, 353, 40, 0, 352, 359, 387 343, 356, 41, 341, 355, 43, 33, 350, 398, 398, 388 41, 398, 398, 66, 398, 341, 0, 375, 0, 94, 389 70, 369, 350, 377, 0, 0, 0, 331, 35, 338, 390 69, 332, 43, 72, 65, 73, 96, 331, 66, 0, 391 332, 334, 77, 100, 95, 334, 329, 77, 106, 332, 392 319, 107, 361, 0, 121, 398, 357, 364, 398, 0, 393 0, 326, 93, 322, 333, 111, 335, 99, 315, 102, 394 395 326, 315, 325, 108, 114, 317, 110, 119, 326, 311, 396 324, 313, 308, 317, 305, 311, 318, 303, 293, 313, 397 334, 333, 130, 312, 144, 297, 313, 127, 309, 299, 398 292, 138, 141, 297, 0, 298, 304, 299, 152, 290, 399 289, 293, 299, 153, 290, 300, 132, 0, 163, 273, 400 288, 290, 150, 303, 0, 288, 141, 291, 0, 278, 401 290, 156, 280, 288, 286, 273, 283, 297, 294, 281, 402 mike 1.3 276, 160, 0, 289, 292, 289, 0, 274, 160, 151, 403 285, 288, 285, 0, 0, 164, 166, 264, 0, 264, 404 270, 260, 0, 268, 253, 166, 0, 252, 251, 260, 405 406 0, 0, 255, 167, 0, 0, 0, 0, 0, 160, 407 171, 0, 0, 0, 398, 248, 0, 261, 251, 243, 408 0, 254, 257, 256, 238, 254, 171, 239, 175, 238, 409 247, 0, 234, 249, 239, 0, 235, 0, 234, 245, 410 244, 155, 176, 233, 227, 214, 215, 0, 0, 0, 411 213, 162, 210, 198, 182, 181, 0, 0, 0, 168, 412 0, 177, 179, 179, 173, 112, 0, 78, 70, 51, 413 0, 0, 398, 227, 233, 241, 245, 75, 247, 253, 414 261, 264, 268 415 } ; 416 417 static yyconst short int yy_def[284] = 418 { 0, 419 273, 1, 273, 273, 273, 273, 274, 273, 275, 276, 420 273, 273, 277, 273, 278, 273, 279, 279, 273, 273, 421 273, 280, 280, 280, 280, 280, 280, 280, 280, 280, 422 280, 280, 280, 280, 280, 280, 280, 280, 273, 273, 423 mike 1.3 280, 273, 273, 274, 273, 273, 275, 276, 278, 273, 424 277, 277, 278, 281, 18, 282, 280, 280, 280, 280, 425 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 426 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 427 280, 273, 276, 50, 50, 273, 283, 281, 273, 282, 428 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 429 430 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 431 280, 280, 280, 280, 280, 280, 280, 280, 280, 273, 432 283, 283, 280, 280, 280, 280, 280, 280, 280, 280, 433 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 434 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 435 273, 280, 280, 280, 280, 280, 280, 280, 280, 280, 436 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 437 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 438 280, 280, 280, 280, 280, 273, 280, 280, 280, 280, 439 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 440 441 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 442 280, 280, 280, 280, 273, 280, 280, 280, 280, 280, 443 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 444 mike 1.3 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 445 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 446 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 447 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 448 280, 280, 0, 273, 273, 273, 273, 273, 273, 273, 449 273, 273, 273 450 } ; 451 452 static yyconst short int yy_nxt[456] = 453 { 0, 454 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 455 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 456 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 457 26, 27, 28, 28, 29, 28, 28, 30, 31, 32, 458 33, 34, 35, 36, 37, 38, 28, 28, 39, 40, 459 22, 41, 28, 36, 28, 42, 43, 45, 49, 45, 460 50, 51, 49, 49, 58, 62, 65, 71, 45, 59, 461 45, 75, 78, 63, 61, 79, 66, 76, 92, 59, 462 53, 272, 49, 72, 51, 51, 96, 77, 92, 62, 463 65, 71, 66, 81, 75, 94, 96, 86, 97, 99, 464 465 mike 1.3 271, 98, 104, 107, 56, 273, 49, 270, 84, 84, 466 85, 85, 85, 85, 85, 52, 52, 98, 104, 94, 467 115, 86, 97, 99, 100, 101, 108, 107, 111, 124, 468 115, 109, 116, 120, 112, 85, 85, 127, 131, 102, 469 136, 269, 129, 110, 135, 124, 138, 100, 273, 102, 470 108, 117, 129, 110, 131, 139, 116, 120, 152, 154, 471 135, 127, 138, 158, 136, 155, 162, 163, 174, 168, 472 175, 139, 169, 176, 177, 180, 188, 191, 181, 158, 473 182, 152, 195, 183, 184, 180, 205, 211, 210, 162, 474 215, 163, 216, 191, 223, 228, 229, 230, 252, 240, 475 476 188, 242, 253, 211, 264, 259, 195, 268, 252, 267, 477 205, 210, 229, 266, 215, 259, 216, 223, 228, 265, 478 264, 230, 240, 263, 262, 242, 253, 44, 44, 44, 479 44, 44, 44, 44, 44, 47, 261, 260, 47, 47, 480 47, 48, 258, 48, 48, 48, 48, 48, 48, 52, 481 52, 55, 55, 257, 55, 57, 256, 255, 57, 57, 482 57, 88, 88, 88, 88, 88, 88, 88, 88, 90, 483 90, 122, 254, 122, 251, 250, 249, 248, 247, 246, 484 245, 244, 243, 241, 239, 238, 237, 236, 235, 234, 485 233, 232, 231, 227, 226, 225, 224, 222, 221, 220, 486 mike 1.3 487 219, 218, 217, 214, 213, 212, 209, 208, 207, 206, 488 204, 203, 202, 201, 200, 199, 198, 197, 196, 194, 489 193, 192, 190, 189, 187, 186, 185, 179, 178, 173, 490 172, 171, 170, 167, 166, 165, 164, 161, 160, 159, 491 157, 156, 153, 273, 273, 151, 150, 149, 148, 147, 492 146, 145, 144, 143, 142, 141, 140, 137, 134, 133, 493 132, 130, 128, 126, 125, 123, 89, 121, 83, 119, 494 118, 114, 113, 106, 105, 103, 95, 93, 91, 89, 495 87, 49, 83, 82, 80, 74, 73, 70, 69, 68, 496 67, 64, 61, 60, 54, 46, 273, 3, 273, 273, 497 498 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 499 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 500 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 501 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 502 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 503 273, 273, 273, 273, 273 504 } ; 505 506 static yyconst short int yy_chk[456] = 507 mike 1.3 { 0, 508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 513 1, 1, 1, 1, 1, 1, 1, 7, 13, 7, 514 13, 13, 17, 18, 22, 25, 27, 33, 44, 22, 515 44, 36, 37, 25, 41, 37, 27, 36, 59, 22, 516 278, 270, 51, 33, 51, 51, 63, 36, 59, 25, 517 27, 33, 27, 41, 36, 61, 63, 51, 64, 66, 518 519 269, 65, 69, 73, 17, 18, 50, 268, 50, 50, 520 50, 50, 50, 50, 50, 50, 50, 65, 69, 61, 521 78, 50, 64, 66, 67, 67, 74, 73, 75, 93, 522 78, 74, 79, 82, 75, 85, 85, 96, 100, 67, 523 105, 266, 98, 74, 104, 93, 107, 67, 85, 67, 524 74, 79, 98, 74, 100, 108, 79, 82, 123, 125, 525 104, 96, 107, 128, 105, 125, 132, 133, 144, 139, 526 144, 108, 139, 144, 144, 147, 153, 157, 149, 128, 527 149, 123, 162, 149, 149, 147, 172, 180, 179, 132, 528 mike 1.3 186, 133, 187, 157, 196, 204, 210, 211, 242, 227, 529 530 153, 229, 243, 180, 260, 252, 162, 265, 242, 264, 531 172, 179, 210, 263, 186, 252, 187, 196, 204, 262, 532 260, 211, 227, 256, 255, 229, 243, 274, 274, 274, 533 274, 274, 274, 274, 274, 275, 254, 253, 275, 275, 534 275, 276, 251, 276, 276, 276, 276, 276, 276, 277, 535 277, 279, 279, 247, 279, 280, 246, 245, 280, 280, 536 280, 281, 281, 281, 281, 281, 281, 281, 281, 282, 537 282, 283, 244, 283, 241, 240, 239, 237, 235, 234, 538 233, 231, 230, 228, 226, 225, 224, 223, 222, 220, 539 219, 218, 216, 203, 200, 199, 198, 195, 194, 192, 540 541 191, 190, 188, 183, 182, 181, 178, 176, 175, 174, 542 171, 170, 169, 168, 167, 166, 165, 164, 163, 161, 543 160, 158, 156, 154, 152, 151, 150, 146, 145, 143, 544 142, 141, 140, 138, 137, 136, 134, 131, 130, 129, 545 127, 126, 124, 122, 121, 120, 119, 118, 117, 116, 546 115, 114, 113, 112, 111, 110, 109, 106, 103, 102, 547 101, 99, 97, 95, 94, 92, 88, 87, 83, 81, 548 80, 77, 76, 72, 71, 68, 62, 60, 58, 54, 549 mike 1.3 53, 52, 48, 46, 38, 35, 34, 32, 31, 30, 550 29, 26, 24, 23, 16, 8, 3, 273, 273, 273, 551 552 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 553 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 554 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 555 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 556 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 557 273, 273, 273, 273, 273 558 } ; 559 560 static yy_state_type yy_last_accepting_state; 561 static char *yy_last_accepting_cpos; 562 563 /* The intent behind this definition is that it'll catch 564 * any uses of REJECT which flex missed. 565 */ 566 #define REJECT reject_used_but_not_detected 567 #define yymore() yymore_used_but_not_detected 568 #define YY_MORE_ADJ 0 569 #define YY_RESTORE_YY_MORE_OFFSET 570 mike 1.3 char *yytext; 571 #line 1 "cimmof.l" 572 #define INITIAL 0 573 #define YY_NEVER_INTERACTIVE 1 574 #line 3 "cimmof.l" 575 576 #include "cimmofParser.h" 577 #include "memobjs.h" 578 #include "cimmof_tab.h" 579 580 /*---------------------------------------------------------------*/ 581 /* These routines wrap certain flex functions, keeping down the */ 582 /* number of external dependencies */ 583 /*---------------------------------------------------------------*/ 584 int get_yy_buf_size_wrapper() { return YY_BUF_SIZE; } 585 586 void * get_cimmof__current_buffer_wrapper() { 587 return (void *)YY_CURRENT_BUFFER; 588 } 589 590 void * create_cimmof_buffer_wrapper(const FILE *f, int size) { 591 mike 1.3 return (void *)yy_create_buffer((FILE *)f, size); 592 } 593 594 int switch_to_buffer_wrapper(void *buffstate) { 595 yy_switch_to_buffer((YY_BUFFER_STATE)buffstate); 596 return 0; 597 } 598 599 600 601 #line 602 "cimmof_lex.cpp" 602 603 /* Macros after this point can all be overridden by user definitions in 604 * section 1. 605 */ 606 607 #ifndef YY_SKIP_YYWRAP 608 #ifdef __cplusplus 609 extern "C" int yywrap YY_PROTO(( void )); 610 #else 611 extern int yywrap YY_PROTO(( void )); 612 mike 1.3 #endif 613 #endif 614 615 #ifndef YY_NO_UNPUT 616 static void yyunput YY_PROTO(( int c, char *buf_ptr )); 617 #endif 618 619 #ifndef yytext_ptr 620 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); 621 #endif 622 623 #ifdef YY_NEED_STRLEN 624 static int yy_flex_strlen YY_PROTO(( yyconst char * )); 625 #endif 626 627 #ifndef YY_NO_INPUT 628 #ifdef __cplusplus 629 static int yyinput YY_PROTO(( void )); 630 #else 631 static int input YY_PROTO(( void )); 632 #endif 633 mike 1.3 #endif 634 635 #if YY_STACK_USED 636 static int yy_start_stack_ptr = 0; 637 static int yy_start_stack_depth = 0; 638 static int *yy_start_stack = 0; 639 #ifndef YY_NO_PUSH_STATE 640 static void yy_push_state YY_PROTO(( int new_state )); 641 #endif 642 #ifndef YY_NO_POP_STATE 643 static void yy_pop_state YY_PROTO(( void )); 644 #endif 645 #ifndef YY_NO_TOP_STATE 646 static int yy_top_state YY_PROTO(( void )); 647 #endif 648 649 #else 650 #define YY_NO_PUSH_STATE 1 651 #define YY_NO_POP_STATE 1 652 #define YY_NO_TOP_STATE 1 653 #endif 654 mike 1.3 655 #ifdef YY_MALLOC_DECL 656 YY_MALLOC_DECL 657 #else 658 #if __STDC__ 659 #ifndef __cplusplus 660 #include <stdlib.h> 661 #endif 662 #else 663 /* Just try to get by without declaring the routines. This will fail 664 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) 665 * or sizeof(void*) != sizeof(int). 666 */ 667 #endif 668 #endif 669 670 /* Amount of stuff to slurp up with each read. */ 671 #ifndef YY_READ_BUF_SIZE 672 #define YY_READ_BUF_SIZE 8192 673 #endif 674 675 mike 1.3 /* Copy whatever the last rule matched to the standard output. */ 676 677 #ifndef ECHO 678 /* This used to be an fputs(), but since the string might contain NUL's, 679 * we now use fwrite(). 680 */ 681 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) 682 #endif 683 684 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 685 * is returned in "result". 686 */ 687 #ifndef YY_INPUT 688 #define YY_INPUT(buf,result,max_size) \ 689 if ( yy_current_buffer->yy_is_interactive ) \ 690 { \ 691 int c = '*', n; \ 692 for ( n = 0; n < max_size && \ 693 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 694 buf[n] = (char) c; \ 695 if ( c == '\n' ) \ 696 mike 1.3 buf[n++] = (char) c; \ 697 if ( c == EOF && ferror( yyin ) ) \ 698 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 699 result = n; \ 700 } \ 701 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ 702 && ferror( yyin ) ) \ 703 YY_FATAL_ERROR( "input in flex scanner failed" ); 704 #endif 705 706 /* No semi-colon after return; correct usage is to write "yyterminate();" - 707 * we don't want an extra ';' after the "return" because that will cause 708 * some compilers to complain about unreachable statements. 709 */ 710 #ifndef yyterminate 711 #define yyterminate() return YY_NULL 712 #endif 713 714 /* Number of entries by which start-condition stack grows. */ 715 #ifndef YY_START_STACK_INCR 716 #define YY_START_STACK_INCR 25 717 mike 1.3 #endif 718 719 /* Report a fatal error. */ 720 #ifndef YY_FATAL_ERROR 721 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 722 #endif 723 724 /* Default declaration of generated scanner - a define so the user can 725 * easily add parameters. 726 */ 727 #ifndef YY_DECL 728 #define YY_DECL int yylex YY_PROTO(( void )) 729 #endif 730 731 /* Code executed at the beginning of each rule, after yytext and yyleng 732 * have been set up. 733 */ 734 #ifndef YY_USER_ACTION 735 #define YY_USER_ACTION 736 #endif 737 738 mike 1.3 /* Code executed at the end of each rule. */ 739 #ifndef YY_BREAK 740 #define YY_BREAK break; 741 #endif 742 743 #define YY_RULE_SETUP \ 744 YY_USER_ACTION 745 746 YY_DECL 747 { 748 register yy_state_type yy_current_state; | ||
749 karl 1.5 register char *yy_cp, *yy_bp; | ||
750 mike 1.3 register int yy_act; 751 752 #line 32 "cimmof.l" 753 754 755 756 #line 757 "cimmof_lex.cpp" 757 758 if ( yy_init ) 759 { 760 yy_init = 0; 761 762 #ifdef YY_USER_INIT 763 YY_USER_INIT; 764 #endif 765 766 if ( ! yy_start ) 767 yy_start = 1; /* first start state */ 768 769 if ( ! yyin ) 770 yyin = stdin; 771 mike 1.3 772 if ( ! yyout ) 773 yyout = stdout; 774 775 if ( ! yy_current_buffer ) 776 yy_current_buffer = 777 yy_create_buffer( yyin, YY_BUF_SIZE ); 778 779 yy_load_buffer_state(); 780 } 781 782 while ( 1 ) /* loops until end-of-file is reached */ 783 { 784 yy_cp = yy_c_buf_p; 785 786 /* Support of yytext. */ 787 *yy_cp = yy_hold_char; 788 789 /* yy_bp points to the position in yy_ch_buf of the start of 790 * the current run. 791 */ 792 mike 1.3 yy_bp = yy_cp; 793 794 yy_current_state = yy_start; 795 yy_match: 796 do 797 { 798 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 799 if ( yy_accept[yy_current_state] ) 800 { 801 yy_last_accepting_state = yy_current_state; 802 yy_last_accepting_cpos = yy_cp; 803 } 804 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 805 { 806 yy_current_state = (int) yy_def[yy_current_state]; 807 if ( yy_current_state >= 274 ) 808 yy_c = yy_meta[(unsigned int) yy_c]; 809 } 810 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 811 ++yy_cp; 812 } 813 mike 1.3 while ( yy_base[yy_current_state] != 398 ); 814 815 yy_find_action: 816 yy_act = yy_accept[yy_current_state]; 817 if ( yy_act == 0 ) 818 { /* have to back up */ 819 yy_cp = yy_last_accepting_cpos; 820 yy_current_state = yy_last_accepting_state; 821 yy_act = yy_accept[yy_current_state]; 822 } 823 824 YY_DO_BEFORE_ACTION; 825 826 827 do_action: /* This label is used only to access EOF actions. */ 828 829 830 switch ( yy_act ) 831 { /* beginning of action switch */ 832 case 0: /* must back up */ 833 /* undo the effects of YY_DO_BEFORE_ACTION */ 834 mike 1.3 *yy_cp = yy_hold_char; 835 yy_cp = yy_last_accepting_cpos; 836 yy_current_state = yy_last_accepting_state; 837 goto yy_find_action; 838 839 case 1: 840 YY_RULE_SETUP 841 #line 35 "cimmof.l" 842 { 843 cimmofParser::Instance()->increment_lineno(); } 844 YY_BREAK 845 case 2: 846 YY_RULE_SETUP 847 #line 37 "cimmof.l" 848 { 849 cimmofParser::Instance()->increment_lineno(); } 850 YY_BREAK 851 case 3: 852 YY_RULE_SETUP 853 #line 39 "cimmof.l" 854 { /* skip white space */ } 855 mike 1.3 YY_BREAK 856 case 4: 857 YY_RULE_SETUP 858 #line 40 "cimmof.l" 859 { return(TOK_CLASS); } 860 YY_BREAK 861 case 5: 862 YY_RULE_SETUP 863 #line 41 "cimmof.l" 864 { return(TOK_LEFTCURLYBRACE); } 865 YY_BREAK 866 case 6: 867 YY_RULE_SETUP 868 #line 42 "cimmof.l" 869 { return(TOK_RIGHTCURLYBRACE); } 870 YY_BREAK 871 case 7: 872 YY_RULE_SETUP 873 #line 43 "cimmof.l" 874 { return(TOK_LEFTSQUAREBRACKET); } 875 YY_BREAK 876 mike 1.3 case 8: 877 YY_RULE_SETUP 878 #line 44 "cimmof.l" 879 { return(TOK_RIGHTSQUAREBRACKET); } 880 YY_BREAK 881 case 9: 882 YY_RULE_SETUP 883 #line 45 "cimmof.l" 884 { return(TOK_LEFTPAREN); } 885 YY_BREAK 886 case 10: 887 YY_RULE_SETUP 888 #line 46 "cimmof.l" 889 { return(TOK_RIGHTPAREN); } 890 YY_BREAK 891 case 11: 892 YY_RULE_SETUP 893 #line 47 "cimmof.l" 894 { return(TOK_COLON); } 895 YY_BREAK 896 case 12: 897 mike 1.3 YY_RULE_SETUP 898 #line 48 "cimmof.l" 899 { return(TOK_SEMICOLON); } 900 YY_BREAK 901 case 13: 902 YY_RULE_SETUP 903 #line 49 "cimmof.l" 904 { 905 cimmof_lval.strval = new String(yytext); 906 return(TOK_REAL_VALUE); } 907 YY_BREAK 908 case 14: 909 YY_RULE_SETUP 910 #line 52 "cimmof.l" 911 { cimmof_lval.strval = new String(yytext); 912 return(TOK_OCTAL_VALUE); } 913 YY_BREAK 914 case 15: 915 YY_RULE_SETUP 916 #line 54 "cimmof.l" 917 { cimmof_lval.strval = new String(yytext); 918 mike 1.3 return(TOK_HEX_VALUE); } 919 YY_BREAK 920 case 16: 921 YY_RULE_SETUP 922 #line 56 "cimmof.l" 923 { cimmof_lval.strval = new String(yytext); 924 return(TOK_BINARY_VALUE); } 925 YY_BREAK 926 case 17: 927 YY_RULE_SETUP 928 #line 58 "cimmof.l" 929 { cimmof_lval.strval = new String(yytext); 930 return(TOK_POSITIVE_DECIMAL_VALUE); } 931 YY_BREAK 932 case 18: 933 YY_RULE_SETUP 934 #line 60 "cimmof.l" 935 { cimmof_lval.strval = new String(yytext); 936 return(TOK_SIGNED_DECIMAL_VALUE); } 937 YY_BREAK 938 case 19: 939 mike 1.3 YY_RULE_SETUP 940 #line 62 "cimmof.l" 941 { return(TOK_EQUAL); } 942 YY_BREAK 943 case 20: 944 YY_RULE_SETUP 945 #line 63 "cimmof.l" 946 { return(TOK_COMMA); } 947 YY_BREAK 948 case 21: 949 YY_RULE_SETUP 950 #line 64 "cimmof.l" 951 { cimmof_lval.strval = new String(yytext); 952 return(TOK_CHAR_VALUE); } 953 YY_BREAK 954 case 22: 955 YY_RULE_SETUP 956 #line 66 "cimmof.l" 957 { cimmof_lval.strval = new String(yytext); 958 return(TOK_STRING_VALUE); } 959 YY_BREAK 960 mike 1.3 case 23: 961 YY_RULE_SETUP 962 #line 68 "cimmof.l" 963 { return(TOK_NULL_VALUE); } 964 YY_BREAK 965 case 24: 966 YY_RULE_SETUP 967 #line 69 "cimmof.l" 968 { return(TOK_TRUE); } 969 YY_BREAK 970 case 25: 971 YY_RULE_SETUP 972 #line 70 "cimmof.l" 973 { return(TOK_FALSE); } 974 YY_BREAK 975 case 26: 976 YY_RULE_SETUP 977 #line 71 "cimmof.l" 978 { return(TOK_DQUOTE); } 979 YY_BREAK 980 case 27: 981 mike 1.3 YY_RULE_SETUP 982 #line 72 "cimmof.l" 983 { return(TOK_PERIOD); } 984 YY_BREAK 985 case 28: 986 YY_RULE_SETUP 987 #line 73 "cimmof.l" 988 { return(TOK_PRAGMA); } 989 YY_BREAK 990 case 29: 991 YY_RULE_SETUP 992 #line 74 "cimmof.l" 993 { return(TOK_AS); } 994 YY_BREAK 995 case 30: 996 YY_RULE_SETUP 997 #line 75 "cimmof.l" 998 { 999 return(TOK_INSTANCE); } 1000 YY_BREAK 1001 case 31: 1002 mike 1.3 YY_RULE_SETUP 1003 #line 77 "cimmof.l" 1004 { 1005 return(TOK_OF); } 1006 YY_BREAK 1007 case 32: 1008 YY_RULE_SETUP 1009 #line 79 "cimmof.l" 1010 {return(TOK_QUALIFIER); } 1011 YY_BREAK 1012 case 33: 1013 YY_RULE_SETUP 1014 #line 80 "cimmof.l" 1015 { return(TOK_SCOPE); } 1016 YY_BREAK 1017 case 34: 1018 YY_RULE_SETUP 1019 #line 81 "cimmof.l" 1020 { return(TOK_SCHEMA); } 1021 YY_BREAK 1022 case 35: 1023 mike 1.3 YY_RULE_SETUP 1024 #line 82 "cimmof.l" 1025 { 1026 return(TOK_ASSOCIATION); } 1027 YY_BREAK 1028 case 36: 1029 YY_RULE_SETUP 1030 #line 84 "cimmof.l" 1031 { 1032 return(TOK_INDICATION); } 1033 YY_BREAK 1034 case 37: 1035 YY_RULE_SETUP 1036 #line 86 "cimmof.l" 1037 { return(TOK_PROPERTY); } 1038 YY_BREAK 1039 case 38: 1040 YY_RULE_SETUP 1041 #line 87 "cimmof.l" 1042 { return(TOK_REFERENCE); } 1043 YY_BREAK 1044 mike 1.3 case 39: 1045 YY_RULE_SETUP 1046 #line 88 "cimmof.l" 1047 { return(TOK_METHOD); } 1048 YY_BREAK 1049 case 40: 1050 YY_RULE_SETUP 1051 #line 89 "cimmof.l" 1052 {return(TOK_PARAMETER); } 1053 YY_BREAK 1054 case 41: 1055 YY_RULE_SETUP 1056 #line 90 "cimmof.l" 1057 { return(TOK_ANY); } 1058 YY_BREAK 1059 case 42: 1060 YY_RULE_SETUP 1061 #line 91 "cimmof.l" 1062 { return(TOK_REF); } 1063 YY_BREAK 1064 case 43: 1065 mike 1.3 YY_RULE_SETUP 1066 #line 92 "cimmof.l" 1067 { return(TOK_FLAVOR); } 1068 YY_BREAK 1069 case 44: 1070 YY_RULE_SETUP 1071 #line 93 "cimmof.l" 1072 { 1073 return(TOK_ENABLEOVERRIDE); } 1074 YY_BREAK 1075 case 45: 1076 YY_RULE_SETUP 1077 #line 95 "cimmof.l" 1078 { 1079 return(TOK_DISABLEOVERRIDE); } 1080 YY_BREAK 1081 case 46: 1082 YY_RULE_SETUP 1083 #line 97 "cimmof.l" 1084 { 1085 return(TOK_RESTRICTED); } 1086 mike 1.3 YY_BREAK 1087 case 47: 1088 YY_RULE_SETUP 1089 #line 99 "cimmof.l" 1090 {return(TOK_TOSUBCLASS); } 1091 YY_BREAK 1092 case 48: 1093 YY_RULE_SETUP 1094 #line 100 "cimmof.l" 1095 { 1096 return(TOK_TRANSLATABLE); } 1097 YY_BREAK 1098 case 49: 1099 YY_RULE_SETUP 1100 #line 102 "cimmof.l" 1101 { return(TOK_INCLUDE); } 1102 YY_BREAK 1103 case 50: 1104 YY_RULE_SETUP 1105 #line 103 "cimmof.l" 1106 { return(TOK_DT_STR); } 1107 mike 1.3 YY_BREAK 1108 case 51: 1109 YY_RULE_SETUP 1110 #line 104 "cimmof.l" 1111 { return(TOK_DT_BOOL); } 1112 YY_BREAK 1113 case 52: 1114 YY_RULE_SETUP 1115 #line 105 "cimmof.l" 1116 { return(TOK_DT_DATETIME); } 1117 YY_BREAK 1118 case 53: 1119 YY_RULE_SETUP 1120 #line 106 "cimmof.l" 1121 { return(TOK_DT_UINT8); } 1122 YY_BREAK 1123 case 54: 1124 YY_RULE_SETUP 1125 #line 107 "cimmof.l" 1126 { return(TOK_DT_UINT16); } 1127 YY_BREAK 1128 mike 1.3 case 55: 1129 YY_RULE_SETUP 1130 #line 108 "cimmof.l" 1131 { return(TOK_DT_UINT32); } 1132 YY_BREAK 1133 case 56: 1134 YY_RULE_SETUP 1135 #line 109 "cimmof.l" 1136 { return(TOK_DT_UINT64); } 1137 YY_BREAK 1138 case 57: 1139 YY_RULE_SETUP 1140 #line 110 "cimmof.l" 1141 { return(TOK_DT_SINT8); } 1142 YY_BREAK 1143 case 58: 1144 YY_RULE_SETUP 1145 #line 111 "cimmof.l" 1146 { return(TOK_DT_SINT16); } 1147 YY_BREAK 1148 case 59: 1149 mike 1.3 YY_RULE_SETUP 1150 #line 112 "cimmof.l" 1151 { return(TOK_DT_SINT32); } 1152 YY_BREAK 1153 case 60: 1154 YY_RULE_SETUP 1155 #line 113 "cimmof.l" 1156 { return(TOK_DT_SINT64); } 1157 YY_BREAK 1158 case 61: 1159 YY_RULE_SETUP 1160 #line 114 "cimmof.l" 1161 { return(TOK_DT_REAL32); } 1162 YY_BREAK 1163 case 62: 1164 YY_RULE_SETUP 1165 #line 115 "cimmof.l" 1166 { return(TOK_DT_REAL64); } 1167 YY_BREAK 1168 case 63: 1169 YY_RULE_SETUP 1170 mike 1.3 #line 116 "cimmof.l" 1171 { return(TOK_DT_CHAR8); } 1172 YY_BREAK 1173 case 64: 1174 YY_RULE_SETUP 1175 #line 117 "cimmof.l" 1176 { return(TOK_DT_CHAR16); } 1177 YY_BREAK 1178 case 65: 1179 YY_RULE_SETUP 1180 #line 118 "cimmof.l" 1181 { return(TOK_ALIAS_IDENTIFIER); } 1182 YY_BREAK 1183 case 66: 1184 YY_RULE_SETUP 1185 #line 119 "cimmof.l" 1186 { cimmof_lval.strval = new String(yytext); 1187 return(TOK_SIMPLE_IDENTIFIER); } 1188 YY_BREAK 1189 case 67: 1190 YY_RULE_SETUP 1191 mike 1.3 #line 121 "cimmof.l" | ||
1192 bob 1.4 { cimmof_lval.strval = new String(yytext); 1193 return(TOK_UNEXPECTED_CHAR); } | ||
1194 mike 1.3 YY_BREAK 1195 case 68: 1196 YY_RULE_SETUP | ||
1197 bob 1.4 #line 124 "cimmof.l" | ||
1198 mike 1.3 ECHO; 1199 YY_BREAK | ||
1200 bob 1.4 #line 1201 "cimmof_lex.cpp" | ||
1201 mike 1.3 case YY_STATE_EOF(INITIAL): 1202 yyterminate(); 1203 1204 case YY_END_OF_BUFFER: 1205 { 1206 /* Amount of text matched not including the EOB char. */ 1207 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; 1208 1209 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1210 *yy_cp = yy_hold_char; 1211 YY_RESTORE_YY_MORE_OFFSET 1212 1213 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) 1214 { 1215 /* We're scanning a new file or input source. It's 1216 * possible that this happened because the user 1217 * just pointed yyin at a new source and called 1218 * yylex(). If so, then we have to assure 1219 * consistency between yy_current_buffer and our 1220 * globals. Here is the right place to do so, because 1221 * this is the first action (other than possibly a 1222 mike 1.3 * back-up) that will match for the new input source. 1223 */ 1224 yy_n_chars = yy_current_buffer->yy_n_chars; 1225 yy_current_buffer->yy_input_file = yyin; 1226 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; 1227 } 1228 1229 /* Note that here we test for yy_c_buf_p "<=" to the position 1230 * of the first EOB in the buffer, since yy_c_buf_p will 1231 * already have been incremented past the NUL character 1232 * (since all states make transitions on EOB to the 1233 * end-of-buffer state). Contrast this with the test 1234 * in input(). 1235 */ 1236 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 1237 { /* This was really a NUL. */ 1238 yy_state_type yy_next_state; 1239 1240 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; 1241 1242 yy_current_state = yy_get_previous_state(); 1243 mike 1.3 1244 /* Okay, we're now positioned to make the NUL 1245 * transition. We couldn't have 1246 * yy_get_previous_state() go ahead and do it 1247 * for us because it doesn't know how to deal 1248 * with the possibility of jamming (and we don't 1249 * want to build jamming into it because then it 1250 * will run more slowly). 1251 */ 1252 1253 yy_next_state = yy_try_NUL_trans( yy_current_state ); 1254 1255 yy_bp = yytext_ptr + YY_MORE_ADJ; 1256 1257 if ( yy_next_state ) 1258 { 1259 /* Consume the NUL. */ 1260 yy_cp = ++yy_c_buf_p; 1261 yy_current_state = yy_next_state; 1262 goto yy_match; 1263 } 1264 mike 1.3 1265 else 1266 { 1267 yy_cp = yy_c_buf_p; 1268 goto yy_find_action; 1269 } 1270 } 1271 1272 else switch ( yy_get_next_buffer() ) 1273 { 1274 case EOB_ACT_END_OF_FILE: 1275 { 1276 yy_did_buffer_switch_on_eof = 0; 1277 1278 if ( yywrap() ) 1279 { 1280 /* Note: because we've taken care in 1281 * yy_get_next_buffer() to have set up 1282 * yytext, we can now set up 1283 * yy_c_buf_p so that if some total 1284 * hoser (like flex itself) wants to 1285 mike 1.3 * call the scanner after we return the 1286 * YY_NULL, it'll still work - another 1287 * YY_NULL will get returned. 1288 */ 1289 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; 1290 1291 yy_act = YY_STATE_EOF(YY_START); 1292 goto do_action; 1293 } 1294 1295 else 1296 { 1297 if ( ! yy_did_buffer_switch_on_eof ) 1298 YY_NEW_FILE; 1299 } 1300 break; 1301 } 1302 1303 case EOB_ACT_CONTINUE_SCAN: 1304 yy_c_buf_p = 1305 yytext_ptr + yy_amount_of_matched_text; 1306 mike 1.3 1307 yy_current_state = yy_get_previous_state(); 1308 1309 yy_cp = yy_c_buf_p; 1310 yy_bp = yytext_ptr + YY_MORE_ADJ; 1311 goto yy_match; 1312 1313 case EOB_ACT_LAST_MATCH: 1314 yy_c_buf_p = 1315 &yy_current_buffer->yy_ch_buf[yy_n_chars]; 1316 1317 yy_current_state = yy_get_previous_state(); 1318 1319 yy_cp = yy_c_buf_p; 1320 yy_bp = yytext_ptr + YY_MORE_ADJ; 1321 goto yy_find_action; 1322 } 1323 break; 1324 } 1325 1326 default: 1327 mike 1.3 YY_FATAL_ERROR( 1328 "fatal flex scanner internal error--no action found" ); 1329 } /* end of action switch */ 1330 } /* end of scanning one token */ 1331 } /* end of yylex */ 1332 1333 1334 /* yy_get_next_buffer - try to read in a new buffer 1335 * 1336 * Returns a code representing an action: 1337 * EOB_ACT_LAST_MATCH - 1338 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1339 * EOB_ACT_END_OF_FILE - end of file 1340 */ 1341 1342 static int yy_get_next_buffer() 1343 { 1344 register char *dest = yy_current_buffer->yy_ch_buf; 1345 register char *source = yytext_ptr; 1346 register int number_to_move, i; 1347 int ret_val; 1348 mike 1.3 1349 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) 1350 YY_FATAL_ERROR( 1351 "fatal flex scanner internal error--end of buffer missed" ); 1352 1353 if ( yy_current_buffer->yy_fill_buffer == 0 ) 1354 { /* Don't try to fill the buffer, so this is an EOF. */ 1355 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) 1356 { 1357 /* We matched a single character, the EOB, so 1358 * treat this as a final EOF. 1359 */ 1360 return EOB_ACT_END_OF_FILE; 1361 } 1362 1363 else 1364 { 1365 /* We matched some text prior to the EOB, first 1366 * process it. 1367 */ 1368 return EOB_ACT_LAST_MATCH; 1369 mike 1.3 } 1370 } 1371 1372 /* Try to read more data. */ 1373 1374 /* First move last chars to start of buffer. */ 1375 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; 1376 1377 for ( i = 0; i < number_to_move; ++i ) 1378 *(dest++) = *(source++); 1379 1380 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1381 /* don't do the read, it's not guaranteed to return an EOF, 1382 * just force an EOF 1383 */ 1384 yy_current_buffer->yy_n_chars = yy_n_chars = 0; 1385 1386 else 1387 { 1388 int num_to_read = 1389 yy_current_buffer->yy_buf_size - number_to_move - 1; 1390 mike 1.3 1391 while ( num_to_read <= 0 ) 1392 { /* Not enough room in the buffer - grow it. */ 1393 #ifdef YY_USES_REJECT 1394 YY_FATAL_ERROR( 1395 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 1396 #else 1397 1398 /* just a shorter name for the current buffer */ 1399 YY_BUFFER_STATE b = yy_current_buffer; 1400 1401 int yy_c_buf_p_offset = 1402 (int) (yy_c_buf_p - b->yy_ch_buf); 1403 1404 if ( b->yy_is_our_buffer ) 1405 { 1406 int new_size = b->yy_buf_size * 2; 1407 1408 if ( new_size <= 0 ) 1409 b->yy_buf_size += b->yy_buf_size / 8; 1410 else 1411 mike 1.3 b->yy_buf_size *= 2; 1412 1413 b->yy_ch_buf = (char *) 1414 /* Include room in for 2 EOB chars. */ 1415 yy_flex_realloc( (void *) b->yy_ch_buf, 1416 b->yy_buf_size + 2 ); 1417 } 1418 else 1419 /* Can't grow it, we don't own it. */ 1420 b->yy_ch_buf = 0; 1421 1422 if ( ! b->yy_ch_buf ) 1423 YY_FATAL_ERROR( 1424 "fatal error - scanner input buffer overflow" ); 1425 1426 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; 1427 1428 num_to_read = yy_current_buffer->yy_buf_size - 1429 number_to_move - 1; 1430 #endif 1431 } 1432 mike 1.3 1433 if ( num_to_read > YY_READ_BUF_SIZE ) 1434 num_to_read = YY_READ_BUF_SIZE; 1435 1436 /* Read in more data. */ 1437 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), 1438 yy_n_chars, num_to_read ); 1439 1440 yy_current_buffer->yy_n_chars = yy_n_chars; 1441 } 1442 1443 if ( yy_n_chars == 0 ) 1444 { 1445 if ( number_to_move == YY_MORE_ADJ ) 1446 { 1447 ret_val = EOB_ACT_END_OF_FILE; 1448 yyrestart( yyin ); 1449 } 1450 1451 else 1452 { 1453 mike 1.3 ret_val = EOB_ACT_LAST_MATCH; 1454 yy_current_buffer->yy_buffer_status = 1455 YY_BUFFER_EOF_PENDING; 1456 } 1457 } 1458 1459 else 1460 ret_val = EOB_ACT_CONTINUE_SCAN; 1461 1462 yy_n_chars += number_to_move; 1463 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; 1464 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; 1465 1466 yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; 1467 1468 return ret_val; 1469 } 1470 1471 1472 /* yy_get_previous_state - get the state just before the EOB char was reached */ 1473 1474 mike 1.3 static yy_state_type yy_get_previous_state() 1475 { 1476 register yy_state_type yy_current_state; 1477 register char *yy_cp; 1478 1479 yy_current_state = yy_start; 1480 1481 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) 1482 { 1483 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1484 if ( yy_accept[yy_current_state] ) 1485 { 1486 yy_last_accepting_state = yy_current_state; 1487 yy_last_accepting_cpos = yy_cp; 1488 } 1489 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1490 { 1491 yy_current_state = (int) yy_def[yy_current_state]; 1492 if ( yy_current_state >= 274 ) 1493 yy_c = yy_meta[(unsigned int) yy_c]; 1494 } 1495 mike 1.3 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1496 } 1497 1498 return yy_current_state; 1499 } 1500 1501 1502 /* yy_try_NUL_trans - try to make a transition on the NUL character 1503 * 1504 * synopsis 1505 * next_state = yy_try_NUL_trans( current_state ); 1506 */ 1507 1508 #ifdef YY_USE_PROTOS 1509 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) 1510 #else 1511 static yy_state_type yy_try_NUL_trans( yy_current_state ) 1512 yy_state_type yy_current_state; 1513 #endif 1514 { 1515 register int yy_is_jam; 1516 mike 1.3 register char *yy_cp = yy_c_buf_p; 1517 1518 register YY_CHAR yy_c = 1; 1519 if ( yy_accept[yy_current_state] ) 1520 { 1521 yy_last_accepting_state = yy_current_state; 1522 yy_last_accepting_cpos = yy_cp; 1523 } 1524 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1525 { 1526 yy_current_state = (int) yy_def[yy_current_state]; 1527 if ( yy_current_state >= 274 ) 1528 yy_c = yy_meta[(unsigned int) yy_c]; 1529 } 1530 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1531 yy_is_jam = (yy_current_state == 273); 1532 1533 return yy_is_jam ? 0 : yy_current_state; 1534 } 1535 1536 1537 mike 1.3 #ifndef YY_NO_UNPUT 1538 #ifdef YY_USE_PROTOS 1539 static void yyunput( int c, register char *yy_bp ) 1540 #else 1541 static void yyunput( c, yy_bp ) 1542 int c; 1543 register char *yy_bp; 1544 #endif 1545 { 1546 register char *yy_cp = yy_c_buf_p; 1547 1548 /* undo effects of setting up yytext */ 1549 *yy_cp = yy_hold_char; 1550 1551 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 1552 { /* need to shift things up to make room */ 1553 /* +2 for EOB chars. */ 1554 register int number_to_move = yy_n_chars + 2; 1555 register char *dest = &yy_current_buffer->yy_ch_buf[ 1556 yy_current_buffer->yy_buf_size + 2]; 1557 register char *source = 1558 mike 1.3 &yy_current_buffer->yy_ch_buf[number_to_move]; 1559 1560 while ( source > yy_current_buffer->yy_ch_buf ) 1561 *--dest = *--source; 1562 1563 yy_cp += (int) (dest - source); 1564 yy_bp += (int) (dest - source); 1565 yy_current_buffer->yy_n_chars = 1566 yy_n_chars = yy_current_buffer->yy_buf_size; 1567 1568 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 1569 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 1570 } 1571 1572 *--yy_cp = (char) c; 1573 1574 1575 yytext_ptr = yy_bp; 1576 yy_hold_char = *yy_cp; 1577 yy_c_buf_p = yy_cp; 1578 } 1579 mike 1.3 #endif /* ifndef YY_NO_UNPUT */ 1580 1581 1582 #ifdef __cplusplus 1583 static int yyinput() 1584 #else 1585 static int input() 1586 #endif 1587 { 1588 int c; 1589 1590 *yy_c_buf_p = yy_hold_char; 1591 1592 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) 1593 { 1594 /* yy_c_buf_p now points to the character we want to return. 1595 * If this occurs *before* the EOB characters, then it's a 1596 * valid NUL; if not, then we've hit the end of the buffer. 1597 */ 1598 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 1599 /* This was really a NUL. */ 1600 mike 1.3 *yy_c_buf_p = '\0'; 1601 1602 else 1603 { /* need more input */ 1604 int offset = yy_c_buf_p - yytext_ptr; 1605 ++yy_c_buf_p; 1606 1607 switch ( yy_get_next_buffer() ) 1608 { 1609 case EOB_ACT_LAST_MATCH: 1610 /* This happens because yy_g_n_b() 1611 * sees that we've accumulated a 1612 * token and flags that we need to 1613 * try matching the token before 1614 * proceeding. But for input(), 1615 * there's no matching to consider. 1616 * So convert the EOB_ACT_LAST_MATCH 1617 * to EOB_ACT_END_OF_FILE. 1618 */ 1619 1620 /* Reset buffer status. */ 1621 mike 1.3 yyrestart( yyin ); 1622 1623 /* fall through */ 1624 1625 case EOB_ACT_END_OF_FILE: 1626 { 1627 if ( yywrap() ) 1628 return EOF; 1629 1630 if ( ! yy_did_buffer_switch_on_eof ) 1631 YY_NEW_FILE; 1632 #ifdef __cplusplus 1633 return yyinput(); 1634 #else 1635 return input(); 1636 #endif 1637 } 1638 1639 case EOB_ACT_CONTINUE_SCAN: 1640 yy_c_buf_p = yytext_ptr + offset; 1641 break; 1642 mike 1.3 } 1643 } 1644 } 1645 1646 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ 1647 *yy_c_buf_p = '\0'; /* preserve yytext */ 1648 yy_hold_char = *++yy_c_buf_p; 1649 1650 1651 return c; 1652 } 1653 1654 1655 #ifdef YY_USE_PROTOS 1656 void yyrestart( FILE *input_file ) 1657 #else 1658 void yyrestart( input_file ) 1659 FILE *input_file; 1660 #endif 1661 { 1662 if ( ! yy_current_buffer ) 1663 mike 1.3 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 1664 1665 yy_init_buffer( yy_current_buffer, input_file ); 1666 yy_load_buffer_state(); 1667 } 1668 1669 1670 #ifdef YY_USE_PROTOS 1671 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 1672 #else 1673 void yy_switch_to_buffer( new_buffer ) 1674 YY_BUFFER_STATE new_buffer; 1675 #endif 1676 { 1677 if ( yy_current_buffer == new_buffer ) 1678 return; 1679 1680 if ( yy_current_buffer ) 1681 { 1682 /* Flush out information for old buffer. */ 1683 *yy_c_buf_p = yy_hold_char; 1684 mike 1.3 yy_current_buffer->yy_buf_pos = yy_c_buf_p; 1685 yy_current_buffer->yy_n_chars = yy_n_chars; 1686 } 1687 1688 yy_current_buffer = new_buffer; 1689 yy_load_buffer_state(); 1690 1691 /* We don't actually know whether we did this switch during 1692 * EOF (yywrap()) processing, but the only time this flag 1693 * is looked at is after yywrap() is called, so it's safe 1694 * to go ahead and always set it. 1695 */ 1696 yy_did_buffer_switch_on_eof = 1; 1697 } 1698 1699 1700 #ifdef YY_USE_PROTOS 1701 void yy_load_buffer_state( void ) 1702 #else 1703 void yy_load_buffer_state() 1704 #endif 1705 mike 1.3 { 1706 yy_n_chars = yy_current_buffer->yy_n_chars; 1707 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; 1708 yyin = yy_current_buffer->yy_input_file; 1709 yy_hold_char = *yy_c_buf_p; 1710 } 1711 1712 1713 #ifdef YY_USE_PROTOS 1714 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) 1715 #else 1716 YY_BUFFER_STATE yy_create_buffer( file, size ) 1717 FILE *file; 1718 int size; 1719 #endif 1720 { 1721 YY_BUFFER_STATE b; 1722 1723 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 1724 if ( ! b ) 1725 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1726 mike 1.3 1727 b->yy_buf_size = size; 1728 1729 /* yy_ch_buf has to be 2 characters longer than the size given because 1730 * we need to put in 2 end-of-buffer characters. 1731 */ 1732 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); 1733 if ( ! b->yy_ch_buf ) 1734 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1735 1736 b->yy_is_our_buffer = 1; 1737 1738 yy_init_buffer( b, file ); 1739 1740 return b; 1741 } 1742 1743 1744 #ifdef YY_USE_PROTOS 1745 void yy_delete_buffer( YY_BUFFER_STATE b ) 1746 #else 1747 mike 1.3 void yy_delete_buffer( b ) 1748 YY_BUFFER_STATE b; 1749 #endif 1750 { 1751 if ( ! b ) 1752 return; 1753 1754 if ( b == yy_current_buffer ) 1755 yy_current_buffer = (YY_BUFFER_STATE) 0; 1756 1757 if ( b->yy_is_our_buffer ) 1758 yy_flex_free( (void *) b->yy_ch_buf ); 1759 1760 yy_flex_free( (void *) b ); 1761 } 1762 1763 1764 #ifndef YY_ALWAYS_INTERACTIVE 1765 #ifndef YY_NEVER_INTERACTIVE 1766 extern int isatty YY_PROTO(( int )); 1767 #endif 1768 mike 1.3 #endif 1769 1770 #ifdef YY_USE_PROTOS 1771 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) 1772 #else 1773 void yy_init_buffer( b, file ) 1774 YY_BUFFER_STATE b; 1775 FILE *file; 1776 #endif 1777 1778 1779 { 1780 yy_flush_buffer( b ); 1781 1782 b->yy_input_file = file; 1783 b->yy_fill_buffer = 1; 1784 1785 #if YY_ALWAYS_INTERACTIVE 1786 b->yy_is_interactive = 1; 1787 #else 1788 #if YY_NEVER_INTERACTIVE 1789 mike 1.3 b->yy_is_interactive = 0; 1790 #else 1791 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 1792 #endif 1793 #endif 1794 } 1795 1796 1797 #ifdef YY_USE_PROTOS 1798 void yy_flush_buffer( YY_BUFFER_STATE b ) 1799 #else 1800 void yy_flush_buffer( b ) 1801 YY_BUFFER_STATE b; 1802 #endif 1803 1804 { 1805 if ( ! b ) 1806 return; 1807 1808 b->yy_n_chars = 0; 1809 1810 mike 1.3 /* We always need two end-of-buffer characters. The first causes 1811 * a transition to the end-of-buffer state. The second causes 1812 * a jam in that state. 1813 */ 1814 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 1815 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 1816 1817 b->yy_buf_pos = &b->yy_ch_buf[0]; 1818 1819 b->yy_at_bol = 1; 1820 b->yy_buffer_status = YY_BUFFER_NEW; 1821 1822 if ( b == yy_current_buffer ) 1823 yy_load_buffer_state(); 1824 } 1825 1826 1827 #ifndef YY_NO_SCAN_BUFFER 1828 #ifdef YY_USE_PROTOS 1829 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) 1830 #else 1831 mike 1.3 YY_BUFFER_STATE yy_scan_buffer( base, size ) 1832 char *base; 1833 yy_size_t size; 1834 #endif 1835 { 1836 YY_BUFFER_STATE b; 1837 1838 if ( size < 2 || 1839 base[size-2] != YY_END_OF_BUFFER_CHAR || 1840 base[size-1] != YY_END_OF_BUFFER_CHAR ) 1841 /* They forgot to leave room for the EOB's. */ 1842 return 0; 1843 1844 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 1845 if ( ! b ) 1846 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 1847 1848 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 1849 b->yy_buf_pos = b->yy_ch_buf = base; 1850 b->yy_is_our_buffer = 0; 1851 b->yy_input_file = 0; 1852 mike 1.3 b->yy_n_chars = b->yy_buf_size; 1853 b->yy_is_interactive = 0; 1854 b->yy_at_bol = 1; 1855 b->yy_fill_buffer = 0; 1856 b->yy_buffer_status = YY_BUFFER_NEW; 1857 1858 yy_switch_to_buffer( b ); 1859 1860 return b; 1861 } 1862 #endif 1863 1864 1865 #ifndef YY_NO_SCAN_STRING 1866 #ifdef YY_USE_PROTOS 1867 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) 1868 #else 1869 YY_BUFFER_STATE yy_scan_string( yy_str ) 1870 yyconst char *yy_str; 1871 #endif 1872 { 1873 mike 1.3 int len; 1874 for ( len = 0; yy_str[len]; ++len ) 1875 ; 1876 1877 return yy_scan_bytes( yy_str, len ); 1878 } 1879 #endif 1880 1881 1882 #ifndef YY_NO_SCAN_BYTES 1883 #ifdef YY_USE_PROTOS 1884 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) 1885 #else 1886 YY_BUFFER_STATE yy_scan_bytes( bytes, len ) 1887 yyconst char *bytes; 1888 int len; 1889 #endif 1890 { 1891 YY_BUFFER_STATE b; 1892 char *buf; 1893 yy_size_t n; 1894 mike 1.3 int i; 1895 1896 /* Get memory for full buffer, including space for trailing EOB's. */ 1897 n = len + 2; 1898 buf = (char *) yy_flex_alloc( n ); 1899 if ( ! buf ) 1900 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 1901 1902 for ( i = 0; i < len; ++i ) 1903 buf[i] = bytes[i]; 1904 1905 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; 1906 1907 b = yy_scan_buffer( buf, n ); 1908 if ( ! b ) 1909 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 1910 1911 /* It's okay to grow etc. this buffer, and we should throw it 1912 * away when we're done. 1913 */ 1914 b->yy_is_our_buffer = 1; 1915 mike 1.3 1916 return b; 1917 } 1918 #endif 1919 1920 1921 #ifndef YY_NO_PUSH_STATE 1922 #ifdef YY_USE_PROTOS 1923 static void yy_push_state( int new_state ) 1924 #else 1925 static void yy_push_state( new_state ) 1926 int new_state; 1927 #endif 1928 { 1929 if ( yy_start_stack_ptr >= yy_start_stack_depth ) 1930 { 1931 yy_size_t new_size; 1932 1933 yy_start_stack_depth += YY_START_STACK_INCR; 1934 new_size = yy_start_stack_depth * sizeof( int ); 1935 1936 mike 1.3 if ( ! yy_start_stack ) 1937 yy_start_stack = (int *) yy_flex_alloc( new_size ); 1938 1939 else 1940 yy_start_stack = (int *) yy_flex_realloc( 1941 (void *) yy_start_stack, new_size ); 1942 1943 if ( ! yy_start_stack ) 1944 YY_FATAL_ERROR( 1945 "out of memory expanding start-condition stack" ); 1946 } 1947 1948 yy_start_stack[yy_start_stack_ptr++] = YY_START; 1949 1950 BEGIN(new_state); 1951 } 1952 #endif 1953 1954 1955 #ifndef YY_NO_POP_STATE 1956 static void yy_pop_state() 1957 mike 1.3 { 1958 if ( --yy_start_stack_ptr < 0 ) 1959 YY_FATAL_ERROR( "start-condition stack underflow" ); 1960 1961 BEGIN(yy_start_stack[yy_start_stack_ptr]); 1962 } 1963 #endif 1964 1965 1966 #ifndef YY_NO_TOP_STATE 1967 static int yy_top_state() 1968 { 1969 return yy_start_stack[yy_start_stack_ptr - 1]; 1970 } 1971 #endif 1972 1973 #ifndef YY_EXIT_FAILURE 1974 #define YY_EXIT_FAILURE 2 1975 #endif 1976 1977 #ifdef YY_USE_PROTOS 1978 mike 1.3 static void yy_fatal_error( yyconst char msg[] ) 1979 #else 1980 static void yy_fatal_error( msg ) 1981 char msg[]; 1982 #endif 1983 { 1984 (void) fprintf( stderr, "%s\n", msg ); 1985 exit( YY_EXIT_FAILURE ); 1986 } 1987 1988 1989 1990 /* Redefine yyless() so it works in section 3 code. */ 1991 1992 #undef yyless 1993 #define yyless(n) \ 1994 do \ 1995 { \ 1996 /* Undo effects of setting up yytext. */ \ 1997 yytext[yyleng] = yy_hold_char; \ 1998 yy_c_buf_p = yytext + n; \ 1999 mike 1.3 yy_hold_char = *yy_c_buf_p; \ 2000 *yy_c_buf_p = '\0'; \ 2001 yyleng = n; \ 2002 } \ 2003 while ( 0 ) 2004 2005 2006 /* Internal utility routines. */ 2007 2008 #ifndef yytext_ptr 2009 #ifdef YY_USE_PROTOS 2010 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) 2011 #else 2012 static void yy_flex_strncpy( s1, s2, n ) 2013 char *s1; 2014 yyconst char *s2; 2015 int n; 2016 #endif 2017 { 2018 register int i; 2019 for ( i = 0; i < n; ++i ) 2020 mike 1.3 s1[i] = s2[i]; 2021 } 2022 #endif 2023 2024 #ifdef YY_NEED_STRLEN 2025 #ifdef YY_USE_PROTOS 2026 static int yy_flex_strlen( yyconst char *s ) 2027 #else 2028 static int yy_flex_strlen( s ) 2029 yyconst char *s; 2030 #endif 2031 { 2032 register int n; 2033 for ( n = 0; s[n]; ++n ) 2034 ; 2035 2036 return n; 2037 } 2038 #endif 2039 2040 2041 mike 1.3 #ifdef YY_USE_PROTOS 2042 static void *yy_flex_alloc( yy_size_t size ) 2043 #else 2044 static void *yy_flex_alloc( size ) 2045 yy_size_t size; 2046 #endif 2047 { 2048 return (void *) malloc( size ); 2049 } 2050 2051 #ifdef YY_USE_PROTOS 2052 static void *yy_flex_realloc( void *ptr, yy_size_t size ) 2053 #else 2054 static void *yy_flex_realloc( ptr, size ) 2055 void *ptr; 2056 yy_size_t size; 2057 #endif 2058 { 2059 /* The cast to (char *) in the following accommodates both 2060 * implementations that use char* generic pointers, and those 2061 * that use void* generic pointers. It works with the latter 2062 mike 1.3 * because both ANSI C and C++ allow castless assignment from 2063 * any pointer type to void*, and deal with argument conversions 2064 * as though doing an assignment. 2065 */ 2066 return (void *) realloc( (char *) ptr, size ); 2067 } 2068 2069 #ifdef YY_USE_PROTOS 2070 static void yy_flex_free( void *ptr ) 2071 #else 2072 static void yy_flex_free( ptr ) 2073 void *ptr; 2074 #endif 2075 { 2076 free( ptr ); 2077 } 2078 2079 #if YY_MAIN 2080 int main() 2081 { 2082 yylex(); 2083 mike 1.3 return 0; 2084 } 2085 #endif | ||
2086 bob 1.4 #line 124 "cimmof.l" | ||
2087 mike 1.3 2088 2089 void cimmof_yy_less(int n) { 2090 yyless(n); 2091 } |
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |