From d257f548b98bb602bc49cedbd7db8529e7828d96 Mon Sep 17 00:00:00 2001 From: Stanislav Shwartsman Date: Tue, 24 Jan 2006 21:37:37 +0000 Subject: [PATCH] 1. implemented 'set register =' command, old style 'registers = command' removed, now 'r|reg|regs|registers' command shows CPU registers contents (same as 'info cpu') 2. new command 'u|disasm|disassemble mode-switch' - switch between Intel and AT&T disasm syntax 3. new command 'u|disasm|disassemble size=n' should be used instead of old 'set $disassembler_size=n' 4. 'h' is a new alias for 'help' command --- bochs/bx_debug/dbg_main.cc | 45 +- bochs/bx_debug/debug.h | 6 +- bochs/bx_debug/lexer.c | 912 ++++++++------- bochs/bx_debug/lexer.l | 7 +- bochs/bx_debug/parser.c | 2269 ++++++++++++++++++------------------ bochs/bx_debug/parser.h | 252 ++-- bochs/bx_debug/parser.y | 72 +- bochs/cpu/debugstuff.cc | 6 +- 8 files changed, 1813 insertions(+), 1756 deletions(-) diff --git a/bochs/bx_debug/dbg_main.cc b/bochs/bx_debug/dbg_main.cc index e496caca9..d647353ee 100644 --- a/bochs/bx_debug/dbg_main.cc +++ b/bochs/bx_debug/dbg_main.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: dbg_main.cc,v 1.38 2006-01-24 19:23:42 sshwarts Exp $ +// $Id: dbg_main.cc,v 1.39 2006-01-24 21:37:36 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -1838,10 +1838,23 @@ void bx_dbg_info_bpoints_command(void) #endif } -void bx_dbg_set_command(char *p1, char *p2, char *p3) +void bx_dbg_set_auto_disassemble(bx_bool enable) { - dbg_printf("Error: %s %s %s: command 'set' not implemented yet.\n", - p1, p2, p3); + bx_debugger.auto_disassemble = enable; +} + +void bx_dbg_set_disassemble_size(unsigned size) +{ + if ( (size!=16) && (size!=32) && (size!=64) && (size!=0) ) { + dbg_printf("Error: disassemble size must be 16/32 or 64.\n"); + return; + } + bx_debugger.disassemble_size = size; +} + +void bx_dbg_disassemble_switch_mode() +{ + bx_disassemble.toggle_syntax_mode(); } void bx_dbg_take_command(char *what, unsigned n) @@ -2425,15 +2438,7 @@ void bx_dbg_set_symbol_command(char *symbol, Bit32u val) return; } else if ( !strcmp(symbol, "auto_disassemble") ) { - bx_debugger.auto_disassemble = (val > 0); - return; - } - else if ( !strcmp(symbol, "disassemble_size") ) { - if ( (val!=16) && (val!=32) && (val!=0) ) { - dbg_printf("Error: disassemble_size must be 16 or 32.\n"); - return; - } - bx_debugger.disassemble_size = val; + bx_dbg_set_auto_disassemble(val != 0); return; } else { @@ -2756,16 +2761,16 @@ void bx_dbg_instrument_command(const char *comm) { #if BX_INSTRUMENTATION if ( !strcmp(comm, "start") ) { - BX_INSTR_START (); + BX_INSTR_START(); } else if ( !strcmp(comm, "stop") ) { - BX_INSTR_STOP (); + BX_INSTR_STOP(); } else if ( !strcmp(comm, "reset") ) { - BX_INSTR_RESET (dbg_cpu); + BX_INSTR_RESET(dbg_cpu); } else if ( !strcmp(comm, "print") ) { - BX_INSTR_PRINT (); + BX_INSTR_PRINT(); } else { dbg_printf("Error: command instrument %s not implemented.\n", comm); @@ -3663,8 +3668,8 @@ void bx_dbg_info_ivt_command(bx_num_range r) void bx_dbg_print_help(void) { - dbg_printf("help - show list of debugger commands\n"); - dbg_printf("help command - show short command description\n"); + dbg_printf("h|help - show list of debugger commands\n"); + dbg_printf("h|help command - show short command description\n"); dbg_printf("-*- Debugger control -*-\n"); dbg_printf(" help, q|quit|exit, set, instrument, show, trace-on, trace-off,\n"); dbg_printf(" trace-reg-on, trace-reg-off, record, playback,\n"); @@ -3676,7 +3681,7 @@ void bx_dbg_print_help(void) dbg_printf(" bpe, bpd, d|del|delete\n"); dbg_printf("-*- CPU and memory contents -*-\n"); dbg_printf(" x, xp, u|disasm|disassemble, r|reg|regs|registers, setpmem, crc, info,\n"); - dbg_printf(" dump_cpu, set_cpu, ptime, print-stack, watch, unwatch, ?|calc\n"); + dbg_printf(" set, dump_cpu, set_cpu, ptime, print-stack, watch, unwatch, ?|calc\n"); } void bx_dbg_calc_command(Bit64u value) diff --git a/bochs/bx_debug/debug.h b/bochs/bx_debug/debug.h index ecd0e7692..fecb9cd5b 100644 --- a/bochs/bx_debug/debug.h +++ b/bochs/bx_debug/debug.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: debug.h,v 1.9 2006-01-24 19:03:53 sshwarts Exp $ +// $Id: debug.h,v 1.10 2006-01-24 21:37:37 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -130,7 +130,9 @@ void bx_dbg_watch(int read, Bit32u address); void bx_dbg_unwatch(int read, Bit32u address); void bx_dbg_continue_command(void); void bx_dbg_stepN_command(bx_dbg_icount_t count); -void bx_dbg_set_command(char *p1, char *p2, char *p3); +void bx_dbg_set_auto_disassemble(bx_bool enable); +void bx_dbg_disassemble_switch_mode(void); +void bx_dbg_set_disassemble_size(unsigned size); void bx_dbg_del_breakpoint_command(unsigned handle); void bx_dbg_en_dis_breakpoint_command(unsigned handle, bx_bool enable); bx_bool bx_dbg_en_dis_pbreak (unsigned handle, bx_bool enable); diff --git a/bochs/bx_debug/lexer.c b/bochs/bx_debug/lexer.c index d10dab4bb..a04eef41a 100644 --- a/bochs/bx_debug/lexer.c +++ b/bochs/bx_debug/lexer.c @@ -19,7 +19,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/volker/Archiv/bochs-cvs-rsync-20110222/bochs/bx_debug/lexer.c,v 1.7 2006-01-24 19:03:54 sshwarts Exp $ + * $Header: /home/volker/Archiv/bochs-cvs-rsync-20110222/bochs/bx_debug/lexer.c,v 1.8 2006-01-24 21:37:37 sshwarts Exp $ */ #define FLEX_SCANNER @@ -303,60 +303,61 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 170 -#define YY_END_OF_BUFFER 171 -static yyconst short int yy_accept[457] = +#define YY_NUM_RULES 171 +#define YY_END_OF_BUFFER 172 +static yyconst short int yy_accept[469] = { 0, - 0, 0, 0, 0, 0, 0, 171, 168, 1, 166, - 155, 168, 167, 168, 152, 168, 156, 157, 148, 146, - 147, 149, 163, 163, 165, 168, 168, 141, 154, 168, - 22, 7, 47, 168, 168, 168, 168, 168, 168, 168, - 14, 168, 15, 52, 29, 12, 168, 63, 168, 168, - 53, 153, 169, 1, 169, 165, 169, 1, 0, 159, - 0, 167, 164, 0, 158, 0, 161, 163, 162, 0, - 151, 150, 0, 110, 106, 114, 111, 107, 124, 0, - 115, 0, 112, 108, 0, 0, 26, 132, 116, 0, - 113, 123, 109, 0, 0, 135, 0, 117, 0, 0, + 0, 0, 0, 0, 0, 0, 172, 169, 1, 167, + 156, 169, 168, 169, 153, 169, 157, 158, 149, 147, + 148, 150, 164, 164, 166, 169, 169, 142, 155, 169, + 21, 6, 46, 169, 169, 169, 141, 169, 169, 169, + 13, 169, 14, 51, 28, 11, 169, 62, 169, 169, + 52, 154, 170, 1, 170, 166, 170, 1, 0, 160, + 0, 168, 165, 0, 159, 0, 162, 164, 163, 0, + 152, 151, 0, 111, 107, 115, 112, 108, 125, 0, + 116, 0, 113, 109, 0, 0, 25, 133, 117, 0, + 114, 124, 110, 0, 0, 136, 0, 118, 0, 0, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, - 136, 0, 0, 137, 0, 0, 0, 126, 0, 0, - 19, 0, 0, 0, 0, 0, 0, 4, 0, 23, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, - 0, 122, 0, 125, 134, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 54, 143, 144, 145, - 164, 160, 0, 36, 0, 49, 48, 0, 0, 0, - 35, 6, 0, 46, 0, 0, 3, 59, 0, 0, - 118, 129, 119, 120, 128, 121, 0, 131, 127, 130, - 0, 0, 0, 0, 33, 39, 0, 0, 37, 0, + 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, + 137, 0, 0, 138, 0, 0, 0, 127, 0, 0, + 18, 0, 0, 0, 0, 0, 0, 3, 0, 22, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, + 0, 123, 0, 126, 135, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, 0, 53, 144, 145, + 146, 165, 161, 0, 35, 0, 48, 47, 0, 0, + 0, 34, 5, 0, 45, 0, 0, 0, 58, 0, + 0, 119, 130, 120, 121, 129, 122, 0, 132, 128, + 131, 0, 0, 0, 0, 32, 38, 0, 0, 36, - 0, 60, 38, 0, 40, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 61, 0, 0, 0, 0, - 0, 0, 0, 30, 0, 79, 2, 0, 0, 34, - 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, - 105, 0, 0, 0, 0, 0, 0, 142, 8, 27, - 0, 0, 0, 0, 72, 0, 0, 51, 0, 0, - 0, 0, 140, 25, 0, 0, 0, 0, 0, 0, - 102, 13, 104, 0, 0, 0, 0, 0, 0, 0, - 50, 86, 0, 0, 31, 0, 0, 0, 89, 0, - 0, 11, 68, 0, 0, 58, 0, 0, 0, 0, + 0, 0, 59, 37, 0, 39, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 80, 2, 0, 0, + 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 0, 0, 106, 0, 0, 0, 0, 0, 0, + 143, 7, 26, 0, 0, 0, 0, 71, 0, 0, + 50, 0, 0, 0, 0, 141, 24, 0, 0, 0, + 0, 0, 0, 103, 12, 105, 0, 0, 0, 0, + 0, 0, 0, 49, 87, 0, 0, 30, 0, 0, + 0, 90, 77, 0, 0, 10, 67, 0, 0, 0, - 0, 0, 0, 16, 21, 0, 28, 0, 0, 42, - 0, 0, 0, 0, 138, 0, 0, 0, 0, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 70, 77, - 56, 0, 0, 69, 0, 0, 92, 67, 10, 0, - 0, 0, 0, 0, 84, 94, 87, 0, 0, 45, - 0, 64, 0, 0, 0, 0, 93, 0, 20, 0, - 71, 82, 103, 24, 0, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 57, 100, 0, - 0, 0, 62, 55, 91, 0, 0, 0, 0, 85, + 57, 0, 0, 0, 0, 0, 0, 0, 15, 20, + 0, 27, 0, 0, 41, 0, 0, 0, 0, 139, + 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, + 0, 0, 0, 69, 78, 55, 0, 0, 68, 0, + 0, 93, 66, 9, 0, 0, 0, 0, 0, 0, + 85, 95, 88, 0, 0, 44, 0, 63, 0, 0, + 0, 0, 94, 0, 19, 0, 70, 83, 104, 23, + 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 101, 0, 0, 0, 61, - 0, 9, 0, 0, 44, 0, 0, 0, 0, 81, - 0, 0, 98, 0, 0, 73, 0, 101, 0, 0, - 0, 0, 0, 0, 0, 0, 32, 0, 74, 0, - 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, - 96, 65, 0, 139, 0, 83, 0, 97, 0, 99, - 90, 95, 0, 75, 76, 0 + 54, 0, 92, 0, 0, 0, 0, 86, 0, 8, + 0, 0, 43, 0, 0, 0, 0, 82, 0, 0, + 0, 99, 0, 0, 72, 0, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 0, 0, 73, 0, + 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, + 0, 97, 64, 0, 140, 0, 84, 0, 76, 98, + 0, 100, 91, 96, 0, 74, 75, 0 } ; static yyconst int yy_ec[256] = @@ -374,7 +375,7 @@ static yyconst int yy_ec[256] = 34, 35, 36, 37, 38, 25, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 25, 1, 54, 1, 1, 1, 1, 1, 1, + 53, 54, 1, 55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -391,264 +392,270 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[55] = +static yyconst int yy_meta[56] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 4, 5, 5, 1, 1, 5, 4, 6, 6, 6, 4, 4, 7, 7, 7, 5, 5, 7, 5, 7, 5, 5, 5, 7, 7, 7, 5, - 7, 7, 5, 1 + 7, 7, 5, 5, 1 } ; -static yyconst short int yy_base[465] = +static yyconst short int yy_base[477] = { 0, - 0, 0, 53, 55, 57, 59, 544, 545, 541, 545, - 545, 58, 0, 0, 545, 55, 545, 545, 545, 545, - 545, 545, 70, 74, 545, 521, 519, 545, 545, 43, - 57, 68, 89, 112, 109, 66, 506, 121, 135, 496, - 504, 36, 145, 488, 502, 163, 72, 493, 85, 87, - 490, 545, 545, 531, 170, 545, 196, 530, 130, 545, - 0, 0, 0, 57, 545, 0, 201, 205, 545, 0, - 545, 545, 498, 545, 490, 545, 545, 491, 127, 494, - 545, 487, 545, 545, 484, 476, 33, 545, 545, 484, - 545, 123, 545, 493, 484, 545, 480, 545, 468, 96, + 0, 0, 54, 56, 58, 60, 557, 558, 554, 558, + 558, 59, 0, 0, 558, 56, 558, 558, 558, 558, + 558, 558, 71, 75, 558, 534, 532, 558, 558, 44, + 58, 69, 90, 113, 110, 67, 519, 122, 136, 509, + 517, 37, 146, 501, 515, 164, 73, 506, 86, 88, + 503, 558, 558, 544, 171, 558, 202, 543, 131, 558, + 0, 0, 0, 58, 558, 0, 206, 210, 558, 0, + 558, 558, 511, 558, 503, 558, 558, 504, 128, 507, + 558, 500, 558, 558, 497, 489, 34, 558, 558, 497, + 558, 124, 558, 506, 497, 558, 493, 558, 481, 97, - 467, 99, 478, 473, 66, 478, 468, 484, 467, 463, - 545, 463, 467, 545, 469, 460, 34, 545, 462, 458, - 459, 456, 461, 472, 468, 110, 465, 545, 463, 452, - 455, 443, 463, 464, 455, 454, 143, 196, 461, 442, - 446, 545, 450, 545, 453, 162, 157, 447, 455, 437, - 432, 436, 451, 432, 445, 440, 545, 217, 221, 228, - 0, 0, 431, 545, 429, 545, 545, 445, 442, 425, - 545, 545, 436, 437, 435, 421, 438, 545, 419, 422, - 545, 545, 545, 545, 545, 545, 435, 545, 545, 545, - 416, 415, 426, 429, 545, 545, 429, 415, 545, 415, + 480, 100, 491, 486, 67, 491, 481, 497, 480, 476, + 558, 476, 480, 558, 482, 473, 35, 558, 475, 471, + 472, 469, 474, 485, 481, 111, 478, 558, 476, 465, + 468, 456, 476, 477, 468, 467, 144, 167, 474, 455, + 459, 447, 462, 558, 465, 166, 460, 164, 458, 466, + 448, 443, 447, 462, 443, 456, 451, 558, 221, 225, + 229, 0, 0, 442, 558, 440, 558, 558, 456, 453, + 436, 558, 558, 447, 448, 446, 432, 449, 558, 430, + 433, 558, 558, 558, 558, 558, 558, 446, 558, 558, + 558, 427, 426, 437, 440, 558, 558, 440, 426, 558, - 409, 545, 545, 422, 545, 406, 421, 419, 156, 404, - 545, 417, 416, 416, 430, 545, 394, 404, 404, 398, - 395, 409, 398, 87, 406, 545, 102, 388, 391, 545, - 391, 392, 391, 403, 401, 398, 399, 545, 400, 395, - 545, 396, 381, 378, 411, 376, 384, 545, 384, 374, - 372, 405, 365, 370, 545, 387, 379, 545, 400, 366, - 378, 381, 545, 545, 364, 379, 356, 170, 376, 390, - 545, 545, 545, 375, 366, 363, 371, 353, 366, 346, - 545, 545, 352, 350, 545, 348, 363, 353, 545, 345, - 344, 353, 545, 347, 375, 545, 354, 339, 356, 348, + 426, 420, 558, 558, 433, 558, 417, 432, 430, 177, + 415, 558, 428, 427, 427, 441, 558, 405, 415, 415, + 409, 406, 420, 409, 88, 417, 558, 103, 399, 415, + 401, 558, 401, 402, 401, 396, 412, 410, 407, 408, + 558, 409, 404, 558, 405, 390, 387, 420, 385, 393, + 558, 393, 383, 381, 414, 374, 379, 558, 396, 388, + 558, 409, 375, 387, 390, 558, 558, 373, 388, 365, + 196, 385, 399, 558, 558, 558, 384, 375, 372, 380, + 362, 375, 355, 558, 558, 361, 359, 558, 357, 372, + 362, 558, 558, 354, 353, 362, 558, 367, 355, 383, - 350, 349, 344, 545, 545, 339, 545, 346, 338, 545, - 133, 346, 330, 341, 545, 361, 334, 324, 333, 545, - 324, 324, 325, 352, 328, 324, 322, 334, 349, 545, - 545, 329, 313, 545, 316, 325, 545, 545, 545, 318, - 209, 343, 324, 316, 545, 545, 545, 312, 304, 545, - 318, 545, 317, 306, 306, 316, 545, 306, 545, 293, - 545, 545, 545, 545, 309, 308, 311, 295, 545, 307, - 291, 298, 291, 293, 302, 163, 298, 545, 299, 299, - 291, 290, 281, 283, 291, 293, 285, 545, 545, 286, - 276, 277, 545, 545, 545, 273, 280, 207, 286, 545, + 558, 362, 347, 364, 356, 358, 357, 352, 558, 558, + 347, 558, 354, 346, 558, 134, 354, 338, 349, 558, + 369, 342, 332, 341, 558, 332, 332, 333, 360, 336, + 332, 330, 342, 357, 558, 558, 337, 321, 558, 324, + 333, 558, 558, 558, 329, 325, 217, 350, 331, 323, + 558, 558, 558, 319, 311, 558, 325, 558, 324, 313, + 313, 323, 558, 313, 558, 300, 558, 558, 558, 558, + 316, 315, 318, 302, 558, 314, 298, 305, 331, 297, + 299, 308, 188, 304, 558, 305, 305, 297, 296, 287, + 289, 297, 299, 291, 558, 558, 292, 282, 283, 558, - 276, 545, 275, 286, 545, 265, 281, 272, 282, 545, - 218, 265, 545, 268, 274, 545, 263, 545, 252, 251, - 250, 241, 215, 219, 229, 222, 545, 213, 545, 243, - 203, 221, 208, 214, 545, 212, 191, 187, 172, 165, - 545, 545, 169, 545, 143, 545, 119, 545, 216, 545, - 545, 545, 72, 545, 545, 545, 264, 271, 278, 282, - 289, 294, 299, 304 + 558, 287, 558, 278, 285, 215, 291, 558, 281, 558, + 280, 291, 558, 270, 286, 277, 287, 558, 161, 270, + 273, 558, 272, 279, 558, 277, 558, 266, 271, 280, + 277, 260, 264, 274, 266, 558, 261, 247, 558, 272, + 222, 234, 210, 216, 558, 214, 214, 209, 201, 180, + 170, 558, 558, 152, 558, 126, 558, 120, 558, 558, + 217, 558, 558, 558, 73, 558, 558, 558, 259, 266, + 273, 277, 284, 289, 294, 299 } ; -static yyconst short int yy_def[465] = +static yyconst short int yy_def[477] = { 0, - 456, 1, 457, 457, 457, 457, 456, 456, 456, 456, - 456, 458, 459, 460, 456, 461, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 462, 456, 456, 456, 458, 456, - 458, 459, 463, 461, 456, 461, 456, 456, 456, 464, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, + 468, 1, 469, 469, 469, 469, 468, 468, 468, 468, + 468, 470, 471, 472, 468, 473, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 474, 468, 468, 468, 470, 468, + 470, 471, 475, 473, 468, 473, 468, 468, 468, 476, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 462, 462, 456, - 463, 464, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 474, 474, + 468, 475, 476, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 0, 456, 456, 456, 456, - 456, 456, 456, 456 + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 0, 468, 468, + 468, 468, 468, 468, 468, 468 } ; -static yyconst short int yy_nxt[600] = +static yyconst short int yy_nxt[614] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 24, 25, 26, 27, 28, 8, 8, 8, 8, 29, 8, 30, 31, 32, 33, 34, 35, 36, 37, 38, 8, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 8, 52, 54, 10, 54, 10, 54, 10, - 54, 10, 60, 65, 172, 65, 173, 55, 200, 55, - 127, 57, 56, 57, 56, 73, 56, 128, 56, 74, - 201, 66, 75, 66, 61, 67, 67, 67, 68, 68, - 68, 68, 68, 77, 76, 69, 78, 82, 112, 69, + 50, 51, 8, 8, 52, 54, 10, 54, 10, 54, + 10, 54, 10, 60, 65, 173, 65, 174, 55, 201, + 55, 127, 57, 56, 57, 56, 73, 56, 128, 56, + 74, 202, 66, 75, 66, 61, 67, 67, 67, 68, + 68, 68, 68, 68, 77, 76, 69, 78, 82, 112, - 79, 148, 80, 189, 83, 113, 455, 84, 81, 190, - 85, 86, 114, 87, 88, 152, 154, 149, 150, 89, - 153, 70, 90, 155, 284, 91, 92, 209, 93, 94, - 287, 95, 156, 285, 60, 96, 185, 97, 107, 182, - 98, 99, 100, 101, 102, 288, 103, 183, 108, 104, - 186, 109, 110, 116, 452, 111, 61, 175, 105, 166, - 167, 210, 117, 106, 118, 121, 119, 122, 176, 177, - 120, 270, 123, 352, 129, 130, 220, 124, 131, 353, - 221, 132, 133, 321, 134, 158, 158, 158, 158, 451, - 135, 231, 136, 139, 271, 232, 140, 234, 235, 141, + 69, 79, 149, 80, 190, 83, 113, 467, 84, 81, + 191, 85, 86, 114, 87, 88, 153, 155, 150, 151, + 89, 154, 70, 90, 156, 287, 91, 92, 210, 93, + 94, 290, 95, 157, 288, 60, 96, 186, 97, 107, + 183, 98, 99, 100, 101, 102, 291, 103, 184, 108, + 104, 187, 109, 110, 116, 464, 111, 61, 176, 105, + 167, 168, 211, 117, 106, 118, 121, 119, 122, 177, + 178, 120, 463, 123, 358, 129, 130, 221, 124, 131, + 359, 222, 132, 133, 462, 134, 159, 159, 159, 159, + 434, 135, 273, 136, 139, 233, 223, 140, 224, 234, - 142, 450, 143, 322, 233, 398, 144, 449, 399, 145, - 146, 160, 160, 160, 160, 147, 67, 67, 67, 68, - 68, 68, 68, 68, 448, 222, 69, 223, 447, 446, - 69, 224, 158, 158, 158, 158, 456, 456, 456, 456, - 374, 415, 225, 160, 160, 160, 160, 425, 416, 375, - 453, 445, 444, 443, 442, 441, 440, 454, 439, 438, - 437, 436, 435, 426, 53, 53, 53, 53, 53, 53, - 53, 59, 434, 59, 59, 59, 59, 59, 62, 433, - 62, 62, 62, 62, 62, 63, 63, 63, 63, 64, - 432, 64, 64, 64, 64, 64, 159, 431, 430, 159, + 141, 142, 225, 143, 237, 238, 435, 144, 235, 326, + 145, 146, 461, 226, 147, 274, 148, 161, 161, 161, + 161, 67, 67, 67, 68, 68, 68, 68, 68, 327, + 406, 69, 460, 407, 459, 69, 159, 159, 159, 159, + 468, 468, 468, 468, 161, 161, 161, 161, 381, 424, + 458, 465, 457, 456, 455, 454, 425, 382, 466, 53, + 53, 53, 53, 53, 53, 53, 59, 453, 59, 59, + 59, 59, 59, 62, 452, 62, 62, 62, 62, 62, + 63, 63, 63, 63, 64, 451, 64, 64, 64, 64, + 64, 160, 450, 449, 160, 160, 162, 162, 162, 162, - 159, 161, 161, 161, 161, 161, 162, 162, 429, 162, - 428, 427, 424, 423, 422, 421, 420, 419, 418, 417, - 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, - 404, 403, 402, 401, 400, 397, 396, 395, 394, 393, - 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, - 382, 381, 380, 379, 378, 377, 376, 373, 372, 371, - 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, - 360, 359, 358, 357, 356, 355, 315, 354, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, + 162, 163, 163, 448, 163, 447, 446, 445, 444, 443, + 442, 441, 440, 439, 438, 437, 436, 433, 432, 431, + 430, 429, 428, 427, 426, 423, 422, 421, 420, 419, + 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, + 408, 405, 404, 403, 402, 401, 400, 399, 398, 397, + 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, + 386, 385, 384, 383, 380, 379, 378, 377, 376, 375, + 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, + 364, 363, 362, 361, 320, 360, 357, 356, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, - 329, 328, 327, 326, 325, 324, 323, 320, 319, 318, - 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, - 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, - 297, 296, 295, 294, 293, 292, 291, 290, 289, 286, - 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, - 273, 272, 269, 268, 267, 266, 265, 264, 263, 262, - 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, - 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, - 241, 240, 239, 238, 237, 236, 230, 229, 228, 227, - 226, 219, 218, 217, 216, 215, 214, 213, 212, 211, + 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, + 333, 332, 331, 330, 329, 328, 325, 324, 323, 322, + 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, + 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, + 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, + 289, 286, 285, 284, 283, 282, 281, 280, 279, 278, + 277, 276, 275, 272, 271, 270, 269, 268, 267, 266, + 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, + 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, + 245, 244, 243, 242, 241, 240, 239, 236, 232, 231, - 208, 207, 206, 205, 204, 203, 202, 199, 198, 197, - 196, 195, 194, 193, 192, 191, 188, 187, 184, 181, - 180, 179, 178, 174, 171, 170, 169, 168, 165, 164, - 163, 58, 58, 157, 151, 138, 137, 126, 125, 115, - 72, 71, 58, 456, 7, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456 + 230, 229, 228, 227, 220, 219, 218, 217, 216, 215, + 214, 213, 212, 209, 208, 207, 206, 205, 204, 203, + 200, 199, 198, 197, 196, 195, 194, 193, 192, 189, + 188, 185, 182, 181, 180, 179, 175, 172, 171, 170, + 169, 166, 165, 164, 58, 58, 158, 152, 138, 137, + 126, 125, 115, 72, 71, 58, 468, 7, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468 } ; -static yyconst short int yy_chk[600] = +static yyconst short int yy_chk[614] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 4, 4, 5, 5, - 6, 6, 12, 16, 87, 64, 87, 3, 117, 4, - 42, 5, 3, 6, 4, 30, 5, 42, 6, 30, - 117, 16, 30, 64, 12, 23, 23, 23, 23, 24, - 24, 24, 24, 31, 30, 23, 31, 32, 36, 24, + 1, 1, 1, 1, 1, 3, 3, 4, 4, 5, + 5, 6, 6, 12, 16, 87, 64, 87, 3, 117, + 4, 42, 5, 3, 6, 4, 30, 5, 42, 6, + 30, 117, 16, 30, 64, 12, 23, 23, 23, 23, + 24, 24, 24, 24, 31, 30, 23, 31, 32, 36, - 31, 47, 31, 105, 32, 36, 453, 32, 31, 105, - 32, 32, 36, 32, 32, 49, 50, 47, 47, 32, - 49, 23, 33, 50, 224, 33, 33, 126, 33, 33, - 227, 33, 50, 224, 59, 33, 102, 33, 35, 100, - 33, 34, 34, 34, 34, 227, 34, 100, 35, 34, - 102, 35, 35, 38, 447, 35, 59, 92, 34, 79, - 79, 126, 38, 34, 38, 39, 38, 39, 92, 92, - 38, 209, 39, 311, 43, 43, 137, 39, 43, 311, - 137, 43, 43, 268, 43, 55, 55, 55, 55, 445, - 43, 146, 43, 46, 209, 146, 46, 147, 147, 46, + 24, 31, 47, 31, 105, 32, 36, 465, 32, 31, + 105, 32, 32, 36, 32, 32, 49, 50, 47, 47, + 32, 49, 23, 33, 50, 225, 33, 33, 126, 33, + 33, 228, 33, 50, 225, 59, 33, 102, 33, 35, + 100, 33, 34, 34, 34, 34, 228, 34, 100, 35, + 34, 102, 35, 35, 38, 458, 35, 59, 92, 34, + 79, 79, 126, 38, 34, 38, 39, 38, 39, 92, + 92, 38, 456, 39, 316, 43, 43, 137, 39, 43, + 316, 137, 43, 43, 454, 43, 55, 55, 55, 55, + 419, 43, 210, 43, 46, 146, 138, 46, 138, 146, - 46, 443, 46, 268, 146, 376, 46, 440, 376, 46, - 46, 57, 57, 57, 57, 46, 67, 67, 67, 67, - 68, 68, 68, 68, 439, 138, 67, 138, 438, 437, - 68, 138, 158, 158, 158, 158, 159, 159, 159, 159, - 341, 398, 138, 160, 160, 160, 160, 411, 398, 341, - 449, 436, 434, 433, 432, 431, 430, 449, 428, 426, - 425, 424, 423, 411, 457, 457, 457, 457, 457, 457, - 457, 458, 422, 458, 458, 458, 458, 458, 459, 421, - 459, 459, 459, 459, 459, 460, 460, 460, 460, 461, - 420, 461, 461, 461, 461, 461, 462, 419, 417, 462, + 46, 46, 138, 46, 148, 148, 419, 46, 146, 271, + 46, 46, 451, 138, 46, 210, 46, 57, 57, 57, + 57, 67, 67, 67, 67, 68, 68, 68, 68, 271, + 383, 67, 450, 383, 449, 68, 159, 159, 159, 159, + 160, 160, 160, 160, 161, 161, 161, 161, 347, 406, + 448, 461, 447, 446, 444, 443, 406, 347, 461, 469, + 469, 469, 469, 469, 469, 469, 470, 442, 470, 470, + 470, 470, 470, 471, 441, 471, 471, 471, 471, 471, + 472, 472, 472, 472, 473, 440, 473, 473, 473, 473, + 473, 474, 438, 437, 474, 474, 475, 475, 475, 475, - 462, 463, 463, 463, 463, 463, 464, 464, 415, 464, - 414, 412, 409, 408, 407, 406, 404, 403, 401, 399, - 397, 396, 392, 391, 390, 387, 386, 385, 384, 383, - 382, 381, 380, 379, 377, 375, 374, 373, 372, 371, - 370, 368, 367, 366, 365, 360, 358, 356, 355, 354, - 353, 351, 349, 348, 344, 343, 342, 340, 336, 335, - 333, 332, 329, 328, 327, 326, 325, 324, 323, 322, - 321, 319, 318, 317, 316, 314, 313, 312, 309, 308, - 306, 303, 302, 301, 300, 299, 298, 297, 295, 294, - 292, 291, 290, 288, 287, 286, 284, 283, 280, 279, + 475, 476, 476, 435, 476, 434, 433, 432, 431, 430, + 429, 428, 426, 424, 423, 421, 420, 417, 416, 415, + 414, 412, 411, 409, 407, 405, 404, 402, 399, 398, + 397, 394, 393, 392, 391, 390, 389, 388, 387, 386, + 384, 382, 381, 380, 379, 378, 377, 376, 374, 373, + 372, 371, 366, 364, 362, 361, 360, 359, 357, 355, + 354, 350, 349, 348, 346, 345, 341, 340, 338, 337, + 334, 333, 332, 331, 330, 329, 328, 327, 326, 324, + 323, 322, 321, 319, 318, 317, 314, 313, 311, 308, + 307, 306, 305, 304, 303, 302, 300, 299, 298, 296, - 278, 277, 276, 275, 274, 270, 269, 267, 266, 265, - 262, 261, 260, 259, 257, 256, 254, 253, 252, 251, - 250, 249, 247, 246, 245, 244, 243, 242, 240, 239, - 237, 236, 235, 234, 233, 232, 231, 229, 228, 225, - 223, 222, 221, 220, 219, 218, 217, 215, 214, 213, - 212, 210, 208, 207, 206, 204, 201, 200, 198, 197, - 194, 193, 192, 191, 187, 180, 179, 177, 176, 175, - 174, 173, 170, 169, 168, 165, 163, 156, 155, 154, - 153, 152, 151, 150, 149, 148, 145, 143, 141, 140, - 139, 136, 135, 134, 133, 132, 131, 130, 129, 127, + 295, 294, 291, 290, 289, 287, 286, 283, 282, 281, + 280, 279, 278, 277, 273, 272, 270, 269, 268, 265, + 264, 263, 262, 260, 259, 257, 256, 255, 254, 253, + 252, 250, 249, 248, 247, 246, 245, 243, 242, 240, + 239, 238, 237, 236, 235, 234, 233, 231, 230, 229, + 226, 224, 223, 222, 221, 220, 219, 218, 216, 215, + 214, 213, 211, 209, 208, 207, 205, 202, 201, 199, + 198, 195, 194, 193, 192, 188, 181, 180, 178, 177, + 176, 175, 174, 171, 170, 169, 166, 164, 157, 156, + 155, 154, 153, 152, 151, 150, 149, 147, 145, 143, - 125, 124, 123, 122, 121, 120, 119, 116, 115, 113, - 112, 110, 109, 108, 107, 106, 104, 103, 101, 99, - 97, 95, 94, 90, 86, 85, 82, 80, 78, 75, - 73, 58, 54, 51, 48, 45, 44, 41, 40, 37, - 27, 26, 9, 7, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456 + 142, 141, 140, 139, 136, 135, 134, 133, 132, 131, + 130, 129, 127, 125, 124, 123, 122, 121, 120, 119, + 116, 115, 113, 112, 110, 109, 108, 107, 106, 104, + 103, 101, 99, 97, 95, 94, 90, 86, 85, 82, + 80, 78, 75, 73, 58, 54, 51, 48, 45, 44, + 41, 40, 37, 27, 26, 9, 7, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468 } ; static yy_state_type yy_last_accepting_state; @@ -666,7 +673,7 @@ char *yytext; #define INITIAL 0 #line 2 "lexer.l" ///////////////////////////////////////////////////////////////////////// -// $Id: lexer.c,v 1.7 2006-01-24 19:03:54 sshwarts Exp $ +// $Id: lexer.c,v 1.8 2006-01-24 21:37:37 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// #include @@ -900,13 +907,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 457 ) + if ( yy_current_state >= 469 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 545 ); + while ( yy_base[yy_current_state] != 558 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -945,433 +952,433 @@ YY_RULE_SETUP case 3: YY_RULE_SETUP #line 28 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DIS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ON); } YY_BREAK case 4: YY_RULE_SETUP #line 29 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ON); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_OFF); } YY_BREAK case 5: YY_RULE_SETUP #line 30 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_OFF); } - YY_BREAK -case 6: -YY_RULE_SETUP -#line 31 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CRC); } YY_BREAK +case 6: +#line 32 "lexer.l" case 7: #line 33 "lexer.l" case 8: -#line 34 "lexer.l" -case 9: YY_RULE_SETUP -#line 34 "lexer.l" +#line 33 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CONTINUE); } YY_BREAK +case 9: +#line 35 "lexer.l" case 10: #line 36 "lexer.l" case 11: -#line 37 "lexer.l" -case 12: YY_RULE_SETUP -#line 37 "lexer.l" +#line 36 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEPN); } YY_BREAK +case 12: +#line 38 "lexer.l" case 13: #line 39 "lexer.l" case 14: -#line 40 "lexer.l" +YY_RULE_SETUP +#line 39 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEP_OVER); } + YY_BREAK case 15: YY_RULE_SETUP #line 40 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEP_OVER); } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 41 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_BREAK); } YY_BREAK +case 16: +#line 42 "lexer.l" case 17: -#line 43 "lexer.l" -case 18: YY_RULE_SETUP -#line 43 "lexer.l" +#line 42 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_VBREAKPOINT); } YY_BREAK +case 18: +#line 44 "lexer.l" case 19: -#line 45 "lexer.l" -case 20: YY_RULE_SETUP -#line 45 "lexer.l" +#line 44 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_LBREAKPOINT); } YY_BREAK +case 20: +#line 46 "lexer.l" case 21: #line 47 "lexer.l" case 22: #line 48 "lexer.l" case 23: -#line 49 "lexer.l" +YY_RULE_SETUP +#line 48 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PBREAKPOINT); } + YY_BREAK case 24: YY_RULE_SETUP #line 49 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PBREAKPOINT); } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 50 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_INFO); } YY_BREAK +case 25: +#line 51 "lexer.l" case 26: #line 52 "lexer.l" case 27: -#line 53 "lexer.l" -case 28: YY_RULE_SETUP -#line 53 "lexer.l" +#line 52 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CONTROL_REGS); } YY_BREAK +case 28: +#line 54 "lexer.l" case 29: #line 55 "lexer.l" case 30: #line 56 "lexer.l" case 31: -#line 57 "lexer.l" +YY_RULE_SETUP +#line 56 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_REGISTERS); } + YY_BREAK case 32: YY_RULE_SETUP #line 57 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_REGISTERS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FPU); } YY_BREAK case 33: YY_RULE_SETUP #line 58 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FPU); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SSE); } YY_BREAK case 34: YY_RULE_SETUP #line 59 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SSE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CPU); } YY_BREAK case 35: YY_RULE_SETUP #line 60 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CPU); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALL); } YY_BREAK case 36: YY_RULE_SETUP #line 61 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALL); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IDT); } YY_BREAK case 37: YY_RULE_SETUP #line 62 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IDT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IVT); } YY_BREAK case 38: YY_RULE_SETUP #line 63 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IVT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GDT); } YY_BREAK case 39: YY_RULE_SETUP #line 64 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GDT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LDT); } YY_BREAK case 40: YY_RULE_SETUP #line 65 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LDT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TSS); } YY_BREAK case 41: YY_RULE_SETUP #line 66 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TSS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DIRTY); } YY_BREAK case 42: YY_RULE_SETUP #line 67 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DIRTY); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LINUX); } YY_BREAK case 43: YY_RULE_SETUP #line 68 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LINUX); } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 69 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_DUMP_CPU); } YY_BREAK +case 44: +#line 70 "lexer.l" case 45: #line 71 "lexer.l" case 46: -#line 72 "lexer.l" +YY_RULE_SETUP +#line 71 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DEL_BREAKPOINT); } + YY_BREAK case 47: YY_RULE_SETUP #line 72 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DEL_BREAKPOINT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ENABLE_BREAKPOINT); } YY_BREAK case 48: YY_RULE_SETUP #line 73 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ENABLE_BREAKPOINT); } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 74 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISABLE_BREAKPOINT); } YY_BREAK +case 49: +#line 75 "lexer.l" case 50: #line 76 "lexer.l" case 51: -#line 77 "lexer.l" -case 52: YY_RULE_SETUP -#line 77 "lexer.l" +#line 76 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_QUIT); } YY_BREAK +case 52: +#line 78 "lexer.l" case 53: -#line 79 "lexer.l" +YY_RULE_SETUP +#line 78 "lexer.l" +{ BEGIN(EXAMINE); bxlval.sval = strdup(bxtext); return(BX_TOKEN_EXAMINE); } + YY_BREAK case 54: YY_RULE_SETUP #line 79 "lexer.l" -{ BEGIN(EXAMINE); bxlval.sval = strdup(bxtext); return(BX_TOKEN_EXAMINE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SETPMEM); } YY_BREAK case 55: YY_RULE_SETUP #line 80 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SETPMEM); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_QUERY); } YY_BREAK case 56: YY_RULE_SETUP #line 81 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_QUERY); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PENDING); } YY_BREAK case 57: YY_RULE_SETUP #line 82 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PENDING); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TAKE); } YY_BREAK case 58: YY_RULE_SETUP #line 83 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TAKE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DMA); } YY_BREAK case 59: YY_RULE_SETUP #line 84 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DMA); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IRQ); } YY_BREAK case 60: YY_RULE_SETUP #line 85 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IRQ); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PIC); } YY_BREAK case 61: YY_RULE_SETUP #line 86 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PIC); } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 87 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_SET_CPU); } YY_BREAK +case 62: +#line 88 "lexer.l" case 63: #line 89 "lexer.l" case 64: -#line 90 "lexer.l" +YY_RULE_SETUP +#line 89 "lexer.l" +{ BEGIN(DISASM); bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISASSEMBLE); } + YY_BREAK case 65: YY_RULE_SETUP #line 90 "lexer.l" -{ BEGIN(DISASM); bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISASSEMBLE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_INSTRUMENT); } YY_BREAK case 66: YY_RULE_SETUP #line 91 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_INSTRUMENT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_START); } YY_BREAK case 67: YY_RULE_SETUP #line 92 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_START); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STOP); } YY_BREAK case 68: YY_RULE_SETUP #line 93 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STOP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RESET); } YY_BREAK case 69: YY_RULE_SETUP #line 94 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RESET); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT); } YY_BREAK case 70: YY_RULE_SETUP #line 95 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LOADER); } YY_BREAK case 71: YY_RULE_SETUP #line 96 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LOADER); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DOIT); } YY_BREAK case 72: YY_RULE_SETUP #line 97 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DOIT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEON); } YY_BREAK case 73: YY_RULE_SETUP #line 98 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEON); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEOFF); } YY_BREAK case 74: YY_RULE_SETUP #line 99 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEOFF); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGON); } YY_BREAK case 75: YY_RULE_SETUP #line 100 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGON); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGOFF); } YY_BREAK case 76: YY_RULE_SETUP #line 101 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGOFF); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SWITCH_MODE); } YY_BREAK case 77: YY_RULE_SETUP #line 102 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PTIME); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SIZE); } YY_BREAK case 78: YY_RULE_SETUP #line 103 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PTIME); } YY_BREAK case 79: YY_RULE_SETUP #line 104 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP_ABSOLUTE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP); } YY_BREAK case 80: YY_RULE_SETUP #line 105 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RECORD); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP_ABSOLUTE); } YY_BREAK case 81: YY_RULE_SETUP #line 106 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PLAYBACK); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RECORD); } YY_BREAK case 82: YY_RULE_SETUP #line 107 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_MODEBP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PLAYBACK); } YY_BREAK case 83: YY_RULE_SETUP #line 108 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STACK); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_MODEBP); } YY_BREAK case 84: YY_RULE_SETUP #line 109 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WATCH); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STACK); } YY_BREAK case 85: YY_RULE_SETUP #line 110 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_UNWATCH); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WATCH); } YY_BREAK case 86: YY_RULE_SETUP #line 111 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_READ); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_UNWATCH); } YY_BREAK case 87: YY_RULE_SETUP #line 112 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WRITE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_READ); } YY_BREAK case 88: YY_RULE_SETUP #line 113 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CONTINUE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WRITE); } YY_BREAK case 89: YY_RULE_SETUP #line 114 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SHOW); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CONTINUE); } YY_BREAK case 90: YY_RULE_SETUP #line 115 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LOAD_SYMBOLS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SHOW); } YY_BREAK case 91: YY_RULE_SETUP #line 116 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LOAD_SYMBOLS); } YY_BREAK case 92: YY_RULE_SETUP #line 117 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_SYMBOLS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLS); } YY_BREAK case 93: YY_RULE_SETUP #line 118 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GLOBAL); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_SYMBOLS); } YY_BREAK case 94: YY_RULE_SETUP #line 119 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WHERE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GLOBAL); } YY_BREAK case 95: YY_RULE_SETUP #line 120 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STRING); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WHERE); } YY_BREAK case 96: YY_RULE_SETUP #line 121 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DIFF_MEMORY); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STRING); } YY_BREAK case 97: YY_RULE_SETUP #line 122 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYNC_MEMORY); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DIFF_MEMORY); } YY_BREAK case 98: YY_RULE_SETUP #line 123 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYNC_CPU); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYNC_MEMORY); } YY_BREAK case 99: YY_RULE_SETUP #line 124 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FAST_FORWARD); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYNC_CPU); } YY_BREAK case 100: YY_RULE_SETUP #line 125 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PHY_2_LOG); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FAST_FORWARD); } YY_BREAK case 101: YY_RULE_SETUP #line 126 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_INFO_ADDRESS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PHY_2_LOG); } YY_BREAK case 102: YY_RULE_SETUP #line 127 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_NE2000); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_INFO_ADDRESS); } YY_BREAK case 103: YY_RULE_SETUP @@ -1381,199 +1388,199 @@ YY_RULE_SETUP case 104: YY_RULE_SETUP #line 129 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PAGE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_NE2000); } YY_BREAK case 105: YY_RULE_SETUP #line 130 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_VGA); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PAGE); } YY_BREAK case 106: YY_RULE_SETUP #line 131 "lexer.l" -{ bxlval.reg=rAL; return (BX_TOKEN_REG_AL);} +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_VGA); } YY_BREAK case 107: YY_RULE_SETUP #line 132 "lexer.l" -{ bxlval.reg=rBL; return (BX_TOKEN_REG_BL);} +{ bxlval.reg=rAL; return (BX_TOKEN_REG_AL);} YY_BREAK case 108: YY_RULE_SETUP #line 133 "lexer.l" -{ bxlval.reg=rCL; return (BX_TOKEN_REG_CL);} +{ bxlval.reg=rBL; return (BX_TOKEN_REG_BL);} YY_BREAK case 109: YY_RULE_SETUP #line 134 "lexer.l" -{ bxlval.reg=rDL; return (BX_TOKEN_REG_DL);} +{ bxlval.reg=rCL; return (BX_TOKEN_REG_CL);} YY_BREAK case 110: YY_RULE_SETUP #line 135 "lexer.l" -{ bxlval.reg=rAH; return (BX_TOKEN_REG_AH);} +{ bxlval.reg=rDL; return (BX_TOKEN_REG_DL);} YY_BREAK case 111: YY_RULE_SETUP #line 136 "lexer.l" -{ bxlval.reg=rBH; return (BX_TOKEN_REG_BH);} +{ bxlval.reg=rAH; return (BX_TOKEN_REG_AH);} YY_BREAK case 112: YY_RULE_SETUP #line 137 "lexer.l" -{ bxlval.reg=rCH; return (BX_TOKEN_REG_CH);} +{ bxlval.reg=rBH; return (BX_TOKEN_REG_BH);} YY_BREAK case 113: YY_RULE_SETUP #line 138 "lexer.l" -{ bxlval.reg=rDH; return (BX_TOKEN_REG_DH);} +{ bxlval.reg=rCH; return (BX_TOKEN_REG_CH);} YY_BREAK case 114: YY_RULE_SETUP #line 139 "lexer.l" -{ bxlval.reg=rAX; return (BX_TOKEN_REG_AX);} +{ bxlval.reg=rDH; return (BX_TOKEN_REG_DH);} YY_BREAK case 115: YY_RULE_SETUP #line 140 "lexer.l" -{ bxlval.reg=rBX; return (BX_TOKEN_REG_BX);} +{ bxlval.reg=rAX; return (BX_TOKEN_REG_AX);} YY_BREAK case 116: YY_RULE_SETUP #line 141 "lexer.l" -{ bxlval.reg=rCX; return (BX_TOKEN_REG_CX);} +{ bxlval.reg=rBX; return (BX_TOKEN_REG_BX);} YY_BREAK case 117: YY_RULE_SETUP #line 142 "lexer.l" -{ bxlval.reg=rDX; return (BX_TOKEN_REG_DX);} +{ bxlval.reg=rCX; return (BX_TOKEN_REG_CX);} YY_BREAK case 118: YY_RULE_SETUP #line 143 "lexer.l" -{ bxlval.reg=rEAX; return (BX_TOKEN_REG_EAX);} +{ bxlval.reg=rDX; return (BX_TOKEN_REG_DX);} YY_BREAK case 119: YY_RULE_SETUP #line 144 "lexer.l" -{ bxlval.reg=rEBX; return (BX_TOKEN_REG_EBX);} +{ bxlval.reg=rEAX; return (BX_TOKEN_REG_EAX);} YY_BREAK case 120: YY_RULE_SETUP #line 145 "lexer.l" -{ bxlval.reg=rECX; return (BX_TOKEN_REG_ECX);} +{ bxlval.reg=rEBX; return (BX_TOKEN_REG_EBX);} YY_BREAK case 121: YY_RULE_SETUP #line 146 "lexer.l" -{ bxlval.reg=rEDX; return (BX_TOKEN_REG_EDX);} +{ bxlval.reg=rECX; return (BX_TOKEN_REG_ECX);} YY_BREAK case 122: YY_RULE_SETUP #line 147 "lexer.l" -{ bxlval.reg=rSI; return (BX_TOKEN_REG_SI);} +{ bxlval.reg=rEDX; return (BX_TOKEN_REG_EDX);} YY_BREAK case 123: YY_RULE_SETUP #line 148 "lexer.l" -{ bxlval.reg=rDI; return (BX_TOKEN_REG_DI);} +{ bxlval.reg=rSI; return (BX_TOKEN_REG_SI);} YY_BREAK case 124: YY_RULE_SETUP #line 149 "lexer.l" -{ bxlval.reg=rBP; return (BX_TOKEN_REG_BP);} +{ bxlval.reg=rDI; return (BX_TOKEN_REG_DI);} YY_BREAK case 125: YY_RULE_SETUP #line 150 "lexer.l" -{ bxlval.reg=rSP; return (BX_TOKEN_REG_SP);} +{ bxlval.reg=rBP; return (BX_TOKEN_REG_BP);} YY_BREAK case 126: YY_RULE_SETUP #line 151 "lexer.l" -{ bxlval.reg=rIP; return (BX_TOKEN_REG_IP);} +{ bxlval.reg=rSP; return (BX_TOKEN_REG_SP);} YY_BREAK case 127: YY_RULE_SETUP #line 152 "lexer.l" -{ bxlval.reg=rESI; return (BX_TOKEN_REG_ESI);} +{ bxlval.reg=rIP; return (BX_TOKEN_REG_IP);} YY_BREAK case 128: YY_RULE_SETUP #line 153 "lexer.l" -{ bxlval.reg=rEDI; return (BX_TOKEN_REG_EDI);} +{ bxlval.reg=rESI; return (BX_TOKEN_REG_ESI);} YY_BREAK case 129: YY_RULE_SETUP #line 154 "lexer.l" -{ bxlval.reg=rEBP; return (BX_TOKEN_REG_EBP);} +{ bxlval.reg=rEDI; return (BX_TOKEN_REG_EDI);} YY_BREAK case 130: YY_RULE_SETUP #line 155 "lexer.l" -{ bxlval.reg=rESP; return (BX_TOKEN_REG_ESP);} +{ bxlval.reg=rEBP; return (BX_TOKEN_REG_EBP);} YY_BREAK case 131: YY_RULE_SETUP #line 156 "lexer.l" -{ bxlval.reg=rEIP; return (BX_TOKEN_REG_EIP);} +{ bxlval.reg=rESP; return (BX_TOKEN_REG_ESP);} YY_BREAK case 132: YY_RULE_SETUP #line 157 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CS); } +{ bxlval.reg=rEIP; return (BX_TOKEN_REG_EIP);} YY_BREAK case 133: YY_RULE_SETUP #line 158 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ES); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CS); } YY_BREAK case 134: YY_RULE_SETUP #line 159 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ES); } YY_BREAK case 135: YY_RULE_SETUP #line 160 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SS); } YY_BREAK case 136: YY_RULE_SETUP #line 161 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DS); } YY_BREAK case 137: YY_RULE_SETUP #line 162 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FS); } YY_BREAK case 138: YY_RULE_SETUP #line 163 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FLAGS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GS); } YY_BREAK case 139: YY_RULE_SETUP #line 164 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALWAYS_CHECK); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_FLAGS); } YY_BREAK case 140: YY_RULE_SETUP #line 165 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_HELP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALWAYS_CHECK); } YY_BREAK case 141: -#line 167 "lexer.l" -case 142: YY_RULE_SETUP -#line 167 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CALC); } +#line 166 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_HELP); } YY_BREAK +case 142: +#line 168 "lexer.l" case 143: YY_RULE_SETUP #line 168 "lexer.l" -{ BEGIN(INITIAL); bxlval.sval = strdup(bxtext); return(BX_TOKEN_XFORMAT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CALC); } YY_BREAK case 144: YY_RULE_SETUP @@ -1583,128 +1590,133 @@ YY_RULE_SETUP case 145: YY_RULE_SETUP #line 170 "lexer.l" -{ BEGIN(INITIAL); bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISFORMAT); } +{ BEGIN(INITIAL); bxlval.sval = strdup(bxtext); return(BX_TOKEN_XFORMAT); } YY_BREAK case 146: YY_RULE_SETUP #line 171 "lexer.l" -{ return ('+'); } +{ BEGIN(INITIAL); bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISFORMAT); } YY_BREAK case 147: YY_RULE_SETUP #line 172 "lexer.l" -{ return ('-'); } +{ return ('+'); } YY_BREAK case 148: YY_RULE_SETUP #line 173 "lexer.l" -{ return ('*'); } +{ return ('-'); } YY_BREAK case 149: YY_RULE_SETUP #line 174 "lexer.l" -{ return ('/'); } +{ return ('*'); } YY_BREAK case 150: YY_RULE_SETUP #line 175 "lexer.l" -{ return (BX_TOKEN_RSHIFT); } +{ return ('/'); } YY_BREAK case 151: YY_RULE_SETUP #line 176 "lexer.l" -{ return (BX_TOKEN_LSHIFT); } +{ return (BX_TOKEN_RSHIFT); } YY_BREAK case 152: YY_RULE_SETUP #line 177 "lexer.l" -{ return ('&'); } +{ return (BX_TOKEN_LSHIFT); } YY_BREAK case 153: YY_RULE_SETUP #line 178 "lexer.l" -{ return ('|'); } +{ return ('&'); } YY_BREAK case 154: YY_RULE_SETUP #line 179 "lexer.l" -{ return ('^'); } +{ return ('|'); } YY_BREAK case 155: YY_RULE_SETUP #line 180 "lexer.l" -{ return ('!'); } +{ return ('^'); } YY_BREAK case 156: YY_RULE_SETUP #line 181 "lexer.l" -{ return ('('); } +{ return ('!'); } YY_BREAK case 157: YY_RULE_SETUP #line 182 "lexer.l" -{ return (')'); } +{ return ('('); } YY_BREAK case 158: -#line 184 "lexer.l" -case 159: YY_RULE_SETUP -#line 184 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STRING); } +#line 183 "lexer.l" +{ return (')'); } YY_BREAK +case 159: +#line 185 "lexer.l" case 160: YY_RULE_SETUP #line 185 "lexer.l" -{ bxlval.uval = strtoul(bxtext+2, NULL, 16); return(BX_TOKEN_NUMERIC); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STRING); } YY_BREAK case 161: YY_RULE_SETUP #line 186 "lexer.l" -{ bxlval.uval = strtoul(bxtext+1, NULL, 8); return(BX_TOKEN_NUMERIC); } +{ bxlval.uval = strtoul(bxtext+2, NULL, 16); return(BX_TOKEN_NUMERIC); } YY_BREAK case 162: YY_RULE_SETUP #line 187 "lexer.l" -{ bxlval.ulval = strtoull(bxtext, NULL, 10); return(BX_TOKEN_LONG_NUMERIC); } +{ bxlval.uval = strtoul(bxtext+1, NULL, 8); return(BX_TOKEN_NUMERIC); } YY_BREAK case 163: YY_RULE_SETUP #line 188 "lexer.l" -{ bxlval.uval = strtoul(bxtext, NULL, 10); return(BX_TOKEN_NUMERIC); } +{ bxlval.ulval = strtoull(bxtext, NULL, 10); return(BX_TOKEN_LONG_NUMERIC); } YY_BREAK case 164: YY_RULE_SETUP #line 189 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLNAME); } +{ bxlval.uval = strtoul(bxtext, NULL, 10); return(BX_TOKEN_NUMERIC); } YY_BREAK case 165: YY_RULE_SETUP #line 190 "lexer.l" -{ return ('\n'); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLNAME); } YY_BREAK case 166: YY_RULE_SETUP #line 191 "lexer.l" -{ return('\n'); } +{ return ('\n'); } YY_BREAK case 167: YY_RULE_SETUP #line 192 "lexer.l" -; // eat up comments '//' +{ return('\n'); } YY_BREAK case 168: YY_RULE_SETUP #line 193 "lexer.l" -{ return(bxtext[0]); } +; // eat up comments '//' YY_BREAK case 169: YY_RULE_SETUP #line 194 "lexer.l" -{ BEGIN(INITIAL); unput(*bxtext); } +{ return(bxtext[0]); } YY_BREAK case 170: YY_RULE_SETUP #line 195 "lexer.l" +{ BEGIN(INITIAL); unput(*bxtext); } + YY_BREAK +case 171: +YY_RULE_SETUP +#line 196 "lexer.l" ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -2000,7 +2012,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 457 ) + if ( yy_current_state >= 469 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2035,11 +2047,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 457 ) + if ( yy_current_state >= 469 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 456); + yy_is_jam = (yy_current_state == 468); return yy_is_jam ? 0 : yy_current_state; } @@ -2598,7 +2610,7 @@ int main() return 0; } #endif -#line 195 "lexer.l" +#line 196 "lexer.l" // [A-Za-z_][A-Za-z0-9_]* { bxlval.sval = strdup(bxtext); return(BX_TOKEN_GENERIC); } diff --git a/bochs/bx_debug/lexer.l b/bochs/bx_debug/lexer.l index 9404594ae..d76c97b0e 100644 --- a/bochs/bx_debug/lexer.l +++ b/bochs/bx_debug/lexer.l @@ -1,6 +1,6 @@ %{ ///////////////////////////////////////////////////////////////////////// -// $Id: lexer.l,v 1.7 2006-01-24 19:03:54 sshwarts Exp $ +// $Id: lexer.l,v 1.8 2006-01-24 21:37:37 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// #include @@ -25,7 +25,6 @@ static unsigned lex_input_size = 0; %% <*>[ \t]+ ; // eat up whitespace set { bxlval.sval = strdup(bxtext); return(BX_TOKEN_SET); } -dis { bxlval.sval = strdup(bxtext); return(BX_TOKEN_DIS); } on { bxlval.sval = strdup(bxtext); return(BX_TOKEN_ON); } off { bxlval.sval = strdup(bxtext); return(BX_TOKEN_OFF); } crc { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CRC); } @@ -99,6 +98,8 @@ trace-on { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEON); } trace-off { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEOFF); } trace-reg-on { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGON); } trace-reg-off { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGOFF); } +switch-mode { bxlval.sval = strdup(bxtext); return(BX_TOKEN_SWITCH_MODE); } +size { bxlval.sval = strdup(bxtext); return(BX_TOKEN_SIZE); } ptime { bxlval.sval = strdup(bxtext); return(BX_TOKEN_PTIME); } sb { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP); } sba { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP_ABSOLUTE); } @@ -162,7 +163,7 @@ fs { bxlval.sval = strdup(bxtext); return(BX_TOKEN_FS); } gs { bxlval.sval = strdup(bxtext); return(BX_TOKEN_GS); } flags|eflags { bxlval.sval = strdup(bxtext); return(BX_TOKEN_FLAGS); } force-check { bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALWAYS_CHECK); } -help { bxlval.sval = strdup(bxtext); return(BX_TOKEN_HELP); } +h|help { bxlval.sval = strdup(bxtext); return(BX_TOKEN_HELP); } \? | calc { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CALC); } \/[0-9]+ { BEGIN(INITIAL); bxlval.sval = strdup(bxtext); return(BX_TOKEN_XFORMAT); } diff --git a/bochs/bx_debug/parser.c b/bochs/bx_debug/parser.c index 0ad8b9dcd..d68cb473d 100644 --- a/bochs/bx_debug/parser.c +++ b/bochs/bx_debug/parser.c @@ -127,68 +127,69 @@ BX_TOKEN_IRQ = 320, BX_TOKEN_DUMP_CPU = 321, BX_TOKEN_SET_CPU = 322, - BX_TOKEN_DIS = 323, - BX_TOKEN_ON = 324, - BX_TOKEN_OFF = 325, - BX_TOKEN_DISASSEMBLE = 326, - BX_TOKEN_INSTRUMENT = 327, - BX_TOKEN_START = 328, - BX_TOKEN_STOP = 329, - BX_TOKEN_RESET = 330, - BX_TOKEN_PRINT = 331, - BX_TOKEN_LOADER = 332, - BX_TOKEN_STRING = 333, - BX_TOKEN_DOIT = 334, - BX_TOKEN_CRC = 335, - BX_TOKEN_TRACEON = 336, - BX_TOKEN_TRACEOFF = 337, - BX_TOKEN_PTIME = 338, - BX_TOKEN_TIMEBP_ABSOLUTE = 339, - BX_TOKEN_TIMEBP = 340, - BX_TOKEN_RECORD = 341, - BX_TOKEN_PLAYBACK = 342, - BX_TOKEN_MODEBP = 343, - BX_TOKEN_PRINT_STACK = 344, - BX_TOKEN_WATCH = 345, - BX_TOKEN_UNWATCH = 346, - BX_TOKEN_READ = 347, - BX_TOKEN_WRITE = 348, - BX_TOKEN_SHOW = 349, - BX_TOKEN_LOAD_SYMBOLS = 350, - BX_TOKEN_SYMBOLS = 351, - BX_TOKEN_LIST_SYMBOLS = 352, - BX_TOKEN_GLOBAL = 353, - BX_TOKEN_WHERE = 354, - BX_TOKEN_PRINT_STRING = 355, - BX_TOKEN_DIFF_MEMORY = 356, - BX_TOKEN_SYNC_MEMORY = 357, - BX_TOKEN_SYNC_CPU = 358, - BX_TOKEN_FAST_FORWARD = 359, - BX_TOKEN_PHY_2_LOG = 360, - BX_TOKEN_NUMERIC = 361, - BX_TOKEN_LONG_NUMERIC = 362, - BX_TOKEN_INFO_ADDRESS = 363, - BX_TOKEN_NE2000 = 364, - BX_TOKEN_PIC = 365, - BX_TOKEN_PAGE = 366, - BX_TOKEN_CS = 367, - BX_TOKEN_ES = 368, - BX_TOKEN_SS = 369, - BX_TOKEN_DS = 370, - BX_TOKEN_FS = 371, - BX_TOKEN_GS = 372, - BX_TOKEN_FLAGS = 373, - BX_TOKEN_ALWAYS_CHECK = 374, - BX_TOKEN_TRACEREGON = 375, - BX_TOKEN_TRACEREGOFF = 376, - BX_TOKEN_HELP = 377, - BX_TOKEN_CALC = 378, - BX_TOKEN_VGA = 379, - BX_TOKEN_RSHIFT = 380, - BX_TOKEN_LSHIFT = 381, - BX_TOKEN_IVT = 382, - NEG = 383, - NOT = 384 + BX_TOKEN_ON = 323, + BX_TOKEN_OFF = 324, + BX_TOKEN_DISASSEMBLE = 325, + BX_TOKEN_INSTRUMENT = 326, + BX_TOKEN_START = 327, + BX_TOKEN_STOP = 328, + BX_TOKEN_RESET = 329, + BX_TOKEN_PRINT = 330, + BX_TOKEN_LOADER = 331, + BX_TOKEN_STRING = 332, + BX_TOKEN_DOIT = 333, + BX_TOKEN_CRC = 334, + BX_TOKEN_TRACEON = 335, + BX_TOKEN_TRACEOFF = 336, + BX_TOKEN_SWITCH_MODE = 337, + BX_TOKEN_SIZE = 338, + BX_TOKEN_PTIME = 339, + BX_TOKEN_TIMEBP_ABSOLUTE = 340, + BX_TOKEN_TIMEBP = 341, + BX_TOKEN_RECORD = 342, + BX_TOKEN_PLAYBACK = 343, + BX_TOKEN_MODEBP = 344, + BX_TOKEN_PRINT_STACK = 345, + BX_TOKEN_WATCH = 346, + BX_TOKEN_UNWATCH = 347, + BX_TOKEN_READ = 348, + BX_TOKEN_WRITE = 349, + BX_TOKEN_SHOW = 350, + BX_TOKEN_LOAD_SYMBOLS = 351, + BX_TOKEN_SYMBOLS = 352, + BX_TOKEN_LIST_SYMBOLS = 353, + BX_TOKEN_GLOBAL = 354, + BX_TOKEN_WHERE = 355, + BX_TOKEN_PRINT_STRING = 356, + BX_TOKEN_DIFF_MEMORY = 357, + BX_TOKEN_SYNC_MEMORY = 358, + BX_TOKEN_SYNC_CPU = 359, + BX_TOKEN_FAST_FORWARD = 360, + BX_TOKEN_PHY_2_LOG = 361, + BX_TOKEN_NUMERIC = 362, + BX_TOKEN_LONG_NUMERIC = 363, + BX_TOKEN_INFO_ADDRESS = 364, + BX_TOKEN_NE2000 = 365, + BX_TOKEN_PIC = 366, + BX_TOKEN_PAGE = 367, + BX_TOKEN_CS = 368, + BX_TOKEN_ES = 369, + BX_TOKEN_SS = 370, + BX_TOKEN_DS = 371, + BX_TOKEN_FS = 372, + BX_TOKEN_GS = 373, + BX_TOKEN_FLAGS = 374, + BX_TOKEN_ALWAYS_CHECK = 375, + BX_TOKEN_TRACEREGON = 376, + BX_TOKEN_TRACEREGOFF = 377, + BX_TOKEN_HELP = 378, + BX_TOKEN_CALC = 379, + BX_TOKEN_VGA = 380, + BX_TOKEN_RSHIFT = 381, + BX_TOKEN_LSHIFT = 382, + BX_TOKEN_IVT = 383, + NEG = 384, + NOT = 385 }; #endif #define BX_TOKEN_REG_AL 258 @@ -256,68 +257,69 @@ #define BX_TOKEN_IRQ 320 #define BX_TOKEN_DUMP_CPU 321 #define BX_TOKEN_SET_CPU 322 -#define BX_TOKEN_DIS 323 -#define BX_TOKEN_ON 324 -#define BX_TOKEN_OFF 325 -#define BX_TOKEN_DISASSEMBLE 326 -#define BX_TOKEN_INSTRUMENT 327 -#define BX_TOKEN_START 328 -#define BX_TOKEN_STOP 329 -#define BX_TOKEN_RESET 330 -#define BX_TOKEN_PRINT 331 -#define BX_TOKEN_LOADER 332 -#define BX_TOKEN_STRING 333 -#define BX_TOKEN_DOIT 334 -#define BX_TOKEN_CRC 335 -#define BX_TOKEN_TRACEON 336 -#define BX_TOKEN_TRACEOFF 337 -#define BX_TOKEN_PTIME 338 -#define BX_TOKEN_TIMEBP_ABSOLUTE 339 -#define BX_TOKEN_TIMEBP 340 -#define BX_TOKEN_RECORD 341 -#define BX_TOKEN_PLAYBACK 342 -#define BX_TOKEN_MODEBP 343 -#define BX_TOKEN_PRINT_STACK 344 -#define BX_TOKEN_WATCH 345 -#define BX_TOKEN_UNWATCH 346 -#define BX_TOKEN_READ 347 -#define BX_TOKEN_WRITE 348 -#define BX_TOKEN_SHOW 349 -#define BX_TOKEN_LOAD_SYMBOLS 350 -#define BX_TOKEN_SYMBOLS 351 -#define BX_TOKEN_LIST_SYMBOLS 352 -#define BX_TOKEN_GLOBAL 353 -#define BX_TOKEN_WHERE 354 -#define BX_TOKEN_PRINT_STRING 355 -#define BX_TOKEN_DIFF_MEMORY 356 -#define BX_TOKEN_SYNC_MEMORY 357 -#define BX_TOKEN_SYNC_CPU 358 -#define BX_TOKEN_FAST_FORWARD 359 -#define BX_TOKEN_PHY_2_LOG 360 -#define BX_TOKEN_NUMERIC 361 -#define BX_TOKEN_LONG_NUMERIC 362 -#define BX_TOKEN_INFO_ADDRESS 363 -#define BX_TOKEN_NE2000 364 -#define BX_TOKEN_PIC 365 -#define BX_TOKEN_PAGE 366 -#define BX_TOKEN_CS 367 -#define BX_TOKEN_ES 368 -#define BX_TOKEN_SS 369 -#define BX_TOKEN_DS 370 -#define BX_TOKEN_FS 371 -#define BX_TOKEN_GS 372 -#define BX_TOKEN_FLAGS 373 -#define BX_TOKEN_ALWAYS_CHECK 374 -#define BX_TOKEN_TRACEREGON 375 -#define BX_TOKEN_TRACEREGOFF 376 -#define BX_TOKEN_HELP 377 -#define BX_TOKEN_CALC 378 -#define BX_TOKEN_VGA 379 -#define BX_TOKEN_RSHIFT 380 -#define BX_TOKEN_LSHIFT 381 -#define BX_TOKEN_IVT 382 -#define NEG 383 -#define NOT 384 +#define BX_TOKEN_ON 323 +#define BX_TOKEN_OFF 324 +#define BX_TOKEN_DISASSEMBLE 325 +#define BX_TOKEN_INSTRUMENT 326 +#define BX_TOKEN_START 327 +#define BX_TOKEN_STOP 328 +#define BX_TOKEN_RESET 329 +#define BX_TOKEN_PRINT 330 +#define BX_TOKEN_LOADER 331 +#define BX_TOKEN_STRING 332 +#define BX_TOKEN_DOIT 333 +#define BX_TOKEN_CRC 334 +#define BX_TOKEN_TRACEON 335 +#define BX_TOKEN_TRACEOFF 336 +#define BX_TOKEN_SWITCH_MODE 337 +#define BX_TOKEN_SIZE 338 +#define BX_TOKEN_PTIME 339 +#define BX_TOKEN_TIMEBP_ABSOLUTE 340 +#define BX_TOKEN_TIMEBP 341 +#define BX_TOKEN_RECORD 342 +#define BX_TOKEN_PLAYBACK 343 +#define BX_TOKEN_MODEBP 344 +#define BX_TOKEN_PRINT_STACK 345 +#define BX_TOKEN_WATCH 346 +#define BX_TOKEN_UNWATCH 347 +#define BX_TOKEN_READ 348 +#define BX_TOKEN_WRITE 349 +#define BX_TOKEN_SHOW 350 +#define BX_TOKEN_LOAD_SYMBOLS 351 +#define BX_TOKEN_SYMBOLS 352 +#define BX_TOKEN_LIST_SYMBOLS 353 +#define BX_TOKEN_GLOBAL 354 +#define BX_TOKEN_WHERE 355 +#define BX_TOKEN_PRINT_STRING 356 +#define BX_TOKEN_DIFF_MEMORY 357 +#define BX_TOKEN_SYNC_MEMORY 358 +#define BX_TOKEN_SYNC_CPU 359 +#define BX_TOKEN_FAST_FORWARD 360 +#define BX_TOKEN_PHY_2_LOG 361 +#define BX_TOKEN_NUMERIC 362 +#define BX_TOKEN_LONG_NUMERIC 363 +#define BX_TOKEN_INFO_ADDRESS 364 +#define BX_TOKEN_NE2000 365 +#define BX_TOKEN_PIC 366 +#define BX_TOKEN_PAGE 367 +#define BX_TOKEN_CS 368 +#define BX_TOKEN_ES 369 +#define BX_TOKEN_SS 370 +#define BX_TOKEN_DS 371 +#define BX_TOKEN_FS 372 +#define BX_TOKEN_GS 373 +#define BX_TOKEN_FLAGS 374 +#define BX_TOKEN_ALWAYS_CHECK 375 +#define BX_TOKEN_TRACEREGON 376 +#define BX_TOKEN_TRACEREGOFF 377 +#define BX_TOKEN_HELP 378 +#define BX_TOKEN_CALC 379 +#define BX_TOKEN_VGA 380 +#define BX_TOKEN_RSHIFT 381 +#define BX_TOKEN_LSHIFT 382 +#define BX_TOKEN_IVT 383 +#define NEG 384 +#define NOT 385 @@ -360,7 +362,7 @@ typedef union YYSTYPE { Regs reg; } YYSTYPE; /* Line 191 of yacc.c. */ -#line 364 "y.tab.c" +#line 366 "y.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -372,7 +374,7 @@ typedef union YYSTYPE { /* Line 214 of yacc.c. */ -#line 376 "y.tab.c" +#line 378 "y.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -469,22 +471,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 285 +#define YYFINAL 288 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1256 +#define YYLAST 1317 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 143 +#define YYNTOKENS 144 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 54 /* YYNRULES -- Number of rules. */ -#define YYNRULES 263 +#define YYNRULES 266 /* YYNRULES -- Number of states. */ -#define YYNSTATES 490 +#define YYNSTATES 497 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 384 +#define YYMAXUTOK 385 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -493,20 +495,20 @@ union yyalloc static const unsigned char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 137, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 138, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 140, 2, 2, 2, 2, 134, 2, - 141, 142, 132, 128, 2, 129, 2, 133, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 138, 2, - 2, 139, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 141, 2, 2, 2, 2, 135, 2, + 142, 143, 133, 129, 2, 130, 2, 134, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 139, 2, + 2, 140, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 132, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 131, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 130, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -530,7 +532,7 @@ static const unsigned char yytranslate[] = 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 135, 136 + 125, 126, 127, 128, 136, 137 }; #if YYDEBUG @@ -547,149 +549,150 @@ static const unsigned short yyprhs[] = 142, 144, 146, 148, 150, 154, 158, 162, 166, 169, 173, 176, 179, 182, 185, 188, 192, 196, 200, 203, 206, 211, 216, 221, 226, 230, 235, 241, 244, 248, - 251, 254, 258, 261, 266, 271, 277, 280, 286, 289, - 293, 297, 300, 304, 309, 312, 315, 319, 323, 327, - 331, 335, 339, 343, 347, 352, 357, 362, 367, 372, - 376, 380, 384, 389, 393, 397, 403, 411, 415, 419, - 420, 422, 424, 427, 430, 434, 438, 442, 445, 450, - 454, 458, 461, 467, 471, 475, 480, 484, 487, 491, - 496, 500, 504, 508, 512, 516, 520, 525, 528, 531, - 535, 539, 543, 547, 551, 555, 559, 563, 567, 571, - 575, 579, 583, 587, 591, 595, 599, 603, 607, 611, - 615, 619, 623, 627, 631, 635, 639, 643, 647, 651, - 655, 659, 663, 667, 671, 675, 679, 683, 687, 690, - 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, - 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, - 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, - 754, 756, 758, 760, 764, 768, 772, 776, 780, 784, - 788, 792, 796, 799, 802, 806, 808, 810, 812, 814, - 816, 820, 824, 828, 832, 836, 840, 844, 848, 852, - 856, 859, 862, 866 + 251, 254, 258, 261, 266, 271, 277, 283, 286, 292, + 295, 299, 303, 306, 310, 315, 318, 321, 325, 329, + 333, 337, 341, 345, 349, 353, 358, 363, 368, 373, + 378, 382, 386, 390, 395, 399, 403, 409, 417, 421, + 425, 426, 428, 430, 433, 436, 439, 443, 447, 451, + 454, 459, 463, 467, 470, 476, 480, 484, 489, 493, + 496, 500, 505, 509, 515, 519, 523, 527, 531, 535, + 539, 544, 547, 550, 554, 558, 562, 566, 570, 574, + 578, 582, 586, 590, 594, 598, 602, 606, 610, 614, + 618, 622, 626, 630, 634, 638, 642, 646, 650, 654, + 658, 662, 666, 670, 674, 678, 682, 686, 690, 694, + 698, 702, 706, 709, 713, 715, 717, 719, 721, 723, + 725, 727, 729, 731, 733, 735, 737, 739, 741, 743, + 745, 747, 749, 751, 753, 755, 757, 759, 761, 763, + 765, 767, 769, 771, 773, 775, 777, 779, 783, 787, + 791, 795, 799, 803, 807, 811, 815, 818, 821, 825, + 827, 829, 831, 833, 835, 839, 843, 847, 851, 855, + 859, 863, 867, 871, 875, 878, 881 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short yyrhs[] = { - 144, 0, -1, 144, 145, -1, 145, -1, 161, -1, - 162, -1, 163, -1, 164, -1, 196, -1, 165, -1, - 168, -1, 166, -1, 167, -1, 171, -1, 172, -1, - 173, -1, 174, -1, 175, -1, 176, -1, 177, -1, - 178, -1, 179, -1, 180, -1, 181, -1, 182, -1, - 183, -1, 184, -1, 185, -1, 154, -1, 155, -1, - 153, -1, 148, -1, 149, -1, 150, -1, 151, -1, - 156, -1, 157, -1, 152, -1, 158, -1, 159, -1, - 160, -1, 146, -1, 186, -1, 187, -1, 188, -1, - 189, -1, -1, 137, -1, 101, 137, -1, 102, 69, - 137, -1, 102, 70, 137, -1, 103, 69, 137, -1, - 103, 70, 137, -1, 104, 106, 137, -1, 105, 106, - 137, -1, 108, 147, 138, 106, 137, -1, 119, 106, - 69, 137, -1, 119, 106, 70, 137, -1, 112, -1, - 113, -1, 114, -1, 115, -1, 116, -1, 117, -1, - 85, 107, 137, -1, 84, 107, 137, -1, 86, 78, - 137, -1, 87, 78, 137, -1, 88, 137, -1, 94, - 78, 137, -1, 94, 137, -1, 83, 137, -1, 81, - 137, -1, 82, 137, -1, 89, 137, -1, 89, 106, - 137, -1, 90, 74, 137, -1, 90, 29, 137, -1, - 90, 137, -1, 91, 137, -1, 90, 92, 106, 137, - -1, 91, 92, 106, 137, -1, 90, 93, 106, 137, - -1, 91, 93, 106, 137, -1, 95, 78, 137, -1, - 95, 78, 106, 137, -1, 95, 98, 78, 106, 137, - -1, 99, 137, -1, 100, 106, 137, -1, 29, 137, - -1, 30, 137, -1, 30, 106, 137, -1, 31, 137, - -1, 33, 68, 69, 137, -1, 33, 68, 70, 137, - -1, 33, 60, 139, 106, 137, -1, 36, 137, -1, - 36, 194, 138, 195, 137, -1, 37, 137, -1, 37, - 195, 137, -1, 37, 78, 137, -1, 38, 137, -1, - 38, 195, 137, -1, 38, 132, 195, 137, -1, 35, - 137, -1, 97, 137, -1, 97, 78, 137, -1, 42, - 38, 137, -1, 42, 45, 137, -1, 42, 44, 137, - -1, 42, 46, 137, -1, 42, 47, 137, -1, 42, - 48, 137, -1, 42, 53, 137, -1, 42, 49, 169, - 137, -1, 42, 127, 169, 137, -1, 42, 50, 169, - 137, -1, 42, 51, 169, 137, -1, 42, 52, 169, - 137, -1, 42, 118, 137, -1, 42, 54, 137, -1, - 42, 96, 137, -1, 42, 96, 78, 137, -1, 42, - 55, 137, -1, 42, 109, 137, -1, 42, 109, 111, - 106, 137, -1, 42, 109, 111, 106, 44, 106, 137, - -1, 42, 110, 137, -1, 42, 124, 137, -1, -1, - 170, -1, 195, -1, 195, 195, -1, 66, 137, -1, - 39, 106, 137, -1, 40, 106, 137, -1, 41, 106, - 137, -1, 43, 137, -1, 56, 57, 195, 137, -1, - 56, 57, 137, -1, 56, 195, 137, -1, 56, 137, - -1, 59, 106, 106, 106, 137, -1, 61, 62, 137, - -1, 63, 64, 137, -1, 63, 64, 106, 137, -1, - 63, 65, 137, -1, 67, 137, -1, 71, 169, 137, - -1, 71, 58, 169, 137, -1, 72, 73, 137, -1, - 72, 74, 137, -1, 72, 75, 137, -1, 72, 76, - 137, -1, 77, 78, 137, -1, 79, 106, 137, -1, - 80, 106, 106, 137, -1, 120, 137, -1, 121, 137, - -1, 122, 43, 137, -1, 122, 29, 137, -1, 122, - 30, 137, -1, 122, 31, 137, -1, 122, 36, 137, - -1, 122, 37, 137, -1, 122, 39, 137, -1, 122, - 40, 137, -1, 122, 41, 137, -1, 122, 35, 137, - -1, 122, 88, 137, -1, 122, 80, 137, -1, 122, - 81, 137, -1, 122, 82, 137, -1, 122, 120, 137, - -1, 122, 121, 137, -1, 122, 66, 137, -1, 122, - 67, 137, -1, 122, 83, 137, -1, 122, 85, 137, - -1, 122, 84, 137, -1, 122, 89, 137, -1, 122, - 86, 137, -1, 122, 87, 137, -1, 122, 95, 137, - -1, 122, 97, 137, -1, 122, 44, 137, -1, 122, - 59, 137, -1, 122, 71, 137, -1, 122, 90, 137, - -1, 122, 91, 137, -1, 122, 56, 137, -1, 122, - 72, 137, -1, 122, 33, 137, -1, 122, 42, 137, - -1, 122, 94, 137, -1, 122, 123, 137, -1, 122, - 122, 137, -1, 122, 78, 137, -1, 122, 137, -1, - 123, 195, 137, -1, 3, -1, 4, -1, 5, -1, - 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, - 11, -1, 12, -1, 13, -1, 14, -1, 15, -1, - 16, -1, 17, -1, 18, -1, 19, -1, 20, -1, - 24, -1, 25, -1, 21, -1, 22, -1, 23, -1, - 26, -1, 27, -1, 28, -1, 190, -1, 191, -1, - 192, -1, 106, -1, 107, -1, 193, -1, 147, -1, - 194, 128, 194, -1, 194, 129, 194, -1, 194, 132, - 194, -1, 194, 133, 194, -1, 194, 125, 194, -1, - 194, 126, 194, -1, 194, 130, 194, -1, 194, 131, - 194, -1, 194, 134, 194, -1, 140, 194, -1, 129, - 194, -1, 141, 194, 142, -1, 106, -1, 107, -1, - 78, -1, 193, -1, 147, -1, 195, 138, 195, -1, - 195, 128, 195, -1, 195, 129, 195, -1, 195, 132, - 195, -1, 195, 133, 195, -1, 195, 125, 195, -1, - 195, 126, 195, -1, 195, 130, 195, -1, 195, 131, - 195, -1, 195, 134, 195, -1, 140, 195, -1, 129, - 195, -1, 141, 195, 142, -1, 44, 193, 139, 195, - 137, -1 + 145, 0, -1, 145, 146, -1, 146, -1, 162, -1, + 163, -1, 164, -1, 165, -1, 166, -1, 169, -1, + 172, -1, 167, -1, 168, -1, 173, -1, 174, -1, + 175, -1, 176, -1, 177, -1, 178, -1, 179, -1, + 180, -1, 181, -1, 182, -1, 183, -1, 184, -1, + 185, -1, 186, -1, 187, -1, 155, -1, 156, -1, + 154, -1, 149, -1, 150, -1, 151, -1, 152, -1, + 157, -1, 158, -1, 153, -1, 159, -1, 160, -1, + 161, -1, 147, -1, 188, -1, 189, -1, 190, -1, + 191, -1, -1, 138, -1, 102, 138, -1, 103, 68, + 138, -1, 103, 69, 138, -1, 104, 68, 138, -1, + 104, 69, 138, -1, 105, 107, 138, -1, 106, 107, + 138, -1, 109, 148, 139, 107, 138, -1, 120, 107, + 68, 138, -1, 120, 107, 69, 138, -1, 113, -1, + 114, -1, 115, -1, 116, -1, 117, -1, 118, -1, + 86, 108, 138, -1, 85, 108, 138, -1, 87, 77, + 138, -1, 88, 77, 138, -1, 89, 138, -1, 95, + 77, 138, -1, 95, 138, -1, 84, 138, -1, 80, + 138, -1, 81, 138, -1, 90, 138, -1, 90, 107, + 138, -1, 91, 73, 138, -1, 91, 29, 138, -1, + 91, 138, -1, 92, 138, -1, 91, 93, 107, 138, + -1, 92, 93, 107, 138, -1, 91, 94, 107, 138, + -1, 92, 94, 107, 138, -1, 96, 77, 138, -1, + 96, 77, 107, 138, -1, 96, 99, 77, 107, 138, + -1, 100, 138, -1, 101, 107, 138, -1, 29, 138, + -1, 30, 138, -1, 30, 107, 138, -1, 31, 138, + -1, 33, 70, 68, 138, -1, 33, 70, 69, 138, + -1, 33, 60, 140, 107, 138, -1, 33, 195, 140, + 197, 138, -1, 36, 138, -1, 36, 196, 139, 197, + 138, -1, 37, 138, -1, 37, 197, 138, -1, 37, + 77, 138, -1, 38, 138, -1, 38, 197, 138, -1, + 38, 133, 197, 138, -1, 35, 138, -1, 98, 138, + -1, 98, 77, 138, -1, 42, 38, 138, -1, 42, + 45, 138, -1, 42, 44, 138, -1, 42, 46, 138, + -1, 42, 47, 138, -1, 42, 48, 138, -1, 42, + 53, 138, -1, 42, 49, 170, 138, -1, 42, 128, + 170, 138, -1, 42, 50, 170, 138, -1, 42, 51, + 170, 138, -1, 42, 52, 170, 138, -1, 42, 119, + 138, -1, 42, 54, 138, -1, 42, 97, 138, -1, + 42, 97, 77, 138, -1, 42, 55, 138, -1, 42, + 110, 138, -1, 42, 110, 112, 107, 138, -1, 42, + 110, 112, 107, 44, 107, 138, -1, 42, 111, 138, + -1, 42, 125, 138, -1, -1, 171, -1, 197, -1, + 197, 197, -1, 44, 138, -1, 66, 138, -1, 39, + 107, 138, -1, 40, 107, 138, -1, 41, 107, 138, + -1, 43, 138, -1, 56, 57, 197, 138, -1, 56, + 57, 138, -1, 56, 197, 138, -1, 56, 138, -1, + 59, 107, 107, 107, 138, -1, 61, 62, 138, -1, + 63, 64, 138, -1, 63, 64, 107, 138, -1, 63, + 65, 138, -1, 67, 138, -1, 70, 170, 138, -1, + 70, 58, 170, 138, -1, 70, 82, 138, -1, 70, + 83, 140, 107, 138, -1, 71, 72, 138, -1, 71, + 73, 138, -1, 71, 74, 138, -1, 71, 75, 138, + -1, 76, 77, 138, -1, 78, 107, 138, -1, 79, + 107, 107, 138, -1, 121, 138, -1, 122, 138, -1, + 123, 43, 138, -1, 123, 29, 138, -1, 123, 30, + 138, -1, 123, 31, 138, -1, 123, 36, 138, -1, + 123, 37, 138, -1, 123, 39, 138, -1, 123, 40, + 138, -1, 123, 41, 138, -1, 123, 35, 138, -1, + 123, 89, 138, -1, 123, 79, 138, -1, 123, 80, + 138, -1, 123, 81, 138, -1, 123, 121, 138, -1, + 123, 122, 138, -1, 123, 66, 138, -1, 123, 67, + 138, -1, 123, 84, 138, -1, 123, 86, 138, -1, + 123, 85, 138, -1, 123, 90, 138, -1, 123, 87, + 138, -1, 123, 88, 138, -1, 123, 96, 138, -1, + 123, 98, 138, -1, 123, 44, 138, -1, 123, 59, + 138, -1, 123, 70, 138, -1, 123, 91, 138, -1, + 123, 92, 138, -1, 123, 56, 138, -1, 123, 71, + 138, -1, 123, 33, 138, -1, 123, 42, 138, -1, + 123, 95, 138, -1, 123, 124, 138, -1, 123, 123, + 138, -1, 123, 77, 138, -1, 123, 138, -1, 124, + 197, 138, -1, 3, -1, 4, -1, 5, -1, 6, + -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, + -1, 12, -1, 13, -1, 14, -1, 15, -1, 16, + -1, 17, -1, 18, -1, 19, -1, 20, -1, 24, + -1, 25, -1, 21, -1, 22, -1, 23, -1, 26, + -1, 27, -1, 28, -1, 192, -1, 193, -1, 194, + -1, 107, -1, 108, -1, 195, -1, 148, -1, 196, + 129, 196, -1, 196, 130, 196, -1, 196, 133, 196, + -1, 196, 134, 196, -1, 196, 126, 196, -1, 196, + 127, 196, -1, 196, 131, 196, -1, 196, 132, 196, + -1, 196, 135, 196, -1, 141, 196, -1, 130, 196, + -1, 142, 196, 143, -1, 107, -1, 108, -1, 77, + -1, 195, -1, 148, -1, 197, 139, 197, -1, 197, + 129, 197, -1, 197, 130, 197, -1, 197, 133, 197, + -1, 197, 134, 197, -1, 197, 126, 197, -1, 197, + 127, 197, -1, 197, 131, 197, -1, 197, 132, 197, + -1, 197, 135, 197, -1, 141, 197, -1, 130, 197, + -1, 142, 197, 143, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 172, 172, 173, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 226, 231, - 236, 241, 246, 251, 256, 259, 264, 267, 273, 274, - 275, 276, 277, 278, 282, 287, 295, 303, 311, 319, - 324, 332, 340, 348, 356, 361, 369, 375, 381, 386, - 391, 396, 401, 406, 414, 419, 424, 432, 440, 448, - 456, 461, 469, 477, 482, 487, 495, 500, 505, 510, - 515, 520, 525, 530, 538, 546, 551, 559, 564, 569, + 0, 173, 173, 174, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 227, 232, + 237, 242, 247, 252, 257, 260, 265, 268, 274, 275, + 276, 277, 278, 279, 283, 288, 296, 304, 312, 320, + 325, 333, 341, 349, 357, 362, 370, 376, 382, 387, + 392, 397, 402, 407, 415, 420, 425, 433, 441, 449, + 457, 462, 470, 478, 483, 488, 493, 500, 505, 510, + 515, 520, 525, 530, 535, 543, 551, 556, 564, 569, 574, 579, 584, 589, 594, 599, 604, 609, 614, 619, - 624, 629, 634, 639, 644, 649, 654, 659, 664, 676, - 677, 680, 685, 692, 700, 708, 715, 723, 732, 740, - 748, 761, 777, 785, 793, 798, 803, 811, 819, 824, - 832, 837, 842, 847, 855, 863, 871, 879, 887, 895, - 900, 905, 910, 915, 920, 925, 930, 935, 940, 945, - 950, 955, 960, 965, 970, 975, 980, 985, 990, 995, - 1000, 1005, 1010, 1015, 1020, 1025, 1030, 1035, 1041, 1050, - 1057, 1070, 1078, 1087, 1107, 1121, 1131, 1136, 1142, 1150, - 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, - 1168, 1169, 1170, 1171, 1172, 1173, 1178, 1179, 1180, 1181, - 1186, 1187, 1188, 1189, 1190, 1191, 1196, 1197, 1198, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, - 1215, 1216, 1217, 1218, 1219, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, - 1239, 1240, 1241, 1245 + 624, 629, 634, 639, 644, 649, 654, 659, 664, 669, + 681, 682, 685, 690, 696, 704, 712, 720, 727, 735, + 744, 752, 760, 773, 789, 797, 805, 810, 815, 823, + 831, 836, 841, 846, 854, 855, 856, 857, 865, 873, + 881, 889, 897, 905, 910, 915, 920, 925, 930, 935, + 940, 945, 950, 955, 960, 965, 970, 975, 980, 985, + 990, 995, 1000, 1005, 1010, 1015, 1020, 1025, 1030, 1035, + 1040, 1045, 1054, 1063, 1070, 1083, 1091, 1101, 1121, 1135, + 1145, 1150, 1156, 1164, 1172, 1173, 1174, 1175, 1176, 1177, + 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1192, 1193, 1194, 1195, 1200, 1201, 1202, 1203, 1204, 1205, + 1210, 1211, 1212, 1218, 1219, 1220, 1221, 1222, 1223, 1224, + 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1238, + 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255 }; #endif @@ -719,14 +722,15 @@ static const char *const yytname[] = "BX_TOKEN_XFORMAT", "BX_TOKEN_DISFORMAT", "BX_TOKEN_SETPMEM", "BX_TOKEN_SYMBOLNAME", "BX_TOKEN_QUERY", "BX_TOKEN_PENDING", "BX_TOKEN_TAKE", "BX_TOKEN_DMA", "BX_TOKEN_IRQ", "BX_TOKEN_DUMP_CPU", - "BX_TOKEN_SET_CPU", "BX_TOKEN_DIS", "BX_TOKEN_ON", "BX_TOKEN_OFF", + "BX_TOKEN_SET_CPU", "BX_TOKEN_ON", "BX_TOKEN_OFF", "BX_TOKEN_DISASSEMBLE", "BX_TOKEN_INSTRUMENT", "BX_TOKEN_START", "BX_TOKEN_STOP", "BX_TOKEN_RESET", "BX_TOKEN_PRINT", "BX_TOKEN_LOADER", "BX_TOKEN_STRING", "BX_TOKEN_DOIT", "BX_TOKEN_CRC", "BX_TOKEN_TRACEON", - "BX_TOKEN_TRACEOFF", "BX_TOKEN_PTIME", "BX_TOKEN_TIMEBP_ABSOLUTE", - "BX_TOKEN_TIMEBP", "BX_TOKEN_RECORD", "BX_TOKEN_PLAYBACK", - "BX_TOKEN_MODEBP", "BX_TOKEN_PRINT_STACK", "BX_TOKEN_WATCH", - "BX_TOKEN_UNWATCH", "BX_TOKEN_READ", "BX_TOKEN_WRITE", "BX_TOKEN_SHOW", + "BX_TOKEN_TRACEOFF", "BX_TOKEN_SWITCH_MODE", "BX_TOKEN_SIZE", + "BX_TOKEN_PTIME", "BX_TOKEN_TIMEBP_ABSOLUTE", "BX_TOKEN_TIMEBP", + "BX_TOKEN_RECORD", "BX_TOKEN_PLAYBACK", "BX_TOKEN_MODEBP", + "BX_TOKEN_PRINT_STACK", "BX_TOKEN_WATCH", "BX_TOKEN_UNWATCH", + "BX_TOKEN_READ", "BX_TOKEN_WRITE", "BX_TOKEN_SHOW", "BX_TOKEN_LOAD_SYMBOLS", "BX_TOKEN_SYMBOLS", "BX_TOKEN_LIST_SYMBOLS", "BX_TOKEN_GLOBAL", "BX_TOKEN_WHERE", "BX_TOKEN_PRINT_STRING", "BX_TOKEN_DIFF_MEMORY", "BX_TOKEN_SYNC_MEMORY", "BX_TOKEN_SYNC_CPU", @@ -746,14 +750,14 @@ static const char *const yytname[] = "where_command", "print_string_command", "continue_command", "stepN_command", "step_over_command", "set_command", "breakpoint_command", "blist_command", "slist_command", "info_command", - "optional_numeric_range", "numeric_range", "dump_cpu_command", - "delete_command", "bpe_command", "bpd_command", "quit_command", - "examine_command", "setpmem_command", "query_command", "take_command", - "set_cpu_command", "disassemble_command", "instrument_command", - "loader_command", "doit_command", "crc_command", "trace_reg_on_command", - "trace_reg_off_command", "help_command", "calc_command", - "BX_TOKEN_COMMON_REG", "BX_TOKEN_INDEX_REG", "BX_TOKEN_PTR_REG", - "BX_TOKEN_NONSEG_REG", "vexpression", "expression", "set_reg_command", 0 + "optional_numeric_range", "numeric_range", "regs_command", + "dump_cpu_command", "delete_command", "bpe_command", "bpd_command", + "quit_command", "examine_command", "setpmem_command", "query_command", + "take_command", "set_cpu_command", "disassemble_command", + "instrument_command", "loader_command", "doit_command", "crc_command", + "trace_reg_on_command", "trace_reg_off_command", "help_command", + "calc_command", "BX_TOKEN_COMMON_REG", "BX_TOKEN_INDEX_REG", + "BX_TOKEN_PTR_REG", "BX_TOKEN_NONSEG_REG", "vexpression", "expression", 0 }; #endif @@ -774,42 +778,42 @@ static const unsigned short yytoknum[] = 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 43, 45, - 124, 94, 42, 47, 38, 383, 384, 10, 58, 61, - 33, 40, 41 + 375, 376, 377, 378, 379, 380, 381, 382, 383, 43, + 45, 124, 94, 42, 47, 38, 384, 385, 10, 58, + 61, 33, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 143, 144, 144, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 146, 146, + 0, 144, 145, 145, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, - 147, 147, 147, 147, 148, 148, 149, 150, 151, 152, - 152, 153, 154, 155, 156, 156, 157, 157, 157, 157, - 157, 157, 157, 157, 158, 158, 158, 159, 160, 161, - 162, 162, 163, 164, 164, 164, 165, 165, 165, 165, - 165, 165, 165, 165, 166, 167, 167, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, - 169, 170, 170, 171, 172, 173, 174, 175, 176, 176, - 176, 176, 177, 178, 179, 179, 179, 180, 181, 181, - 182, 182, 182, 182, 183, 184, 185, 186, 187, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, + 147, 147, 147, 147, 147, 147, 147, 147, 148, 148, + 148, 148, 148, 148, 149, 149, 150, 151, 152, 153, + 153, 154, 155, 156, 157, 157, 158, 158, 158, 158, + 158, 158, 158, 158, 159, 159, 159, 160, 161, 162, + 163, 163, 164, 165, 165, 165, 165, 166, 166, 166, + 166, 166, 166, 166, 166, 167, 168, 168, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 170, 170, 171, 171, 172, 173, 174, 175, 176, 177, + 178, 178, 178, 178, 179, 180, 181, 181, 181, 182, + 183, 183, 183, 183, 184, 184, 184, 184, 185, 186, + 187, 188, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 191, 191, 191, 191, - 192, 192, 192, 192, 192, 192, 193, 193, 193, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 196 + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 191, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 193, 193, 193, 193, 194, 194, 194, 194, 194, 194, + 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -824,24 +828,24 @@ static const unsigned char yyr2[] = 1, 1, 1, 1, 3, 3, 3, 3, 2, 3, 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, 4, 4, 4, 4, 3, 4, 5, 2, 3, 2, - 2, 3, 2, 4, 4, 5, 2, 5, 2, 3, - 3, 2, 3, 4, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 4, 4, 4, 4, 4, 3, - 3, 3, 4, 3, 3, 5, 7, 3, 3, 0, - 1, 1, 2, 2, 3, 3, 3, 2, 4, 3, - 3, 2, 5, 3, 3, 4, 3, 2, 3, 4, - 3, 3, 3, 3, 3, 3, 4, 2, 2, 3, + 2, 3, 2, 4, 4, 5, 5, 2, 5, 2, + 3, 3, 2, 3, 4, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, + 3, 3, 3, 4, 3, 3, 5, 7, 3, 3, + 0, 1, 1, 2, 2, 2, 3, 3, 3, 2, + 4, 3, 3, 2, 5, 3, 3, 4, 3, 2, + 3, 4, 3, 5, 3, 3, 3, 3, 3, 3, + 4, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, + 3, 3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 3, 1, 1, 1, 1, 1, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 3, 5 + 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 3, 1, + 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -851,131 +855,133 @@ static const unsigned short yydefact[] = { 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 3, 41, 31, 32, 33, 34, 37, 30, 28, 29, 35, 36, 38, 39, 40, - 4, 5, 6, 7, 9, 11, 12, 10, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 42, 43, 44, 45, 8, 89, 0, - 90, 92, 0, 0, 104, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 220, 221, 222, 218, 219, 223, 224, - 225, 229, 230, 58, 59, 60, 61, 62, 63, 0, - 96, 0, 0, 232, 226, 227, 228, 231, 0, 247, - 245, 246, 0, 98, 0, 0, 249, 248, 0, 247, - 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 129, 129, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 137, 0, 0, 141, 0, - 0, 0, 0, 0, 133, 147, 129, 0, 130, 131, - 0, 0, 0, 0, 0, 0, 0, 72, 73, 71, - 0, 0, 0, 0, 68, 0, 74, 0, 0, 0, - 0, 78, 0, 0, 79, 0, 70, 0, 0, 0, - 105, 87, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 158, 0, 0, 0, 0, 0, 0, + 4, 5, 6, 7, 8, 11, 12, 9, 10, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 42, 43, 44, 45, 89, 0, + 90, 92, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 224, 225, 226, 222, 223, 227, 228, 229, 0, 0, + 230, 231, 232, 0, 105, 233, 234, 58, 59, 60, + 61, 62, 63, 0, 97, 0, 0, 236, 235, 0, + 251, 249, 250, 0, 99, 0, 0, 253, 252, 0, + 251, 0, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 130, 130, 130, 130, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 139, 134, 0, 143, + 0, 0, 0, 0, 0, 135, 149, 130, 0, 0, + 0, 131, 132, 0, 0, 0, 0, 0, 0, 0, + 72, 73, 71, 0, 0, 0, 0, 68, 0, 74, + 0, 0, 0, 0, 78, 0, 0, 79, 0, 70, + 0, 0, 0, 106, 87, 0, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 0, 1, 2, 91, 0, 0, - 0, 243, 242, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 261, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, - 102, 134, 135, 136, 107, 109, 108, 110, 111, 112, - 0, 0, 0, 0, 113, 120, 123, 0, 121, 0, - 124, 127, 119, 128, 0, 0, 139, 0, 140, 0, - 143, 0, 144, 146, 0, 148, 0, 132, 150, 151, - 152, 153, 154, 155, 0, 65, 64, 66, 67, 75, - 77, 76, 0, 0, 0, 0, 69, 0, 84, 0, - 106, 88, 49, 50, 51, 52, 53, 54, 0, 0, - 0, 160, 161, 162, 192, 168, 163, 164, 165, 166, - 167, 193, 159, 185, 190, 186, 175, 176, 187, 191, - 197, 170, 171, 172, 177, 179, 178, 181, 182, 169, - 180, 188, 189, 194, 183, 184, 173, 174, 196, 195, - 199, 0, 93, 94, 244, 237, 238, 233, 234, 239, - 240, 235, 236, 241, 0, 262, 255, 256, 251, 252, - 257, 258, 253, 254, 259, 250, 103, 114, 116, 117, - 118, 122, 0, 115, 0, 138, 0, 145, 149, 252, - 156, 80, 82, 81, 83, 85, 0, 0, 56, 57, - 95, 97, 0, 125, 263, 142, 86, 55, 0, 126 + 0, 0, 0, 0, 0, 0, 202, 0, 1, 2, + 91, 0, 0, 0, 0, 247, 246, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 265, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 103, 136, 137, 138, 108, 110, + 109, 111, 112, 113, 0, 0, 0, 0, 114, 121, + 124, 0, 122, 0, 125, 128, 120, 129, 0, 141, + 0, 142, 0, 145, 0, 146, 148, 0, 152, 0, + 150, 0, 133, 154, 155, 156, 157, 158, 159, 0, + 65, 64, 66, 67, 75, 77, 76, 0, 0, 0, + 0, 69, 0, 84, 0, 107, 88, 49, 50, 51, + 52, 53, 54, 0, 0, 0, 164, 165, 166, 196, + 172, 167, 168, 169, 170, 171, 197, 163, 189, 194, + 190, 179, 180, 191, 195, 201, 174, 175, 176, 181, + 183, 182, 185, 186, 173, 184, 192, 193, 198, 187, + 188, 177, 178, 200, 199, 203, 0, 93, 94, 0, + 248, 241, 242, 237, 238, 243, 244, 239, 240, 245, + 0, 266, 259, 260, 255, 256, 261, 262, 257, 258, + 263, 254, 104, 115, 117, 118, 119, 123, 0, 116, + 140, 0, 147, 151, 0, 256, 160, 80, 82, 81, + 83, 85, 0, 0, 56, 57, 95, 96, 98, 0, + 126, 144, 153, 86, 55, 0, 127 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short yydefgoto[] = { - -1, 54, 55, 56, 156, 57, 58, 59, 60, 61, + -1, 54, 55, 56, 157, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 197, 198, 78, 79, + 72, 73, 74, 75, 76, 77, 200, 201, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 144, 145, 146, - 157, 148, 199, 97 + 90, 91, 92, 93, 94, 95, 96, 97, 130, 131, + 132, 158, 149, 202 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -147 +#define YYPACT_NINF -160 static const short yypact[] = { - 976, -121, -97, -118, -38, -116, 595, 392, 113, -83, - -81, -71, 1129, -100, 804, 253, -67, -14, -33, -85, - -77, 424, 89, -20, -43, -40, -66, -52, 7, 39, - 47, 74, 77, 19, -95, -25, -86, -76, -64, -75, - 21, 61, 42, -13, 10, 81, 82, 69, 87, 57, - 64, 1075, 639, -147, 873, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, 65, - -147, -147, 66, 14, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, 778, - -147, 778, 778, -147, -147, -147, -147, -147, 499, 67, - -147, -147, 639, -147, 639, 639, -147, -147, -56, -147, - 639, -147, 214, 70, 73, 85, 96, 104, 109, 110, - 112, 114, 639, 639, 639, 639, 115, 118, 147, -73, - -101, 155, 156, 158, 639, -147, 79, 563, -147, 246, - 97, 160, -94, 161, -147, -147, 639, 163, -147, 83, - 193, 195, 196, 197, 198, 199, 100, -147, -147, -147, - 200, 204, 213, 216, -147, 217, -147, 218, 219, 137, - 188, -147, 251, 252, -147, 224, -147, -93, 284, 226, - -147, -147, 227, -147, 236, 244, 248, 249, 250, 254, - 283, 45, -147, -147, 255, 285, 286, 287, 288, 289, - 318, 326, 327, 330, 341, 342, 348, 356, 357, 360, - 363, 364, 366, 375, 383, 387, 388, 389, 390, 391, - 397, 398, 407, 415, 419, 420, 421, 422, 423, 425, - 426, 455, 456, -147, 328, -147, -147, -147, 282, 457, - 458, -147, -147, 157, 778, 778, 778, 778, 778, 778, - 778, 778, 778, 639, -147, 459, 459, 106, 639, 639, - 639, 639, 639, 639, 639, 639, 639, -147, 639, 343, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - 489, 497, 498, 501, -147, -147, -147, 502, -147, 490, - -147, -147, -147, -147, 503, 639, -147, 358, -147, 530, - -147, 531, -147, -147, 534, -147, 639, 556, -147, -147, - -147, -147, -147, -147, 535, -147, -147, -147, -147, -147, - -147, -147, 536, 537, 546, 554, -147, 558, -147, 587, - -147, -147, -147, -147, -147, -147, -147, -147, 590, 560, - 561, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, 562, -147, -147, -147, -147, -147, 17, 17, 17, - 17, -147, -147, -147, 385, -147, 459, 459, -79, -79, - -79, -79, 459, 459, 459, 556, -147, -147, -147, -147, - -147, -147, -24, -147, 417, -147, 568, -147, -147, -79, - -147, -147, -147, -147, -147, -147, 569, 576, -147, -147, - -147, -147, 608, -147, -147, -147, -147, -147, 578, -147 + 1079, -118, -98, -115, 906, -110, 115, 664, 492, -63, + -59, -57, 296, -92, -80, 524, -45, -1, -46, -51, + 9, 352, -38, -6, -21, 43, 13, 15, 17, 44, + 49, 79, 83, 30, -97, -24, -87, -75, -52, -74, + 31, 67, 37, -37, 14, 69, 70, -61, 71, 41, + 42, 1179, 739, -160, 975, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, 53, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, 54, 48, + -160, -160, -160, 56, -160, -160, -160, -160, -160, -160, + -160, -160, -160, 879, -160, 879, 879, -160, -160, 441, + 59, -160, -160, 739, -160, 739, 739, -160, -160, -54, + -160, 739, -160, 147, 66, 68, 72, 75, 87, 98, + 106, 110, 111, 739, 739, 739, 739, 112, 114, 116, + -73, -99, 117, 122, 130, 739, -160, -160, 696, -160, + 163, 100, 131, -96, 133, -160, -160, 739, 134, 65, + 145, -160, 85, 146, 150, 153, 161, 165, 166, 101, + -160, -160, -160, 176, 197, 198, 199, -160, 200, -160, + 201, 214, 102, 139, -160, 246, 274, -160, 254, -160, + -95, 144, 260, -160, -160, 273, -160, 275, 276, 278, + 279, 280, 281, 245, 76, -160, -160, 282, 284, 285, + 287, 288, 289, 290, 292, 293, 294, 295, 300, 308, + 309, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 323, 324, 325, 326, 335, 343, 347, 348, 349, 350, + 351, 353, 354, 383, 384, 385, -160, 256, -160, -160, + -160, 305, 386, 387, 739, -160, -160, 132, 879, 879, + 879, 879, 879, 879, 879, 879, 879, 739, -160, 416, + 416, 108, 739, 739, 739, 739, 739, 739, 739, 739, + 739, -160, 739, 270, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, 388, 425, 426, 439, -160, -160, + -160, 440, -160, 472, -160, -160, -160, -160, 446, -160, + 310, -160, 485, -160, 455, -160, -160, 458, -160, 487, + -160, 739, 456, -160, -160, -160, -160, -160, -160, 459, + -160, -160, -160, -160, -160, -160, -160, 460, 464, 465, + 466, -160, 473, -160, 505, -160, -160, -160, -160, -160, + -160, -160, -160, 506, 476, 477, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, 478, -160, -160, 345, + -160, -160, -160, -67, -67, -67, -67, -160, -160, -160, + 427, -160, 416, 416, 32, 32, 32, 32, 416, 416, + 416, 456, -160, -160, -160, -160, -160, -160, -23, -160, + -160, 479, -160, -160, 480, 32, -160, -160, -160, -160, + -160, -160, 481, 482, -160, -160, -160, -160, -160, 514, + -160, -160, -160, -160, -160, 486, -160 }; /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { - -147, -147, 335, -147, 18, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -146, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - 27, -124, -7, -147 + -160, -160, 216, -160, 27, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -159, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, 18, -116, -7 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -985,262 +991,274 @@ static const short yypgoto[] = #define YYTABLE_NINF -1 static const unsigned short yytable[] = { - 158, 162, 225, 229, 217, 337, 222, 223, 189, 99, - 339, 215, 351, 377, 227, 291, 98, 292, 293, 101, - 482, 104, 102, 163, 143, 164, 330, 331, 332, 333, - 103, 192, 193, 147, 228, 165, 340, 185, 344, 190, - 100, 186, 216, 352, 378, 284, 308, 309, 191, 218, - 354, 224, 194, 314, 315, 316, 234, 235, 204, 318, - 195, 226, 230, 205, 338, 240, 206, 219, 220, 308, - 309, 207, 310, 311, 312, 313, 314, 315, 316, 236, - 237, 317, 318, 289, 290, 208, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 221, 483, 389, 390, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 294, 295, 209, 305, 210, 306, 307, 300, - 301, 302, 212, 319, 211, 213, 214, 143, 231, 143, - 143, 159, 200, 201, 202, 203, 147, 232, 147, 147, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 233, - 347, 133, 134, 135, 136, 137, 138, 238, 239, 150, - 151, 159, 357, 241, 242, 133, 134, 135, 136, 137, - 138, 243, 287, 349, 304, 288, 364, 321, 308, 309, - 322, 310, 356, 312, 313, 314, 315, 316, 345, 150, - 151, 318, 323, 154, 155, 133, 134, 135, 136, 137, - 138, 308, 309, 324, 310, 311, 312, 313, 314, 315, - 316, 325, 152, 372, 318, 160, 326, 327, 445, 328, - 161, 329, 334, 154, 155, 335, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 294, 295, 336, 296, 297, 298, 299, 300, - 301, 302, 341, 342, 373, 343, 444, 350, 353, 434, - 355, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 187, 455, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 358, 159, 359, 360, 361, 362, 363, 365, 464, 308, - 309, 366, 310, 311, 312, 313, 314, 315, 316, 469, - 367, 320, 318, 368, 369, 370, 371, 374, 375, 150, - 151, 376, 379, 380, 381, 133, 134, 135, 136, 137, - 138, 308, 309, 382, 310, 311, 312, 313, 314, 315, - 316, 383, 152, 348, 318, 384, 385, 386, 431, 286, - 188, 387, 391, 154, 155, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 388, 392, 393, 394, 395, 396, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 308, 309, 397, 310, 311, 312, 313, - 314, 315, 316, 398, 399, 430, 318, 400, 308, 309, - 149, 310, 311, 312, 313, 314, 315, 316, 401, 402, - 456, 318, 196, 308, 309, 403, 310, 311, 312, 313, - 314, 315, 316, 404, 405, 465, 318, 406, 150, 151, - 407, 408, 159, 409, 133, 134, 135, 136, 137, 138, - 308, 309, 410, 310, 311, 312, 313, 314, 315, 316, - 411, 152, 481, 318, 412, 413, 414, 415, 416, 153, - 150, 151, 154, 155, 417, 418, 133, 134, 135, 136, - 137, 138, 308, 309, 419, 310, 311, 312, 313, 314, - 315, 316, 420, 152, 484, 318, 421, 422, 423, 424, - 425, 0, 426, 427, 154, 155, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 428, 429, 432, 433, 462, 318, 105, 106, + 159, 163, 228, 232, 341, 220, 225, 226, 190, 99, + 218, 354, 382, 343, 334, 335, 336, 337, 193, 194, + 98, 489, 133, 101, 148, 230, 348, 295, 134, 296, + 297, 237, 238, 147, 203, 204, 205, 206, 357, 344, + 100, 219, 355, 383, 164, 287, 186, 231, 165, 221, + 166, 227, 137, 138, 139, 140, 141, 142, 187, 298, + 299, 192, 191, 229, 233, 342, 304, 305, 306, 222, + 223, 207, 312, 313, 243, 314, 315, 316, 317, 318, + 319, 320, 239, 240, 321, 322, 208, 195, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 224, 490, 292, 293, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 394, 395, 309, 196, 310, 311, + 209, 210, 213, 211, 323, 212, 215, 214, 312, 313, + 216, 148, 160, 148, 148, 318, 319, 320, 217, 234, + 147, 322, 147, 147, 235, 236, 241, 242, 244, 245, + 246, 350, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 290, 151, 152, 291, 362, 294, 308, 137, 138, + 139, 140, 141, 142, 325, 359, 326, 352, 369, 377, + 327, 312, 313, 328, 314, 361, 316, 317, 318, 319, + 320, 384, 135, 136, 322, 329, 155, 156, 137, 138, + 139, 140, 141, 142, 312, 313, 330, 314, 315, 316, + 317, 318, 319, 320, 331, 143, 378, 322, 332, 333, + 338, 451, 339, 144, 340, 345, 145, 146, 298, 299, + 346, 300, 301, 302, 303, 304, 305, 306, 347, 353, + 289, 356, 358, 312, 313, 440, 314, 315, 316, 317, + 318, 319, 320, 360, 363, 324, 322, 439, 364, 312, + 313, 365, 314, 315, 316, 317, 318, 319, 320, 366, + 450, 351, 322, 367, 368, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 370, 461, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 167, 371, 372, 373, 374, 375, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 376, 379, 475, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 294, 295, 457, 296, 297, 298, - 299, 300, 301, 302, 458, 459, 466, 303, 460, 461, - 463, 159, 105, 106, 107, 108, 109, 110, 111, 112, + 127, 380, 312, 313, 393, 314, 315, 316, 317, 318, + 319, 320, 381, 180, 435, 322, 312, 313, 385, 314, + 315, 316, 317, 318, 319, 320, 181, 182, 462, 322, + 197, 386, 436, 387, 388, 183, 389, 390, 391, 392, + 396, 184, 397, 398, 185, 399, 400, 401, 402, 160, + 403, 404, 405, 406, 198, 199, 312, 313, 407, 314, + 315, 316, 317, 318, 319, 320, 408, 409, 470, 322, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 151, + 152, 419, 420, 421, 422, 137, 138, 139, 140, 141, + 142, 312, 313, 423, 314, 315, 316, 317, 318, 319, + 320, 424, 153, 487, 322, 425, 426, 427, 428, 429, + 0, 430, 431, 155, 156, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 432, 433, 434, 437, 438, 463, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 312, 313, 322, 314, 315, 316, 317, + 318, 319, 320, 464, 465, 488, 322, 298, 299, 160, + 300, 301, 302, 303, 304, 305, 306, 466, 467, 468, + 307, 188, 312, 313, 469, 314, 315, 316, 317, 318, + 319, 320, 471, 472, 474, 322, 473, 476, 477, 151, + 152, 160, 478, 479, 480, 137, 138, 139, 140, 141, + 142, 481, 482, 483, 484, 485, 486, 491, 492, 493, + 494, 495, 153, 0, 496, 161, 0, 0, 0, 0, + 162, 151, 152, 155, 156, 0, 0, 137, 138, 139, + 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, + 0, 0, 189, 0, 0, 155, 156, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 0, 0, 0, 0, 0, 0, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 467, 150, - 151, 468, 470, 471, 472, 133, 134, 135, 136, 137, - 138, 308, 309, 473, 310, 311, 312, 313, 314, 315, - 316, 474, 152, 476, 318, 475, 477, 478, 479, 480, - 346, 131, 132, 154, 155, 485, 486, 133, 134, 135, - 136, 137, 138, 487, 488, 489, 0, 159, 0, 0, - 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, - 0, 0, 140, 0, 0, 141, 142, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, - 0, 133, 134, 135, 136, 137, 138, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 155, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 0, 0, 0, 0, 0, 0, 0, + 123, 124, 125, 126, 127, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 0, 0, + 0, 151, 152, 160, 0, 0, 0, 137, 138, 139, + 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, + 0, 0, 154, 151, 152, 155, 156, 0, 0, 137, + 138, 139, 140, 141, 142, 0, 160, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, + 0, 0, 0, 0, 349, 0, 0, 155, 156, 0, + 0, 0, 0, 0, 0, 0, 151, 152, 0, 0, + 0, 0, 137, 138, 139, 140, 141, 142, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 155, 156, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 0, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 285, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 132, 0, 0, 0, 0, - 133, 134, 135, 136, 137, 138, 0, 0, 0, 0, - 0, 0, 1, 2, 3, 0, 4, 139, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 141, 142, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, - 0, 0, 16, 0, 17, 0, 18, 0, 0, 19, - 20, 0, 0, 0, 21, 22, 0, 0, 0, 0, - 23, 0, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 0, 0, 37, 38, 0, - 39, 0, 40, 41, 42, 43, 44, 45, 46, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 50, 51, 52, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 2, 3, 0, 4, - 53, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 16, 0, 17, 0, 18, - 0, 0, 19, 20, 0, 0, 0, 21, 22, 0, - 0, 0, 0, 23, 0, 24, 25, 26, 27, 28, + 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 288, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 135, 136, 0, 0, + 0, 0, 137, 138, 139, 140, 141, 142, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 4, 143, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 145, 146, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 16, 0, 17, 0, 18, 0, + 0, 19, 20, 0, 0, 21, 22, 0, 0, 0, + 0, 23, 0, 24, 25, 26, 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 0, 37, 38, 0, 39, 0, 40, 41, 42, 43, 44, 45, 46, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, 52, - 0, 0, 0, 0, 244, 245, 246, 0, 247, 0, - 248, 249, 250, 53, 251, 252, 253, 254, 255, 256, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, + 3, 0, 4, 53, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 15, 0, 0, 16, 0, + 17, 0, 18, 0, 0, 19, 20, 0, 0, 21, + 22, 0, 0, 0, 0, 23, 0, 24, 25, 26, + 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 0, 0, 37, 38, 0, 39, 0, 40, + 41, 42, 43, 44, 45, 46, 0, 0, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 50, 51, 52, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 0, 251, 252, 253, 53, 254, 255, + 256, 257, 258, 259, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 260, 0, 0, 261, 0, + 0, 0, 0, 0, 0, 262, 263, 0, 0, 264, + 265, 0, 0, 0, 0, 0, 266, 0, 267, 268, + 269, 0, 0, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 0, 0, 279, 280, 0, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 257, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 259, 260, 0, 0, 0, 261, 262, 0, 0, - 0, 0, 0, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 166, 0, 276, - 277, 0, 278, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 280, 281, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 180, 181, - 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, - 0, 0, 0, 183, 0, 0, 184 + 282, 283, 284, 285, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 286 }; static const short yycheck[] = { - 7, 8, 78, 78, 29, 78, 92, 93, 15, 106, - 111, 106, 106, 106, 78, 139, 137, 141, 142, 137, - 44, 137, 60, 106, 6, 106, 172, 173, 174, 175, - 68, 64, 65, 6, 98, 106, 137, 137, 184, 106, - 137, 14, 137, 137, 137, 52, 125, 126, 62, 74, - 196, 137, 137, 132, 133, 134, 69, 70, 78, 138, - 137, 137, 137, 106, 137, 47, 106, 92, 93, 125, - 126, 137, 128, 129, 130, 131, 132, 133, 134, 69, - 70, 137, 138, 69, 70, 137, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 137, 137, 69, 70, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 125, 126, 137, 152, 107, 154, 155, 132, - 133, 134, 78, 160, 107, 78, 137, 139, 137, 141, - 142, 78, 73, 74, 75, 76, 139, 106, 141, 142, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 137, - 187, 112, 113, 114, 115, 116, 117, 106, 106, 106, - 107, 78, 199, 106, 137, 112, 113, 114, 115, 116, - 117, 137, 137, 106, 137, 139, 106, 137, 125, 126, - 137, 128, 129, 130, 131, 132, 133, 134, 139, 106, - 107, 138, 137, 140, 141, 112, 113, 114, 115, 116, - 117, 125, 126, 137, 128, 129, 130, 131, 132, 133, - 134, 137, 129, 106, 138, 132, 137, 137, 142, 137, - 137, 137, 137, 140, 141, 137, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 125, 126, 137, 128, 129, 130, 131, 132, - 133, 134, 137, 137, 106, 137, 303, 137, 137, 142, - 137, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 57, 318, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 137, 78, 137, 137, 137, 137, 137, 137, 345, 125, - 126, 137, 128, 129, 130, 131, 132, 133, 134, 356, - 137, 137, 138, 137, 137, 137, 137, 106, 106, 106, - 107, 137, 78, 137, 137, 112, 113, 114, 115, 116, - 117, 125, 126, 137, 128, 129, 130, 131, 132, 133, - 134, 137, 129, 137, 138, 137, 137, 137, 106, 54, - 137, 137, 137, 140, 141, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 138, 137, 137, 137, 137, 137, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 125, 126, 137, 128, 129, 130, 131, - 132, 133, 134, 137, 137, 137, 138, 137, 125, 126, - 78, 128, 129, 130, 131, 132, 133, 134, 137, 137, - 137, 138, 58, 125, 126, 137, 128, 129, 130, 131, - 132, 133, 134, 137, 137, 137, 138, 137, 106, 107, - 137, 137, 78, 137, 112, 113, 114, 115, 116, 117, - 125, 126, 137, 128, 129, 130, 131, 132, 133, 134, - 137, 129, 137, 138, 137, 137, 137, 137, 137, 137, - 106, 107, 140, 141, 137, 137, 112, 113, 114, 115, - 116, 117, 125, 126, 137, 128, 129, 130, 131, 132, - 133, 134, 137, 129, 137, 138, 137, 137, 137, 137, - 137, -1, 137, 137, 140, 141, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 137, 137, 137, 137, 106, 138, 3, 4, + 7, 8, 77, 77, 77, 29, 93, 94, 15, 107, + 107, 107, 107, 112, 173, 174, 175, 176, 64, 65, + 138, 44, 4, 138, 6, 77, 185, 143, 138, 145, + 146, 68, 69, 6, 72, 73, 74, 75, 197, 138, + 138, 138, 138, 138, 107, 52, 138, 99, 107, 73, + 107, 138, 113, 114, 115, 116, 117, 118, 138, 126, + 127, 62, 107, 138, 138, 138, 133, 134, 135, 93, + 94, 77, 126, 127, 47, 129, 130, 131, 132, 133, + 134, 135, 68, 69, 138, 139, 107, 138, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 125, 126, 137, 128, 129, 130, - 131, 132, 133, 134, 137, 137, 106, 138, 137, 137, - 137, 78, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 137, 106, - 107, 137, 137, 137, 137, 112, 113, 114, 115, 116, - 117, 125, 126, 137, 128, 129, 130, 131, 132, 133, - 134, 137, 129, 106, 138, 137, 106, 137, 137, 137, - 137, 106, 107, 140, 141, 137, 137, 112, 113, 114, - 115, 116, 117, 137, 106, 137, -1, 78, -1, -1, - -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, 137, -1, -1, 140, 141, -1, -1, -1, - -1, -1, -1, -1, -1, 106, 107, -1, -1, -1, - -1, 112, 113, 114, 115, 116, 117, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 140, - 141, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 3, 4, 5, + 25, 26, 27, 28, 138, 138, 68, 69, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 68, 69, 153, 138, 155, 156, + 107, 138, 108, 138, 161, 138, 77, 108, 126, 127, + 77, 143, 77, 145, 146, 133, 134, 135, 138, 138, + 143, 139, 145, 146, 107, 138, 107, 107, 107, 138, + 138, 188, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 138, 107, 108, 140, 202, 140, 138, 113, 114, + 115, 116, 117, 118, 138, 140, 138, 107, 107, 107, + 138, 126, 127, 138, 129, 130, 131, 132, 133, 134, + 135, 77, 107, 108, 139, 138, 141, 142, 113, 114, + 115, 116, 117, 118, 126, 127, 138, 129, 130, 131, + 132, 133, 134, 135, 138, 130, 107, 139, 138, 138, + 138, 143, 138, 138, 138, 138, 141, 142, 126, 127, + 138, 129, 130, 131, 132, 133, 134, 135, 138, 138, + 54, 138, 138, 126, 127, 143, 129, 130, 131, 132, + 133, 134, 135, 138, 138, 138, 139, 294, 138, 126, + 127, 138, 129, 130, 131, 132, 133, 134, 135, 138, + 307, 138, 139, 138, 138, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 138, 322, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 38, 138, 138, 138, 138, 138, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 138, 107, 361, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 107, 126, 127, 139, 129, 130, 131, 132, 133, + 134, 135, 138, 97, 138, 139, 126, 127, 138, 129, + 130, 131, 132, 133, 134, 135, 110, 111, 138, 139, + 58, 138, 107, 138, 138, 119, 138, 138, 138, 138, + 138, 125, 138, 138, 128, 138, 138, 138, 138, 77, + 138, 138, 138, 138, 82, 83, 126, 127, 138, 129, + 130, 131, 132, 133, 134, 135, 138, 138, 138, 139, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 107, + 108, 138, 138, 138, 138, 113, 114, 115, 116, 117, + 118, 126, 127, 138, 129, 130, 131, 132, 133, 134, + 135, 138, 130, 138, 139, 138, 138, 138, 138, 138, + -1, 138, 138, 141, 142, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 138, 138, 138, 138, 138, 138, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, + 26, 27, 28, 126, 127, 139, 129, 130, 131, 132, + 133, 134, 135, 138, 138, 138, 139, 126, 127, 77, + 129, 130, 131, 132, 133, 134, 135, 138, 138, 107, + 139, 57, 126, 127, 138, 129, 130, 131, 132, 133, + 134, 135, 107, 138, 107, 139, 138, 138, 138, 107, + 108, 77, 138, 138, 138, 113, 114, 115, 116, 117, + 118, 138, 107, 107, 138, 138, 138, 138, 138, 138, + 138, 107, 130, -1, 138, 133, -1, -1, -1, -1, + 138, 107, 108, 141, 142, -1, -1, 113, 114, 115, + 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, + -1, -1, 138, -1, -1, 141, 142, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 77, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, + -1, 107, 108, 77, -1, -1, -1, 113, 114, 115, + 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, + -1, -1, 138, 107, 108, 141, 142, -1, -1, 113, + 114, 115, 116, 117, 118, -1, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 130, -1, -1, -1, + -1, -1, -1, -1, 138, -1, -1, 141, 142, -1, + -1, -1, -1, -1, -1, -1, 107, 108, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 142, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, + -1, -1, -1, -1, -1, 0, 70, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 107, 108, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, -1, -1, + -1, -1, -1, -1, 29, 30, 31, -1, 33, 130, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 141, 142, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, -1, -1, 59, -1, 61, -1, 63, -1, + -1, 66, 67, -1, -1, 70, 71, -1, -1, -1, + -1, 76, -1, 78, 79, 80, 81, -1, -1, 84, + 85, 86, 87, 88, 89, 90, 91, 92, -1, -1, + 95, 96, -1, 98, -1, 100, 101, 102, 103, 104, + 105, 106, -1, -1, 109, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 120, 121, 122, 123, 124, + -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, + 31, -1, 33, 138, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, -1, -1, 59, -1, + 61, -1, 63, -1, -1, 66, 67, -1, -1, 70, + 71, -1, -1, -1, -1, 76, -1, 78, 79, 80, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, -1, -1, 95, 96, -1, 98, -1, 100, + 101, 102, 103, 104, 105, 106, -1, -1, 109, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, + 121, 122, 123, 124, -1, -1, -1, -1, 29, 30, + 31, -1, 33, -1, 35, 36, 37, 138, 39, 40, + 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, -1, -1, 59, -1, + -1, -1, -1, -1, -1, 66, 67, -1, -1, 70, + 71, -1, -1, -1, -1, -1, 77, -1, 79, 80, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, -1, -1, 95, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 106, 107, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, - -1, -1, 29, 30, 31, -1, 33, 129, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 140, 141, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, - -1, -1, 59, -1, 61, -1, 63, -1, -1, 66, - 67, -1, -1, -1, 71, 72, -1, -1, -1, -1, - 77, -1, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, -1, 94, 95, -1, - 97, -1, 99, 100, 101, 102, 103, 104, 105, -1, - -1, 108, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 119, 120, 121, 122, 123, -1, -1, -1, - -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, - 137, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 56, -1, -1, 59, -1, 61, -1, 63, - -1, -1, 66, 67, -1, -1, -1, 71, 72, -1, - -1, -1, -1, 77, -1, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, -1, - 94, 95, -1, 97, -1, 99, 100, 101, 102, 103, - 104, 105, -1, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 119, 120, 121, 122, 123, - -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, - 35, 36, 37, 137, 39, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 56, -1, -1, 59, -1, -1, -1, -1, -1, - -1, 66, 67, -1, -1, -1, 71, 72, -1, -1, - -1, -1, -1, 78, -1, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 38, -1, 94, - 95, -1, 97, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, 121, 122, 123, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 96, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 109, 110, - -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, - -1, -1, -1, 124, -1, -1, 127 + 121, 122, 123, 124, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 138 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1249,53 +1267,54 @@ static const unsigned char yystos[] = { 0, 29, 30, 31, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 56, 59, 61, 63, 66, - 67, 71, 72, 77, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 94, 95, 97, - 99, 100, 101, 102, 103, 104, 105, 108, 119, 120, - 121, 122, 123, 137, 144, 145, 146, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 196, 137, 106, - 137, 137, 60, 68, 137, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 106, 107, 112, 113, 114, 115, 116, 117, 129, - 137, 140, 141, 147, 190, 191, 192, 193, 194, 78, - 106, 107, 129, 137, 140, 141, 147, 193, 195, 78, - 132, 137, 195, 106, 106, 106, 38, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 96, - 109, 110, 118, 124, 127, 137, 193, 57, 137, 195, - 106, 62, 64, 65, 137, 137, 58, 169, 170, 195, - 73, 74, 75, 76, 78, 106, 106, 137, 137, 137, - 107, 107, 78, 78, 137, 106, 137, 29, 74, 92, - 93, 137, 92, 93, 137, 78, 137, 78, 98, 78, - 137, 137, 106, 137, 69, 70, 69, 70, 106, 106, - 147, 106, 137, 137, 29, 30, 31, 33, 35, 36, - 37, 39, 40, 41, 42, 43, 44, 56, 59, 66, - 67, 71, 72, 78, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 94, 95, 97, 120, - 121, 122, 123, 137, 195, 0, 145, 137, 139, 69, - 70, 194, 194, 194, 125, 126, 128, 129, 130, 131, - 132, 133, 134, 138, 137, 195, 195, 195, 125, 126, - 128, 129, 130, 131, 132, 133, 134, 137, 138, 195, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 169, 169, 169, 169, 137, 137, 137, 78, 137, 111, - 137, 137, 137, 137, 169, 139, 137, 195, 137, 106, - 137, 106, 137, 137, 169, 137, 129, 195, 137, 137, - 137, 137, 137, 137, 106, 137, 137, 137, 137, 137, - 137, 137, 106, 106, 106, 106, 137, 106, 137, 78, - 137, 137, 137, 137, 137, 137, 137, 137, 138, 69, - 70, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 106, 137, 137, 142, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 195, 142, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 137, 137, 137, 137, - 137, 137, 106, 137, 195, 137, 106, 137, 137, 195, - 137, 137, 137, 137, 137, 137, 106, 106, 137, 137, - 137, 137, 44, 137, 137, 137, 137, 137, 106, 137 + 67, 70, 71, 76, 78, 79, 80, 81, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 95, 96, 98, + 100, 101, 102, 103, 104, 105, 106, 109, 120, 121, + 122, 123, 124, 138, 145, 146, 147, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 138, 107, + 138, 138, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 60, 70, + 192, 193, 194, 195, 138, 107, 108, 113, 114, 115, + 116, 117, 118, 130, 138, 141, 142, 148, 195, 196, + 77, 107, 108, 130, 138, 141, 142, 148, 195, 197, + 77, 133, 138, 197, 107, 107, 107, 38, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 97, 110, 111, 119, 125, 128, 138, 138, 57, 138, + 197, 107, 62, 64, 65, 138, 138, 58, 82, 83, + 170, 171, 197, 72, 73, 74, 75, 77, 107, 107, + 138, 138, 138, 108, 108, 77, 77, 138, 107, 138, + 29, 73, 93, 94, 138, 93, 94, 138, 77, 138, + 77, 99, 77, 138, 138, 107, 138, 68, 69, 68, + 69, 107, 107, 148, 107, 138, 138, 29, 30, 31, + 33, 35, 36, 37, 39, 40, 41, 42, 43, 44, + 56, 59, 66, 67, 70, 71, 77, 79, 80, 81, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, + 96, 98, 121, 122, 123, 124, 138, 197, 0, 146, + 138, 140, 68, 69, 140, 196, 196, 196, 126, 127, + 129, 130, 131, 132, 133, 134, 135, 139, 138, 197, + 197, 197, 126, 127, 129, 130, 131, 132, 133, 134, + 135, 138, 139, 197, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 170, 170, 170, 170, 138, 138, + 138, 77, 138, 112, 138, 138, 138, 138, 170, 138, + 197, 138, 107, 138, 107, 138, 138, 170, 138, 140, + 138, 130, 197, 138, 138, 138, 138, 138, 138, 107, + 138, 138, 138, 138, 138, 138, 138, 107, 107, 107, + 107, 138, 107, 138, 77, 138, 138, 138, 138, 138, + 138, 138, 138, 139, 68, 69, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 107, 138, 138, 197, + 143, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 143, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 138, 138, 138, 138, 138, 138, 107, 138, + 138, 107, 138, 138, 107, 197, 138, 138, 138, 138, + 138, 138, 107, 107, 138, 138, 138, 138, 138, 44, + 138, 138, 138, 138, 138, 107, 138 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -1906,13 +1925,13 @@ yyreduce: switch (yyn) { case 47: -#line 221 "parser.y" +#line 222 "parser.y" { } break; case 48: -#line 227 "parser.y" +#line 228 "parser.y" { bx_dbg_diff_memory(); free(yyvsp[-1].sval); @@ -1920,7 +1939,7 @@ yyreduce: break; case 49: -#line 232 "parser.y" +#line 233 "parser.y" { bx_dbg_sync_memory(1); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -1928,7 +1947,7 @@ yyreduce: break; case 50: -#line 237 "parser.y" +#line 238 "parser.y" { bx_dbg_sync_memory(0); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -1936,7 +1955,7 @@ yyreduce: break; case 51: -#line 242 "parser.y" +#line 243 "parser.y" { bx_dbg_sync_cpu(1); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -1944,7 +1963,7 @@ yyreduce: break; case 52: -#line 247 "parser.y" +#line 248 "parser.y" { bx_dbg_sync_cpu(0); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -1952,7 +1971,7 @@ yyreduce: break; case 53: -#line 252 "parser.y" +#line 253 "parser.y" { free(yyvsp[-2].sval); bx_dbg_fast_forward(yyvsp[-1].uval); @@ -1960,13 +1979,13 @@ yyreduce: break; case 54: -#line 257 "parser.y" +#line 258 "parser.y" { } break; case 55: -#line 260 "parser.y" +#line 261 "parser.y" { free(yyvsp[-4].sval); bx_dbg_info_address(yyvsp[-3].uval, yyvsp[-1].uval); @@ -1974,49 +1993,49 @@ yyreduce: break; case 56: -#line 265 "parser.y" +#line 266 "parser.y" { } break; case 57: -#line 268 "parser.y" +#line 269 "parser.y" { } break; case 58: -#line 273 "parser.y" +#line 274 "parser.y" { yyval.uval = 1; } break; case 59: -#line 274 "parser.y" +#line 275 "parser.y" { yyval.uval = 0; } break; case 60: -#line 275 "parser.y" +#line 276 "parser.y" { yyval.uval = 2; } break; case 61: -#line 276 "parser.y" +#line 277 "parser.y" { yyval.uval = 3; } break; case 62: -#line 277 "parser.y" +#line 278 "parser.y" { yyval.uval = 4; } break; case 63: -#line 278 "parser.y" +#line 279 "parser.y" { yyval.uval = 5; } break; case 64: -#line 283 "parser.y" +#line 284 "parser.y" { bx_dbg_timebp_command(0, yyvsp[-1].ulval); free(yyvsp[-2].sval); @@ -2024,7 +2043,7 @@ yyreduce: break; case 65: -#line 288 "parser.y" +#line 289 "parser.y" { bx_dbg_timebp_command(1, yyvsp[-1].ulval); free(yyvsp[-2].sval); @@ -2032,7 +2051,7 @@ yyreduce: break; case 66: -#line 296 "parser.y" +#line 297 "parser.y" { bx_dbg_record_command(yyvsp[-1].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -2040,7 +2059,7 @@ yyreduce: break; case 67: -#line 304 "parser.y" +#line 305 "parser.y" { bx_dbg_playback_command(yyvsp[-1].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -2048,7 +2067,7 @@ yyreduce: break; case 68: -#line 312 "parser.y" +#line 313 "parser.y" { bx_dbg_modebp_command(); free(yyvsp[-1].sval); @@ -2056,7 +2075,7 @@ yyreduce: break; case 69: -#line 320 "parser.y" +#line 321 "parser.y" { bx_dbg_show_command(yyvsp[-1].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -2064,7 +2083,7 @@ yyreduce: break; case 70: -#line 325 "parser.y" +#line 326 "parser.y" { bx_dbg_show_command(0); free(yyvsp[-1].sval); @@ -2072,7 +2091,7 @@ yyreduce: break; case 71: -#line 333 "parser.y" +#line 334 "parser.y" { bx_dbg_ptime_command(); free(yyvsp[-1].sval); @@ -2080,7 +2099,7 @@ yyreduce: break; case 72: -#line 341 "parser.y" +#line 342 "parser.y" { bx_dbg_trace_on_command(); free(yyvsp[-1].sval); @@ -2088,7 +2107,7 @@ yyreduce: break; case 73: -#line 349 "parser.y" +#line 350 "parser.y" { bx_dbg_trace_off_command(); free(yyvsp[-1].sval); @@ -2096,7 +2115,7 @@ yyreduce: break; case 74: -#line 357 "parser.y" +#line 358 "parser.y" { bx_dbg_print_stack_command(16); free(yyvsp[-1].sval); @@ -2104,7 +2123,7 @@ yyreduce: break; case 75: -#line 362 "parser.y" +#line 363 "parser.y" { bx_dbg_print_stack_command(yyvsp[-1].uval); free(yyvsp[-2].sval); @@ -2112,7 +2131,7 @@ yyreduce: break; case 76: -#line 370 "parser.y" +#line 371 "parser.y" { watchpoint_continue = 0; fprintf(stderr, "Will stop on watch points\n"); @@ -2121,7 +2140,7 @@ yyreduce: break; case 77: -#line 376 "parser.y" +#line 377 "parser.y" { watchpoint_continue = 1; fprintf(stderr, "Will not stop on watch points (they will still be logged)\n"); @@ -2130,7 +2149,7 @@ yyreduce: break; case 78: -#line 382 "parser.y" +#line 383 "parser.y" { bx_dbg_watch(-1, 0); free(yyvsp[-1].sval); @@ -2138,7 +2157,7 @@ yyreduce: break; case 79: -#line 387 "parser.y" +#line 388 "parser.y" { bx_dbg_unwatch(-1, 0); free(yyvsp[-1].sval); @@ -2146,7 +2165,7 @@ yyreduce: break; case 80: -#line 392 "parser.y" +#line 393 "parser.y" { bx_dbg_watch(1, yyvsp[-1].uval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); @@ -2154,7 +2173,7 @@ yyreduce: break; case 81: -#line 397 "parser.y" +#line 398 "parser.y" { bx_dbg_unwatch(1, yyvsp[-1].uval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); @@ -2162,7 +2181,7 @@ yyreduce: break; case 82: -#line 402 "parser.y" +#line 403 "parser.y" { bx_dbg_watch(0, yyvsp[-1].uval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); @@ -2170,7 +2189,7 @@ yyreduce: break; case 83: -#line 407 "parser.y" +#line 408 "parser.y" { bx_dbg_unwatch(0, yyvsp[-1].uval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); @@ -2178,7 +2197,7 @@ yyreduce: break; case 84: -#line 415 "parser.y" +#line 416 "parser.y" { bx_dbg_symbol_command(yyvsp[-1].sval, 0, 0); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -2186,7 +2205,7 @@ yyreduce: break; case 85: -#line 420 "parser.y" +#line 421 "parser.y" { bx_dbg_symbol_command(yyvsp[-2].sval, 0, yyvsp[-1].uval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); @@ -2194,7 +2213,7 @@ yyreduce: break; case 86: -#line 425 "parser.y" +#line 426 "parser.y" { bx_dbg_symbol_command(yyvsp[-2].sval, 1, yyvsp[-1].uval); free(yyvsp[-4].sval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); @@ -2202,7 +2221,7 @@ yyreduce: break; case 87: -#line 433 "parser.y" +#line 434 "parser.y" { bx_dbg_where_command(); free(yyvsp[-1].sval); @@ -2210,7 +2229,7 @@ yyreduce: break; case 88: -#line 441 "parser.y" +#line 442 "parser.y" { bx_dbg_print_string_command(yyvsp[-1].uval); free(yyvsp[-2].sval); @@ -2218,7 +2237,7 @@ yyreduce: break; case 89: -#line 449 "parser.y" +#line 450 "parser.y" { bx_dbg_continue_command(); free(yyvsp[-1].sval); @@ -2226,7 +2245,7 @@ yyreduce: break; case 90: -#line 457 "parser.y" +#line 458 "parser.y" { bx_dbg_stepN_command(1); free(yyvsp[-1].sval); @@ -2234,7 +2253,7 @@ yyreduce: break; case 91: -#line 462 "parser.y" +#line 463 "parser.y" { bx_dbg_stepN_command(yyvsp[-1].uval); free(yyvsp[-2].sval); @@ -2242,7 +2261,7 @@ yyreduce: break; case 92: -#line 470 "parser.y" +#line 471 "parser.y" { bx_dbg_step_over_command(); free(yyvsp[-1].sval); @@ -2250,23 +2269,23 @@ yyreduce: break; case 93: -#line 478 "parser.y" +#line 479 "parser.y" { - bx_dbg_set_command(yyvsp[-3].sval, yyvsp[-2].sval, yyvsp[-1].sval); + bx_dbg_set_auto_disassemble(1); free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 94: -#line 483 "parser.y" +#line 484 "parser.y" { - bx_dbg_set_command(yyvsp[-3].sval, yyvsp[-2].sval, yyvsp[-1].sval); + bx_dbg_set_auto_disassemble(0); free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 95: -#line 488 "parser.y" +#line 489 "parser.y" { bx_dbg_set_symbol_command(yyvsp[-3].sval, yyvsp[-1].uval); free(yyvsp[-4].sval); free(yyvsp[-3].sval); @@ -2274,58 +2293,57 @@ yyreduce: break; case 96: -#line 496 "parser.y" - { - bx_dbg_vbreakpoint_command(bkAtIP, 0, 0); - free(yyvsp[-1].sval); +#line 494 "parser.y" + { + bx_dbg_set_reg_value(yyvsp[-3].reg, yyvsp[-1].ulval); } break; case 97: #line 501 "parser.y" { - bx_dbg_vbreakpoint_command(bkRegular, yyvsp[-3].ulval, yyvsp[-1].ulval); - free(yyvsp[-4].sval); + bx_dbg_vbreakpoint_command(bkAtIP, 0, 0); + free(yyvsp[-1].sval); } break; case 98: #line 506 "parser.y" { - bx_dbg_lbreakpoint_command(bkAtIP, 0); - free(yyvsp[-1].sval); + bx_dbg_vbreakpoint_command(bkRegular, yyvsp[-3].ulval, yyvsp[-1].ulval); + free(yyvsp[-4].sval); } break; case 99: #line 511 "parser.y" { - bx_dbg_lbreakpoint_command(bkRegular, yyvsp[-1].ulval); - free(yyvsp[-2].sval); + bx_dbg_lbreakpoint_command(bkAtIP, 0); + free(yyvsp[-1].sval); } break; case 100: #line 516 "parser.y" { - bx_dbg_lbreakpoint_symbol_command(yyvsp[-1].sval); - free(yyvsp[-2].sval);free(yyvsp[-1].sval); + bx_dbg_lbreakpoint_command(bkRegular, yyvsp[-1].ulval); + free(yyvsp[-2].sval); } break; case 101: #line 521 "parser.y" { - bx_dbg_pbreakpoint_command(bkAtIP, 0); - free(yyvsp[-1].sval); + bx_dbg_lbreakpoint_symbol_command(yyvsp[-1].sval); + free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; case 102: #line 526 "parser.y" { - bx_dbg_pbreakpoint_command(bkRegular, yyvsp[-1].ulval); - free(yyvsp[-2].sval); + bx_dbg_pbreakpoint_command(bkAtIP, 0); + free(yyvsp[-1].sval); } break; @@ -2333,22 +2351,22 @@ yyreduce: #line 531 "parser.y" { bx_dbg_pbreakpoint_command(bkRegular, yyvsp[-1].ulval); - free(yyvsp[-3].sval); + free(yyvsp[-2].sval); } break; case 104: -#line 539 "parser.y" +#line 536 "parser.y" { - bx_dbg_info_bpoints_command(); - free(yyvsp[-1].sval); + bx_dbg_pbreakpoint_command(bkRegular, yyvsp[-1].ulval); + free(yyvsp[-3].sval); } break; case 105: -#line 547 "parser.y" +#line 544 "parser.y" { - bx_dbg_info_symbols_command(0); + bx_dbg_info_bpoints_command(); free(yyvsp[-1].sval); } break; @@ -2356,23 +2374,23 @@ yyreduce: case 106: #line 552 "parser.y" { - bx_dbg_info_symbols_command(yyvsp[-1].sval); - free(yyvsp[-2].sval);free(yyvsp[-1].sval); + bx_dbg_info_symbols_command(0); + free(yyvsp[-1].sval); } break; case 107: -#line 560 "parser.y" +#line 557 "parser.y" { - bx_dbg_info_bpoints_command(); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); + bx_dbg_info_symbols_command(yyvsp[-1].sval); + free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; case 108: #line 565 "parser.y" { - bx_dbg_dump_cpu_command(); + bx_dbg_info_bpoints_command(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2380,7 +2398,7 @@ yyreduce: case 109: #line 570 "parser.y" { - bx_dbg_info_registers_command(BX_INFO_CPU_REGS); + bx_dbg_dump_cpu_command(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2388,7 +2406,7 @@ yyreduce: case 110: #line 575 "parser.y" { - bx_dbg_info_registers_command(BX_INFO_FPU_REGS); + bx_dbg_info_registers_command(BX_INFO_CPU_REGS); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2396,7 +2414,7 @@ yyreduce: case 111: #line 580 "parser.y" { - bx_dbg_info_registers_command(BX_INFO_SSE_REGS); + bx_dbg_info_registers_command(BX_INFO_FPU_REGS); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2404,47 +2422,47 @@ yyreduce: case 112: #line 585 "parser.y" { - bx_dbg_info_registers_command(BX_INFO_CPU_REGS | BX_INFO_FPU_REGS | BX_INFO_SSE_REGS); + bx_dbg_info_registers_command(BX_INFO_SSE_REGS); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 113: #line 590 "parser.y" + { + bx_dbg_info_registers_command(BX_INFO_CPU_REGS | BX_INFO_FPU_REGS | BX_INFO_SSE_REGS); + free(yyvsp[-2].sval); free(yyvsp[-1].sval); + } + break; + + case 114: +#line 595 "parser.y" { bx_dbg_info_dirty_command(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; - case 114: -#line 595 "parser.y" + case 115: +#line 600 "parser.y" { bx_dbg_info_idt_command(yyvsp[-1].uval_range); free(yyvsp[-3].sval); free(yyvsp[-2].sval); } break; - case 115: -#line 600 "parser.y" + case 116: +#line 605 "parser.y" { bx_dbg_info_ivt_command(yyvsp[-1].uval_range); free(yyvsp[-3].sval); free(yyvsp[-2].sval); } break; - case 116: -#line 605 "parser.y" - { - bx_dbg_info_gdt_command(yyvsp[-1].uval_range); - free(yyvsp[-3].sval); free(yyvsp[-2].sval); - } - break; - case 117: #line 610 "parser.y" { - bx_dbg_info_ldt_command(yyvsp[-1].uval_range); + bx_dbg_info_gdt_command(yyvsp[-1].uval_range); free(yyvsp[-3].sval); free(yyvsp[-2].sval); } break; @@ -2452,7 +2470,7 @@ yyreduce: case 118: #line 615 "parser.y" { - bx_dbg_info_tss_command(yyvsp[-1].uval_range); + bx_dbg_info_ldt_command(yyvsp[-1].uval_range); free(yyvsp[-3].sval); free(yyvsp[-2].sval); } break; @@ -2460,15 +2478,15 @@ yyreduce: case 119: #line 620 "parser.y" { - bx_dbg_info_flags(); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); + bx_dbg_info_tss_command(yyvsp[-1].uval_range); + free(yyvsp[-3].sval); free(yyvsp[-2].sval); } break; case 120: #line 625 "parser.y" { - bx_dbg_info_linux_command(); + bx_dbg_info_flags(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2476,7 +2494,7 @@ yyreduce: case 121: #line 630 "parser.y" { - bx_dbg_info_symbols_command(0); + bx_dbg_info_linux_command(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2484,23 +2502,23 @@ yyreduce: case 122: #line 635 "parser.y" { - bx_dbg_info_symbols_command(yyvsp[-1].sval); - free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); + bx_dbg_info_symbols_command(0); + free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 123: #line 640 "parser.y" { - bx_dbg_info_control_regs_command(); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); + bx_dbg_info_symbols_command(yyvsp[-1].sval); + free(yyvsp[-3].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 124: #line 645 "parser.y" { - bx_dbg_info_ne2k(-1, -1); + bx_dbg_info_control_regs_command(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; @@ -2508,96 +2526,112 @@ yyreduce: case 125: #line 650 "parser.y" { - free(yyvsp[-4].sval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); - bx_dbg_info_ne2k(yyvsp[-1].uval, -1); + bx_dbg_info_ne2k(-1, -1); + free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 126: #line 655 "parser.y" { - free(yyvsp[-6].sval); free(yyvsp[-5].sval); free(yyvsp[-4].sval); free(yyvsp[-2].sval); - bx_dbg_info_ne2k(yyvsp[-3].uval, yyvsp[-1].uval); + free(yyvsp[-4].sval); free(yyvsp[-3].sval); free(yyvsp[-2].sval); + bx_dbg_info_ne2k(yyvsp[-1].uval, -1); } break; case 127: #line 660 "parser.y" { - bx_dbg_info_pic(); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); + free(yyvsp[-6].sval); free(yyvsp[-5].sval); free(yyvsp[-4].sval); free(yyvsp[-2].sval); + bx_dbg_info_ne2k(yyvsp[-3].uval, yyvsp[-1].uval); } break; case 128: #line 665 "parser.y" { - bx_dbg_info_vga(); + bx_dbg_info_pic(); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 129: -#line 676 "parser.y" - { yyval.uval_range = make_num_range (EMPTY_ARG, EMPTY_ARG); } +#line 670 "parser.y" + { + bx_dbg_info_vga(); + free(yyvsp[-2].sval); free(yyvsp[-1].sval); + } break; - case 131: + case 130: #line 681 "parser.y" - { - yyval.uval_range = make_num_range (yyvsp[0].ulval, yyvsp[0].ulval); - } + { yyval.uval_range = make_num_range (EMPTY_ARG, EMPTY_ARG); } break; case 132: #line 686 "parser.y" { - yyval.uval_range = make_num_range (yyvsp[-1].ulval, yyvsp[0].ulval); + yyval.uval_range = make_num_range (yyvsp[0].ulval, yyvsp[0].ulval); } break; case 133: -#line 693 "parser.y" +#line 691 "parser.y" + { + yyval.uval_range = make_num_range (yyvsp[-1].ulval, yyvsp[0].ulval); + } + break; + + case 134: +#line 697 "parser.y" + { + bx_dbg_info_registers_command(BX_INFO_CPU_REGS); + free(yyvsp[-1].sval); + } + break; + + case 135: +#line 705 "parser.y" { bx_dbg_dump_cpu_command(); free(yyvsp[-1].sval); } break; - case 134: -#line 701 "parser.y" + case 136: +#line 713 "parser.y" { bx_dbg_del_breakpoint_command(yyvsp[-1].uval); free(yyvsp[-2].sval); } break; - case 135: -#line 709 "parser.y" + case 137: +#line 721 "parser.y" { bx_dbg_en_dis_breakpoint_command(yyvsp[-1].uval, 1); free(yyvsp[-2].sval); } break; - case 136: -#line 716 "parser.y" + case 138: +#line 728 "parser.y" { bx_dbg_en_dis_breakpoint_command(yyvsp[-1].uval, 0); free(yyvsp[-2].sval); } break; - case 137: -#line 724 "parser.y" + case 139: +#line 736 "parser.y" { bx_dbg_quit_command(); free(yyvsp[-1].sval); } break; - case 138: -#line 733 "parser.y" + case 140: +#line 745 "parser.y" { bx_dbg_examine_command(yyvsp[-3].sval, yyvsp[-2].sval,1, yyvsp[-1].ulval,1, 0); #if BX_NUM_SIMULATORS >= 2 @@ -2607,8 +2641,8 @@ yyreduce: } break; - case 139: -#line 741 "parser.y" + case 141: +#line 753 "parser.y" { bx_dbg_examine_command(yyvsp[-2].sval, yyvsp[-1].sval,1, 0,0, 0); #if BX_NUM_SIMULATORS >= 2 @@ -2618,8 +2652,8 @@ yyreduce: } break; - case 140: -#line 749 "parser.y" + case 142: +#line 761 "parser.y" { //FIXME HanishKVC This method of hunting thro all the // simulators may be better than using 2 calls if @@ -2634,8 +2668,8 @@ yyreduce: } break; - case 141: -#line 762 "parser.y" + case 143: +#line 774 "parser.y" { //FIXME HanishKVC This method of hunting thro all the // simulators may be better than using 2 calls if @@ -2650,40 +2684,24 @@ yyreduce: } break; - case 142: -#line 778 "parser.y" + case 144: +#line 790 "parser.y" { bx_dbg_setpmem_command(yyvsp[-3].uval, yyvsp[-2].uval, yyvsp[-1].uval); free(yyvsp[-4].sval); } break; - case 143: -#line 786 "parser.y" + case 145: +#line 798 "parser.y" { bx_dbg_query_command(yyvsp[-1].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; - case 144: -#line 794 "parser.y" - { - bx_dbg_take_command(yyvsp[-1].sval, 1); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); - } - break; - - case 145: -#line 799 "parser.y" - { - bx_dbg_take_command(yyvsp[-2].sval, yyvsp[-1].uval); - free(yyvsp[-3].sval); free(yyvsp[-2].sval); - } - break; - case 146: -#line 804 "parser.y" +#line 806 "parser.y" { bx_dbg_take_command(yyvsp[-1].sval, 1); free(yyvsp[-2].sval); free(yyvsp[-1].sval); @@ -2691,336 +2709,347 @@ yyreduce: break; case 147: -#line 812 "parser.y" +#line 811 "parser.y" + { + bx_dbg_take_command(yyvsp[-2].sval, yyvsp[-1].uval); + free(yyvsp[-3].sval); free(yyvsp[-2].sval); + } + break; + + case 148: +#line 816 "parser.y" + { + bx_dbg_take_command(yyvsp[-1].sval, 1); + free(yyvsp[-2].sval); free(yyvsp[-1].sval); + } + break; + + case 149: +#line 824 "parser.y" { bx_dbg_set_cpu_command(); free(yyvsp[-1].sval); } break; - case 148: -#line 820 "parser.y" + case 150: +#line 832 "parser.y" { bx_dbg_disassemble_command(NULL, yyvsp[-1].uval_range); free(yyvsp[-2].sval); } break; - case 149: -#line 825 "parser.y" + case 151: +#line 837 "parser.y" { bx_dbg_disassemble_command(yyvsp[-2].sval, yyvsp[-1].uval_range); free(yyvsp[-3].sval); free(yyvsp[-2].sval); } break; - case 150: -#line 833 "parser.y" - { - bx_dbg_instrument_command(yyvsp[-1].sval); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); - } - break; - - case 151: -#line 838 "parser.y" - { - bx_dbg_instrument_command(yyvsp[-1].sval); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); - } - break; - case 152: -#line 843 "parser.y" +#line 842 "parser.y" { - bx_dbg_instrument_command(yyvsp[-1].sval); - free(yyvsp[-2].sval); free(yyvsp[-1].sval); + bx_dbg_disassemble_switch_mode(); + free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; case 153: -#line 848 "parser.y" +#line 847 "parser.y" + { + bx_dbg_set_disassemble_size(yyvsp[-1].uval); + free(yyvsp[-4].sval); free(yyvsp[-3].sval); + } + break; + + case 157: +#line 858 "parser.y" { bx_dbg_instrument_command(yyvsp[-1].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; - case 154: -#line 856 "parser.y" + case 158: +#line 866 "parser.y" { bx_dbg_loader_command(yyvsp[-1].sval); free(yyvsp[-2].sval); free(yyvsp[-1].sval); } break; - case 155: -#line 864 "parser.y" + case 159: +#line 874 "parser.y" { bx_dbg_doit_command(yyvsp[-1].uval); free(yyvsp[-2].sval); } break; - case 156: -#line 872 "parser.y" + case 160: +#line 882 "parser.y" { bx_dbg_crc_command(yyvsp[-2].uval, yyvsp[-1].uval); free(yyvsp[-3].sval); } break; - case 157: -#line 880 "parser.y" + case 161: +#line 890 "parser.y" { bx_dbg_trace_reg_on_command(); free(yyvsp[-1].sval); } break; - case 158: -#line 888 "parser.y" + case 162: +#line 898 "parser.y" { bx_dbg_trace_reg_off_command(); free(yyvsp[-1].sval); } break; - case 159: -#line 896 "parser.y" + case 163: +#line 906 "parser.y" { dbg_printf("q|quit|exit - quit debugger and emulator execution\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 160: -#line 901 "parser.y" + case 164: +#line 911 "parser.y" { dbg_printf("c|cont|continue - continue executing\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 161: -#line 906 "parser.y" + case 165: +#line 916 "parser.y" { - dbg_printf("s|step|stepi [count] - execute #count instructions (default is 1 instruction)\n"); + dbg_printf("s|step|stepi [count] - execute #count instructions (default is one instruction)\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 162: -#line 911 "parser.y" + case 166: +#line 921 "parser.y" { dbg_printf("n|next|p - execute instruction stepping over subroutines\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 163: -#line 916 "parser.y" + case 167: +#line 926 "parser.y" { dbg_printf("vb|vbreak - set a virtual address instruction breakpoint\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 164: -#line 921 "parser.y" + case 168: +#line 931 "parser.y" { dbg_printf("p|pb|break|pbreak - set a physical address instruction breakpoint\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 165: -#line 926 "parser.y" + case 169: +#line 936 "parser.y" { dbg_printf("d|del|delete - delete a breakpoint\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 166: -#line 931 "parser.y" + case 170: +#line 941 "parser.y" { dbg_printf("bpe - enable a breakpoint\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 167: -#line 936 "parser.y" + case 171: +#line 946 "parser.y" { dbg_printf("bpd - disable a breakpoint\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 168: -#line 941 "parser.y" + case 172: +#line 951 "parser.y" { dbg_printf("blist - list all breakpoints (same as 'info break')\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 169: -#line 946 "parser.y" + case 173: +#line 956 "parser.y" { dbg_printf("modebp - toggles mode switch breakpoint\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 170: -#line 951 "parser.y" + case 174: +#line 961 "parser.y" { dbg_printf("crc - show CRC32 for physical memory range addr1..addr2\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 171: -#line 956 "parser.y" + case 175: +#line 966 "parser.y" { dbg_printf("trace-on - disassemble every executed instruction\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 172: -#line 961 "parser.y" + case 176: +#line 971 "parser.y" { dbg_printf("trace-off - disable instruction tracing\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 173: -#line 966 "parser.y" + case 177: +#line 976 "parser.y" { dbg_printf("trace-reg-on - print all registers every executed instruction\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 174: -#line 971 "parser.y" + case 178: +#line 981 "parser.y" { dbg_printf("trace-reg-off - disable registers state tracing\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 175: -#line 976 "parser.y" + case 179: +#line 986 "parser.y" { dbg_printf("dump_cpu - dump complete cpu state\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 176: -#line 981 "parser.y" + case 180: +#line 991 "parser.y" { dbg_printf("set_cpu - set complete cpu state\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 177: -#line 986 "parser.y" + case 181: +#line 996 "parser.y" { dbg_printf("ptime - print current time (number of ticks since start of simulation)\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 178: -#line 991 "parser.y" + case 182: +#line 1001 "parser.y" { dbg_printf("sb - insert a time breakpoint delta instructions into the future\n"); free(yyvsp[-2].sval);free(yyvsp[-1].sval); } break; - case 179: -#line 996 "parser.y" + case 183: +#line 1006 "parser.y" { dbg_printf("sba