00001 #line 2 "SRC/verilog_flex.c"
00002
00003 #line 4 "SRC/verilog_flex.c"
00004
00005 #define YY_INT_ALIGNED short int
00006
00007
00008
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 33
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016
00017
00018
00019
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024
00025
00026
00027
00028
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031
00032
00033
00034 #if __STDC_VERSION__ >= 199901L
00035
00036
00037
00038
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t;
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057 #endif
00058
00059
00060 #ifndef INT8_MIN
00061 #define INT8_MIN (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX (4294967295U)
00086 #endif
00087
00088 #endif
00089
00090 #ifdef __cplusplus
00091
00092
00093 #define YY_USE_CONST
00094
00095 #else
00096
00097 #if __STDC__
00098
00099 #define YY_USE_CONST
00100
00101 #endif
00102 #endif
00103
00104 #ifdef YY_USE_CONST
00105 #define yyconst const
00106 #else
00107 #define yyconst
00108 #endif
00109
00110
00111 #define YY_NULL 0
00112
00113
00114
00115
00116
00117
00118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00119
00120
00121
00122
00123
00124 #define BEGIN (yy_start) = 1 + 2 *
00125
00126
00127
00128
00129
00130 #define YY_START (((yy_start) - 1) / 2)
00131 #define YYSTATE YY_START
00132
00133
00134 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00135
00136
00137 #define YY_NEW_FILE yyrestart(yyin )
00138
00139 #define YY_END_OF_BUFFER_CHAR 0
00140
00141
00142 #ifndef YY_BUF_SIZE
00143 #define YY_BUF_SIZE 16384
00144 #endif
00145
00146
00147
00148 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00149
00150 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00151 #define YY_TYPEDEF_YY_BUFFER_STATE
00152 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00153 #endif
00154
00155 extern int yyleng;
00156
00157 extern FILE *yyin, *yyout;
00158
00159 #define EOB_ACT_CONTINUE_SCAN 0
00160 #define EOB_ACT_END_OF_FILE 1
00161 #define EOB_ACT_LAST_MATCH 2
00162
00163 #define YY_LESS_LINENO(n)
00164
00165
00166 #define yyless(n) \
00167 do \
00168 { \
00169 \
00170 int yyless_macro_arg = (n); \
00171 YY_LESS_LINENO(yyless_macro_arg);\
00172 *yy_cp = (yy_hold_char); \
00173 YY_RESTORE_YY_MORE_OFFSET \
00174 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00175 YY_DO_BEFORE_ACTION; \
00176 } \
00177 while ( 0 )
00178
00179 #define unput(c) yyunput( c, (yytext_ptr) )
00180
00181
00182
00183
00184
00185
00186 #ifndef YY_TYPEDEF_YY_SIZE_T
00187 #define YY_TYPEDEF_YY_SIZE_T
00188 typedef unsigned int yy_size_t;
00189 #endif
00190
00191 #ifndef YY_STRUCT_YY_BUFFER_STATE
00192 #define YY_STRUCT_YY_BUFFER_STATE
00193 struct yy_buffer_state
00194 {
00195 FILE *yy_input_file;
00196
00197 char *yy_ch_buf;
00198 char *yy_buf_pos;
00199
00200
00201
00202
00203 yy_size_t yy_buf_size;
00204
00205
00206
00207
00208 int yy_n_chars;
00209
00210
00211
00212
00213
00214 int yy_is_our_buffer;
00215
00216
00217
00218
00219
00220
00221 int yy_is_interactive;
00222
00223
00224
00225
00226
00227 int yy_at_bol;
00228
00229 int yy_bs_lineno;
00230 int yy_bs_column;
00232
00233
00234
00235 int yy_fill_buffer;
00236
00237 int yy_buffer_status;
00238
00239 #define YY_BUFFER_NEW 0
00240 #define YY_BUFFER_NORMAL 1
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251 #define YY_BUFFER_EOF_PENDING 2
00252
00253 };
00254 #endif
00255
00256
00257 static size_t yy_buffer_stack_top = 0;
00258 static size_t yy_buffer_stack_max = 0;
00259 static YY_BUFFER_STATE * yy_buffer_stack = 0;
00261
00262
00263
00264
00265
00266
00267 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00268 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00269 : NULL)
00270
00271
00272
00273
00274 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00275
00276
00277 static char yy_hold_char;
00278 static int yy_n_chars;
00279 int yyleng;
00280
00281
00282 static char *yy_c_buf_p = (char *) 0;
00283 static int yy_init = 0;
00284 static int yy_start = 0;
00285
00286
00287
00288
00289 static int yy_did_buffer_switch_on_eof;
00290
00291 void yyrestart (FILE *input_file );
00292 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
00293 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
00294 void yy_delete_buffer (YY_BUFFER_STATE b );
00295 void yy_flush_buffer (YY_BUFFER_STATE b );
00296 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
00297 void yypop_buffer_state (void );
00298
00299 static void yyensure_buffer_stack (void );
00300 static void yy_load_buffer_state (void );
00301 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
00302
00303 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00304
00305 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
00306 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
00307 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
00308
00309 void *yyalloc (yy_size_t );
00310 void *yyrealloc (void *,yy_size_t );
00311 void yyfree (void * );
00312
00313 #define yy_new_buffer yy_create_buffer
00314
00315 #define yy_set_interactive(is_interactive) \
00316 { \
00317 if ( ! YY_CURRENT_BUFFER ){ \
00318 yyensure_buffer_stack (); \
00319 YY_CURRENT_BUFFER_LVALUE = \
00320 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00321 } \
00322 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00323 }
00324
00325 #define yy_set_bol(at_bol) \
00326 { \
00327 if ( ! YY_CURRENT_BUFFER ){\
00328 yyensure_buffer_stack (); \
00329 YY_CURRENT_BUFFER_LVALUE = \
00330 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00331 } \
00332 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00333 }
00334
00335 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00336
00337
00338
00339 typedef unsigned char YY_CHAR;
00340
00341 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00342
00343 typedef int yy_state_type;
00344
00345 extern int yylineno;
00346
00347 int yylineno = 1;
00348
00349 extern char *yytext;
00350 #define yytext_ptr yytext
00351
00352 static yy_state_type yy_get_previous_state (void );
00353 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
00354 static int yy_get_next_buffer (void );
00355 static void yy_fatal_error (yyconst char msg[] );
00356
00357
00358
00359
00360 #define YY_DO_BEFORE_ACTION \
00361 (yytext_ptr) = yy_bp; \
00362 yyleng = (size_t) (yy_cp - yy_bp); \
00363 (yy_hold_char) = *yy_cp; \
00364 *yy_cp = '\0'; \
00365 (yy_c_buf_p) = yy_cp;
00366
00367 #define YY_NUM_RULES 78
00368 #define YY_END_OF_BUFFER 79
00369
00370
00371 struct yy_trans_info
00372 {
00373 flex_int32_t yy_verify;
00374 flex_int32_t yy_nxt;
00375 };
00376 static yyconst flex_int16_t yy_accept[280] =
00377 { 0,
00378 0, 0, 0, 0, 79, 77, 71, 72, 70, 70,
00379 70, 70, 70, 68, 70, 70, 70, 65, 70, 77,
00380 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
00381 65, 65, 65, 65, 65, 65, 65, 70, 70, 74,
00382 74, 71, 58, 69, 51, 73, 76, 0, 68, 55,
00383 53, 57, 54, 56, 65, 61, 66, 66, 65, 65,
00384 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
00385 65, 23, 65, 65, 65, 65, 65, 65, 34, 65,
00386 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
00387 65, 65, 65, 52, 63, 62, 64, 75, 60, 76,
00388
00389 67, 59, 66, 66, 65, 2, 65, 65, 5, 65,
00390 65, 65, 65, 65, 15, 21, 65, 65, 65, 65,
00391 65, 65, 65, 65, 65, 32, 33, 65, 65, 65,
00392 38, 65, 65, 65, 65, 45, 65, 65, 65, 65,
00393 50, 67, 66, 65, 65, 65, 6, 65, 65, 65,
00394 13, 14, 65, 65, 65, 65, 65, 65, 65, 65,
00395 65, 65, 65, 65, 30, 65, 65, 65, 65, 65,
00396 65, 65, 44, 65, 65, 48, 49, 66, 65, 65,
00397 4, 7, 8, 65, 65, 65, 65, 65, 65, 65,
00398 65, 65, 65, 25, 26, 65, 65, 65, 65, 65,
00399
00400 65, 65, 65, 65, 65, 65, 65, 47, 66, 1,
00401 3, 65, 65, 65, 65, 65, 65, 65, 65, 65,
00402 65, 65, 65, 29, 65, 35, 65, 65, 65, 65,
00403 65, 65, 65, 10, 9, 65, 12, 16, 65, 65,
00404 65, 20, 65, 24, 27, 65, 31, 65, 37, 65,
00405 40, 65, 42, 43, 65, 10, 10, 11, 65, 65,
00406 65, 22, 65, 65, 39, 65, 46, 65, 18, 65,
00407 65, 36, 41, 65, 19, 65, 17, 28, 0
00408 } ;
00409
00410 static yyconst flex_int32_t yy_ec[256] =
00411 { 0,
00412 1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
00413 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
00414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00415 1, 2, 4, 1, 5, 1, 6, 7, 8, 6,
00416 6, 9, 6, 6, 6, 6, 10, 11, 12, 13,
00417 13, 13, 13, 13, 13, 13, 13, 6, 6, 14,
00418 15, 16, 6, 6, 17, 17, 17, 17, 17, 17,
00419 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
00420 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
00421 6, 1, 6, 18, 19, 20, 21, 22, 23, 24,
00422
00423 25, 26, 27, 28, 29, 17, 30, 31, 32, 33,
00424 34, 35, 17, 36, 37, 38, 39, 40, 41, 42,
00425 43, 44, 6, 45, 6, 46, 1, 1, 1, 1,
00426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00433
00434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00439 1, 1, 1, 1, 1
00440 } ;
00441
00442 static yyconst flex_int32_t yy_meta[47] =
00443 { 0,
00444 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
00445 3, 3, 3, 1, 1, 1, 4, 1, 5, 1,
00446 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
00447 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
00448 4, 4, 4, 4, 1, 1
00449 } ;
00450
00451 static yyconst flex_int16_t yy_base[288] =
00452 { 0,
00453 0, 0, 44, 45, 354, 355, 351, 355, 337, 38,
00454 355, 344, 46, 49, 44, 335, 48, 0, 303, 324,
00455 34, 27, 326, 43, 45, 36, 47, 53, 56, 43,
00456 62, 321, 62, 63, 320, 60, 58, 299, 86, 355,
00457 333, 340, 326, 94, 355, 355, 0, 86, 104, 355,
00458 355, 325, 355, 355, 0, 355, 0, 314, 297, 313,
00459 299, 308, 308, 296, 306, 294, 303, 292, 304, 291,
00460 293, 0, 84, 302, 300, 290, 295, 62, 0, 283,
00461 284, 282, 291, 296, 291, 280, 277, 284, 289, 282,
00462 274, 275, 272, 355, 355, 355, 355, 355, 355, 0,
00463
00464 0, 355, 0, 281, 285, 0, 276, 275, 0, 278,
00465 74, 281, 276, 275, 98, 0, 276, 260, 258, 257,
00466 270, 258, 254, 268, 266, 0, 0, 255, 268, 263,
00467 0, 256, 263, 250, 254, 0, 245, 251, 256, 244,
00468 0, 0, 250, 235, 250, 243, 81, 236, 253, 251,
00469 0, 0, 251, 232, 236, 234, 247, 229, 237, 227,
00470 226, 236, 228, 230, 0, 236, 220, 226, 233, 232,
00471 97, 217, 0, 204, 201, 0, 0, 192, 187, 190,
00472 0, 0, 0, 191, 185, 189, 182, 185, 193, 191,
00473 178, 185, 192, 0, 0, 187, 179, 185, 182, 170,
00474
00475 182, 179, 169, 178, 182, 158, 163, 0, 170, 0,
00476 0, 156, 172, 160, 155, 156, 139, 154, 146, 141,
00477 143, 137, 138, 0, 146, 0, 132, 144, 143, 124,
00478 130, 91, 140, 136, 0, 132, 0, 0, 125, 131,
00479 132, 0, 127, 0, 0, 135, 0, 133, 0, 133,
00480 0, 134, 0, 0, 129, 0, 182, 0, 120, 123,
00481 121, 0, 100, 98, 0, 101, 0, 95, 0, 85,
00482 96, 0, 0, 78, 0, 69, 0, 0, 355, 228,
00483 231, 82, 236, 239, 242, 246, 251
00484 } ;
00485
00486 static yyconst flex_int16_t yy_def[288] =
00487 { 0,
00488 279, 1, 280, 280, 279, 279, 279, 279, 279, 279,
00489 279, 279, 279, 279, 279, 279, 279, 281, 279, 282,
00490 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00491 281, 281, 281, 281, 281, 281, 281, 279, 279, 279,
00492 279, 279, 279, 279, 279, 279, 283, 279, 279, 279,
00493 279, 279, 279, 279, 281, 279, 284, 284, 281, 281,
00494 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00495 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00496 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00497 281, 281, 281, 279, 279, 279, 279, 279, 279, 283,
00498
00499 285, 279, 284, 284, 281, 281, 281, 281, 281, 281,
00500 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00501 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00502 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00503 281, 285, 284, 281, 281, 281, 281, 281, 281, 281,
00504 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00505 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00506 281, 281, 281, 281, 281, 281, 281, 284, 281, 281,
00507 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00508 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00509
00510 281, 281, 281, 281, 281, 281, 281, 281, 284, 281,
00511 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00512 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00513 281, 281, 281, 286, 281, 281, 281, 281, 281, 281,
00514 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00515 281, 281, 281, 281, 281, 287, 286, 281, 281, 281,
00516 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
00517 281, 281, 281, 281, 281, 281, 281, 281, 0, 279,
00518 279, 279, 279, 279, 279, 279, 279
00519 } ;
00520
00521 static yyconst flex_int16_t yy_nxt[402] =
00522 { 0,
00523 6, 7, 8, 9, 10, 11, 12, 6, 11, 13,
00524 14, 14, 14, 15, 16, 17, 18, 19, 6, 20,
00525 21, 22, 23, 24, 25, 26, 18, 18, 27, 18,
00526 18, 28, 29, 30, 31, 32, 33, 34, 18, 35,
00527 36, 37, 18, 18, 38, 39, 8, 8, 44, 44,
00528 44, 62, 41, 41, 46, 47, 48, 50, 51, 49,
00529 49, 49, 53, 54, 59, 63, 60, 65, 67, 70,
00530 61, 66, 72, 74, 71, 68, 76, 69, 79, 73,
00531 77, 80, 81, 87, 84, 57, 75, 90, 91, 78,
00532 92, 93, 95, 278, 148, 82, 85, 126, 88, 127,
00533
00534 86, 253, 254, 96, 44, 44, 44, 101, 149, 101,
00535 277, 48, 118, 101, 49, 49, 49, 119, 120, 101,
00536 153, 121, 182, 154, 183, 204, 276, 275, 274, 155,
00537 97, 205, 273, 272, 156, 157, 256, 256, 271, 256,
00538 256, 256, 256, 256, 256, 256, 270, 269, 268, 256,
00539 256, 256, 267, 256, 266, 256, 265, 264, 263, 262,
00540 261, 260, 259, 258, 255, 252, 251, 250, 249, 248,
00541 247, 246, 245, 244, 243, 242, 241, 240, 239, 238,
00542 256, 256, 256, 256, 237, 256, 256, 256, 256, 256,
00543 256, 256, 236, 235, 234, 256, 256, 256, 233, 256,
00544
00545 232, 256, 231, 230, 229, 228, 227, 226, 225, 224,
00546 223, 222, 221, 220, 219, 218, 217, 216, 215, 214,
00547 213, 212, 211, 210, 209, 208, 256, 256, 40, 40,
00548 40, 40, 40, 55, 55, 55, 100, 207, 100, 100,
00549 100, 103, 103, 103, 142, 142, 257, 206, 257, 257,
00550 257, 256, 203, 256, 256, 256, 202, 201, 200, 199,
00551 198, 197, 196, 195, 194, 193, 192, 191, 190, 189,
00552 188, 187, 186, 185, 184, 181, 180, 179, 178, 177,
00553 176, 175, 174, 173, 172, 171, 170, 169, 168, 167,
00554 166, 165, 164, 163, 162, 161, 160, 159, 158, 152,
00555
00556 151, 150, 147, 146, 145, 144, 143, 141, 140, 139,
00557 138, 137, 136, 135, 134, 133, 132, 131, 130, 129,
00558 128, 125, 124, 123, 122, 117, 116, 115, 114, 113,
00559 112, 111, 110, 109, 108, 107, 106, 105, 104, 102,
00560 99, 42, 98, 94, 89, 83, 64, 58, 56, 52,
00561 45, 43, 42, 279, 5, 279, 279, 279, 279, 279,
00562 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00563 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00564 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00565 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00566
00567 279
00568 } ;
00569
00570 static yyconst flex_int16_t yy_chk[402] =
00571 { 0,
00572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00574 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00576 1, 1, 1, 1, 1, 1, 3, 4, 10, 10,
00577 10, 22, 3, 4, 13, 13, 14, 15, 15, 14,
00578 14, 14, 17, 17, 21, 22, 21, 24, 25, 26,
00579 21, 24, 27, 28, 26, 25, 29, 25, 30, 27,
00580 29, 30, 31, 34, 33, 282, 28, 36, 36, 29,
00581 37, 37, 39, 276, 111, 31, 33, 78, 34, 78,
00582
00583 33, 232, 232, 39, 44, 44, 44, 48, 111, 48,
00584 274, 49, 73, 48, 49, 49, 49, 73, 73, 48,
00585 115, 73, 147, 115, 147, 171, 271, 270, 268, 115,
00586 39, 171, 266, 264, 115, 115, 234, 234, 263, 234,
00587 234, 234, 234, 234, 234, 234, 261, 260, 259, 234,
00588 234, 234, 255, 234, 252, 234, 250, 248, 246, 243,
00589 241, 240, 239, 236, 233, 231, 230, 229, 228, 227,
00590 225, 223, 222, 221, 220, 219, 218, 217, 216, 215,
00591 234, 234, 257, 257, 214, 257, 257, 257, 257, 257,
00592 257, 257, 213, 212, 209, 257, 257, 257, 207, 257,
00593
00594 206, 257, 205, 204, 203, 202, 201, 200, 199, 198,
00595 197, 196, 193, 192, 191, 190, 189, 188, 187, 186,
00596 185, 184, 180, 179, 178, 175, 257, 257, 280, 280,
00597 280, 280, 280, 281, 281, 281, 283, 174, 283, 283,
00598 283, 284, 284, 284, 285, 285, 286, 172, 286, 286,
00599 286, 287, 170, 287, 287, 287, 169, 168, 167, 166,
00600 164, 163, 162, 161, 160, 159, 158, 157, 156, 155,
00601 154, 153, 150, 149, 148, 146, 145, 144, 143, 140,
00602 139, 138, 137, 135, 134, 133, 132, 130, 129, 128,
00603 125, 124, 123, 122, 121, 120, 119, 118, 117, 114,
00604
00605 113, 112, 110, 108, 107, 105, 104, 93, 92, 91,
00606 90, 89, 88, 87, 86, 85, 84, 83, 82, 81,
00607 80, 77, 76, 75, 74, 71, 70, 69, 68, 67,
00608 66, 65, 64, 63, 62, 61, 60, 59, 58, 52,
00609 43, 42, 41, 38, 35, 32, 23, 20, 19, 16,
00610 12, 9, 7, 5, 279, 279, 279, 279, 279, 279,
00611 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00612 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00613 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00614 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
00615
00616 279
00617 } ;
00618
00619 static yy_state_type yy_last_accepting_state;
00620 static char *yy_last_accepting_cpos;
00621
00622 extern int yy_flex_debug;
00623 int yy_flex_debug = 0;
00624
00625
00626
00627
00628 #define REJECT reject_used_but_not_detected
00629 #define yymore() yymore_used_but_not_detected
00630 #define YY_MORE_ADJ 0
00631 #define YY_RESTORE_YY_MORE_OFFSET
00632 char *yytext;
00633 #line 1 "SRC/verilog_flex.l"
00634 #line 2 "SRC/verilog_flex.l"
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659 #include <stdio.h>
00660 #include <string.h>
00661 #include "types.h"
00662 #include "globals.h"
00663 #include "verilog_bison.h"
00664
00665
00666 #define MP {if (to_view_parse) {printf("%d %s\n", yylineno, yytext);}}
00667
00668
00669 #line 670 "SRC/verilog_flex.c"
00670
00671 #define INITIAL 0
00672 #define COMMENT 1
00673
00674 #ifndef YY_NO_UNISTD_H
00675
00676
00677
00678
00679 #include <unistd.h>
00680 #endif
00681
00682 #ifndef YY_EXTRA_TYPE
00683 #define YY_EXTRA_TYPE void *
00684 #endif
00685
00686 static int yy_init_globals (void );
00687
00688
00689
00690
00691
00692 #ifndef YY_SKIP_YYWRAP
00693 #ifdef __cplusplus
00694 extern "C" int yywrap (void );
00695 #else
00696 extern int yywrap (void );
00697 #endif
00698 #endif
00699
00700 static void yyunput (int c,char *buf_ptr );
00701
00702 #ifndef yytext_ptr
00703 static void yy_flex_strncpy (char *,yyconst char *,int );
00704 #endif
00705
00706 #ifdef YY_NEED_STRLEN
00707 static int yy_flex_strlen (yyconst char * );
00708 #endif
00709
00710 #ifndef YY_NO_INPUT
00711
00712 #ifdef __cplusplus
00713 static int yyinput (void );
00714 #else
00715 static int input (void );
00716 #endif
00717
00718 #endif
00719
00720
00721 #ifndef YY_READ_BUF_SIZE
00722 #define YY_READ_BUF_SIZE 8192
00723 #endif
00724
00725
00726 #ifndef ECHO
00727
00728
00729
00730 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
00731 #endif
00732
00733
00734
00735
00736 #ifndef YY_INPUT
00737 #define YY_INPUT(buf,result,max_size) \
00738 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
00739 { \
00740 int c = '*'; \
00741 size_t n; \
00742 for ( n = 0; n < max_size && \
00743 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
00744 buf[n] = (char) c; \
00745 if ( c == '\n' ) \
00746 buf[n++] = (char) c; \
00747 if ( c == EOF && ferror( yyin ) ) \
00748 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00749 result = n; \
00750 } \
00751 else \
00752 { \
00753 errno=0; \
00754 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
00755 { \
00756 if( errno != EINTR) \
00757 { \
00758 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00759 break; \
00760 } \
00761 errno=0; \
00762 clearerr(yyin); \
00763 } \
00764 }\
00765 \
00766
00767 #endif
00768
00769
00770
00771
00772
00773 #ifndef yyterminate
00774 #define yyterminate() return YY_NULL
00775 #endif
00776
00777
00778 #ifndef YY_START_STACK_INCR
00779 #define YY_START_STACK_INCR 25
00780 #endif
00781
00782
00783 #ifndef YY_FATAL_ERROR
00784 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
00785 #endif
00786
00787
00788
00789
00790
00791
00792 #ifndef YY_DECL
00793 #define YY_DECL_IS_OURS 1
00794
00795 extern int yylex (void);
00796
00797 #define YY_DECL int yylex (void)
00798 #endif
00799
00800
00801
00802
00803 #ifndef YY_USER_ACTION
00804 #define YY_USER_ACTION
00805 #endif
00806
00807
00808 #ifndef YY_BREAK
00809 #define YY_BREAK break;
00810 #endif
00811
00812 #define YY_RULE_SETUP \
00813 YY_USER_ACTION
00814
00817 YY_DECL
00818 {
00819 register yy_state_type yy_current_state;
00820 register char *yy_cp, *yy_bp;
00821 register int yy_act;
00822
00823 #line 39 "SRC/verilog_flex.l"
00824
00825
00826
00827 #line 828 "SRC/verilog_flex.c"
00828
00829 if ( !(yy_init) )
00830 {
00831 (yy_init) = 1;
00832
00833 #ifdef YY_USER_INIT
00834 YY_USER_INIT;
00835 #endif
00836
00837 if ( ! (yy_start) )
00838 (yy_start) = 1;
00839
00840 if ( ! yyin )
00841 yyin = stdin;
00842
00843 if ( ! yyout )
00844 yyout = stdout;
00845
00846 if ( ! YY_CURRENT_BUFFER ) {
00847 yyensure_buffer_stack ();
00848 YY_CURRENT_BUFFER_LVALUE =
00849 yy_create_buffer(yyin,YY_BUF_SIZE );
00850 }
00851
00852 yy_load_buffer_state( );
00853 }
00854
00855 while ( 1 )
00856 {
00857 yy_cp = (yy_c_buf_p);
00858
00859
00860 *yy_cp = (yy_hold_char);
00861
00862
00863
00864
00865 yy_bp = yy_cp;
00866
00867 yy_current_state = (yy_start);
00868 yy_match:
00869 do
00870 {
00871 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00872 if ( yy_accept[yy_current_state] )
00873 {
00874 (yy_last_accepting_state) = yy_current_state;
00875 (yy_last_accepting_cpos) = yy_cp;
00876 }
00877 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00878 {
00879 yy_current_state = (int) yy_def[yy_current_state];
00880 if ( yy_current_state >= 280 )
00881 yy_c = yy_meta[(unsigned int) yy_c];
00882 }
00883 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00884 ++yy_cp;
00885 }
00886 while ( yy_base[yy_current_state] != 355 );
00887
00888 yy_find_action:
00889 yy_act = yy_accept[yy_current_state];
00890 if ( yy_act == 0 )
00891 {
00892 yy_cp = (yy_last_accepting_cpos);
00893 yy_current_state = (yy_last_accepting_state);
00894 yy_act = yy_accept[yy_current_state];
00895 }
00896
00897 YY_DO_BEFORE_ACTION;
00898
00899 do_action:
00900
00901 switch ( yy_act )
00902 {
00903 case 0:
00904
00905 *yy_cp = (yy_hold_char);
00906 yy_cp = (yy_last_accepting_cpos);
00907 yy_current_state = (yy_last_accepting_state);
00908 goto yy_find_action;
00909
00910 case 1:
00911 YY_RULE_SETUP
00912 #line 42 "SRC/verilog_flex.l"
00913 { MP; return vALWAYS;}
00914 YY_BREAK
00915 case 2:
00916 YY_RULE_SETUP
00917 #line 43 "SRC/verilog_flex.l"
00918 { MP; return vAND;}
00919 YY_BREAK
00920 case 3:
00921 YY_RULE_SETUP
00922 #line 44 "SRC/verilog_flex.l"
00923 { MP; return vASSIGN;}
00924 YY_BREAK
00925 case 4:
00926 YY_RULE_SETUP
00927 #line 45 "SRC/verilog_flex.l"
00928 { MP; return vBEGIN;}
00929 YY_BREAK
00930 case 5:
00931 YY_RULE_SETUP
00932 #line 46 "SRC/verilog_flex.l"
00933 { MP; return vNOT_SUPPORT;}
00934 YY_BREAK
00935 case 6:
00936 YY_RULE_SETUP
00937 #line 47 "SRC/verilog_flex.l"
00938 { MP; return vCASE;}
00939 YY_BREAK
00940 case 7:
00941 YY_RULE_SETUP
00942 #line 48 "SRC/verilog_flex.l"
00943 { MP; return vNOT_SUPPORT;}
00944 YY_BREAK
00945 case 8:
00946 YY_RULE_SETUP
00947 #line 49 "SRC/verilog_flex.l"
00948 { MP; return vNOT_SUPPORT;}
00949 YY_BREAK
00950 case 9:
00951 YY_RULE_SETUP
00952 #line 50 "SRC/verilog_flex.l"
00953 { MP; return vDEFAULT;}
00954 YY_BREAK
00955 case 10:
00956 YY_RULE_SETUP
00957 #line 51 "SRC/verilog_flex.l"
00958 { MP; continue; }
00959 YY_BREAK
00960 case 11:
00961 YY_RULE_SETUP
00962 #line 52 "SRC/verilog_flex.l"
00963 { MP; return vDEFPARAM;}
00964 YY_BREAK
00965 case 12:
00966 YY_RULE_SETUP
00967 #line 53 "SRC/verilog_flex.l"
00968 { MP; return vNOT_SUPPORT;}
00969 YY_BREAK
00970 case 13:
00971 YY_RULE_SETUP
00972 #line 54 "SRC/verilog_flex.l"
00973 { MP; return vNOT_SUPPORT;}
00974 YY_BREAK
00975 case 14:
00976 YY_RULE_SETUP
00977 #line 55 "SRC/verilog_flex.l"
00978 { MP; return vELSE;}
00979 YY_BREAK
00980 case 15:
00981 YY_RULE_SETUP
00982 #line 56 "SRC/verilog_flex.l"
00983 { MP; return vEND;}
00984 YY_BREAK
00985 case 16:
00986 YY_RULE_SETUP
00987 #line 57 "SRC/verilog_flex.l"
00988 { MP; return vENDCASE;}
00989 YY_BREAK
00990 case 17:
00991 YY_RULE_SETUP
00992 #line 58 "SRC/verilog_flex.l"
00993 { MP; return vNOT_SUPPORT;}
00994 YY_BREAK
00995 case 18:
00996 YY_RULE_SETUP
00997 #line 59 "SRC/verilog_flex.l"
00998 { MP; return vENDMODULE;}
00999 YY_BREAK
01000 case 19:
01001 YY_RULE_SETUP
01002 #line 60 "SRC/verilog_flex.l"
01003 { MP; return vNOT_SUPPORT;}
01004 YY_BREAK
01005 case 20:
01006 YY_RULE_SETUP
01007 #line 61 "SRC/verilog_flex.l"
01008 { MP; return vNOT_SUPPORT;}
01009 YY_BREAK
01010 case 21:
01011 YY_RULE_SETUP
01012 #line 62 "SRC/verilog_flex.l"
01013 { MP; return vNOT_SUPPORT;}
01014 YY_BREAK
01015 case 22:
01016 YY_RULE_SETUP
01017 #line 63 "SRC/verilog_flex.l"
01018 { MP; return vNOT_SUPPORT;}
01019 YY_BREAK
01020 case 23:
01021 YY_RULE_SETUP
01022 #line 64 "SRC/verilog_flex.l"
01023 { MP; return vIF;}
01024 YY_BREAK
01025 case 24:
01026 YY_RULE_SETUP
01027 #line 65 "SRC/verilog_flex.l"
01028 { MP; return vNOT_SUPPORT;}
01029 YY_BREAK
01030 case 25:
01031 YY_RULE_SETUP
01032 #line 66 "SRC/verilog_flex.l"
01033 { MP; return vINOUT;}
01034 YY_BREAK
01035 case 26:
01036 YY_RULE_SETUP
01037 #line 67 "SRC/verilog_flex.l"
01038 { MP; return vINPUT;}
01039 YY_BREAK
01040 case 27:
01041 YY_RULE_SETUP
01042 #line 68 "SRC/verilog_flex.l"
01043 { MP; return vNOT_SUPPORT;}
01044 YY_BREAK
01045 case 28:
01046 YY_RULE_SETUP
01047 #line 69 "SRC/verilog_flex.l"
01048 { MP; return vNOT_SUPPORT;}
01049 YY_BREAK
01050 case 29:
01051 YY_RULE_SETUP
01052 #line 70 "SRC/verilog_flex.l"
01053 { MP; return vMODULE;}
01054 YY_BREAK
01055 case 30:
01056 YY_RULE_SETUP
01057 #line 71 "SRC/verilog_flex.l"
01058 { MP; return vNAND;}
01059 YY_BREAK
01060 case 31:
01061 YY_RULE_SETUP
01062 #line 72 "SRC/verilog_flex.l"
01063 { MP; return vNEGEDGE;}
01064 YY_BREAK
01065 case 32:
01066 YY_RULE_SETUP
01067 #line 73 "SRC/verilog_flex.l"
01068 { MP; return vNOR;}
01069 YY_BREAK
01070 case 33:
01071 YY_RULE_SETUP
01072 #line 74 "SRC/verilog_flex.l"
01073 { MP; return vNOT;}
01074 YY_BREAK
01075 case 34:
01076 YY_RULE_SETUP
01077 #line 75 "SRC/verilog_flex.l"
01078 { MP; return vOR;}
01079 YY_BREAK
01080 case 35:
01081 YY_RULE_SETUP
01082 #line 76 "SRC/verilog_flex.l"
01083 { MP; return vOUTPUT;}
01084 YY_BREAK
01085 case 36:
01086 YY_RULE_SETUP
01087 #line 77 "SRC/verilog_flex.l"
01088 { MP; return vPARAMETER;}
01089 YY_BREAK
01090 case 37:
01091 YY_RULE_SETUP
01092 #line 78 "SRC/verilog_flex.l"
01093 { MP; return vPOSEDGE;}
01094 YY_BREAK
01095 case 38:
01096 YY_RULE_SETUP
01097 #line 79 "SRC/verilog_flex.l"
01098 { MP; return vREG;}
01099 YY_BREAK
01100 case 39:
01101 YY_RULE_SETUP
01102 #line 80 "SRC/verilog_flex.l"
01103 { MP; return vNOT_SUPPORT;}
01104 YY_BREAK
01105 case 40:
01106 YY_RULE_SETUP
01107 #line 81 "SRC/verilog_flex.l"
01108 { MP; return vNOT_SUPPORT;}
01109 YY_BREAK
01110 case 41:
01111 YY_RULE_SETUP
01112 #line 82 "SRC/verilog_flex.l"
01113 { MP; return vNOT_SUPPORT;}
01114 YY_BREAK
01115 case 42:
01116 YY_RULE_SETUP
01117 #line 83 "SRC/verilog_flex.l"
01118 { MP; return vNOT_SUPPORT;}
01119 YY_BREAK
01120 case 43:
01121 YY_RULE_SETUP
01122 #line 84 "SRC/verilog_flex.l"
01123 { MP; return vNOT_SUPPORT;}
01124 YY_BREAK
01125 case 44:
01126 YY_RULE_SETUP
01127 #line 85 "SRC/verilog_flex.l"
01128 { MP; return vNOT_SUPPORT;}
01129 YY_BREAK
01130 case 45:
01131 YY_RULE_SETUP
01132 #line 86 "SRC/verilog_flex.l"
01133 { MP; return vNOT_SUPPORT;}
01134 YY_BREAK
01135 case 46:
01136 YY_RULE_SETUP
01137 #line 87 "SRC/verilog_flex.l"
01138 { MP; return vNOT_SUPPORT;}
01139 YY_BREAK
01140 case 47:
01141 YY_RULE_SETUP
01142 #line 88 "SRC/verilog_flex.l"
01143 { MP; return vNOT_SUPPORT;}
01144 YY_BREAK
01145 case 48:
01146 YY_RULE_SETUP
01147 #line 89 "SRC/verilog_flex.l"
01148 { MP; return vWIRE;}
01149 YY_BREAK
01150 case 49:
01151 YY_RULE_SETUP
01152 #line 90 "SRC/verilog_flex.l"
01153 { MP; return vXNOR;}
01154 YY_BREAK
01155 case 50:
01156 YY_RULE_SETUP
01157 #line 91 "SRC/verilog_flex.l"
01158 { MP; return vXOR;}
01159 YY_BREAK
01160
01161 case 51:
01162 YY_RULE_SETUP
01163 #line 94 "SRC/verilog_flex.l"
01164 { MP; return voANDAND;}
01165 YY_BREAK
01166 case 52:
01167 YY_RULE_SETUP
01168 #line 95 "SRC/verilog_flex.l"
01169 { MP; return voOROR;}
01170 YY_BREAK
01171 case 53:
01172 YY_RULE_SETUP
01173 #line 96 "SRC/verilog_flex.l"
01174 { MP; return voLTE;}
01175 YY_BREAK
01176 case 54:
01177 YY_RULE_SETUP
01178 #line 97 "SRC/verilog_flex.l"
01179 { MP; return voGTE;}
01180 YY_BREAK
01181 case 55:
01182 YY_RULE_SETUP
01183 #line 98 "SRC/verilog_flex.l"
01184 { MP; return voSLEFT;}
01185 YY_BREAK
01186 case 56:
01187 YY_RULE_SETUP
01188 #line 99 "SRC/verilog_flex.l"
01189 { MP; return voSRIGHT;}
01190 YY_BREAK
01191 case 57:
01192 YY_RULE_SETUP
01193 #line 100 "SRC/verilog_flex.l"
01194 { MP; return voEQUAL;}
01195 YY_BREAK
01196 case 58:
01197 YY_RULE_SETUP
01198 #line 101 "SRC/verilog_flex.l"
01199 { MP; return voNOTEQUAL;}
01200 YY_BREAK
01201 case 59:
01202 YY_RULE_SETUP
01203 #line 102 "SRC/verilog_flex.l"
01204 { MP; return voCASEEQUAL;}
01205 YY_BREAK
01206 case 60:
01207 YY_RULE_SETUP
01208 #line 103 "SRC/verilog_flex.l"
01209 { MP; return voCASENOTEQUAL;}
01210 YY_BREAK
01211 case 61:
01212 YY_RULE_SETUP
01213 #line 104 "SRC/verilog_flex.l"
01214 { MP; return voXNOR;}
01215 YY_BREAK
01216 case 62:
01217 YY_RULE_SETUP
01218 #line 105 "SRC/verilog_flex.l"
01219 { MP; return voXNOR;}
01220 YY_BREAK
01221 case 63:
01222 YY_RULE_SETUP
01223 #line 106 "SRC/verilog_flex.l"
01224 { MP; return voNAND;}
01225 YY_BREAK
01226 case 64:
01227 YY_RULE_SETUP
01228 #line 107 "SRC/verilog_flex.l"
01229 { MP; return voNOR;}
01230 YY_BREAK
01231 case 65:
01232 YY_RULE_SETUP
01233 #line 109 "SRC/verilog_flex.l"
01234 { MP; yylval.id_name = strdup(yytext); return vSYMBOL_ID; }
01235 YY_BREAK
01236 case 66:
01237 YY_RULE_SETUP
01238 #line 110 "SRC/verilog_flex.l"
01239 { MP; yylval.id_name = strdup(yytext); return vSYMBOL_ID; }
01240 YY_BREAK
01241 case 67:
01242 YY_RULE_SETUP
01243 #line 111 "SRC/verilog_flex.l"
01244 { MP; yylval.num_value = strdup(yytext); return vNUMBER_ID; }
01245 YY_BREAK
01246 case 68:
01247 YY_RULE_SETUP
01248 #line 112 "SRC/verilog_flex.l"
01249 { MP; yylval.num_value = strdup(yytext); return vNUMBER_ID; }
01250 YY_BREAK
01251 case 69:
01252 YY_RULE_SETUP
01253 #line 113 "SRC/verilog_flex.l"
01254 { MP; yylval.num_value = strdup(yytext+1); return vDELAY_ID; }
01255 YY_BREAK
01256
01257 case 70:
01258 YY_RULE_SETUP
01259 #line 116 "SRC/verilog_flex.l"
01260 { MP; return yytext[0]; }
01261 YY_BREAK
01262
01263 case 71:
01264 YY_RULE_SETUP
01265 #line 119 "SRC/verilog_flex.l"
01266 { continue; }
01267 YY_BREAK
01268 case 72:
01269
01270 YY_RULE_SETUP
01271 #line 120 "SRC/verilog_flex.l"
01272 { yylineno++; continue; }
01273 YY_BREAK
01274
01275 case 73:
01276 YY_RULE_SETUP
01277 #line 123 "SRC/verilog_flex.l"
01278 { MP; BEGIN COMMENT; continue; }
01279 YY_BREAK
01280 case 74:
01281 YY_RULE_SETUP
01282 #line 124 "SRC/verilog_flex.l"
01283 { continue; }
01284 YY_BREAK
01285 case 75:
01286 YY_RULE_SETUP
01287 #line 125 "SRC/verilog_flex.l"
01288 { BEGIN 0; continue; }
01289 YY_BREAK
01290 case 76:
01291 YY_RULE_SETUP
01292 #line 126 "SRC/verilog_flex.l"
01293 { MP; continue; }
01294 YY_BREAK
01295 case 77:
01296
01297 YY_RULE_SETUP
01298 #line 128 "SRC/verilog_flex.l"
01299 { printf("Missing verilog.l rule: Default rule invoked in state %d: \"%s\"\n", YY_START, yytext); }
01300 YY_BREAK
01301 case 78:
01302 YY_RULE_SETUP
01303 #line 129 "SRC/verilog_flex.l"
01304 ECHO;
01305 YY_BREAK
01306 #line 1307 "SRC/verilog_flex.c"
01307 case YY_STATE_EOF(INITIAL):
01308 case YY_STATE_EOF(COMMENT):
01309 yyterminate();
01310
01311 case YY_END_OF_BUFFER:
01312 {
01313
01314 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
01315
01316
01317 *yy_cp = (yy_hold_char);
01318 YY_RESTORE_YY_MORE_OFFSET
01319
01320 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01321 {
01322
01323
01324
01325
01326
01327
01328
01329
01330
01331 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01332 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01333 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01334 }
01335
01336
01337
01338
01339
01340
01341
01342
01343 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
01344 {
01345 yy_state_type yy_next_state;
01346
01347 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
01348
01349 yy_current_state = yy_get_previous_state( );
01350
01351
01352
01353
01354
01355
01356
01357
01358
01359
01360 yy_next_state = yy_try_NUL_trans( yy_current_state );
01361
01362 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01363
01364 if ( yy_next_state )
01365 {
01366
01367 yy_cp = ++(yy_c_buf_p);
01368 yy_current_state = yy_next_state;
01369 goto yy_match;
01370 }
01371
01372 else
01373 {
01374 yy_cp = (yy_c_buf_p);
01375 goto yy_find_action;
01376 }
01377 }
01378
01379 else switch ( yy_get_next_buffer( ) )
01380 {
01381 case EOB_ACT_END_OF_FILE:
01382 {
01383 (yy_did_buffer_switch_on_eof) = 0;
01384
01385 if ( yywrap( ) )
01386 {
01387
01388
01389
01390
01391
01392
01393
01394
01395
01396 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
01397
01398 yy_act = YY_STATE_EOF(YY_START);
01399 goto do_action;
01400 }
01401
01402 else
01403 {
01404 if ( ! (yy_did_buffer_switch_on_eof) )
01405 YY_NEW_FILE;
01406 }
01407 break;
01408 }
01409
01410 case EOB_ACT_CONTINUE_SCAN:
01411 (yy_c_buf_p) =
01412 (yytext_ptr) + yy_amount_of_matched_text;
01413
01414 yy_current_state = yy_get_previous_state( );
01415
01416 yy_cp = (yy_c_buf_p);
01417 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01418 goto yy_match;
01419
01420 case EOB_ACT_LAST_MATCH:
01421 (yy_c_buf_p) =
01422 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
01423
01424 yy_current_state = yy_get_previous_state( );
01425
01426 yy_cp = (yy_c_buf_p);
01427 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01428 goto yy_find_action;
01429 }
01430 break;
01431 }
01432
01433 default:
01434 YY_FATAL_ERROR(
01435 "fatal flex scanner internal error--no action found" );
01436 }
01437 }
01438 }
01439
01440
01441
01442
01443
01444
01445
01446
01447 static int yy_get_next_buffer (void)
01448 {
01449 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01450 register char *source = (yytext_ptr);
01451 register int number_to_move, i;
01452 int ret_val;
01453
01454 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
01455 YY_FATAL_ERROR(
01456 "fatal flex scanner internal error--end of buffer missed" );
01457
01458 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01459 {
01460 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
01461 {
01462
01463
01464
01465 return EOB_ACT_END_OF_FILE;
01466 }
01467
01468 else
01469 {
01470
01471
01472
01473 return EOB_ACT_LAST_MATCH;
01474 }
01475 }
01476
01477
01478
01479
01480 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
01481
01482 for ( i = 0; i < number_to_move; ++i )
01483 *(dest++) = *(source++);
01484
01485 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01486
01487
01488
01489 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
01490
01491 else
01492 {
01493 int num_to_read =
01494 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
01495
01496 while ( num_to_read <= 0 )
01497 {
01498
01499
01500 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
01501
01502 int yy_c_buf_p_offset =
01503 (int) ((yy_c_buf_p) - b->yy_ch_buf);
01504
01505 if ( b->yy_is_our_buffer )
01506 {
01507 int new_size = b->yy_buf_size * 2;
01508
01509 if ( new_size <= 0 )
01510 b->yy_buf_size += b->yy_buf_size / 8;
01511 else
01512 b->yy_buf_size *= 2;
01513
01514 b->yy_ch_buf = (char *)
01515
01516 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
01517 }
01518 else
01519
01520 b->yy_ch_buf = 0;
01521
01522 if ( ! b->yy_ch_buf )
01523 YY_FATAL_ERROR(
01524 "fatal error - scanner input buffer overflow" );
01525
01526 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
01527
01528 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
01529 number_to_move - 1;
01530
01531 }
01532
01533 if ( num_to_read > YY_READ_BUF_SIZE )
01534 num_to_read = YY_READ_BUF_SIZE;
01535
01536
01537 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
01538 (yy_n_chars), num_to_read );
01539
01540 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
01541 }
01542
01543 if ( (yy_n_chars) == 0 )
01544 {
01545 if ( number_to_move == YY_MORE_ADJ )
01546 {
01547 ret_val = EOB_ACT_END_OF_FILE;
01548 yyrestart(yyin );
01549 }
01550
01551 else
01552 {
01553 ret_val = EOB_ACT_LAST_MATCH;
01554 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
01555 YY_BUFFER_EOF_PENDING;
01556 }
01557 }
01558
01559 else
01560 ret_val = EOB_ACT_CONTINUE_SCAN;
01561
01562 (yy_n_chars) += number_to_move;
01563 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
01564 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
01565
01566 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
01567
01568 return ret_val;
01569 }
01570
01571
01572
01573 static yy_state_type yy_get_previous_state (void)
01574 {
01575 register yy_state_type yy_current_state;
01576 register char *yy_cp;
01577
01578 yy_current_state = (yy_start);
01579
01580 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
01581 {
01582 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01583 if ( yy_accept[yy_current_state] )
01584 {
01585 (yy_last_accepting_state) = yy_current_state;
01586 (yy_last_accepting_cpos) = yy_cp;
01587 }
01588 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01589 {
01590 yy_current_state = (int) yy_def[yy_current_state];
01591 if ( yy_current_state >= 280 )
01592 yy_c = yy_meta[(unsigned int) yy_c];
01593 }
01594 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01595 }
01596
01597 return yy_current_state;
01598 }
01599
01600
01601
01602
01603
01604
01605 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
01606 {
01607 register int yy_is_jam;
01608 register char *yy_cp = (yy_c_buf_p);
01609
01610 register YY_CHAR yy_c = 1;
01611 if ( yy_accept[yy_current_state] )
01612 {
01613 (yy_last_accepting_state) = yy_current_state;
01614 (yy_last_accepting_cpos) = yy_cp;
01615 }
01616 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01617 {
01618 yy_current_state = (int) yy_def[yy_current_state];
01619 if ( yy_current_state >= 280 )
01620 yy_c = yy_meta[(unsigned int) yy_c];
01621 }
01622 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01623 yy_is_jam = (yy_current_state == 279);
01624
01625 return yy_is_jam ? 0 : yy_current_state;
01626 }
01627
01628 static void yyunput (int c, register char * yy_bp )
01629 {
01630 register char *yy_cp;
01631
01632 yy_cp = (yy_c_buf_p);
01633
01634
01635 *yy_cp = (yy_hold_char);
01636
01637 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
01638 {
01639
01640 register int number_to_move = (yy_n_chars) + 2;
01641 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
01642 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
01643 register char *source =
01644 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
01645
01646 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
01647 *--dest = *--source;
01648
01649 yy_cp += (int) (dest - source);
01650 yy_bp += (int) (dest - source);
01651 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
01652 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
01653
01654 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
01655 YY_FATAL_ERROR( "flex scanner push-back overflow" );
01656 }
01657
01658 *--yy_cp = (char) c;
01659
01660 (yytext_ptr) = yy_bp;
01661 (yy_hold_char) = *yy_cp;
01662 (yy_c_buf_p) = yy_cp;
01663 }
01664
01665 #ifndef YY_NO_INPUT
01666 #ifdef __cplusplus
01667 static int yyinput (void)
01668 #else
01669 static int input (void)
01670 #endif
01671
01672 {
01673 int c;
01674
01675 *(yy_c_buf_p) = (yy_hold_char);
01676
01677 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
01678 {
01679
01680
01681
01682
01683 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
01684
01685 *(yy_c_buf_p) = '\0';
01686
01687 else
01688 {
01689 int offset = (yy_c_buf_p) - (yytext_ptr);
01690 ++(yy_c_buf_p);
01691
01692 switch ( yy_get_next_buffer( ) )
01693 {
01694 case EOB_ACT_LAST_MATCH:
01695
01696
01697
01698
01699
01700
01701
01702
01703
01704
01705
01706 yyrestart(yyin );
01707
01708
01709
01710 case EOB_ACT_END_OF_FILE:
01711 {
01712 if ( yywrap( ) )
01713 return 0;
01714
01715 if ( ! (yy_did_buffer_switch_on_eof) )
01716 YY_NEW_FILE;
01717 #ifdef __cplusplus
01718 return yyinput();
01719 #else
01720 return input();
01721 #endif
01722 }
01723
01724 case EOB_ACT_CONTINUE_SCAN:
01725 (yy_c_buf_p) = (yytext_ptr) + offset;
01726 break;
01727 }
01728 }
01729 }
01730
01731 c = *(unsigned char *) (yy_c_buf_p);
01732 *(yy_c_buf_p) = '\0';
01733 (yy_hold_char) = *++(yy_c_buf_p);
01734
01735 return c;
01736 }
01737 #endif
01738
01744 void yyrestart (FILE * input_file )
01745 {
01746
01747 if ( ! YY_CURRENT_BUFFER ){
01748 yyensure_buffer_stack ();
01749 YY_CURRENT_BUFFER_LVALUE =
01750 yy_create_buffer(yyin,YY_BUF_SIZE );
01751 }
01752
01753 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
01754 yy_load_buffer_state( );
01755 }
01756
01761 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
01762 {
01763
01764
01765
01766
01767
01768
01769 yyensure_buffer_stack ();
01770 if ( YY_CURRENT_BUFFER == new_buffer )
01771 return;
01772
01773 if ( YY_CURRENT_BUFFER )
01774 {
01775
01776 *(yy_c_buf_p) = (yy_hold_char);
01777 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
01778 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
01779 }
01780
01781 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01782 yy_load_buffer_state( );
01783
01784
01785
01786
01787
01788
01789 (yy_did_buffer_switch_on_eof) = 1;
01790 }
01791
01792 static void yy_load_buffer_state (void)
01793 {
01794 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01795 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
01796 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
01797 (yy_hold_char) = *(yy_c_buf_p);
01798 }
01799
01806 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
01807 {
01808 YY_BUFFER_STATE b;
01809
01810 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
01811 if ( ! b )
01812 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01813
01814 b->yy_buf_size = size;
01815
01816
01817
01818
01819 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
01820 if ( ! b->yy_ch_buf )
01821 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01822
01823 b->yy_is_our_buffer = 1;
01824
01825 yy_init_buffer(b,file );
01826
01827 return b;
01828 }
01829
01834 void yy_delete_buffer (YY_BUFFER_STATE b )
01835 {
01836
01837 if ( ! b )
01838 return;
01839
01840 if ( b == YY_CURRENT_BUFFER )
01841 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
01842
01843 if ( b->yy_is_our_buffer )
01844 yyfree((void *) b->yy_ch_buf );
01845
01846 yyfree((void *) b );
01847 }
01848
01849 #ifndef __cplusplus
01850 extern int isatty (int );
01851 #endif
01852
01853
01854
01855
01856
01857 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
01858
01859 {
01860 int oerrno = errno;
01861
01862 yy_flush_buffer(b );
01863
01864 b->yy_input_file = file;
01865 b->yy_fill_buffer = 1;
01866
01867
01868
01869
01870
01871 if (b != YY_CURRENT_BUFFER){
01872 b->yy_bs_lineno = 1;
01873 b->yy_bs_column = 0;
01874 }
01875
01876 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
01877
01878 errno = oerrno;
01879 }
01880
01885 void yy_flush_buffer (YY_BUFFER_STATE b )
01886 {
01887 if ( ! b )
01888 return;
01889
01890 b->yy_n_chars = 0;
01891
01892
01893
01894
01895
01896 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
01897 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
01898
01899 b->yy_buf_pos = &b->yy_ch_buf[0];
01900
01901 b->yy_at_bol = 1;
01902 b->yy_buffer_status = YY_BUFFER_NEW;
01903
01904 if ( b == YY_CURRENT_BUFFER )
01905 yy_load_buffer_state( );
01906 }
01907
01914 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
01915 {
01916 if (new_buffer == NULL)
01917 return;
01918
01919 yyensure_buffer_stack();
01920
01921
01922 if ( YY_CURRENT_BUFFER )
01923 {
01924
01925 *(yy_c_buf_p) = (yy_hold_char);
01926 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
01927 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
01928 }
01929
01930
01931 if (YY_CURRENT_BUFFER)
01932 (yy_buffer_stack_top)++;
01933 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01934
01935
01936 yy_load_buffer_state( );
01937 (yy_did_buffer_switch_on_eof) = 1;
01938 }
01939
01944 void yypop_buffer_state (void)
01945 {
01946 if (!YY_CURRENT_BUFFER)
01947 return;
01948
01949 yy_delete_buffer(YY_CURRENT_BUFFER );
01950 YY_CURRENT_BUFFER_LVALUE = NULL;
01951 if ((yy_buffer_stack_top) > 0)
01952 --(yy_buffer_stack_top);
01953
01954 if (YY_CURRENT_BUFFER) {
01955 yy_load_buffer_state( );
01956 (yy_did_buffer_switch_on_eof) = 1;
01957 }
01958 }
01959
01960
01961
01962
01963 static void yyensure_buffer_stack (void)
01964 {
01965 int num_to_alloc;
01966
01967 if (!(yy_buffer_stack)) {
01968
01969
01970
01971
01972
01973 num_to_alloc = 1;
01974 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
01975 (num_to_alloc * sizeof(struct yy_buffer_state*)
01976 );
01977
01978 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
01979
01980 (yy_buffer_stack_max) = num_to_alloc;
01981 (yy_buffer_stack_top) = 0;
01982 return;
01983 }
01984
01985 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
01986
01987
01988 int grow_size = 8 ;
01989
01990 num_to_alloc = (yy_buffer_stack_max) + grow_size;
01991 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
01992 ((yy_buffer_stack),
01993 num_to_alloc * sizeof(struct yy_buffer_state*)
01994 );
01995
01996
01997 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
01998 (yy_buffer_stack_max) = num_to_alloc;
01999 }
02000 }
02001
02008 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
02009 {
02010 YY_BUFFER_STATE b;
02011
02012 if ( size < 2 ||
02013 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02014 base[size-1] != YY_END_OF_BUFFER_CHAR )
02015
02016 return 0;
02017
02018 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
02019 if ( ! b )
02020 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
02021
02022 b->yy_buf_size = size - 2;
02023 b->yy_buf_pos = b->yy_ch_buf = base;
02024 b->yy_is_our_buffer = 0;
02025 b->yy_input_file = 0;
02026 b->yy_n_chars = b->yy_buf_size;
02027 b->yy_is_interactive = 0;
02028 b->yy_at_bol = 1;
02029 b->yy_fill_buffer = 0;
02030 b->yy_buffer_status = YY_BUFFER_NEW;
02031
02032 yy_switch_to_buffer(b );
02033
02034 return b;
02035 }
02036
02045 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
02046 {
02047
02048 return yy_scan_bytes(yystr,strlen(yystr) );
02049 }
02050
02058 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
02059 {
02060 YY_BUFFER_STATE b;
02061 char *buf;
02062 yy_size_t n;
02063 int i;
02064
02065
02066 n = _yybytes_len + 2;
02067 buf = (char *) yyalloc(n );
02068 if ( ! buf )
02069 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
02070
02071 for ( i = 0; i < _yybytes_len; ++i )
02072 buf[i] = yybytes[i];
02073
02074 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02075
02076 b = yy_scan_buffer(buf,n );
02077 if ( ! b )
02078 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
02079
02080
02081
02082
02083 b->yy_is_our_buffer = 1;
02084
02085 return b;
02086 }
02087
02088 #ifndef YY_EXIT_FAILURE
02089 #define YY_EXIT_FAILURE 2
02090 #endif
02091
02092 static void yy_fatal_error (yyconst char* msg )
02093 {
02094 (void) fprintf( stderr, "%s\n", msg );
02095 exit( YY_EXIT_FAILURE );
02096 }
02097
02098
02099
02100 #undef yyless
02101 #define yyless(n) \
02102 do \
02103 { \
02104 \
02105 int yyless_macro_arg = (n); \
02106 YY_LESS_LINENO(yyless_macro_arg);\
02107 yytext[yyleng] = (yy_hold_char); \
02108 (yy_c_buf_p) = yytext + yyless_macro_arg; \
02109 (yy_hold_char) = *(yy_c_buf_p); \
02110 *(yy_c_buf_p) = '\0'; \
02111 yyleng = yyless_macro_arg; \
02112 } \
02113 while ( 0 )
02114
02115
02116
02120 int yyget_lineno (void)
02121 {
02122
02123 return yylineno;
02124 }
02125
02129 FILE *yyget_in (void)
02130 {
02131 return yyin;
02132 }
02133
02137 FILE *yyget_out (void)
02138 {
02139 return yyout;
02140 }
02141
02145 int yyget_leng (void)
02146 {
02147 return yyleng;
02148 }
02149
02154 char *yyget_text (void)
02155 {
02156 return yytext;
02157 }
02158
02163 void yyset_lineno (int line_number )
02164 {
02165
02166 yylineno = line_number;
02167 }
02168
02175 void yyset_in (FILE * in_str )
02176 {
02177 yyin = in_str ;
02178 }
02179
02180 void yyset_out (FILE * out_str )
02181 {
02182 yyout = out_str ;
02183 }
02184
02185 int yyget_debug (void)
02186 {
02187 return yy_flex_debug;
02188 }
02189
02190 void yyset_debug (int bdebug )
02191 {
02192 yy_flex_debug = bdebug ;
02193 }
02194
02195 static int yy_init_globals (void)
02196 {
02197
02198
02199
02200
02201 (yy_buffer_stack) = 0;
02202 (yy_buffer_stack_top) = 0;
02203 (yy_buffer_stack_max) = 0;
02204 (yy_c_buf_p) = (char *) 0;
02205 (yy_init) = 0;
02206 (yy_start) = 0;
02207
02208
02209 #ifdef YY_STDINIT
02210 yyin = stdin;
02211 yyout = stdout;
02212 #else
02213 yyin = (FILE *) 0;
02214 yyout = (FILE *) 0;
02215 #endif
02216
02217
02218
02219
02220 return 0;
02221 }
02222
02223
02224 int yylex_destroy (void)
02225 {
02226
02227
02228 while(YY_CURRENT_BUFFER){
02229 yy_delete_buffer(YY_CURRENT_BUFFER );
02230 YY_CURRENT_BUFFER_LVALUE = NULL;
02231 yypop_buffer_state();
02232 }
02233
02234
02235 yyfree((yy_buffer_stack) );
02236 (yy_buffer_stack) = NULL;
02237
02238
02239
02240 yy_init_globals( );
02241
02242 return 0;
02243 }
02244
02245
02246
02247
02248
02249 #ifndef yytext_ptr
02250 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
02251 {
02252 register int i;
02253 for ( i = 0; i < n; ++i )
02254 s1[i] = s2[i];
02255 }
02256 #endif
02257
02258 #ifdef YY_NEED_STRLEN
02259 static int yy_flex_strlen (yyconst char * s )
02260 {
02261 register int n;
02262 for ( n = 0; s[n]; ++n )
02263 ;
02264
02265 return n;
02266 }
02267 #endif
02268
02269 void *yyalloc (yy_size_t size )
02270 {
02271 return (void *) malloc( size );
02272 }
02273
02274 void *yyrealloc (void * ptr, yy_size_t size )
02275 {
02276
02277
02278
02279
02280
02281
02282
02283 return (void *) realloc( (char *) ptr, size );
02284 }
02285
02286 void yyfree (void * ptr )
02287 {
02288 free( (char *) ptr );
02289 }
02290
02291 #define YYTABLES_NAME "yytables"
02292
02293 #line 129 "SRC/verilog_flex.l"
02294
02295
02296