1 #define yy_create_buffer bx_create_buffer
2 #define yy_delete_buffer bx_delete_buffer
3 #define yy_scan_buffer bx_scan_buffer
4 #define yy_scan_string bx_scan_string
5 #define yy_scan_bytes bx_scan_bytes
6 #define yy_flex_debug bx_flex_debug
7 #define yy_init_buffer bx_init_buffer
8 #define yy_flush_buffer bx_flush_buffer
9 #define yy_load_buffer_state bx_load_buffer_state
10 #define yy_switch_to_buffer bx_switch_to_buffer
15 #define yyrestart bxrestart
19 /* A lexical scanner generated by flex */
21 /* Scanner skeleton version:
22 * $Header: /cvsroot/bochs/bochs/bx_debug/lexer.c,v 1.34 2008/05/01 19:10:04 sshwarts Exp $
26 #define YY_FLEX_MAJOR_VERSION 2
27 #define YY_FLEX_MINOR_VERSION 5
32 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
47 /* Use prototypes in function declarations. */
50 /* The "const" storage-class-modifier is valid. */
53 #else /* ! __cplusplus */
61 #endif /* ! __cplusplus */
80 #define YY_PROTO(proto) proto
82 #define YY_PROTO(proto) ()
86 /* Returned upon end-of-file. */
89 /* Promotes a possibly negative, possibly signed char to an unsigned
90 * integer for use as an array index. If the signed char is negative,
91 * we want to instead treat it as an 8-bit unsigned char, hence the
94 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
96 /* Enter a start condition. This macro really ought to take a parameter,
97 * but we do it the disgusting crufty way forced on us by the ()-less
98 * definition of BEGIN.
100 #define BEGIN yy_start = 1 + 2 *
102 /* Translate the current start state into a value that can be later handed
103 * to BEGIN to return to the state. The YYSTATE alias is for lex
106 #define YY_START ((yy_start - 1) / 2)
107 #define YYSTATE YY_START
109 /* Action number for EOF rule of a given start state. */
110 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
112 /* Special action meaning "start processing a new file". */
113 #define YY_NEW_FILE yyrestart( yyin )
115 #define YY_END_OF_BUFFER_CHAR 0
117 /* Size of default input buffer. */
118 #define YY_BUF_SIZE 16384
120 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
123 extern FILE *yyin
, *yyout
;
125 #define EOB_ACT_CONTINUE_SCAN 0
126 #define EOB_ACT_END_OF_FILE 1
127 #define EOB_ACT_LAST_MATCH 2
129 /* The funky do-while in the following #define is used to turn the definition
130 * int a single C statement (which needs a semi-colon terminator). This
131 * avoids problems with code like:
133 * if ( condition_holds )
136 * do_something_else();
138 * Prior to using the do-while the compiler would get upset at the
139 * "else" because it interpreted the "if" statement as being all
140 * done when it reached the ';' after the yyless() call.
143 /* Return all but the first 'n' matched characters back to the input stream. */
148 /* Undo effects of setting up yytext. */ \
149 *yy_cp = yy_hold_char; \
150 YY_RESTORE_YY_MORE_OFFSET \
151 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
152 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
156 #define unput(c) yyunput( c, yytext_ptr )
158 /* The following is because we cannot portably get our hands on size_t
159 * (without autoconf's help, which isn't available because we want
160 * flex-generated scanners to compile on their own).
162 typedef unsigned int yy_size_t
;
165 struct yy_buffer_state
169 char *yy_ch_buf
; /* input buffer */
170 char *yy_buf_pos
; /* current position in input buffer */
172 /* Size of input buffer in bytes, not including room for EOB
175 yy_size_t yy_buf_size
;
177 /* Number of characters read into yy_ch_buf, not including EOB
182 /* Whether we "own" the buffer - i.e., we know we created it,
183 * and can realloc() it to grow it, and should free() it to
186 int yy_is_our_buffer
;
188 /* Whether this is an "interactive" input source; if so, and
189 * if we're using stdio for input, then we want to use getc()
190 * instead of fread(), to make sure we stop fetching input after
193 int yy_is_interactive
;
195 /* Whether we're considered to be at the beginning of a line.
196 * If so, '^' rules will be active on the next match, otherwise
201 /* Whether to try to fill the input buffer when we reach the
206 int yy_buffer_status
;
207 #define YY_BUFFER_NEW 0
208 #define YY_BUFFER_NORMAL 1
209 /* When an EOF's been seen but there's still some text to process
210 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
211 * shouldn't try reading from the input source any more. We might
212 * still have a bunch of tokens to match, though, because of
213 * possible backing-up.
215 * When we actually see the EOF, we change the status to "new"
216 * (via yyrestart()), so that the user can continue scanning by
217 * just pointing yyin at a new input file.
219 #define YY_BUFFER_EOF_PENDING 2
222 static YY_BUFFER_STATE yy_current_buffer
= 0;
224 /* We provide macros for accessing buffer states in case in the
225 * future we want to put the buffer states in a more general
228 #define YY_CURRENT_BUFFER yy_current_buffer
231 /* yy_hold_char holds the character lost when yytext is formed. */
232 static char yy_hold_char
;
234 static int yy_n_chars
; /* number of characters read into yy_ch_buf */
239 /* Points to current character in buffer. */
240 static char *yy_c_buf_p
= (char *) 0;
241 static int yy_init
= 1; /* whether we need to initialize */
242 static int yy_start
= 0; /* start state number */
244 /* Flag which is used to allow yywrap()'s to do buffer switches
245 * instead of setting up a fresh yyin. A bit of a hack ...
247 static int yy_did_buffer_switch_on_eof
;
249 void yyrestart
YY_PROTO(( FILE *input_file
));
251 void yy_switch_to_buffer
YY_PROTO(( YY_BUFFER_STATE new_buffer
));
252 void yy_load_buffer_state
YY_PROTO(( void ));
253 YY_BUFFER_STATE yy_create_buffer
YY_PROTO(( FILE *file
, int size
));
254 void yy_delete_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
255 void yy_init_buffer
YY_PROTO(( YY_BUFFER_STATE b
, FILE *file
));
256 void yy_flush_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
257 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
259 YY_BUFFER_STATE yy_scan_buffer
YY_PROTO(( char *base
, yy_size_t size
));
260 YY_BUFFER_STATE yy_scan_string
YY_PROTO(( yyconst
char *yy_str
));
261 YY_BUFFER_STATE yy_scan_bytes
YY_PROTO(( yyconst
char *bytes
, int len
));
263 static void *yy_flex_alloc
YY_PROTO(( yy_size_t
));
264 static void *yy_flex_realloc
YY_PROTO(( void *, yy_size_t
));
265 static void yy_flex_free
YY_PROTO(( void * ));
267 #define yy_new_buffer yy_create_buffer
269 #define yy_set_interactive(is_interactive) \
271 if ( ! yy_current_buffer ) \
272 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
273 yy_current_buffer->yy_is_interactive = is_interactive; \
276 #define yy_set_bol(at_bol) \
278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_at_bol = at_bol; \
283 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
285 typedef unsigned char YY_CHAR
;
286 FILE *yyin
= (FILE *) 0, *yyout
= (FILE *) 0;
287 typedef int yy_state_type
;
289 #define yytext_ptr yytext
291 static yy_state_type yy_get_previous_state
YY_PROTO(( void ));
292 static yy_state_type yy_try_NUL_trans
YY_PROTO(( yy_state_type current_state
));
293 static int yy_get_next_buffer
YY_PROTO(( void ));
294 static void yy_fatal_error
YY_PROTO(( yyconst
char msg
[] ));
296 /* Done after the current pattern has been matched and before the
297 * corresponding action - sets up yytext.
299 #define YY_DO_BEFORE_ACTION \
300 yytext_ptr = yy_bp; \
301 yyleng = (int) (yy_cp - yy_bp); \
302 yy_hold_char = *yy_cp; \
306 #define YY_NUM_RULES 203
307 #define YY_END_OF_BUFFER 204
308 static yyconst
short int yy_accept
[450] =
310 0, 0, 0, 0, 0, 0, 204, 201, 1, 199,
311 187, 201, 200, 201, 184, 201, 188, 189, 180, 178,
312 179, 181, 194, 194, 198, 201, 201, 173, 197, 186,
313 195, 19, 6, 45, 195, 195, 195, 172, 195, 195,
314 195, 195, 13, 195, 14, 50, 27, 11, 195, 61,
315 195, 195, 51, 185, 202, 1, 202, 198, 202, 1,
316 0, 191, 0, 200, 196, 0, 190, 0, 195, 193,
317 194, 0, 183, 182, 197, 195, 110, 94, 114, 111,
318 95, 120, 195, 115, 195, 112, 96, 195, 195, 22,
319 165, 116, 195, 113, 119, 97, 195, 195, 168, 117,
321 195, 195, 195, 195, 195, 195, 166, 195, 195, 30,
322 169, 195, 195, 170, 195, 195, 195, 162, 195, 195,
323 17, 195, 195, 195, 195, 195, 195, 3, 195, 19,
324 195, 195, 195, 195, 195, 195, 195, 197, 154, 155,
325 195, 195, 195, 195, 195, 195, 195, 73, 195, 195,
326 118, 195, 121, 195, 167, 195, 195, 195, 195, 195,
327 195, 195, 16, 195, 195, 195, 195, 195, 52, 175,
328 176, 177, 196, 192, 195, 47, 46, 101, 195, 195,
329 195, 34, 5, 195, 44, 99, 195, 195, 58, 195,
330 130, 136, 131, 132, 135, 133, 195, 163, 134, 137,
332 195, 195, 30, 37, 195, 195, 35, 195, 195, 59,
333 36, 195, 195, 38, 195, 33, 195, 197, 195, 4,
334 195, 195, 93, 195, 60, 195, 195, 195, 195, 195,
335 156, 157, 158, 159, 160, 161, 102, 138, 122, 103,
336 139, 123, 146, 153, 147, 148, 151, 149, 195, 195,
337 27, 195, 164, 150, 152, 74, 2, 195, 98, 195,
338 195, 100, 195, 31, 195, 195, 195, 195, 40, 195,
339 195, 39, 195, 195, 92, 195, 195, 195, 32, 195,
340 195, 174, 7, 23, 195, 195, 195, 66, 195, 49,
341 195, 195, 172, 21, 195, 195, 195, 195, 195, 197,
343 90, 12, 91, 195, 195, 195, 195, 195, 195, 48,
344 104, 140, 124, 105, 141, 125, 106, 142, 126, 107,
345 143, 127, 108, 144, 128, 109, 145, 129, 81, 195,
346 195, 28, 195, 195, 83, 71, 195, 25, 10, 65,
347 195, 195, 57, 195, 195, 195, 195, 195, 195, 15,
348 18, 195, 24, 195, 41, 195, 195, 171, 195, 195,
349 195, 84, 42, 195, 197, 195, 195, 195, 195, 72,
350 55, 195, 195, 195, 195, 86, 26, 9, 195, 195,
351 67, 195, 195, 79, 88, 82, 195, 43, 62, 195,
352 87, 195, 17, 77, 20, 195, 195, 195, 75, 195,
354 195, 195, 195, 195, 195, 195, 16, 195, 195, 195,
355 56, 195, 195, 195, 53, 54, 195, 85, 195, 195,
356 80, 8, 195, 195, 76, 195, 195, 195, 195, 195,
357 195, 195, 195, 195, 29, 195, 69, 68, 195, 64,
358 195, 195, 195, 63, 78, 195, 70, 89, 0
361 static yyconst
int yy_ec
[256] =
363 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
364 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
366 1, 2, 4, 5, 6, 7, 1, 8, 9, 10,
367 11, 12, 13, 1, 14, 1, 15, 16, 17, 18,
368 19, 20, 21, 22, 22, 23, 24, 1, 25, 26,
369 1, 27, 28, 1, 29, 29, 29, 29, 29, 29,
370 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
371 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
372 1, 31, 1, 32, 30, 1, 33, 34, 35, 36,
374 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
375 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
376 57, 58, 1, 59, 1, 1, 1, 1, 1, 1,
377 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
378 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
379 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
380 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
381 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
383 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
385 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
386 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
387 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
388 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
389 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
393 static yyconst
int yy_meta
[60] =
395 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
396 1, 1, 1, 3, 1, 4, 4, 4, 4, 4,
397 4, 4, 4, 4, 1, 1, 1, 1, 5, 6,
398 1, 1, 7, 8, 8, 8, 7, 7, 9, 9,
399 9, 10, 10, 10, 9, 10, 9, 10, 10, 10,
400 9, 9, 9, 10, 9, 11, 10, 10, 1
403 static yyconst
short int yy_base
[464] =
405 0, 0, 58, 60, 62, 64, 207, 2514, 203, 2514,
406 2514, 63, 0, 0, 2514, 60, 2514, 2514, 2514, 2514,
407 0, 2514, 47, 0, 2514, 176, 172, 2514, 0, 2514,
408 90, 133, 85, 153, 177, 42, 124, 182, 195, 196,
409 214, 211, 230, 233, 255, 260, 300, 323, 299, 294,
410 347, 344, 358, 2514, 2514, 194, 399, 2514, 0, 193,
411 69, 2514, 0, 0, 0, 71, 2514, 0, 0, 72,
412 0, 0, 2514, 2514, 0, 397, 416, 417, 430, 431,
413 444, 453, 458, 467, 472, 481, 486, 322, 497, 517,
414 510, 526, 529, 538, 547, 552, 566, 571, 580, 585,
416 594, 599, 608, 613, 622, 627, 640, 645, 654, 659,
417 673, 674, 687, 688, 701, 702, 715, 720, 729, 740,
418 743, 754, 761, 768, 777, 782, 795, 796, 809, 810,
419 823, 826, 842, 849, 864, 865, 880, 408, 42, 87,
420 883, 892, 897, 910, 934, 915, 939, 66, 397, 953,
421 958, 966, 258, 973, 986, 993, 994, 1003, 1016, 869,
422 1023, 1030, 1033, 1038, 1043, 1053, 1058, 1063, 1068, 0,
423 0, 0, 0, 0, 1077, 1078, 1085, 1088, 1098, 1099,
424 1107, 1112, 1121, 1122, 1129, 1132, 1142, 1149, 1152, 1157,
425 1162, 1171, 1172, 1179, 1182, 1192, 1193, 1201, 1202, 1212,
427 1215, 1222, 1223, 1236, 1243, 1250, 1251, 1258, 1271, 1278,
428 1279, 1298, 1293, 1301, 1306, 1321, 1328, 72, 1329, 1336,
429 1349, 1356, 1357, 1366, 1371, 1376, 1379, 1393, 1396, 1401,
430 88, 103, 104, 131, 151, 239, 0, 0, 0, 0,
431 0, 0, 1404, 1415, 1423, 1424, 1432, 1437, 1445, 1452,
432 1459, 1462, 1469, 1472, 1482, 1483, 1491, 1492, 1502, 1511,
433 1516, 1519, 1524, 1533, 1538, 1543, 1546, 1566, 1557, 1574,
434 1571, 1579, 1588, 1596, 1593, 1601, 1610, 1615, 1618, 1623,
435 1637, 1638, 1646, 1651, 1659, 1666, 1673, 1674, 1681, 1694,
436 1695, 1702, 1703, 1716, 1723, 1724, 1731, 1744, 1751, 176,
438 0, 1754, 1759, 1764, 1773, 1783, 1774, 1794, 1797, 1802,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 1805, 1816,
441 1824, 1825, 1835, 1838, 1845, 1846, 1855, 1860, 1869, 1870,
442 1879, 1880, 1889, 1899, 1890, 1900, 1913, 1910, 1921, 1924,
443 1932, 1935, 1943, 1952, 1957, 1960, 1965, 1974, 1979, 1982,
444 1989, 2003, 2004, 2011, 175, 2014, 2025, 2028, 2042, 2033,
445 2047, 2052, 2057, 2062, 2067, 2072, 2081, 2082, 2089, 2092,
446 2112, 2102, 2109, 2122, 2123, 2131, 2132, 2142, 2145, 2153,
447 2156, 2164, 2167, 2175, 2178, 2186, 2189, 137, 2197, 2206,
449 2214, 2211, 2219, 2228, 81, 2233, 2236, 2241, 2250, 2261,
450 2258, 2271, 132, 2278, 2285, 2286, 137, 2299, 142, 141,
451 2300, 2307, 2310, 2320, 2321, 94, 2329, 129, 126, 131,
452 2330, 2340, 134, 125, 2343, 125, 0, 0, 2350, 2351,
453 105, 99, 79, 2360, 0, 45, 0, 0, 2514, 2411,
454 2422, 2433, 2440, 2451, 2460, 2468, 77, 2476, 2485, 68,
458 static yyconst
short int yy_def
[464] =
460 449, 1, 450, 450, 450, 450, 449, 449, 449, 449,
461 449, 451, 452, 453, 449, 454, 449, 449, 449, 449,
462 455, 449, 456, 457, 449, 449, 449, 449, 458, 449,
463 459, 459, 32, 32, 32, 32, 32, 32, 32, 32,
464 39, 39, 39, 39, 32, 32, 35, 32, 32, 39,
465 39, 32, 32, 449, 449, 449, 449, 449, 460, 449,
466 451, 449, 451, 452, 461, 454, 449, 454, 455, 456,
467 457, 462, 449, 449, 458, 32, 32, 32, 32, 32,
468 32, 32, 32, 32, 32, 32, 32, 39, 39, 39,
469 39, 39, 32, 32, 32, 32, 32, 32, 32, 32,
471 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
472 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
473 32, 32, 39, 32, 39, 32, 32, 32, 32, 32,
474 32, 39, 39, 39, 39, 39, 39, 458, 458, 458,
475 32, 32, 32, 32, 32, 32, 32, 145, 145, 145,
476 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
477 145, 145, 145, 145, 145, 145, 145, 145, 145, 57,
478 463, 460, 461, 462, 145, 145, 145, 145, 145, 145,
479 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
480 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
482 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
483 145, 145, 145, 145, 145, 145, 145, 458, 145, 145,
484 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
485 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
486 458, 458, 145, 145, 145, 145, 145, 145, 145, 145,
487 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
488 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
489 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
490 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
491 145, 145, 145, 145, 145, 145, 145, 145, 145, 458,
493 458, 145, 145, 145, 145, 145, 145, 145, 145, 145,
494 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
495 458, 458, 458, 458, 458, 458, 458, 458, 145, 145,
496 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
497 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
498 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
499 145, 145, 145, 145, 458, 145, 145, 145, 145, 145,
500 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
501 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
502 145, 145, 145, 145, 145, 145, 145, 455, 145, 145,
504 145, 145, 145, 145, 455, 145, 145, 145, 145, 145,
505 145, 145, 455, 145, 145, 145, 455, 145, 455, 455,
506 145, 145, 145, 145, 145, 455, 145, 455, 455, 455,
507 145, 145, 455, 455, 145, 455, 455, 455, 145, 145,
508 455, 455, 455, 145, 455, 455, 455, 455, 0, 449,
509 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
513 static yyconst
short int yy_nxt
[2574] =
515 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
516 18, 19, 20, 21, 22, 23, 24, 24, 24, 24,
517 24, 24, 24, 24, 25, 26, 27, 28, 29, 29,
518 8, 30, 31, 32, 33, 34, 35, 36, 37, 38,
519 39, 40, 40, 41, 42, 43, 44, 45, 46, 47,
520 48, 49, 50, 51, 52, 53, 40, 40, 54, 56,
521 10, 56, 10, 56, 10, 56, 10, 62, 67, 71,
522 71, 172, 57, 62, 57, 237, 59, 238, 59, 67,
523 71, 76, 58, 448, 58, 109, 58, 300, 58, 110,
524 68, 76, 111, 63, 71, 71, 239, 76, 256, 63,
526 76, 68, 72, 69, 76, 75, 75, 75, 75, 75,
527 75, 75, 75, 75, 301, 447, 76, 85, 75, 75,
528 240, 311, 241, 312, 86, 419, 433, 449, 87, 77,
529 420, 88, 89, 78, 90, 91, 314, 317, 315, 318,
530 92, 242, 313, 434, 446, 79, 69, 445, 75, 75,
531 75, 75, 75, 75, 75, 75, 75, 316, 319, 112,
532 443, 75, 75, 76, 320, 442, 321, 113, 441, 438,
533 437, 76, 80, 76, 114, 436, 81, 430, 429, 76,
534 82, 428, 83, 426, 323, 322, 324, 413, 84, 93,
535 301, 365, 94, 95, 60, 60, 96, 97, 74, 98,
537 76, 73, 76, 99, 60, 325, 449, 449, 100, 101,
538 102, 103, 104, 449, 105, 449, 76, 106, 115, 449,
539 76, 76, 449, 449, 76, 76, 76, 107, 449, 76,
540 116, 76, 108, 449, 76, 76, 449, 76, 76, 76,
541 117, 449, 118, 76, 119, 76, 76, 121, 120, 122,
542 76, 76, 449, 449, 123, 124, 76, 125, 76, 76,
543 76, 76, 449, 76, 76, 76, 126, 76, 76, 449,
544 127, 449, 326, 449, 327, 76, 449, 76, 128, 76,
545 76, 449, 76, 76, 449, 449, 76, 129, 130, 131,
546 76, 132, 76, 328, 76, 133, 76, 449, 134, 76,
548 449, 262, 76, 76, 135, 449, 136, 76, 76, 76,
549 76, 449, 137, 449, 449, 76, 138, 449, 449, 449,
550 449, 449, 139, 140, 449, 449, 449, 449, 449, 76,
551 449, 159, 141, 142, 143, 144, 145, 76, 76, 162,
552 146, 76, 76, 76, 449, 449, 76, 76, 160, 161,
553 147, 449, 449, 449, 76, 76, 148, 76, 449, 149,
554 449, 449, 150, 151, 449, 449, 152, 181, 449, 76,
555 153, 76, 154, 155, 156, 76, 165, 157, 76, 158,
556 163, 449, 76, 166, 449, 164, 449, 76, 449, 449,
557 449, 76, 76, 167, 76, 449, 76, 76, 449, 76,
559 76, 76, 168, 449, 449, 169, 449, 76, 449, 449,
560 449, 449, 449, 76, 170, 170, 170, 170, 170, 170,
561 170, 170, 170, 231, 232, 233, 234, 235, 236, 76,
562 449, 76, 171, 171, 171, 76, 76, 171, 171, 171,
563 76, 449, 449, 171, 76, 171, 76, 76, 257, 171,
564 171, 171, 76, 171, 171, 76, 76, 449, 449, 76,
565 76, 449, 449, 76, 76, 76, 76, 449, 449, 76,
566 76, 76, 76, 76, 76, 449, 449, 76, 76, 76,
567 76, 449, 449, 76, 175, 76, 76, 76, 176, 177,
568 449, 76, 76, 76, 179, 449, 178, 76, 449, 76,
570 76, 76, 76, 449, 449, 76, 76, 76, 76, 449,
571 76, 76, 449, 76, 76, 180, 76, 449, 449, 76,
572 76, 76, 76, 449, 76, 76, 449, 76, 76, 76,
573 76, 449, 76, 76, 449, 76, 76, 449, 449, 449,
574 449, 76, 76, 449, 76, 76, 76, 449, 449, 182,
575 76, 183, 76, 184, 449, 76, 449, 76, 449, 76,
576 449, 76, 76, 76, 76, 449, 76, 449, 76, 449,
577 76, 76, 185, 76, 449, 76, 76, 76, 76, 76,
578 449, 76, 449, 449, 76, 76, 76, 76, 449, 449,
579 186, 76, 449, 76, 76, 76, 187, 188, 189, 76,
581 449, 76, 76, 449, 449, 76, 449, 76, 449, 76,
582 76, 190, 449, 76, 76, 76, 449, 449, 76, 76,
583 76, 76, 449, 76, 76, 449, 76, 76, 76, 76,
584 449, 449, 76, 76, 76, 76, 449, 76, 76, 449,
585 76, 76, 76, 76, 449, 449, 192, 76, 76, 191,
586 449, 76, 76, 195, 193, 76, 76, 76, 449, 449,
587 76, 76, 76, 194, 449, 197, 76, 449, 196, 76,
588 76, 76, 449, 449, 198, 449, 76, 76, 449, 76,
589 199, 449, 76, 76, 76, 201, 202, 200, 76, 76,
590 449, 449, 76, 76, 76, 76, 449, 76, 76, 449,
592 76, 76, 76, 76, 449, 449, 76, 449, 76, 76,
593 449, 203, 76, 76, 76, 449, 76, 76, 449, 449,
594 76, 76, 76, 76, 449, 204, 76, 76, 76, 76,
595 76, 76, 449, 205, 76, 76, 76, 76, 449, 449,
596 76, 76, 76, 76, 206, 76, 449, 449, 76, 76,
597 76, 76, 208, 207, 76, 449, 76, 76, 76, 76,
598 449, 449, 76, 76, 76, 209, 449, 76, 76, 76,
599 76, 449, 76, 449, 449, 76, 76, 210, 76, 76,
600 449, 449, 76, 76, 76, 449, 76, 76, 449, 76,
601 76, 211, 212, 76, 449, 76, 76, 76, 76, 218,
603 449, 76, 449, 76, 213, 214, 215, 76, 76, 76,
604 76, 76, 217, 449, 76, 76, 449, 76, 449, 449,
605 449, 76, 76, 216, 76, 76, 76, 449, 449, 76,
606 76, 76, 220, 449, 76, 76, 449, 219, 76, 76,
607 449, 449, 76, 76, 76, 76, 449, 221, 76, 76,
608 76, 76, 76, 76, 449, 449, 76, 76, 76, 222,
609 449, 76, 76, 223, 76, 76, 76, 449, 449, 449,
610 76, 224, 76, 76, 449, 76, 225, 76, 76, 76,
611 449, 226, 449, 449, 76, 449, 449, 76, 449, 76,
612 449, 76, 449, 449, 76, 76, 76, 449, 76, 76,
614 76, 271, 76, 76, 227, 228, 449, 76, 449, 76,
615 76, 76, 76, 76, 76, 76, 229, 76, 76, 76,
616 230, 449, 76, 449, 449, 76, 76, 76, 449, 76,
617 76, 76, 76, 76, 449, 76, 76, 449, 243, 244,
618 76, 76, 449, 449, 76, 449, 76, 245, 449, 76,
619 247, 449, 246, 76, 76, 449, 449, 76, 76, 76,
620 449, 449, 253, 449, 76, 248, 249, 449, 250, 449,
621 76, 449, 251, 76, 449, 449, 449, 76, 76, 254,
622 449, 76, 76, 76, 252, 76, 255, 76, 76, 76,
623 76, 76, 76, 449, 76, 449, 76, 449, 76, 258,
625 76, 259, 449, 76, 76, 76, 261, 76, 76, 263,
626 449, 76, 449, 449, 449, 260, 76, 449, 76, 449,
627 76, 449, 264, 76, 76, 76, 76, 76, 76, 265,
628 449, 76, 76, 449, 267, 76, 76, 76, 449, 266,
629 449, 76, 449, 76, 76, 449, 449, 268, 76, 269,
630 76, 449, 449, 76, 76, 76, 449, 76, 270, 449,
631 449, 76, 76, 449, 76, 76, 76, 76, 76, 449,
632 275, 76, 76, 272, 449, 76, 76, 76, 449, 449,
633 76, 76, 274, 76, 273, 76, 449, 76, 76, 277,
634 76, 76, 76, 76, 276, 76, 76, 76, 278, 449,
636 76, 76, 76, 76, 449, 449, 76, 279, 76, 76,
637 76, 76, 76, 76, 449, 76, 76, 76, 76, 76,
638 76, 449, 76, 76, 449, 449, 76, 280, 76, 449,
639 281, 76, 76, 282, 449, 76, 76, 76, 76, 76,
640 449, 76, 449, 449, 76, 76, 76, 449, 76, 76,
641 76, 449, 449, 76, 76, 76, 76, 76, 283, 76,
642 284, 76, 76, 76, 76, 285, 76, 76, 449, 449,
643 76, 76, 76, 449, 76, 449, 76, 449, 449, 76,
644 76, 287, 76, 76, 76, 449, 76, 76, 449, 76,
645 76, 76, 76, 286, 76, 76, 76, 449, 449, 76,
647 76, 449, 76, 76, 76, 76, 76, 76, 288, 76,
648 76, 76, 76, 76, 76, 449, 76, 76, 449, 449,
649 76, 76, 76, 449, 76, 289, 76, 76, 449, 76,
650 76, 76, 76, 76, 76, 76, 76, 449, 449, 76,
651 76, 449, 76, 76, 76, 449, 76, 76, 449, 76,
652 76, 76, 76, 76, 76, 76, 76, 76, 449, 449,
653 291, 76, 76, 449, 449, 76, 290, 449, 76, 449,
654 76, 449, 76, 76, 76, 76, 292, 76, 449, 449,
655 449, 76, 76, 76, 76, 76, 76, 449, 76, 76,
656 76, 449, 76, 76, 449, 449, 76, 293, 449, 449,
658 76, 76, 449, 76, 294, 76, 449, 449, 76, 76,
659 76, 76, 76, 76, 449, 449, 76, 76, 449, 449,
660 449, 76, 295, 449, 449, 76, 449, 76, 76, 76,
661 76, 76, 76, 76, 296, 76, 76, 449, 76, 76,
662 76, 449, 449, 76, 76, 449, 449, 449, 76, 297,
663 449, 76, 449, 76, 449, 76, 76, 449, 298, 76,
664 76, 76, 76, 76, 299, 449, 76, 76, 76, 449,
665 76, 76, 449, 449, 76, 449, 449, 449, 76, 76,
666 302, 76, 449, 76, 449, 303, 76, 76, 76, 76,
667 76, 76, 304, 449, 76, 76, 449, 449, 76, 76,
669 76, 305, 449, 76, 76, 76, 76, 76, 76, 76,
670 76, 76, 449, 76, 76, 449, 76, 76, 449, 449,
671 449, 76, 449, 449, 307, 76, 76, 76, 76, 76,
672 76, 76, 306, 76, 76, 76, 76, 308, 76, 76,
673 449, 449, 76, 76, 449, 309, 76, 76, 449, 76,
674 449, 76, 310, 76, 76, 76, 76, 76, 76, 449,
675 449, 76, 76, 449, 76, 76, 76, 449, 449, 76,
676 76, 76, 449, 76, 76, 76, 449, 76, 449, 76,
677 329, 449, 76, 76, 76, 449, 76, 76, 449, 449,
678 76, 76, 449, 76, 76, 76, 76, 76, 330, 331,
680 76, 76, 76, 76, 76, 449, 76, 76, 449, 332,
681 76, 449, 76, 333, 76, 76, 76, 76, 449, 76,
682 76, 76, 76, 76, 76, 76, 76, 449, 449, 76,
683 76, 449, 76, 76, 76, 449, 76, 449, 334, 449,
684 76, 76, 76, 76, 449, 76, 335, 336, 76, 76,
685 76, 76, 76, 76, 76, 449, 76, 76, 76, 449,
686 449, 76, 338, 449, 449, 76, 337, 76, 449, 76,
687 76, 76, 76, 449, 76, 76, 76, 76, 76, 449,
688 76, 76, 449, 76, 76, 339, 449, 449, 76, 76,
689 340, 76, 449, 76, 449, 76, 76, 341, 76, 342,
691 76, 449, 449, 76, 76, 344, 76, 76, 76, 76,
692 343, 76, 76, 76, 449, 449, 76, 76, 449, 449,
693 345, 76, 76, 449, 76, 76, 76, 76, 76, 76,
694 76, 76, 346, 76, 76, 347, 449, 449, 76, 76,
695 449, 449, 76, 76, 76, 449, 76, 76, 76, 76,
696 76, 76, 76, 76, 449, 76, 76, 76, 449, 348,
697 76, 76, 449, 449, 449, 76, 349, 449, 76, 76,
698 76, 76, 76, 76, 350, 76, 76, 449, 76, 351,
699 76, 449, 449, 76, 76, 76, 352, 76, 76, 76,
700 449, 76, 449, 76, 449, 449, 76, 76, 76, 449,
702 76, 353, 449, 449, 76, 76, 76, 76, 76, 76,
703 354, 76, 76, 76, 449, 76, 76, 449, 449, 357,
704 449, 449, 355, 356, 76, 449, 76, 76, 76, 76,
705 449, 76, 76, 76, 359, 76, 76, 76, 449, 449,
706 76, 76, 449, 449, 76, 358, 449, 449, 76, 449,
707 76, 449, 76, 76, 76, 76, 361, 76, 76, 449,
708 449, 76, 76, 76, 449, 76, 76, 449, 449, 76,
709 449, 449, 360, 76, 76, 362, 76, 449, 76, 449,
710 449, 76, 76, 76, 364, 76, 76, 449, 76, 76,
711 449, 76, 76, 76, 76, 449, 366, 76, 76, 363,
713 449, 76, 76, 449, 76, 76, 76, 76, 76, 76,
714 449, 76, 76, 367, 76, 76, 368, 76, 449, 449,
715 449, 76, 449, 76, 76, 369, 76, 449, 76, 76,
716 370, 76, 76, 76, 76, 76, 76, 76, 449, 76,
717 76, 449, 449, 76, 76, 449, 449, 76, 76, 449,
718 76, 449, 76, 371, 76, 76, 76, 76, 76, 76,
719 449, 449, 76, 76, 449, 372, 76, 76, 449, 76,
720 76, 449, 76, 76, 373, 76, 76, 76, 76, 76,
721 76, 374, 375, 76, 76, 76, 449, 76, 76, 76,
722 449, 449, 76, 76, 76, 76, 76, 449, 76, 449,
724 449, 76, 76, 76, 76, 76, 376, 76, 76, 378,
725 377, 76, 76, 379, 76, 449, 449, 76, 76, 76,
726 76, 76, 76, 76, 76, 449, 380, 76, 76, 76,
727 76, 76, 383, 76, 76, 381, 449, 76, 76, 76,
728 76, 382, 76, 449, 76, 76, 385, 76, 76, 76,
729 76, 76, 384, 76, 449, 76, 76, 386, 76, 76,
730 76, 449, 76, 76, 76, 449, 76, 76, 449, 76,
731 76, 76, 449, 76, 76, 76, 449, 76, 449, 449,
732 387, 76, 76, 449, 76, 76, 76, 449, 388, 76,
733 76, 76, 76, 76, 76, 76, 449, 76, 76, 76,
735 449, 449, 76, 76, 389, 449, 76, 76, 76, 449,
736 390, 76, 76, 76, 76, 358, 76, 76, 449, 449,
737 76, 76, 391, 76, 76, 449, 449, 76, 449, 76,
738 449, 393, 76, 449, 392, 76, 76, 76, 76, 76,
739 449, 76, 76, 76, 449, 76, 76, 449, 76, 76,
740 449, 449, 76, 76, 76, 398, 395, 76, 394, 76,
741 397, 76, 76, 76, 76, 76, 76, 76, 449, 449,
742 396, 76, 449, 449, 76, 76, 76, 449, 76, 76,
743 76, 76, 449, 76, 76, 76, 76, 399, 449, 76,
744 76, 76, 76, 449, 76, 76, 76, 76, 449, 76,
746 76, 76, 76, 402, 76, 76, 76, 76, 400, 449,
747 76, 401, 76, 76, 76, 76, 76, 76, 449, 76,
748 76, 76, 76, 76, 76, 405, 76, 76, 403, 449,
749 76, 76, 76, 449, 76, 404, 406, 449, 449, 76,
750 76, 76, 76, 76, 76, 449, 76, 76, 449, 449,
751 76, 407, 76, 449, 76, 76, 76, 76, 449, 76,
752 76, 76, 76, 76, 76, 76, 76, 449, 449, 76,
753 76, 449, 76, 76, 76, 449, 76, 76, 449, 76,
754 76, 76, 76, 76, 408, 76, 449, 76, 76, 409,
755 76, 76, 76, 449, 76, 76, 76, 449, 76, 76,
757 449, 76, 76, 76, 449, 76, 76, 76, 410, 76,
758 76, 449, 76, 76, 76, 449, 76, 76, 76, 449,
759 76, 76, 449, 412, 411, 76, 449, 76, 76, 76,
760 449, 76, 417, 449, 449, 76, 76, 449, 76, 76,
761 76, 449, 414, 76, 76, 76, 76, 76, 76, 76,
762 415, 76, 76, 76, 449, 416, 76, 76, 449, 449,
763 76, 76, 76, 449, 76, 76, 76, 76, 76, 76,
764 76, 76, 421, 76, 76, 76, 449, 422, 418, 76,
765 449, 449, 76, 76, 76, 449, 76, 449, 76, 449,
766 76, 76, 76, 76, 423, 76, 76, 424, 449, 76,
768 76, 449, 449, 76, 449, 76, 449, 449, 76, 76,
769 76, 76, 76, 425, 449, 449, 76, 76, 76, 76,
770 76, 76, 449, 76, 76, 449, 449, 427, 76, 449,
771 449, 76, 76, 76, 76, 76, 76, 76, 76, 76,
772 449, 76, 76, 431, 76, 76, 449, 449, 76, 76,
773 76, 449, 76, 76, 76, 76, 449, 76, 76, 76,
774 76, 76, 76, 76, 76, 432, 449, 76, 76, 449,
775 76, 76, 76, 439, 76, 76, 449, 76, 76, 435,
776 76, 76, 76, 76, 76, 76, 444, 449, 76, 76,
777 76, 440, 76, 76, 76, 449, 449, 449, 76, 449,
779 76, 76, 449, 449, 449, 449, 449, 449, 449, 449,
780 76, 55, 55, 55, 55, 55, 55, 55, 55, 55,
781 55, 55, 61, 449, 61, 61, 61, 61, 61, 61,
782 61, 61, 61, 64, 449, 64, 64, 64, 64, 64,
783 64, 64, 64, 64, 65, 65, 65, 65, 65, 65,
784 65, 66, 449, 66, 66, 66, 66, 66, 66, 66,
785 66, 66, 69, 449, 449, 449, 69, 69, 69, 69,
786 69, 70, 449, 449, 449, 449, 449, 449, 70, 75,
787 75, 75, 75, 75, 75, 75, 75, 76, 76, 76,
788 76, 76, 76, 76, 76, 76, 173, 173, 173, 173,
790 173, 173, 173, 173, 174, 174, 449, 174, 174, 171,
791 171, 449, 171, 7, 449, 449, 449, 449, 449, 449,
792 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
793 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
794 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
795 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
796 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
800 static yyconst
short int yy_chk
[2574] =
802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
803 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
804 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
805 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
806 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
807 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
808 3, 4, 4, 5, 5, 6, 6, 12, 16, 23,
809 23, 460, 3, 61, 4, 139, 5, 139, 6, 66,
810 457, 36, 3, 446, 4, 36, 5, 218, 6, 36,
811 16, 36, 36, 12, 70, 70, 139, 36, 148, 61,
813 148, 66, 23, 31, 148, 31, 31, 31, 31, 31,
814 31, 31, 31, 31, 218, 443, 148, 33, 31, 31,
815 140, 231, 140, 231, 33, 405, 426, 70, 33, 31,
816 405, 33, 33, 31, 33, 33, 232, 233, 232, 233,
817 33, 140, 231, 426, 442, 31, 32, 441, 32, 32,
818 32, 32, 32, 32, 32, 32, 32, 232, 233, 37,
819 436, 32, 32, 37, 234, 434, 234, 37, 433, 430,
820 429, 37, 32, 37, 37, 428, 32, 420, 419, 37,
821 32, 417, 32, 413, 235, 234, 235, 398, 32, 34,
822 365, 300, 34, 34, 60, 56, 34, 34, 27, 34,
824 34, 26, 34, 34, 9, 235, 7, 0, 34, 35,
825 35, 35, 35, 0, 35, 0, 35, 35, 38, 0,
826 35, 38, 0, 0, 35, 38, 35, 35, 0, 38,
827 39, 38, 35, 0, 39, 40, 0, 38, 39, 40,
828 39, 0, 39, 40, 39, 40, 42, 41, 39, 41,
829 39, 40, 0, 0, 41, 42, 42, 42, 42, 41,
830 42, 41, 0, 41, 42, 43, 43, 41, 44, 0,
831 44, 0, 236, 0, 236, 43, 0, 43, 44, 43,
832 44, 0, 44, 43, 0, 0, 44, 45, 45, 45,
833 153, 45, 153, 236, 45, 45, 153, 0, 45, 46,
835 0, 153, 45, 46, 45, 0, 45, 46, 153, 46,
836 45, 0, 46, 0, 0, 46, 47, 0, 0, 0,
837 0, 0, 47, 47, 0, 0, 0, 0, 0, 50,
838 0, 49, 47, 47, 47, 47, 47, 47, 49, 50,
839 47, 50, 49, 50, 0, 0, 49, 50, 49, 49,
840 47, 0, 0, 0, 49, 47, 48, 88, 0, 48,
841 0, 0, 48, 48, 0, 0, 48, 88, 0, 88,
842 48, 88, 48, 48, 48, 88, 52, 48, 48, 48,
843 51, 0, 51, 52, 0, 51, 0, 52, 0, 0,
844 0, 52, 51, 52, 51, 0, 51, 53, 0, 52,
846 51, 53, 53, 0, 0, 53, 0, 53, 0, 0,
847 0, 0, 0, 53, 57, 57, 57, 57, 57, 57,
848 57, 57, 57, 138, 138, 138, 138, 138, 138, 149,
849 0, 149, 57, 57, 57, 149, 76, 57, 57, 57,
850 76, 0, 0, 57, 76, 57, 76, 149, 149, 57,
851 57, 57, 76, 57, 57, 77, 78, 0, 0, 77,
852 78, 0, 0, 77, 78, 77, 78, 0, 0, 79,
853 80, 77, 78, 79, 80, 0, 0, 79, 80, 79,
854 80, 0, 0, 81, 81, 79, 80, 81, 82, 82,
855 0, 81, 82, 81, 83, 0, 82, 83, 0, 81,
857 82, 83, 82, 0, 0, 83, 84, 83, 82, 0,
858 84, 85, 0, 83, 84, 85, 84, 0, 0, 85,
859 86, 85, 84, 0, 86, 87, 0, 85, 86, 87,
860 86, 0, 89, 87, 0, 87, 86, 0, 0, 0,
861 0, 87, 89, 0, 89, 91, 89, 0, 0, 89,
862 89, 90, 90, 90, 0, 91, 0, 91, 0, 91,
863 0, 92, 90, 91, 90, 0, 90, 0, 93, 0,
864 90, 92, 93, 92, 0, 92, 93, 94, 93, 92,
865 0, 94, 0, 0, 93, 94, 95, 94, 0, 0,
866 95, 96, 0, 94, 95, 96, 95, 95, 97, 96,
868 0, 96, 95, 0, 0, 97, 0, 96, 0, 97,
869 98, 98, 0, 97, 98, 97, 0, 0, 98, 99,
870 98, 97, 0, 99, 100, 0, 98, 99, 100, 99,
871 0, 0, 100, 101, 100, 99, 0, 101, 102, 0,
872 100, 101, 102, 101, 0, 0, 102, 103, 102, 101,
873 0, 103, 104, 104, 102, 103, 104, 103, 0, 0,
874 104, 105, 104, 103, 0, 105, 106, 0, 104, 105,
875 106, 105, 0, 0, 106, 0, 106, 105, 0, 107,
876 107, 0, 106, 107, 108, 108, 109, 107, 108, 107,
877 0, 0, 108, 109, 108, 107, 0, 109, 110, 0,
879 108, 109, 110, 109, 0, 0, 110, 0, 110, 109,
880 0, 110, 111, 112, 110, 0, 111, 112, 0, 0,
881 111, 112, 111, 112, 0, 112, 113, 114, 111, 112,
882 113, 114, 0, 113, 113, 114, 113, 114, 0, 0,
883 115, 116, 113, 114, 115, 116, 0, 0, 115, 116,
884 115, 116, 117, 116, 117, 0, 115, 116, 117, 118,
885 0, 0, 117, 118, 117, 117, 0, 118, 119, 118,
886 117, 0, 119, 0, 0, 118, 119, 119, 119, 120,
887 0, 0, 121, 120, 119, 0, 121, 120, 0, 120,
888 121, 120, 121, 122, 0, 120, 123, 122, 121, 126,
890 0, 122, 0, 122, 122, 122, 123, 124, 123, 122,
891 123, 124, 125, 0, 123, 124, 0, 124, 0, 0,
892 0, 126, 125, 124, 125, 126, 125, 0, 0, 126,
893 125, 126, 127, 0, 127, 128, 0, 126, 127, 128,
894 0, 0, 127, 128, 127, 128, 0, 129, 129, 130,
895 127, 128, 129, 130, 0, 0, 129, 130, 129, 130,
896 0, 132, 131, 131, 129, 130, 131, 0, 0, 0,
897 131, 132, 131, 132, 0, 132, 133, 133, 131, 132,
898 0, 134, 0, 0, 134, 0, 0, 133, 0, 133,
899 0, 133, 0, 0, 134, 133, 134, 0, 134, 135,
901 136, 160, 134, 160, 135, 136, 0, 160, 0, 135,
902 136, 135, 136, 135, 136, 137, 137, 135, 136, 160,
903 137, 0, 141, 0, 0, 137, 141, 137, 0, 137,
904 141, 142, 141, 137, 0, 142, 143, 0, 141, 142,
905 143, 142, 0, 0, 143, 0, 143, 142, 0, 144,
906 144, 0, 143, 144, 146, 0, 0, 144, 146, 144,
907 0, 0, 146, 0, 146, 144, 145, 0, 145, 0,
908 146, 0, 145, 145, 0, 0, 0, 145, 147, 147,
909 0, 145, 147, 145, 145, 150, 147, 150, 147, 145,
910 151, 150, 151, 0, 147, 0, 151, 0, 152, 150,
912 152, 151, 0, 150, 152, 154, 152, 154, 151, 154,
913 0, 154, 0, 0, 0, 151, 152, 0, 155, 0,
914 155, 0, 155, 154, 155, 156, 157, 156, 157, 156,
915 0, 156, 157, 0, 157, 158, 155, 158, 0, 156,
916 0, 158, 0, 156, 157, 0, 0, 158, 159, 159,
917 159, 0, 0, 158, 159, 161, 0, 161, 159, 0,
918 0, 161, 162, 0, 162, 163, 159, 163, 162, 0,
919 164, 163, 164, 161, 0, 165, 164, 165, 0, 0,
920 162, 165, 163, 163, 162, 166, 0, 166, 164, 166,
921 167, 166, 167, 165, 165, 168, 167, 168, 167, 0,
923 169, 168, 169, 166, 0, 0, 169, 168, 167, 175,
924 176, 175, 176, 168, 0, 175, 176, 177, 169, 177,
925 178, 0, 178, 177, 0, 0, 178, 175, 176, 0,
926 179, 180, 179, 180, 0, 177, 179, 180, 178, 181,
927 0, 181, 0, 0, 182, 181, 182, 0, 179, 180,
928 182, 0, 0, 183, 184, 183, 184, 181, 181, 183,
929 184, 185, 182, 185, 186, 185, 186, 185, 0, 0,
930 186, 183, 184, 0, 187, 0, 187, 0, 0, 185,
931 187, 188, 186, 188, 189, 0, 189, 188, 0, 190,
932 189, 190, 187, 187, 191, 190, 191, 0, 0, 188,
934 191, 0, 189, 192, 193, 192, 193, 190, 190, 192,
935 193, 194, 191, 194, 195, 0, 195, 194, 0, 0,
936 195, 192, 193, 0, 196, 197, 196, 197, 0, 194,
937 196, 197, 195, 198, 199, 198, 199, 0, 0, 198,
938 199, 0, 196, 197, 200, 0, 200, 201, 0, 201,
939 200, 198, 199, 201, 202, 203, 202, 203, 0, 0,
940 202, 203, 200, 0, 0, 201, 201, 0, 204, 0,
941 204, 0, 202, 203, 204, 205, 205, 205, 0, 0,
942 0, 205, 206, 207, 206, 207, 204, 0, 206, 207,
943 208, 0, 208, 205, 0, 0, 208, 206, 0, 0,
945 206, 207, 0, 209, 208, 209, 0, 0, 208, 209,
946 210, 211, 210, 211, 0, 0, 210, 211, 0, 0,
947 0, 209, 209, 0, 0, 213, 0, 213, 210, 211,
948 212, 213, 212, 214, 212, 214, 212, 0, 215, 214,
949 215, 0, 0, 213, 215, 0, 0, 0, 212, 213,
950 0, 214, 0, 216, 0, 216, 215, 0, 215, 216,
951 217, 219, 217, 219, 217, 0, 217, 219, 220, 0,
952 220, 216, 0, 0, 220, 0, 0, 0, 217, 219,
953 219, 221, 0, 221, 0, 221, 220, 221, 222, 223,
954 222, 223, 222, 0, 222, 223, 0, 0, 224, 221,
956 224, 224, 0, 225, 224, 225, 222, 223, 226, 225,
957 226, 227, 0, 227, 226, 0, 224, 227, 0, 0,
958 0, 225, 0, 0, 227, 228, 226, 228, 229, 227,
959 229, 228, 226, 230, 229, 230, 243, 228, 243, 230,
960 0, 0, 243, 228, 0, 229, 229, 244, 0, 244,
961 0, 230, 230, 244, 243, 245, 246, 245, 246, 0,
962 0, 245, 246, 0, 247, 244, 247, 0, 0, 248,
963 247, 248, 0, 245, 246, 248, 0, 249, 0, 249,
964 249, 0, 247, 249, 250, 0, 250, 248, 0, 0,
965 250, 251, 0, 251, 252, 249, 252, 251, 250, 251,
967 252, 253, 250, 253, 254, 0, 254, 253, 0, 251,
968 254, 0, 252, 252, 255, 256, 255, 256, 0, 253,
969 255, 256, 254, 257, 258, 257, 258, 0, 0, 257,
970 258, 0, 255, 256, 259, 0, 259, 0, 257, 0,
971 259, 257, 258, 260, 0, 260, 258, 260, 261, 260,
972 261, 262, 259, 262, 261, 0, 263, 262, 263, 0,
973 0, 260, 263, 0, 0, 264, 261, 264, 0, 262,
974 265, 264, 265, 0, 263, 266, 265, 266, 267, 0,
975 267, 266, 0, 264, 267, 265, 0, 0, 265, 269,
976 266, 269, 0, 266, 0, 269, 267, 267, 268, 268,
978 268, 0, 0, 271, 268, 271, 270, 269, 270, 271,
979 270, 272, 270, 272, 0, 0, 268, 272, 0, 0,
980 273, 271, 273, 0, 270, 275, 273, 275, 274, 272,
981 274, 275, 274, 276, 274, 276, 0, 0, 273, 276,
982 0, 0, 277, 275, 277, 0, 274, 278, 277, 278,
983 279, 276, 279, 278, 0, 280, 279, 280, 0, 277,
984 277, 280, 0, 0, 0, 278, 278, 0, 279, 281,
985 282, 281, 282, 280, 280, 281, 282, 0, 283, 281,
986 283, 0, 0, 284, 283, 284, 283, 281, 282, 284,
987 0, 285, 0, 285, 0, 0, 283, 285, 286, 0,
989 286, 284, 0, 0, 286, 287, 288, 287, 288, 285,
990 285, 287, 288, 289, 0, 289, 286, 0, 0, 289,
991 0, 0, 286, 287, 288, 0, 290, 291, 290, 291,
992 0, 289, 290, 291, 292, 293, 292, 293, 0, 0,
993 292, 293, 0, 0, 290, 291, 0, 0, 294, 0,
994 294, 0, 292, 293, 294, 295, 296, 295, 296, 0,
995 0, 295, 296, 297, 0, 297, 294, 0, 0, 297,
996 0, 0, 295, 295, 296, 297, 298, 0, 298, 0,
997 0, 297, 298, 299, 299, 299, 302, 0, 302, 299,
998 0, 303, 302, 303, 298, 0, 304, 303, 304, 298,
1000 0, 299, 304, 0, 302, 305, 307, 305, 307, 303,
1001 0, 305, 307, 305, 304, 306, 306, 306, 0, 0,
1002 0, 306, 0, 305, 307, 307, 308, 0, 308, 309,
1003 308, 309, 308, 306, 310, 309, 310, 329, 0, 329,
1004 310, 0, 0, 329, 308, 0, 0, 309, 330, 0,
1005 330, 0, 310, 309, 330, 329, 331, 332, 331, 332,
1006 0, 0, 331, 332, 0, 330, 330, 333, 0, 333,
1007 334, 0, 334, 333, 331, 332, 334, 335, 336, 335,
1008 336, 333, 334, 335, 336, 333, 0, 337, 334, 337,
1009 0, 0, 338, 337, 338, 335, 336, 0, 338, 0,
1011 0, 339, 340, 339, 340, 337, 337, 339, 340, 339,
1012 338, 341, 342, 341, 342, 0, 0, 341, 342, 339,
1013 340, 343, 345, 343, 345, 0, 342, 343, 345, 341,
1014 342, 344, 346, 344, 346, 344, 0, 344, 346, 343,
1015 345, 345, 348, 0, 348, 347, 348, 347, 348, 344,
1016 346, 347, 347, 349, 0, 349, 350, 349, 350, 349,
1017 348, 0, 350, 347, 351, 0, 351, 352, 0, 352,
1018 351, 349, 0, 352, 350, 353, 0, 353, 0, 0,
1019 352, 353, 351, 0, 354, 352, 354, 0, 354, 355,
1020 354, 355, 356, 353, 356, 355, 0, 357, 356, 357,
1022 0, 0, 354, 357, 356, 0, 358, 355, 358, 0,
1023 356, 359, 358, 359, 360, 357, 360, 359, 0, 0,
1024 360, 361, 359, 361, 358, 0, 0, 361, 0, 359,
1025 0, 361, 360, 0, 360, 362, 363, 362, 363, 361,
1026 0, 362, 363, 364, 0, 364, 366, 0, 366, 364,
1027 0, 0, 366, 362, 363, 369, 366, 367, 364, 367,
1028 368, 364, 368, 367, 366, 370, 368, 370, 0, 0,
1029 367, 370, 0, 0, 369, 367, 369, 0, 368, 371,
1030 369, 371, 0, 370, 372, 371, 372, 372, 0, 373,
1031 372, 373, 369, 0, 374, 373, 374, 371, 0, 375,
1033 374, 375, 372, 375, 376, 375, 376, 373, 373, 0,
1034 376, 374, 374, 377, 378, 377, 378, 375, 0, 377,
1035 378, 379, 376, 379, 380, 381, 380, 379, 379, 0,
1036 380, 377, 378, 0, 382, 380, 382, 0, 0, 379,
1037 382, 383, 380, 383, 381, 0, 381, 383, 0, 0,
1038 381, 383, 382, 0, 384, 385, 384, 385, 0, 383,
1039 384, 385, 381, 386, 387, 386, 387, 0, 0, 386,
1040 387, 0, 384, 385, 388, 0, 388, 389, 0, 389,
1041 388, 386, 387, 389, 387, 390, 0, 390, 391, 390,
1042 391, 390, 388, 0, 391, 389, 392, 0, 392, 393,
1044 0, 393, 392, 390, 0, 393, 391, 394, 392, 394,
1045 395, 0, 395, 394, 392, 0, 395, 393, 396, 0,
1046 396, 397, 0, 397, 396, 394, 0, 397, 395, 399,
1047 0, 399, 403, 0, 0, 399, 396, 0, 400, 397,
1048 400, 0, 400, 402, 400, 402, 401, 399, 401, 402,
1049 401, 403, 401, 403, 0, 402, 400, 403, 0, 0,
1050 404, 402, 404, 0, 401, 406, 404, 406, 407, 403,
1051 407, 406, 406, 408, 407, 408, 0, 408, 404, 408,
1052 0, 0, 409, 406, 409, 0, 407, 0, 409, 0,
1053 411, 408, 411, 410, 409, 410, 411, 410, 0, 410,
1055 409, 0, 0, 412, 0, 412, 0, 0, 411, 412,
1056 414, 410, 414, 412, 0, 0, 414, 415, 416, 415,
1057 416, 412, 0, 415, 416, 0, 0, 414, 414, 0,
1058 0, 418, 421, 418, 421, 415, 416, 418, 421, 422,
1059 0, 422, 423, 423, 423, 422, 0, 0, 423, 418,
1060 421, 0, 424, 425, 424, 425, 0, 422, 424, 425,
1061 423, 427, 431, 427, 431, 424, 0, 427, 431, 0,
1062 424, 425, 432, 431, 432, 435, 0, 435, 432, 427,
1063 431, 435, 439, 440, 439, 440, 439, 0, 439, 440,
1064 432, 432, 444, 435, 444, 0, 0, 0, 444, 0,
1066 439, 440, 0, 0, 0, 0, 0, 0, 0, 0,
1067 444, 450, 450, 450, 450, 450, 450, 450, 450, 450,
1068 450, 450, 451, 0, 451, 451, 451, 451, 451, 451,
1069 451, 451, 451, 452, 0, 452, 452, 452, 452, 452,
1070 452, 452, 452, 452, 453, 453, 453, 453, 453, 453,
1071 453, 454, 0, 454, 454, 454, 454, 454, 454, 454,
1072 454, 454, 455, 0, 0, 0, 455, 455, 455, 455,
1073 455, 456, 0, 0, 0, 0, 0, 0, 456, 458,
1074 458, 458, 458, 458, 458, 458, 458, 459, 459, 459,
1075 459, 459, 459, 459, 459, 459, 461, 461, 461, 461,
1077 461, 461, 461, 461, 462, 462, 0, 462, 462, 463,
1078 463, 0, 463, 449, 449, 449, 449, 449, 449, 449,
1079 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1080 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1081 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1082 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1083 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1087 static yy_state_type yy_last_accepting_state
;
1088 static char *yy_last_accepting_cpos
;
1090 /* The intent behind this definition is that it'll catch
1091 * any uses of REJECT which flex missed.
1093 #define REJECT reject_used_but_not_detected
1094 #define yymore() yymore_used_but_not_detected
1095 #define YY_MORE_ADJ 0
1096 #define YY_RESTORE_YY_MORE_OFFSET
1101 /////////////////////////////////////////////////////////////////////////
1102 // $Id: lexer.c,v 1.34 2008/05/01 19:10:04 sshwarts Exp $
1103 /////////////////////////////////////////////////////////////////////////
1112 int bx_yyinput(char *buf
, int max_size
);
1114 #define YY_INPUT(buf, ret, max_size) (ret = bx_yyinput(buf, max_size))
1116 static char *lex_input_ptr
= NULL
;
1117 static unsigned lex_input_size
= 0;
1119 #if BX_SUPPORT_X86_64
1120 #define LONG_MODE_8BL_REG(reg) \
1121 { bxlval.uval = reg; return(BX_TOKEN_8BL_REG); }
1122 #define LONG_MODE_16B_REG(reg) \
1123 { bxlval.uval = reg; return(BX_TOKEN_16B_REG); }
1124 #define LONG_MODE_32B_REG(reg) \
1125 { bxlval.uval = reg; return(BX_TOKEN_32B_REG); }
1126 #define LONG_MODE_64B_REG(reg) \
1127 { bxlval.uval = reg; return(BX_TOKEN_64B_REG); }
1129 #define LONG_MODE_8BL_REG(reg) \
1130 { bxlval.sval = strdup(bxtext); return(BX_TOKEN_GENERIC); }
1131 #define LONG_MODE_16B_REG(reg) \
1132 { bxlval.sval = strdup(bxtext); return(BX_TOKEN_GENERIC); }
1133 #define LONG_MODE_32B_REG(reg) \
1134 { bxlval.sval = strdup(bxtext); return(BX_TOKEN_GENERIC); }
1135 #define LONG_MODE_64B_REG(reg) \
1136 { bxlval.sval = strdup(bxtext); return(BX_TOKEN_GENERIC); }
1144 /* Macros after this point can all be overridden by user definitions in
1148 #ifndef YY_SKIP_YYWRAP
1150 extern "C" int yywrap
YY_PROTO(( void ));
1152 extern int yywrap
YY_PROTO(( void ));
1157 static void yyunput
YY_PROTO(( int c
, char *buf_ptr
));
1161 static void yy_flex_strncpy
YY_PROTO(( char *, yyconst
char *, int ));
1164 #ifdef YY_NEED_STRLEN
1165 static int yy_flex_strlen
YY_PROTO(( yyconst
char * ));
1170 static int yyinput
YY_PROTO(( void ));
1172 static int input
YY_PROTO(( void ));
1177 static int yy_start_stack_ptr
= 0;
1178 static int yy_start_stack_depth
= 0;
1179 static int *yy_start_stack
= 0;
1180 #ifndef YY_NO_PUSH_STATE
1181 static void yy_push_state
YY_PROTO(( int new_state
));
1183 #ifndef YY_NO_POP_STATE
1184 static void yy_pop_state
YY_PROTO(( void ));
1186 #ifndef YY_NO_TOP_STATE
1187 static int yy_top_state
YY_PROTO(( void ));
1191 #define YY_NO_PUSH_STATE 1
1192 #define YY_NO_POP_STATE 1
1193 #define YY_NO_TOP_STATE 1
1196 #ifdef YY_MALLOC_DECL
1204 /* Just try to get by without declaring the routines. This will fail
1205 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1206 * or sizeof(void*) != sizeof(int).
1211 /* Amount of stuff to slurp up with each read. */
1212 #ifndef YY_READ_BUF_SIZE
1213 #define YY_READ_BUF_SIZE 8192
1216 /* Copy whatever the last rule matched to the standard output. */
1219 /* This used to be an fputs(), but since the string might contain NUL's,
1220 * we now use fwrite().
1222 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1225 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1226 * is returned in "result".
1229 #define YY_INPUT(buf,result,max_size) \
1230 if ( yy_current_buffer->yy_is_interactive ) \
1233 for ( n = 0; n < max_size && \
1234 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1235 buf[n] = (char) c; \
1237 buf[n++] = (char) c; \
1238 if ( c == EOF && ferror( yyin ) ) \
1239 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1245 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1247 if( errno != EINTR) \
1249 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1258 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1259 * we don't want an extra ';' after the "return" because that will cause
1260 * some compilers to complain about unreachable statements.
1263 #define yyterminate() return YY_NULL
1266 /* Number of entries by which start-condition stack grows. */
1267 #ifndef YY_START_STACK_INCR
1268 #define YY_START_STACK_INCR 25
1271 /* Report a fatal error. */
1272 #ifndef YY_FATAL_ERROR
1273 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1276 /* Default declaration of generated scanner - a define so the user can
1277 * easily add parameters.
1280 #define YY_DECL int yylex YY_PROTO(( void ))
1283 /* Code executed at the beginning of each rule, after yytext and yyleng
1286 #ifndef YY_USER_ACTION
1287 #define YY_USER_ACTION
1290 /* Code executed at the end of each rule. */
1292 #define YY_BREAK break;
1295 #define YY_RULE_SETUP \
1300 register yy_state_type yy_current_state
;
1301 register char *yy_cp
, *yy_bp
;
1302 register int yy_act
;
1316 yy_start
= 1; /* first start state */
1324 if ( ! yy_current_buffer
)
1326 yy_create_buffer( yyin
, YY_BUF_SIZE
);
1328 yy_load_buffer_state();
1331 while ( 1 ) /* loops until end-of-file is reached */
1335 /* Support of yytext. */
1336 *yy_cp
= yy_hold_char
;
1338 /* yy_bp points to the position in yy_ch_buf of the start of
1343 yy_current_state
= yy_start
;
1347 register YY_CHAR yy_c
= yy_ec
[YY_SC_TO_UI(*yy_cp
)];
1348 if ( yy_accept
[yy_current_state
] )
1350 yy_last_accepting_state
= yy_current_state
;
1351 yy_last_accepting_cpos
= yy_cp
;
1353 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1355 yy_current_state
= (int) yy_def
[yy_current_state
];
1356 if ( yy_current_state
>= 450 )
1357 yy_c
= yy_meta
[(unsigned int) yy_c
];
1359 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1362 while ( yy_base
[yy_current_state
] != 2514 );
1365 yy_act
= yy_accept
[yy_current_state
];
1367 { /* have to back up */
1368 yy_cp
= yy_last_accepting_cpos
;
1369 yy_current_state
= yy_last_accepting_state
;
1370 yy_act
= yy_accept
[yy_current_state
];
1373 YY_DO_BEFORE_ACTION
;
1376 do_action
: /* This label is used only to access EOF actions. */
1380 { /* beginning of action switch */
1381 case 0: /* must back up */
1382 /* undo the effects of YY_DO_BEFORE_ACTION */
1383 *yy_cp
= yy_hold_char
;
1384 yy_cp
= yy_last_accepting_cpos
;
1385 yy_current_state
= yy_last_accepting_state
;
1386 goto yy_find_action
;
1391 ; // eat up whitespace
1396 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SET
); }
1401 { bxlval
.bval
= 1; return(BX_TOKEN_ON
); }
1406 { bxlval
.bval
= 0; return(BX_TOKEN_OFF
); }
1411 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_CRC
); }
1420 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_CONTINUE
); }
1429 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_STEPN
); }
1438 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_STEP_OVER
); }
1443 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_LIST_BREAK
); }
1448 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_VBREAKPOINT
); }
1453 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_LBREAKPOINT
); }
1462 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PBREAKPOINT
); }
1467 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_INFO
); }
1476 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_CONTROL_REGS
); }
1483 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SEGMENT_REGS
); }
1492 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_REGISTERS
); }
1497 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_FPU
); }
1504 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SSE
); }
1509 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_MMX
); }
1514 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_CPU
); }
1519 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_IDT
); }
1524 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_IVT
); }
1529 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_GDT
); }
1534 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_LDT
); }
1539 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TSS
); }
1544 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TAB
); }
1549 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DIRTY
); }
1554 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_LINUX
); }
1563 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DEL_BREAKPOINT
); }
1568 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_ENABLE_BREAKPOINT
); }
1573 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DISABLE_BREAKPOINT
); }
1582 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_QUIT
); }
1589 { BEGIN(EXAMINE
); bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_EXAMINE
); }
1594 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_RESTORE
); }
1599 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SETPMEM
); }
1604 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_QUERY
); }
1609 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PENDING
); }
1614 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TAKE
); }
1619 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DMA
); }
1624 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_IRQ
); }
1629 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PIC
); }
1638 { BEGIN(DISASM
); bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DISASSEMBLE
); }
1643 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_INSTRUMENT
); }
1648 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_STOP
); }
1653 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DOIT
); }
1658 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TRACE
); }
1663 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TRACEREG
); }
1668 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TRACEMEM
); }
1673 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SWITCH_MODE
); }
1678 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SIZE
); }
1683 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PTIME
); }
1688 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TIMEBP
); }
1693 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_TIMEBP_ABSOLUTE
); }
1698 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_RECORD
); }
1703 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PLAYBACK
); }
1708 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_MODEBP
); }
1713 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PRINT_STACK
); }
1718 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_WATCH
); }
1723 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_UNWATCH
); }
1728 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_READ
); }
1733 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_WRITE
); }
1738 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SHOW
); }
1743 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_LOAD_SYMBOLS
); }
1748 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SYMBOLS
); }
1753 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_LIST_SYMBOLS
); }
1758 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_GLOBAL
); }
1763 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_WHERE
); }
1768 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PRINT_STRING
); }
1773 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_NE2000
); }
1778 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PAGE
); }
1783 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_VGA
); }
1788 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_PCI
); }
1793 { bxlval
.uval
= BX_DBG_REG8L_AL
; return(BX_TOKEN_8BL_REG
);}
1798 { bxlval
.uval
= BX_DBG_REG8L_BL
; return(BX_TOKEN_8BL_REG
);}
1803 { bxlval
.uval
= BX_DBG_REG8L_CL
; return(BX_TOKEN_8BL_REG
);}
1808 { bxlval
.uval
= BX_DBG_REG8L_DL
; return(BX_TOKEN_8BL_REG
);}
1813 { LONG_MODE_8BL_REG(BX_DBG_REG8L_SIL
); }
1818 { LONG_MODE_8BL_REG(BX_DBG_REG8L_DIL
); }
1823 { LONG_MODE_8BL_REG(BX_DBG_REG8L_SPL
); }
1828 { LONG_MODE_8BL_REG(BX_DBG_REG8L_BPL
); }
1833 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R8
); }
1838 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R9
); }
1843 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R10
); }
1848 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R11
); }
1853 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R12
); }
1858 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R13
); }
1863 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R14
); }
1868 { LONG_MODE_8BL_REG(BX_DBG_REG8L_R15
); }
1873 { bxlval
.uval
= BX_DBG_REG8H_AH
; return(BX_TOKEN_8BH_REG
);}
1878 { bxlval
.uval
= BX_DBG_REG8H_BH
; return(BX_TOKEN_8BH_REG
);}
1883 { bxlval
.uval
= BX_DBG_REG8H_CH
; return(BX_TOKEN_8BH_REG
);}
1888 { bxlval
.uval
= BX_DBG_REG8H_DH
; return(BX_TOKEN_8BH_REG
);}
1893 { bxlval
.uval
= BX_DBG_REG16_AX
; return(BX_TOKEN_16B_REG
);}
1898 { bxlval
.uval
= BX_DBG_REG16_BX
; return(BX_TOKEN_16B_REG
);}
1903 { bxlval
.uval
= BX_DBG_REG16_CX
; return(BX_TOKEN_16B_REG
);}
1908 { bxlval
.uval
= BX_DBG_REG16_DX
; return(BX_TOKEN_16B_REG
);}
1913 { bxlval
.uval
= BX_DBG_REG16_SI
; return(BX_TOKEN_16B_REG
);}
1918 { bxlval
.uval
= BX_DBG_REG16_DI
; return(BX_TOKEN_16B_REG
);}
1923 { bxlval
.uval
= BX_DBG_REG16_BP
; return(BX_TOKEN_16B_REG
);}
1928 { bxlval
.uval
= BX_DBG_REG16_SP
; return(BX_TOKEN_16B_REG
);}
1933 { LONG_MODE_16B_REG(BX_DBG_REG16_R8
); }
1938 { LONG_MODE_16B_REG(BX_DBG_REG16_R9
); }
1943 { LONG_MODE_16B_REG(BX_DBG_REG16_R10
); }
1948 { LONG_MODE_16B_REG(BX_DBG_REG16_R11
); }
1953 { LONG_MODE_16B_REG(BX_DBG_REG16_R12
); }
1958 { LONG_MODE_16B_REG(BX_DBG_REG16_R13
); }
1963 { LONG_MODE_16B_REG(BX_DBG_REG16_R14
); }
1968 { LONG_MODE_16B_REG(BX_DBG_REG16_R15
); }
1973 { bxlval
.uval
= BX_DBG_REG32_EAX
; return(BX_TOKEN_32B_REG
);}
1978 { bxlval
.uval
= BX_DBG_REG32_EBX
; return(BX_TOKEN_32B_REG
);}
1983 { bxlval
.uval
= BX_DBG_REG32_ECX
; return(BX_TOKEN_32B_REG
);}
1988 { bxlval
.uval
= BX_DBG_REG32_EDX
; return(BX_TOKEN_32B_REG
);}
1993 { bxlval
.uval
= BX_DBG_REG32_ESI
; return(BX_TOKEN_32B_REG
);}
1998 { bxlval
.uval
= BX_DBG_REG32_EDI
; return(BX_TOKEN_32B_REG
);}
2003 { bxlval
.uval
= BX_DBG_REG32_EBP
; return(BX_TOKEN_32B_REG
);}
2008 { bxlval
.uval
= BX_DBG_REG32_ESP
; return(BX_TOKEN_32B_REG
);}
2013 { LONG_MODE_32B_REG(BX_DBG_REG32_R8
); }
2018 { LONG_MODE_32B_REG(BX_DBG_REG32_R9
); }
2023 { LONG_MODE_32B_REG(BX_DBG_REG32_R10
); }
2028 { LONG_MODE_32B_REG(BX_DBG_REG32_R11
); }
2033 { LONG_MODE_32B_REG(BX_DBG_REG32_R12
); }
2038 { LONG_MODE_32B_REG(BX_DBG_REG32_R13
); }
2043 { LONG_MODE_32B_REG(BX_DBG_REG32_R14
); }
2048 { LONG_MODE_32B_REG(BX_DBG_REG32_R15
); }
2053 { LONG_MODE_64B_REG(BX_DBG_REG64_RAX
); }
2058 { LONG_MODE_64B_REG(BX_DBG_REG64_RBX
); }
2063 { LONG_MODE_64B_REG(BX_DBG_REG64_RCX
); }
2068 { LONG_MODE_64B_REG(BX_DBG_REG64_RDX
); }
2073 { LONG_MODE_64B_REG(BX_DBG_REG64_RSI
); }
2078 { LONG_MODE_64B_REG(BX_DBG_REG64_RDI
); }
2083 { LONG_MODE_64B_REG(BX_DBG_REG64_RSP
); }
2088 { LONG_MODE_64B_REG(BX_DBG_REG64_RBP
); }
2093 { LONG_MODE_64B_REG(BX_DBG_REG64_R8
); }
2098 { LONG_MODE_64B_REG(BX_DBG_REG64_R9
); }
2103 { LONG_MODE_64B_REG(BX_DBG_REG64_R10
); }
2108 { LONG_MODE_64B_REG(BX_DBG_REG64_R11
); }
2113 { LONG_MODE_64B_REG(BX_DBG_REG64_R12
); }
2118 { LONG_MODE_64B_REG(BX_DBG_REG64_R13
); }
2123 { LONG_MODE_64B_REG(BX_DBG_REG64_R14
); }
2128 { LONG_MODE_64B_REG(BX_DBG_REG64_R15
); }
2133 { return(BX_TOKEN_REG_IP
); }
2138 { return(BX_TOKEN_REG_EIP
);}
2143 { return(BX_TOKEN_REG_RIP
);}
2148 { bxlval
.uval
= BX_DBG_SREG_CS
; return(BX_TOKEN_CS
); }
2153 { bxlval
.uval
= BX_DBG_SREG_ES
; return(BX_TOKEN_ES
); }
2158 { bxlval
.uval
= BX_DBG_SREG_SS
; return(BX_TOKEN_SS
); }
2163 { bxlval
.uval
= BX_DBG_SREG_DS
; return(BX_TOKEN_DS
); }
2168 { bxlval
.uval
= BX_DBG_SREG_FS
; return(BX_TOKEN_FS
); }
2173 { bxlval
.uval
= BX_DBG_SREG_GS
; return(BX_TOKEN_GS
); }
2178 { bxlval
.uval
= 0; return (BX_TOKEN_FLAGS
); }
2183 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_HELP
); }
2190 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_CALC
); }
2195 { BEGIN(INITIAL
); bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_XFORMAT
); }
2200 { BEGIN(INITIAL
); bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_XFORMAT
); }
2205 { BEGIN(INITIAL
); bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_DISFORMAT
); }
2230 { return (BX_TOKEN_RSHIFT
); }
2235 { return (BX_TOKEN_LSHIFT
); }
2272 { bxlval
.sval
= strdup(bxtext
+1); bxlval
.sval
[strlen(bxlval
.sval
)-1] = 0; return(BX_TOKEN_STRING
); }
2277 { bxlval
.uval
= strtoull(bxtext
, NULL
, 16); return(BX_TOKEN_NUMERIC
); }
2282 { bxlval
.uval
= strtoull(bxtext
, NULL
, 8); return(BX_TOKEN_NUMERIC
); }
2287 { bxlval
.uval
= strtoull(bxtext
, NULL
, 10); return(BX_TOKEN_NUMERIC
); }
2292 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_COMMAND
); }
2297 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_SYMBOLNAME
); }
2302 { bxlval
.sval
= strdup(bxtext
); return(BX_TOKEN_GENERIC
); }
2317 ; // eat up comments '//'
2322 { return(bxtext
[0]); }
2327 { BEGIN(INITIAL
); unput(*bxtext
); }
2334 case YY_STATE_EOF(INITIAL
):
2335 case YY_STATE_EOF(EXAMINE
):
2336 case YY_STATE_EOF(DISASM
):
2339 case YY_END_OF_BUFFER
:
2341 /* Amount of text matched not including the EOB char. */
2342 int yy_amount_of_matched_text
= (int) (yy_cp
- yytext_ptr
) - 1;
2344 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2345 *yy_cp
= yy_hold_char
;
2346 YY_RESTORE_YY_MORE_OFFSET
2348 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_NEW
)
2350 /* We're scanning a new file or input source. It's
2351 * possible that this happened because the user
2352 * just pointed yyin at a new source and called
2353 * yylex(). If so, then we have to assure
2354 * consistency between yy_current_buffer and our
2355 * globals. Here is the right place to do so, because
2356 * this is the first action (other than possibly a
2357 * back-up) that will match for the new input source.
2359 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
2360 yy_current_buffer
->yy_input_file
= yyin
;
2361 yy_current_buffer
->yy_buffer_status
= YY_BUFFER_NORMAL
;
2364 /* Note that here we test for yy_c_buf_p "<=" to the position
2365 * of the first EOB in the buffer, since yy_c_buf_p will
2366 * already have been incremented past the NUL character
2367 * (since all states make transitions on EOB to the
2368 * end-of-buffer state). Contrast this with the test
2371 if ( yy_c_buf_p
<= &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
2372 { /* This was really a NUL. */
2373 yy_state_type yy_next_state
;
2375 yy_c_buf_p
= yytext_ptr
+ yy_amount_of_matched_text
;
2377 yy_current_state
= yy_get_previous_state();
2379 /* Okay, we're now positioned to make the NUL
2380 * transition. We couldn't have
2381 * yy_get_previous_state() go ahead and do it
2382 * for us because it doesn't know how to deal
2383 * with the possibility of jamming (and we don't
2384 * want to build jamming into it because then it
2385 * will run more slowly).
2388 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
2390 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2392 if ( yy_next_state
)
2394 /* Consume the NUL. */
2395 yy_cp
= ++yy_c_buf_p
;
2396 yy_current_state
= yy_next_state
;
2403 goto yy_find_action
;
2407 else switch ( yy_get_next_buffer() )
2409 case EOB_ACT_END_OF_FILE
:
2411 yy_did_buffer_switch_on_eof
= 0;
2415 /* Note: because we've taken care in
2416 * yy_get_next_buffer() to have set up
2417 * yytext, we can now set up
2418 * yy_c_buf_p so that if some total
2419 * hoser (like flex itself) wants to
2420 * call the scanner after we return the
2421 * YY_NULL, it'll still work - another
2422 * YY_NULL will get returned.
2424 yy_c_buf_p
= yytext_ptr
+ YY_MORE_ADJ
;
2426 yy_act
= YY_STATE_EOF(YY_START
);
2432 if ( ! yy_did_buffer_switch_on_eof
)
2438 case EOB_ACT_CONTINUE_SCAN
:
2440 yytext_ptr
+ yy_amount_of_matched_text
;
2442 yy_current_state
= yy_get_previous_state();
2445 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2448 case EOB_ACT_LAST_MATCH
:
2450 &yy_current_buffer
->yy_ch_buf
[yy_n_chars
];
2452 yy_current_state
= yy_get_previous_state();
2455 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2456 goto yy_find_action
;
2463 "fatal flex scanner internal error--no action found" );
2464 } /* end of action switch */
2465 } /* end of scanning one token */
2466 } /* end of yylex */
2469 /* yy_get_next_buffer - try to read in a new buffer
2471 * Returns a code representing an action:
2472 * EOB_ACT_LAST_MATCH -
2473 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2474 * EOB_ACT_END_OF_FILE - end of file
2477 static int yy_get_next_buffer()
2479 register char *dest
= yy_current_buffer
->yy_ch_buf
;
2480 register char *source
= yytext_ptr
;
2481 register int number_to_move
, i
;
2484 if ( yy_c_buf_p
> &yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] )
2486 "fatal flex scanner internal error--end of buffer missed" );
2488 if ( yy_current_buffer
->yy_fill_buffer
== 0 )
2489 { /* Don't try to fill the buffer, so this is an EOF. */
2490 if ( yy_c_buf_p
- yytext_ptr
- YY_MORE_ADJ
== 1 )
2492 /* We matched a single character, the EOB, so
2493 * treat this as a final EOF.
2495 return EOB_ACT_END_OF_FILE
;
2500 /* We matched some text prior to the EOB, first
2503 return EOB_ACT_LAST_MATCH
;
2507 /* Try to read more data. */
2509 /* First move last chars to start of buffer. */
2510 number_to_move
= (int) (yy_c_buf_p
- yytext_ptr
) - 1;
2512 for ( i
= 0; i
< number_to_move
; ++i
)
2513 *(dest
++) = *(source
++);
2515 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_EOF_PENDING
)
2516 /* don't do the read, it's not guaranteed to return an EOF,
2519 yy_current_buffer
->yy_n_chars
= yy_n_chars
= 0;
2524 yy_current_buffer
->yy_buf_size
- number_to_move
- 1;
2526 while ( num_to_read
<= 0 )
2527 { /* Not enough room in the buffer - grow it. */
2528 #ifdef YY_USES_REJECT
2530 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2533 /* just a shorter name for the current buffer */
2534 YY_BUFFER_STATE b
= yy_current_buffer
;
2536 int yy_c_buf_p_offset
=
2537 (int) (yy_c_buf_p
- b
->yy_ch_buf
);
2539 if ( b
->yy_is_our_buffer
)
2541 int new_size
= b
->yy_buf_size
* 2;
2543 if ( new_size
<= 0 )
2544 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
2546 b
->yy_buf_size
*= 2;
2548 b
->yy_ch_buf
= (char *)
2549 /* Include room in for 2 EOB chars. */
2550 yy_flex_realloc( (void *) b
->yy_ch_buf
,
2551 b
->yy_buf_size
+ 2 );
2554 /* Can't grow it, we don't own it. */
2557 if ( ! b
->yy_ch_buf
)
2559 "fatal error - scanner input buffer overflow" );
2561 yy_c_buf_p
= &b
->yy_ch_buf
[yy_c_buf_p_offset
];
2563 num_to_read
= yy_current_buffer
->yy_buf_size
-
2568 if ( num_to_read
> YY_READ_BUF_SIZE
)
2569 num_to_read
= YY_READ_BUF_SIZE
;
2571 /* Read in more data. */
2572 YY_INPUT( (&yy_current_buffer
->yy_ch_buf
[number_to_move
]),
2573 yy_n_chars
, num_to_read
);
2575 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
2578 if ( yy_n_chars
== 0 )
2580 if ( number_to_move
== YY_MORE_ADJ
)
2582 ret_val
= EOB_ACT_END_OF_FILE
;
2588 ret_val
= EOB_ACT_LAST_MATCH
;
2589 yy_current_buffer
->yy_buffer_status
=
2590 YY_BUFFER_EOF_PENDING
;
2595 ret_val
= EOB_ACT_CONTINUE_SCAN
;
2597 yy_n_chars
+= number_to_move
;
2598 yy_current_buffer
->yy_ch_buf
[yy_n_chars
] = YY_END_OF_BUFFER_CHAR
;
2599 yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] = YY_END_OF_BUFFER_CHAR
;
2601 yytext_ptr
= &yy_current_buffer
->yy_ch_buf
[0];
2607 /* yy_get_previous_state - get the state just before the EOB char was reached */
2609 static yy_state_type
yy_get_previous_state()
2611 register yy_state_type yy_current_state
;
2612 register char *yy_cp
;
2614 yy_current_state
= yy_start
;
2616 for ( yy_cp
= yytext_ptr
+ YY_MORE_ADJ
; yy_cp
< yy_c_buf_p
; ++yy_cp
)
2618 register YY_CHAR yy_c
= (*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
2619 if ( yy_accept
[yy_current_state
] )
2621 yy_last_accepting_state
= yy_current_state
;
2622 yy_last_accepting_cpos
= yy_cp
;
2624 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
2626 yy_current_state
= (int) yy_def
[yy_current_state
];
2627 if ( yy_current_state
>= 450 )
2628 yy_c
= yy_meta
[(unsigned int) yy_c
];
2630 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
2633 return yy_current_state
;
2637 /* yy_try_NUL_trans - try to make a transition on the NUL character
2640 * next_state = yy_try_NUL_trans( current_state );
2643 #ifdef YY_USE_PROTOS
2644 static yy_state_type
yy_try_NUL_trans( yy_state_type yy_current_state
)
2646 static yy_state_type
yy_try_NUL_trans( yy_current_state
)
2647 yy_state_type yy_current_state
;
2650 register int yy_is_jam
;
2651 register char *yy_cp
= yy_c_buf_p
;
2653 register YY_CHAR yy_c
= 1;
2654 if ( yy_accept
[yy_current_state
] )
2656 yy_last_accepting_state
= yy_current_state
;
2657 yy_last_accepting_cpos
= yy_cp
;
2659 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
2661 yy_current_state
= (int) yy_def
[yy_current_state
];
2662 if ( yy_current_state
>= 450 )
2663 yy_c
= yy_meta
[(unsigned int) yy_c
];
2665 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
2666 yy_is_jam
= (yy_current_state
== 449);
2668 return yy_is_jam
? 0 : yy_current_state
;
2673 #ifdef YY_USE_PROTOS
2674 static void yyunput( int c
, register char *yy_bp
)
2676 static void yyunput( c
, yy_bp
)
2678 register char *yy_bp
;
2681 register char *yy_cp
= yy_c_buf_p
;
2683 /* undo effects of setting up yytext */
2684 *yy_cp
= yy_hold_char
;
2686 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
2687 { /* need to shift things up to make room */
2688 /* +2 for EOB chars. */
2689 register int number_to_move
= yy_n_chars
+ 2;
2690 register char *dest
= &yy_current_buffer
->yy_ch_buf
[
2691 yy_current_buffer
->yy_buf_size
+ 2];
2692 register char *source
=
2693 &yy_current_buffer
->yy_ch_buf
[number_to_move
];
2695 while ( source
> yy_current_buffer
->yy_ch_buf
)
2696 *--dest
= *--source
;
2698 yy_cp
+= (int) (dest
- source
);
2699 yy_bp
+= (int) (dest
- source
);
2700 yy_current_buffer
->yy_n_chars
=
2701 yy_n_chars
= yy_current_buffer
->yy_buf_size
;
2703 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
2704 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2707 *--yy_cp
= (char) c
;
2711 yy_hold_char
= *yy_cp
;
2714 #endif /* ifndef YY_NO_UNPUT */
2718 static int yyinput()
2725 *yy_c_buf_p
= yy_hold_char
;
2727 if ( *yy_c_buf_p
== YY_END_OF_BUFFER_CHAR
)
2729 /* yy_c_buf_p now points to the character we want to return.
2730 * If this occurs *before* the EOB characters, then it's a
2731 * valid NUL; if not, then we've hit the end of the buffer.
2733 if ( yy_c_buf_p
< &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
2734 /* This was really a NUL. */
2738 { /* need more input */
2739 int offset
= yy_c_buf_p
- yytext_ptr
;
2742 switch ( yy_get_next_buffer() )
2744 case EOB_ACT_LAST_MATCH
:
2745 /* This happens because yy_g_n_b()
2746 * sees that we've accumulated a
2747 * token and flags that we need to
2748 * try matching the token before
2749 * proceeding. But for input(),
2750 * there's no matching to consider.
2751 * So convert the EOB_ACT_LAST_MATCH
2752 * to EOB_ACT_END_OF_FILE.
2755 /* Reset buffer status. */
2760 case EOB_ACT_END_OF_FILE
:
2765 if ( ! yy_did_buffer_switch_on_eof
)
2774 case EOB_ACT_CONTINUE_SCAN
:
2775 yy_c_buf_p
= yytext_ptr
+ offset
;
2781 c
= *(unsigned char *) yy_c_buf_p
; /* cast for 8-bit char's */
2782 *yy_c_buf_p
= '\0'; /* preserve yytext */
2783 yy_hold_char
= *++yy_c_buf_p
;
2790 #ifdef YY_USE_PROTOS
2791 void yyrestart( FILE *input_file
)
2793 void yyrestart( input_file
)
2797 if ( ! yy_current_buffer
)
2798 yy_current_buffer
= yy_create_buffer( yyin
, YY_BUF_SIZE
);
2800 yy_init_buffer( yy_current_buffer
, input_file
);
2801 yy_load_buffer_state();
2805 #ifdef YY_USE_PROTOS
2806 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer
)
2808 void yy_switch_to_buffer( new_buffer
)
2809 YY_BUFFER_STATE new_buffer
;
2812 if ( yy_current_buffer
== new_buffer
)
2815 if ( yy_current_buffer
)
2817 /* Flush out information for old buffer. */
2818 *yy_c_buf_p
= yy_hold_char
;
2819 yy_current_buffer
->yy_buf_pos
= yy_c_buf_p
;
2820 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
2823 yy_current_buffer
= new_buffer
;
2824 yy_load_buffer_state();
2826 /* We don't actually know whether we did this switch during
2827 * EOF (yywrap()) processing, but the only time this flag
2828 * is looked at is after yywrap() is called, so it's safe
2829 * to go ahead and always set it.
2831 yy_did_buffer_switch_on_eof
= 1;
2835 #ifdef YY_USE_PROTOS
2836 void yy_load_buffer_state( void )
2838 void yy_load_buffer_state()
2841 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
2842 yytext_ptr
= yy_c_buf_p
= yy_current_buffer
->yy_buf_pos
;
2843 yyin
= yy_current_buffer
->yy_input_file
;
2844 yy_hold_char
= *yy_c_buf_p
;
2848 #ifdef YY_USE_PROTOS
2849 YY_BUFFER_STATE
yy_create_buffer( FILE *file
, int size
)
2851 YY_BUFFER_STATE
yy_create_buffer( file
, size
)
2858 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
2860 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2862 b
->yy_buf_size
= size
;
2864 /* yy_ch_buf has to be 2 characters longer than the size given because
2865 * we need to put in 2 end-of-buffer characters.
2867 b
->yy_ch_buf
= (char *) yy_flex_alloc( b
->yy_buf_size
+ 2 );
2868 if ( ! b
->yy_ch_buf
)
2869 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2871 b
->yy_is_our_buffer
= 1;
2873 yy_init_buffer( b
, file
);
2879 #ifdef YY_USE_PROTOS
2880 void yy_delete_buffer( YY_BUFFER_STATE b
)
2882 void yy_delete_buffer( b
)
2889 if ( b
== yy_current_buffer
)
2890 yy_current_buffer
= (YY_BUFFER_STATE
) 0;
2892 if ( b
->yy_is_our_buffer
)
2893 yy_flex_free( (void *) b
->yy_ch_buf
);
2895 yy_flex_free( (void *) b
);
2902 #ifndef YY_ALWAYS_INTERACTIVE
2903 #ifndef YY_NEVER_INTERACTIVE
2904 extern int isatty
YY_PROTO(( int ));
2909 #ifdef YY_USE_PROTOS
2910 void yy_init_buffer( YY_BUFFER_STATE b
, FILE *file
)
2912 void yy_init_buffer( b
, file
)
2919 yy_flush_buffer( b
);
2921 b
->yy_input_file
= file
;
2922 b
->yy_fill_buffer
= 1;
2924 #if YY_ALWAYS_INTERACTIVE
2925 b
->yy_is_interactive
= 1;
2927 #if YY_NEVER_INTERACTIVE
2928 b
->yy_is_interactive
= 0;
2930 b
->yy_is_interactive
= file
? (isatty( fileno(file
) ) > 0) : 0;
2936 #ifdef YY_USE_PROTOS
2937 void yy_flush_buffer( YY_BUFFER_STATE b
)
2939 void yy_flush_buffer( b
)
2949 /* We always need two end-of-buffer characters. The first causes
2950 * a transition to the end-of-buffer state. The second causes
2951 * a jam in that state.
2953 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
2954 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
2956 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
2959 b
->yy_buffer_status
= YY_BUFFER_NEW
;
2961 if ( b
== yy_current_buffer
)
2962 yy_load_buffer_state();
2966 #ifndef YY_NO_SCAN_BUFFER
2967 #ifdef YY_USE_PROTOS
2968 YY_BUFFER_STATE
yy_scan_buffer( char *base
, yy_size_t size
)
2970 YY_BUFFER_STATE
yy_scan_buffer( base
, size
)
2978 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
2979 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
2980 /* They forgot to leave room for the EOB's. */
2983 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
2985 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2987 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
2988 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
2989 b
->yy_is_our_buffer
= 0;
2990 b
->yy_input_file
= 0;
2991 b
->yy_n_chars
= b
->yy_buf_size
;
2992 b
->yy_is_interactive
= 0;
2994 b
->yy_fill_buffer
= 0;
2995 b
->yy_buffer_status
= YY_BUFFER_NEW
;
2997 yy_switch_to_buffer( b
);
3004 #ifndef YY_NO_SCAN_STRING
3005 #ifdef YY_USE_PROTOS
3006 YY_BUFFER_STATE
yy_scan_string( yyconst
char *yy_str
)
3008 YY_BUFFER_STATE
yy_scan_string( yy_str
)
3009 yyconst
char *yy_str
;
3013 for ( len
= 0; yy_str
[len
]; ++len
)
3016 return yy_scan_bytes( yy_str
, len
);
3021 #ifndef YY_NO_SCAN_BYTES
3022 #ifdef YY_USE_PROTOS
3023 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *bytes
, int len
)
3025 YY_BUFFER_STATE
yy_scan_bytes( bytes
, len
)
3026 yyconst
char *bytes
;
3035 /* Get memory for full buffer, including space for trailing EOB's. */
3037 buf
= (char *) yy_flex_alloc( n
);
3039 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3041 for ( i
= 0; i
< len
; ++i
)
3044 buf
[len
] = buf
[len
+1] = YY_END_OF_BUFFER_CHAR
;
3046 b
= yy_scan_buffer( buf
, n
);
3048 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3050 /* It's okay to grow etc. this buffer, and we should throw it
3051 * away when we're done.
3053 b
->yy_is_our_buffer
= 1;
3060 #ifndef YY_NO_PUSH_STATE
3061 #ifdef YY_USE_PROTOS
3062 static void yy_push_state( int new_state
)
3064 static void yy_push_state( new_state
)
3068 if ( yy_start_stack_ptr
>= yy_start_stack_depth
)
3072 yy_start_stack_depth
+= YY_START_STACK_INCR
;
3073 new_size
= yy_start_stack_depth
* sizeof( int );
3075 if ( ! yy_start_stack
)
3076 yy_start_stack
= (int *) yy_flex_alloc( new_size
);
3079 yy_start_stack
= (int *) yy_flex_realloc(
3080 (void *) yy_start_stack
, new_size
);
3082 if ( ! yy_start_stack
)
3084 "out of memory expanding start-condition stack" );
3087 yy_start_stack
[yy_start_stack_ptr
++] = YY_START
;
3094 #ifndef YY_NO_POP_STATE
3095 static void yy_pop_state()
3097 if ( --yy_start_stack_ptr
< 0 )
3098 YY_FATAL_ERROR( "start-condition stack underflow" );
3100 BEGIN(yy_start_stack
[yy_start_stack_ptr
]);
3105 #ifndef YY_NO_TOP_STATE
3106 static int yy_top_state()
3108 return yy_start_stack
[yy_start_stack_ptr
- 1];
3112 #ifndef YY_EXIT_FAILURE
3113 #define YY_EXIT_FAILURE 2
3116 #ifdef YY_USE_PROTOS
3117 static void yy_fatal_error( yyconst
char msg
[] )
3119 static void yy_fatal_error( msg
)
3123 (void) fprintf( stderr
, "%s\n", msg
);
3124 exit( YY_EXIT_FAILURE
);
3129 /* Redefine yyless() so it works in section 3 code. */
3135 /* Undo effects of setting up yytext. */ \
3136 yytext[yyleng] = yy_hold_char; \
3137 yy_c_buf_p = yytext + n; \
3138 yy_hold_char = *yy_c_buf_p; \
3139 *yy_c_buf_p = '\0'; \
3145 /* Internal utility routines. */
3148 #ifdef YY_USE_PROTOS
3149 static void yy_flex_strncpy( char *s1
, yyconst
char *s2
, int n
)
3151 static void yy_flex_strncpy( s1
, s2
, n
)
3158 for ( i
= 0; i
< n
; ++i
)
3163 #ifdef YY_NEED_STRLEN
3164 #ifdef YY_USE_PROTOS
3165 static int yy_flex_strlen( yyconst
char *s
)
3167 static int yy_flex_strlen( s
)
3172 for ( n
= 0; s
[n
]; ++n
)
3180 #ifdef YY_USE_PROTOS
3181 static void *yy_flex_alloc( yy_size_t size
)
3183 static void *yy_flex_alloc( size
)
3187 return (void *) malloc( size
);
3190 #ifdef YY_USE_PROTOS
3191 static void *yy_flex_realloc( void *ptr
, yy_size_t size
)
3193 static void *yy_flex_realloc( ptr
, size
)
3198 /* The cast to (char *) in the following accommodates both
3199 * implementations that use char* generic pointers, and those
3200 * that use void* generic pointers. It works with the latter
3201 * because both ANSI C and C++ allow castless assignment from
3202 * any pointer type to void*, and deal with argument conversions
3203 * as though doing an assignment.
3205 return (void *) realloc( (char *) ptr
, size
);
3208 #ifdef YY_USE_PROTOS
3209 static void yy_flex_free( void *ptr
)
3211 static void yy_flex_free( ptr
)
3229 bx_yyinput(char *buf
, int max_size
)
3233 if (lex_input_size
== 0) {
3234 fprintf(stderr
, "lex: no characters in string input buffer.\n");
3238 len
= strlen(lex_input_ptr
) + 1;
3242 memcpy(buf
, lex_input_ptr
, len
);
3248 bx_add_lex_input(char *buf
)
3250 lex_input_ptr
= buf
;
3251 lex_input_size
= strlen(buf
);
3253 // Since we're parsing from strings, flush out
3254 // all current buffer state, so the next read
3255 // requests from yyinput
3257 bx_flush_buffer( YY_CURRENT_BUFFER
);
3260 #endif /* if BX_DEBUGGER */