From 98b51805d5ea4b5aa28d56a8199fdb1a062b2740 Mon Sep 17 00:00:00 2001 From: Stanislav Shwartsman Date: Thu, 29 Oct 2009 15:49:50 +0000 Subject: [PATCH] updates for Bochs debugger --- bochs/CHANGES | 4 +- bochs/bx_debug/dbg_main.cc | 64 +- bochs/bx_debug/debug.h | 7 +- bochs/bx_debug/lexer.c | 1103 +++++++-------- bochs/bx_debug/lexer.l | 4 +- bochs/bx_debug/linux.cc | 10 +- bochs/bx_debug/parser.c | 2327 ++++++++++++++++--------------- bochs/bx_debug/parser.h | 248 ++-- bochs/bx_debug/parser.y | 21 +- bochs/cpu/cpu.h | 3 +- bochs/cpu/debugstuff.cc | 91 +- bochs/doc/docbook/user/user.dbk | 10 +- bochs/gui/enh_dbg.cc | 12 +- 13 files changed, 1953 insertions(+), 1951 deletions(-) diff --git a/bochs/CHANGES b/bochs/CHANGES index 19a65339b..a932d7064 100644 --- a/bochs/CHANGES +++ b/bochs/CHANGES @@ -3,7 +3,8 @@ Changes for next bugfix+ release (coming soon): - CPU and internal debugger - VMX: Implemented TPR shadow VMEXIT - Bugfixes for CPU emulation correctness (mostly for VMX support). - - Updates for Bochs internal debugger. + - Bugfixes and updates for Bochs internal debugger + - On SMP system stepN command now affects only current processor - Memory - Bugfixes for > 32-bit physical address space. @@ -33,6 +34,7 @@ Changes for next bugfix+ release (coming soon): [2812948] PIT bug by Derek - these S.F. bugs were closed/fixed + [2872244] BIOS writes not allowed value to MTRR MSR causing #GP [2885383] SDL GUI memory leak [2872290] compilation in AIX5.3 ML10 failes [2867904] crash with cirrus bx_vga_c::mem_write diff --git a/bochs/bx_debug/dbg_main.cc b/bochs/bx_debug/dbg_main.cc index fcd6d1761..4e84caa8e 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.214 2009-10-15 21:24:22 sshwarts Exp $ +// $Id: dbg_main.cc,v 1.215 2009-10-29 15:49:50 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -935,7 +935,7 @@ void bx_dbg_info_registers_command(int which_regs_mask) dbg_printf("rip: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); #endif reg = BX_CPU(dbg_cpu)->read_eflags(); - dbg_printf("eflags 0x%08x\n", (unsigned) reg); + dbg_printf("eflags 0x%08x: ", (unsigned) reg); bx_dbg_info_flags(); } @@ -1715,8 +1715,13 @@ one_more: goto one_more; } -void bx_dbg_stepN_command(Bit32u count) +void bx_dbg_stepN_command(int cpu, Bit32u count) { + if (cpu != -1 && cpu >= BX_SMP_PROCESSORS) { + dbg_printf("Error: stepN: unknown cpu=%d\n", cpu); + return; + } + if (count == 0) { dbg_printf("Error: stepN: count=0\n"); return; @@ -1732,23 +1737,23 @@ void bx_dbg_stepN_command(Bit32u count) BX_CPU(n)->guard_found.time_tick = bx_pc_system.time_ticks(); } - if (BX_SMP_PROCESSORS == 1) { + if (cpu >= 0 || BX_SUPPORT_SMP==0) { bx_guard.interrupt_requested = 0; - BX_CPU(0)->guard_found.guard_found = 0; - BX_CPU(0)->cpu_loop(count); + BX_CPU(cpu)->guard_found.guard_found = 0; + BX_CPU(cpu)->cpu_loop(count); } #if BX_SUPPORT_SMP else { int stop = 0; // for now, step each CPU one instruction at a time for (unsigned cycle=0; !stop && cycle < count; cycle++) { - for (unsigned cpu=0; cpu < BX_SMP_PROCESSORS; cpu++) { + for (unsigned ncpu=0; ncpu < BX_SMP_PROCESSORS; ncpu++) { bx_guard.interrupt_requested = 0; - BX_CPU(cpu)->guard_found.guard_found = 0; - BX_CPU(cpu)->cpu_loop(1); + BX_CPU(ncpu)->guard_found.guard_found = 0; + BX_CPU(ncpu)->cpu_loop(1); // set stop flag if a guard found other than icount or halted - unsigned found = BX_CPU(cpu)->guard_found.guard_found; - stop_reason_t reason = (stop_reason_t) BX_CPU(cpu)->stop_reason; + unsigned found = BX_CPU(ncpu)->guard_found.guard_found; + stop_reason_t reason = (stop_reason_t) BX_CPU(ncpu)->stop_reason; if (found || (reason != STOP_NO_REASON && reason != STOP_CPU_HALTED)) stop = 1; } @@ -2580,24 +2585,6 @@ void bx_dbg_set_symbol_command(const char *symbol, Bit32u val) else if (!strcmp(symbol, "eflags")) { is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_EFLAGS, val); } - else if (!strcmp(symbol, "cs")) { - is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_CS, val); - } - else if (!strcmp(symbol, "ss")) { - is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_SS, val); - } - else if (!strcmp(symbol, "ds")) { - is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_DS, val); - } - else if (!strcmp(symbol, "es")) { - is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_ES, val); - } - else if (!strcmp(symbol, "fs")) { - is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_FS, val); - } - else if (!strcmp(symbol, "gs")) { - is_OK = BX_CPU(dbg_cpu)->dbg_set_reg(BX_DBG_REG_GS, val); - } else if (!strcmp(symbol, "cpu")) { if (val >= BX_SMP_PROCESSORS) { dbg_printf("invalid cpu id number %d\n", val); @@ -3195,15 +3182,18 @@ void bx_dbg_info_tss_command(void) bx_dbg_sreg_t tr; BX_CPU(dbg_cpu)->dbg_get_tr(&tr); - Bit32u laddr = (tr.des_l>>16) | - ((tr.des_h<<16)&0x00ff0000) | (tr.des_h & 0xff000000); + bx_address base = (tr.des_l>>16) | + ((tr.des_h<<16)&0x00ff0000) | (tr.des_h & 0xff000000); +#if BX_SUPPORT_X86_64 + base |= (Bit64u)(tr.dword3) << 32; +#endif Bit32u len = (tr.des_l & 0xffff) + 1; - dbg_printf("tr:s=0x%x, base=0x%x, valid=%u\n", - (unsigned) tr.sel, laddr, (unsigned) tr.valid); + dbg_printf("tr:s=0x%x, base=0x" FMT_ADDRX ", valid=%u\n", + (unsigned) tr.sel, base, (unsigned) tr.valid); bx_phy_address paddr = 0; - if (BX_CPU(dbg_cpu)->dbg_xlate_linear2phy(laddr, &paddr)) { + if (BX_CPU(dbg_cpu)->dbg_xlate_linear2phy(base, &paddr)) { bx_dbg_print_tss(BX_MEM(0)->get_vector(paddr), len); } else { @@ -3439,7 +3429,7 @@ void bx_dbg_print_help(void) dbg_printf(" help, q|quit|exit, set, instrument, show, trace, trace-reg,\n"); dbg_printf(" trace-mem, record, playback, ldsym, slist\n"); dbg_printf("-*- Execution control -*-\n"); - dbg_printf(" c|cont|continue, s|step|stepi, p|n|next, modebp\n"); + dbg_printf(" c|cont|continue, s|step, p|n|next, modebp\n"); dbg_printf("-*- Breakpoint management -*-\n"); dbg_printf(" vb|vbreak, lb|lbreak, pb|pbreak|b|break, sb, sba, blist,\n"); dbg_printf(" bpe, bpd, d|del|delete\n"); @@ -3734,7 +3724,7 @@ void bx_dbg_step_over_command() case 0xEA: // jmp short case 0xEB: - bx_dbg_stepN_command(1); + bx_dbg_stepN_command(dbg_cpu, 1); return; // jmp absolute indirect case 0xFF: @@ -3743,7 +3733,7 @@ void bx_dbg_step_over_command() case 4: // far case 5: - bx_dbg_stepN_command(1); + bx_dbg_stepN_command(dbg_cpu, 1); return; } } diff --git a/bochs/bx_debug/debug.h b/bochs/bx_debug/debug.h index 8e2b6abed..611394e10 100644 --- a/bochs/bx_debug/debug.h +++ b/bochs/bx_debug/debug.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: debug.h,v 1.57 2009-10-15 21:15:18 sshwarts Exp $ +// $Id: debug.h,v 1.58 2009-10-29 15:49:50 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -245,7 +245,7 @@ void bx_dbg_watch(int type, bx_phy_address address); void bx_dbg_unwatch_all(void); void bx_dbg_unwatch(bx_phy_address handle); void bx_dbg_continue_command(void); -void bx_dbg_stepN_command(Bit32u count); +void bx_dbg_stepN_command(int cpu, Bit32u count); void bx_dbg_set_auto_disassemble(bx_bool enable); void bx_dbg_disassemble_switch_mode(void); void bx_dbg_set_disassemble_size(unsigned size); @@ -479,6 +479,9 @@ void bx_dbg_interpret_line(char *cmd); typedef struct { Bit16u sel; Bit32u des_l, des_h, valid; +#if BX_SUPPORT_X86_64 + Bit32u dword3; +#endif } bx_dbg_sreg_t; typedef struct { diff --git a/bochs/bx_debug/lexer.c b/bochs/bx_debug/lexer.c index 9dcc20895..956b53129 100644 --- a/bochs/bx_debug/lexer.c +++ b/bochs/bx_debug/lexer.c @@ -392,52 +392,52 @@ static yyconst flex_int16_t yy_accept[448] = 0, 0, 0, 0, 0, 0, 203, 200, 1, 198, 186, 200, 199, 200, 183, 200, 187, 188, 179, 177, 178, 180, 193, 193, 197, 200, 200, 172, 196, 185, - 194, 19, 6, 44, 194, 194, 194, 171, 194, 194, - 194, 194, 13, 194, 14, 49, 27, 11, 194, 60, - 194, 81, 50, 184, 201, 1, 201, 197, 201, 1, + 194, 18, 6, 43, 194, 194, 194, 171, 194, 194, + 194, 194, 12, 194, 13, 48, 26, 10, 194, 59, + 194, 80, 49, 184, 201, 1, 201, 197, 201, 1, 0, 190, 0, 199, 195, 0, 189, 0, 194, 192, 193, 0, 182, 181, 196, 194, 109, 93, 113, 110, - 94, 119, 194, 114, 194, 111, 95, 194, 194, 22, - 164, 115, 194, 112, 118, 96, 194, 194, 24, 167, + 94, 119, 194, 114, 194, 111, 95, 194, 194, 21, + 164, 115, 194, 112, 118, 96, 194, 194, 23, 167, 116, 194, 194, 194, 194, 194, 194, 165, 194, 194, - 30, 168, 194, 194, 169, 194, 194, 194, 161, 194, - 194, 17, 194, 194, 194, 194, 194, 194, 3, 194, - 19, 194, 194, 194, 194, 194, 194, 194, 196, 153, - 154, 194, 194, 194, 194, 194, 194, 194, 72, 194, + 29, 168, 194, 194, 169, 194, 194, 194, 161, 194, + 194, 16, 194, 194, 194, 194, 194, 194, 3, 194, + 18, 194, 194, 194, 194, 194, 194, 194, 196, 153, + 154, 194, 194, 194, 194, 194, 194, 194, 71, 194, 194, 117, 194, 120, 194, 166, 194, 194, 194, 194, - 194, 194, 194, 16, 194, 194, 194, 194, 194, 51, - 174, 175, 176, 195, 191, 194, 46, 45, 100, 194, - 194, 194, 34, 5, 194, 43, 98, 194, 57, 194, - 194, 129, 135, 130, 131, 134, 132, 194, 162, 133, + 194, 194, 194, 15, 194, 194, 194, 194, 194, 50, + 174, 175, 176, 195, 191, 92, 194, 45, 44, 100, + 194, 194, 194, 33, 5, 194, 42, 98, 194, 56, + 194, 194, 129, 135, 130, 131, 134, 132, 194, 162, - 136, 194, 194, 30, 37, 194, 194, 35, 194, 194, - 58, 36, 194, 194, 38, 194, 33, 194, 196, 194, - 4, 194, 194, 92, 194, 59, 194, 194, 194, 194, - 194, 155, 156, 157, 158, 159, 160, 101, 137, 121, - 102, 138, 122, 145, 152, 146, 147, 150, 148, 194, - 194, 28, 194, 163, 149, 151, 73, 2, 194, 97, - 194, 194, 99, 194, 31, 194, 194, 194, 194, 40, - 194, 194, 39, 194, 194, 91, 194, 194, 194, 32, - 194, 194, 173, 7, 23, 194, 194, 65, 25, 194, - 48, 194, 194, 171, 21, 194, 194, 194, 194, 194, + 133, 136, 194, 194, 29, 36, 194, 194, 34, 194, + 194, 57, 35, 194, 194, 37, 194, 32, 194, 196, + 194, 4, 194, 194, 91, 194, 58, 194, 194, 194, + 194, 194, 155, 156, 157, 158, 159, 160, 101, 137, + 121, 102, 138, 122, 145, 152, 146, 147, 150, 148, + 194, 194, 27, 194, 163, 149, 151, 72, 2, 194, + 97, 194, 194, 99, 194, 30, 194, 194, 194, 194, + 39, 194, 194, 38, 194, 194, 90, 194, 194, 194, + 31, 194, 194, 173, 7, 22, 194, 194, 64, 24, + 194, 47, 194, 194, 171, 20, 194, 194, 194, 194, - 196, 89, 12, 90, 194, 194, 194, 194, 194, 194, - 47, 103, 139, 123, 104, 140, 124, 105, 141, 125, - 106, 142, 126, 107, 143, 127, 108, 144, 128, 80, - 194, 194, 28, 194, 194, 82, 70, 194, 26, 10, - 64, 194, 194, 56, 194, 194, 194, 194, 194, 194, - 15, 18, 194, 194, 194, 194, 170, 194, 194, 194, - 83, 41, 194, 196, 194, 194, 194, 194, 71, 54, - 194, 194, 194, 194, 85, 9, 194, 194, 66, 194, - 194, 78, 87, 81, 194, 42, 61, 194, 86, 194, - 17, 76, 20, 194, 194, 194, 74, 194, 194, 194, + 194, 196, 88, 11, 89, 194, 194, 194, 194, 194, + 194, 46, 103, 139, 123, 104, 140, 124, 105, 141, + 125, 106, 142, 126, 107, 143, 127, 108, 144, 128, + 79, 194, 194, 27, 194, 194, 81, 69, 194, 25, + 9, 63, 194, 194, 55, 194, 194, 194, 194, 194, + 194, 14, 17, 194, 194, 194, 194, 170, 194, 194, + 194, 82, 40, 194, 196, 194, 194, 194, 194, 70, + 53, 194, 194, 194, 194, 84, 194, 194, 65, 194, + 194, 77, 86, 80, 194, 41, 60, 194, 85, 194, + 16, 75, 19, 194, 194, 194, 73, 194, 194, 194, - 194, 194, 194, 194, 16, 194, 194, 194, 55, 194, - 194, 194, 52, 53, 194, 84, 194, 194, 79, 8, - 194, 194, 75, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 29, 194, 68, 67, 194, 63, 194, 194, - 194, 62, 77, 194, 69, 88, 0 + 194, 194, 194, 194, 15, 194, 194, 194, 54, 194, + 194, 194, 51, 52, 194, 83, 194, 194, 78, 8, + 194, 194, 74, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 28, 194, 67, 66, 194, 62, 194, 194, + 194, 61, 76, 194, 68, 87, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -484,14 +484,14 @@ static yyconst flex_int32_t yy_meta[60] = static yyconst flex_int16_t yy_base[462] = { 0, - 0, 0, 58, 60, 62, 64, 207, 2500, 203, 2500, - 2500, 63, 0, 0, 2500, 60, 2500, 2500, 2500, 2500, - 0, 2500, 47, 0, 2500, 176, 172, 2500, 0, 2500, + 0, 0, 58, 60, 62, 64, 207, 2513, 203, 2513, + 2513, 63, 0, 0, 2513, 60, 2513, 2513, 2513, 2513, + 0, 2513, 47, 0, 2513, 176, 172, 2513, 0, 2513, 90, 133, 85, 153, 177, 42, 124, 182, 195, 196, 214, 211, 230, 233, 255, 260, 300, 323, 299, 294, - 347, 344, 358, 2500, 2500, 194, 399, 2500, 0, 193, - 69, 2500, 0, 0, 0, 71, 2500, 0, 0, 72, - 0, 0, 2500, 2500, 0, 397, 416, 417, 430, 431, + 347, 344, 358, 2513, 2513, 194, 399, 2513, 0, 193, + 69, 2513, 0, 0, 0, 71, 2513, 0, 0, 72, + 0, 0, 2513, 2513, 0, 397, 416, 417, 430, 431, 444, 453, 458, 467, 472, 481, 486, 322, 497, 517, 510, 526, 529, 538, 547, 552, 566, 571, 580, 585, @@ -503,38 +503,38 @@ static yyconst flex_int16_t yy_base[462] = 966, 971, 979, 258, 986, 999, 1006, 1007, 1016, 670, 882, 1021, 1029, 1036, 1043, 1044, 1064, 1065, 1072, 1075, 0, 0, 0, 0, 0, 1085, 1086, 1094, 1095, 1105, - 1108, 1115, 1118, 1125, 1135, 1138, 1145, 1146, 1155, 1160, - 1165, 1168, 1175, 1182, 1185, 1190, 1195, 1204, 1205, 1212, + 1108, 1115, 1116, 1125, 1130, 1138, 1145, 1152, 1153, 1160, + 1167, 1174, 1175, 1182, 1189, 1196, 1197, 1204, 1211, 1218, - 1215, 1225, 1232, 1235, 1240, 1254, 1259, 1245, 1262, 1267, - 1281, 1282, 1289, 1290, 1303, 1304, 1311, 1326, 72, 1331, - 1334, 1339, 1354, 1353, 1361, 1368, 1375, 1376, 1385, 1390, - 1398, 88, 103, 104, 131, 151, 239, 0, 0, 0, - 0, 0, 0, 1409, 1412, 1419, 1420, 1429, 1434, 1439, - 1444, 1453, 1454, 1463, 1464, 1474, 1477, 1484, 1485, 1494, - 1504, 1509, 1514, 1517, 1524, 1531, 1538, 1539, 1559, 1548, - 1567, 1562, 1570, 1581, 1589, 1584, 1592, 1603, 1606, 1611, - 1616, 1626, 1631, 1639, 1640, 1648, 1653, 1662, 1663, 1670, - 1673, 1683, 1684, 1692, 1693, 1703, 1706, 1713, 1716, 1726, + 1219, 1226, 1233, 1240, 1241, 1248, 1255, 1262, 1263, 1270, + 1283, 1290, 1291, 1310, 1305, 1313, 1318, 1333, 1340, 72, + 1341, 1348, 1361, 1368, 1369, 1378, 1383, 1388, 1391, 1405, + 1408, 1413, 88, 103, 104, 131, 151, 239, 0, 0, + 0, 0, 0, 0, 1416, 1427, 1435, 1436, 1444, 1449, + 1457, 1464, 1471, 1474, 1481, 1484, 1494, 1495, 1503, 1504, + 1514, 1523, 1528, 1531, 1536, 1545, 1550, 1555, 1558, 1578, + 1569, 1586, 1583, 1591, 1600, 1608, 1605, 1613, 1622, 1627, + 1630, 1635, 1649, 1650, 1658, 1663, 1671, 1678, 1685, 1686, + 1693, 1700, 1707, 1708, 1715, 1722, 1729, 1730, 1737, 1750, - 176, 0, 1735, 1736, 1743, 1750, 1763, 1760, 1770, 1771, - 1780, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1785, - 1790, 1799, 1800, 1809, 1810, 1819, 1824, 1829, 1832, 1843, - 1852, 1853, 1860, 1863, 1873, 1880, 1883, 1888, 1903, 1908, - 1911, 1916, 1925, 1933, 1930, 1944, 1947, 1952, 1955, 1966, - 1977, 1980, 1985, 175, 1999, 2002, 1988, 2012, 2019, 2022, - 2029, 2036, 2039, 2044, 2058, 2059, 2066, 2069, 2086, 2079, - 2089, 2094, 2103, 2108, 2111, 2116, 2130, 2133, 2138, 2141, - 2152, 2155, 2160, 2163, 2174, 137, 2177, 2182, 2185, 2196, + 1757, 176, 0, 1760, 1765, 1770, 1779, 1789, 1780, 1800, + 1803, 1808, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1811, 1822, 1830, 1831, 1841, 1844, 1851, 1852, 1861, 1866, + 1871, 1876, 1881, 1886, 1891, 1901, 1896, 1906, 1911, 1921, + 1926, 1931, 1934, 1941, 1951, 1956, 1961, 1964, 1975, 1978, + 1985, 1988, 1999, 2007, 175, 2002, 2021, 2024, 2029, 2038, + 2043, 2048, 2053, 2058, 2063, 2068, 2077, 2085, 2092, 2099, + 2102, 2107, 2116, 2121, 2124, 2129, 2143, 2146, 2151, 2154, + 2165, 2168, 2173, 2176, 2187, 137, 2190, 2195, 2198, 2209, - 2209, 2199, 81, 2216, 2219, 2224, 2229, 2244, 2243, 2253, - 132, 2252, 2266, 2273, 137, 2274, 142, 141, 2281, 2288, - 2295, 2298, 2303, 94, 2308, 129, 126, 131, 2317, 2318, - 134, 125, 2325, 125, 0, 0, 2338, 2339, 105, 99, - 79, 2346, 0, 45, 0, 0, 2500, 2397, 2408, 2419, - 2426, 2437, 2446, 2454, 77, 2462, 2471, 68, 2479, 2487, - 2488 + 2222, 2212, 81, 2229, 2232, 2237, 2242, 2257, 2256, 2266, + 132, 2265, 2279, 2286, 137, 2287, 142, 141, 2294, 2301, + 2308, 2311, 2316, 94, 2321, 129, 126, 131, 2330, 2331, + 134, 125, 2338, 125, 0, 0, 2351, 2352, 105, 99, + 79, 2359, 0, 45, 0, 0, 2513, 2410, 2421, 2432, + 2439, 2450, 2459, 2467, 77, 2475, 2484, 68, 2492, 2500, + 2501 } ; static yyconst flex_int16_t yy_def[462] = @@ -562,23 +562,23 @@ static yyconst flex_int16_t yy_def[462] = 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, 456, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 456, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 456, 456, 456, 456, 456, 456, 456, 456, + 456, 456, 456, 456, 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, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 456, 456, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 146, + 146, 456, 456, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 456, 456, 456, 456, 456, 456, 456, 456, + 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 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, 456, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 456, 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, 453, 146, 146, 146, 146, @@ -592,7 +592,7 @@ static yyconst flex_int16_t yy_def[462] = 447 } ; -static yyconst flex_int16_t yy_nxt[2560] = +static yyconst flex_int16_t yy_nxt[2573] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 24, 24, @@ -601,283 +601,285 @@ static yyconst flex_int16_t yy_nxt[2560] = 39, 40, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 40, 40, 54, 56, 10, 56, 10, 56, 10, 56, 10, 62, 67, 71, - 71, 173, 57, 62, 57, 238, 59, 239, 59, 67, - 71, 76, 58, 446, 58, 110, 58, 301, 58, 111, - 68, 76, 112, 63, 71, 71, 240, 76, 257, 63, + 71, 173, 57, 62, 57, 239, 59, 240, 59, 67, + 71, 76, 58, 446, 58, 110, 58, 302, 58, 111, + 68, 76, 112, 63, 71, 71, 241, 76, 258, 63, 76, 68, 72, 69, 76, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 302, 445, 76, 85, 75, 75, - 241, 312, 242, 313, 86, 417, 431, 447, 87, 77, - 418, 88, 89, 78, 90, 91, 315, 318, 316, 319, - 92, 243, 314, 432, 444, 79, 69, 443, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 317, 320, 113, - 441, 75, 75, 76, 321, 440, 322, 114, 439, 436, + 75, 75, 75, 75, 303, 445, 76, 85, 75, 75, + 242, 313, 243, 314, 86, 417, 431, 447, 87, 77, + 418, 88, 89, 78, 90, 91, 316, 319, 317, 320, + 92, 244, 315, 432, 444, 79, 69, 443, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 318, 321, 113, + 441, 75, 75, 76, 322, 440, 323, 114, 439, 436, 435, 76, 80, 76, 115, 434, 81, 428, 427, 76, - 82, 426, 83, 424, 324, 323, 325, 411, 84, 93, - 302, 364, 94, 95, 60, 60, 96, 97, 74, 98, + 82, 426, 83, 424, 325, 324, 326, 411, 84, 93, + 303, 365, 94, 95, 60, 60, 96, 97, 74, 98, - 76, 73, 99, 100, 60, 326, 447, 447, 101, 102, + 76, 73, 99, 100, 60, 327, 447, 447, 101, 102, 103, 104, 105, 447, 106, 447, 76, 107, 116, 447, 76, 76, 447, 447, 76, 76, 76, 108, 447, 76, 117, 76, 109, 447, 76, 76, 447, 76, 76, 76, 118, 447, 119, 76, 120, 76, 76, 122, 121, 123, 76, 76, 447, 447, 124, 125, 76, 126, 76, 76, 76, 76, 447, 76, 76, 76, 127, 76, 76, 447, - 128, 447, 327, 447, 328, 76, 447, 76, 129, 76, + 128, 447, 328, 447, 329, 76, 447, 76, 129, 76, 76, 447, 76, 76, 447, 447, 76, 130, 131, 132, - 76, 133, 76, 329, 76, 134, 76, 447, 135, 76, + 76, 133, 76, 330, 76, 134, 76, 447, 135, 76, - 447, 263, 76, 76, 136, 447, 137, 76, 76, 76, + 447, 264, 76, 76, 136, 447, 137, 76, 76, 76, 76, 447, 138, 447, 447, 76, 139, 447, 447, 447, 447, 447, 140, 141, 447, 447, 447, 447, 447, 76, 447, 160, 142, 143, 144, 145, 146, 76, 76, 163, 147, 76, 76, 76, 447, 447, 76, 76, 161, 162, 148, 447, 447, 447, 76, 76, 149, 76, 447, 150, - 447, 447, 151, 152, 447, 447, 153, 182, 447, 76, + 447, 447, 151, 152, 447, 447, 153, 183, 447, 76, 154, 76, 155, 156, 157, 76, 166, 158, 76, 159, 164, 447, 76, 167, 447, 165, 447, 76, 447, 447, 447, 76, 76, 168, 76, 447, 76, 76, 447, 76, 76, 76, 169, 447, 447, 170, 447, 76, 447, 447, 447, 447, 447, 76, 171, 171, 171, 171, 171, 171, - 171, 171, 171, 232, 233, 234, 235, 236, 237, 76, + 171, 171, 171, 233, 234, 235, 236, 237, 238, 76, 447, 76, 172, 172, 172, 76, 76, 172, 172, 172, - 76, 447, 447, 172, 76, 172, 76, 76, 258, 172, + 76, 447, 447, 172, 76, 172, 76, 76, 259, 172, 172, 172, 76, 172, 172, 76, 76, 447, 447, 76, - 76, 447, 447, 76, 76, 76, 76, 447, 447, 76, + 176, 447, 447, 76, 76, 76, 76, 447, 447, 76, 76, 76, 76, 76, 76, 447, 447, 76, 76, 76, - 76, 447, 447, 76, 176, 76, 76, 76, 177, 178, - 447, 76, 76, 76, 180, 447, 179, 76, 447, 76, + 76, 447, 447, 76, 177, 76, 76, 76, 178, 179, + 447, 76, 76, 76, 181, 447, 180, 76, 447, 76, 76, 76, 76, 447, 447, 76, 76, 76, 76, 447, - 76, 76, 447, 76, 76, 181, 76, 447, 447, 76, + 76, 76, 447, 76, 76, 182, 76, 447, 447, 76, 76, 76, 76, 447, 76, 76, 447, 76, 76, 76, 76, 447, 76, 76, 447, 76, 76, 447, 447, 447, - 447, 76, 76, 447, 76, 76, 76, 447, 447, 183, - 76, 184, 76, 185, 447, 76, 447, 76, 447, 76, + 447, 76, 76, 447, 76, 76, 76, 447, 447, 184, + 76, 185, 76, 186, 447, 76, 447, 76, 447, 76, 447, 76, 76, 76, 76, 447, 76, 447, 76, 447, - 76, 76, 186, 76, 447, 76, 76, 76, 76, 76, + 76, 76, 187, 76, 447, 76, 76, 76, 76, 76, 447, 76, 447, 447, 76, 76, 76, 76, 447, 447, - 187, 76, 447, 76, 76, 76, 76, 188, 189, 76, + 188, 76, 447, 76, 76, 76, 76, 189, 190, 76, 447, 76, 76, 447, 447, 76, 447, 76, 447, 76, - 76, 190, 447, 76, 76, 76, 191, 447, 76, 76, + 76, 191, 447, 76, 76, 76, 192, 447, 76, 76, 76, 76, 447, 76, 76, 447, 76, 76, 76, 76, 447, 447, 76, 76, 76, 76, 447, 76, 76, 447, 76, 76, 76, 76, 447, 447, 76, 76, 76, 76, - 447, 76, 76, 447, 192, 193, 76, 76, 447, 447, - 76, 447, 76, 194, 447, 76, 196, 447, 195, 76, - 76, 447, 447, 76, 198, 76, 447, 447, 76, 76, - 76, 197, 447, 76, 76, 200, 76, 199, 76, 76, - 447, 447, 201, 447, 76, 76, 447, 76, 202, 203, + 447, 76, 76, 447, 193, 194, 76, 76, 447, 447, + 76, 447, 76, 195, 447, 76, 197, 447, 196, 76, + 76, 447, 447, 76, 199, 76, 447, 447, 76, 76, + 76, 198, 447, 76, 76, 201, 76, 200, 76, 76, + 447, 447, 202, 447, 76, 76, 447, 76, 203, 204, - 76, 76, 76, 270, 76, 76, 76, 76, 76, 447, - 76, 76, 271, 76, 76, 76, 76, 447, 447, 76, - 76, 76, 76, 447, 204, 76, 76, 76, 447, 76, - 76, 447, 447, 76, 76, 76, 76, 447, 205, 76, - 76, 76, 76, 76, 76, 447, 206, 76, 76, 76, - 76, 447, 447, 76, 76, 76, 76, 207, 76, 447, - 447, 76, 76, 76, 76, 209, 208, 76, 447, 76, - 76, 76, 76, 447, 447, 76, 76, 76, 210, 447, + 76, 76, 76, 271, 76, 76, 76, 76, 76, 447, + 76, 76, 272, 76, 76, 76, 76, 447, 447, 76, + 76, 76, 76, 447, 205, 76, 76, 76, 447, 76, + 76, 447, 447, 76, 76, 76, 76, 447, 206, 76, + 76, 76, 76, 76, 76, 447, 207, 76, 76, 76, + 76, 447, 447, 76, 76, 76, 76, 208, 76, 447, + 447, 76, 76, 76, 76, 210, 209, 76, 447, 76, + 76, 76, 76, 447, 447, 76, 76, 76, 211, 447, 76, 76, 76, 76, 447, 76, 447, 447, 76, 76, - 211, 76, 76, 447, 447, 76, 76, 76, 447, 76, + 212, 76, 76, 447, 447, 76, 76, 76, 447, 76, - 76, 447, 76, 76, 212, 213, 76, 447, 76, 76, - 76, 76, 219, 447, 76, 447, 76, 214, 215, 216, - 76, 76, 76, 76, 76, 218, 447, 76, 76, 447, - 76, 447, 447, 447, 76, 76, 217, 76, 76, 76, - 447, 447, 76, 76, 76, 221, 447, 76, 76, 447, - 220, 76, 76, 447, 447, 76, 76, 76, 76, 447, - 222, 76, 76, 76, 76, 76, 76, 447, 447, 76, - 76, 76, 223, 447, 76, 76, 224, 76, 76, 76, - 447, 447, 447, 76, 225, 76, 76, 447, 76, 226, - 76, 76, 76, 447, 227, 447, 447, 76, 447, 447, + 76, 447, 76, 76, 213, 214, 76, 447, 76, 76, + 76, 76, 220, 447, 76, 447, 76, 215, 216, 217, + 76, 76, 76, 76, 76, 219, 447, 76, 76, 447, + 76, 447, 447, 447, 76, 76, 218, 76, 76, 76, + 447, 447, 76, 76, 76, 222, 447, 76, 76, 447, + 221, 76, 76, 447, 447, 76, 76, 76, 76, 447, + 223, 76, 76, 76, 76, 76, 76, 447, 447, 76, + 76, 76, 224, 447, 76, 76, 225, 76, 76, 76, + 447, 447, 447, 76, 226, 76, 76, 447, 76, 227, + 76, 76, 76, 447, 228, 447, 447, 76, 447, 447, 76, 447, 76, 447, 76, 447, 447, 76, 76, 76, - 447, 76, 76, 76, 272, 76, 76, 228, 229, 447, - 76, 447, 76, 76, 76, 76, 76, 76, 76, 230, - 76, 76, 76, 231, 447, 76, 447, 447, 76, 76, + 447, 76, 76, 76, 273, 76, 76, 229, 230, 447, + 76, 447, 76, 76, 76, 76, 76, 76, 76, 231, + 76, 76, 76, 232, 447, 76, 447, 447, 76, 76, 76, 447, 76, 76, 76, 76, 76, 447, 76, 76, - 447, 244, 245, 76, 76, 447, 447, 76, 447, 76, - 246, 447, 76, 248, 447, 247, 76, 76, 447, 447, - 76, 76, 76, 447, 447, 254, 447, 76, 249, 250, - 447, 251, 447, 76, 447, 252, 76, 447, 447, 447, - 76, 76, 255, 447, 76, 76, 76, 253, 76, 256, + 447, 245, 246, 76, 76, 447, 447, 76, 447, 76, + 247, 447, 76, 249, 447, 248, 76, 76, 447, 447, + 76, 76, 76, 447, 447, 255, 447, 76, 250, 251, + 447, 252, 447, 76, 447, 253, 76, 447, 447, 447, + 76, 76, 256, 447, 76, 76, 76, 254, 76, 257, 76, 76, 76, 76, 76, 76, 447, 76, 447, 76, - 447, 76, 259, 76, 260, 447, 76, 76, 76, 262, - 76, 76, 264, 447, 76, 447, 447, 447, 261, 76, - 447, 76, 447, 76, 447, 265, 76, 76, 76, 76, - 76, 76, 266, 447, 76, 76, 447, 268, 76, 76, - 76, 447, 267, 76, 76, 76, 76, 76, 447, 76, - 269, 76, 447, 76, 447, 447, 76, 76, 76, 447, - 76, 273, 447, 447, 76, 276, 76, 76, 76, 76, - 447, 76, 76, 274, 447, 275, 76, 447, 447, 447, - 447, 447, 447, 76, 76, 277, 76, 76, 76, 76, + 447, 76, 260, 76, 261, 447, 76, 76, 76, 263, + 76, 76, 265, 447, 76, 447, 447, 447, 262, 76, + 447, 76, 447, 76, 447, 266, 76, 76, 76, 76, + 76, 76, 267, 447, 76, 76, 447, 269, 76, 76, + 76, 447, 268, 76, 76, 76, 76, 76, 447, 76, + 270, 76, 447, 76, 447, 447, 76, 76, 76, 447, + 76, 274, 447, 447, 76, 277, 76, 76, 76, 76, + 447, 76, 76, 275, 447, 276, 76, 447, 447, 447, + 447, 447, 447, 76, 76, 278, 76, 76, 76, 76, - 278, 447, 76, 76, 76, 279, 76, 76, 447, 76, - 76, 447, 447, 76, 76, 76, 280, 76, 76, 76, + 279, 447, 76, 76, 76, 280, 76, 76, 447, 76, + 76, 447, 447, 76, 76, 76, 281, 76, 76, 76, 76, 447, 76, 76, 76, 76, 76, 76, 76, 76, - 447, 447, 76, 76, 447, 281, 76, 282, 447, 76, - 76, 447, 283, 76, 76, 76, 76, 76, 447, 76, - 76, 447, 76, 76, 447, 76, 76, 76, 76, 76, - 447, 447, 447, 76, 447, 76, 284, 76, 76, 76, - 76, 447, 76, 285, 286, 76, 76, 76, 287, 76, + 447, 447, 76, 76, 447, 76, 282, 76, 447, 76, + 283, 447, 76, 76, 76, 76, 76, 76, 76, 284, 76, 447, 447, 76, 76, 76, 447, 76, 76, 76, - 447, 447, 76, 76, 76, 76, 76, 76, 76, 76, + 447, 447, 76, 76, 76, 76, 76, 285, 76, 447, + 76, 447, 76, 447, 447, 76, 286, 76, 447, 76, + 76, 287, 447, 76, 76, 288, 76, 76, 76, 447, + 76, 76, 76, 447, 76, 76, 447, 447, 76, 76, - 76, 447, 76, 289, 447, 76, 76, 76, 447, 76, - 76, 288, 447, 76, 76, 76, 76, 76, 76, 76, - 76, 447, 76, 76, 76, 76, 447, 76, 76, 76, - 447, 447, 76, 76, 447, 76, 290, 76, 76, 76, - 76, 447, 76, 76, 76, 76, 76, 76, 447, 76, - 76, 447, 447, 76, 76, 76, 447, 76, 447, 76, - 447, 447, 76, 76, 76, 76, 76, 76, 447, 76, - 292, 447, 76, 76, 76, 76, 291, 76, 76, 76, - 447, 447, 76, 76, 447, 76, 76, 293, 76, 447, - 76, 76, 76, 76, 76, 76, 76, 76, 447, 76, - - 76, 76, 447, 447, 76, 76, 294, 447, 295, 76, - 447, 447, 76, 76, 76, 76, 76, 76, 296, 76, - 76, 76, 76, 76, 76, 297, 447, 76, 76, 447, - 447, 76, 76, 447, 447, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 447, 76, 298, 447, 447, 76, - 447, 447, 447, 76, 76, 447, 299, 447, 76, 447, - 76, 76, 300, 76, 76, 76, 76, 447, 76, 76, - 447, 76, 76, 76, 447, 304, 76, 76, 447, 447, - 447, 76, 303, 447, 76, 76, 76, 76, 76, 76, - 305, 76, 76, 76, 447, 76, 306, 447, 447, 76, - - 76, 447, 76, 76, 76, 447, 76, 76, 76, 76, - 76, 76, 447, 76, 76, 447, 447, 76, 76, 76, - 447, 308, 76, 76, 76, 76, 76, 447, 76, 309, - 76, 307, 76, 447, 447, 76, 76, 447, 447, 310, - 76, 76, 447, 76, 76, 447, 76, 76, 76, 311, - 76, 76, 76, 76, 76, 447, 447, 76, 76, 76, - 447, 76, 76, 76, 447, 447, 76, 76, 76, 76, - 76, 76, 76, 76, 330, 447, 76, 76, 76, 76, - 447, 447, 76, 447, 76, 76, 76, 76, 76, 76, - 331, 76, 76, 332, 76, 76, 76, 76, 76, 447, - - 447, 76, 76, 333, 76, 334, 76, 447, 76, 76, - 447, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 447, 447, 76, 76, 76, 447, 76, 76, 76, 447, - 447, 335, 76, 447, 76, 76, 76, 447, 76, 336, - 337, 76, 76, 76, 76, 447, 76, 76, 76, 76, - 447, 76, 76, 447, 76, 339, 76, 447, 76, 338, - 447, 447, 76, 76, 76, 76, 447, 76, 447, 76, - 76, 76, 76, 76, 76, 447, 76, 76, 340, 447, - 76, 76, 76, 447, 447, 341, 76, 447, 76, 76, - 342, 76, 343, 76, 76, 447, 345, 76, 76, 76, - - 76, 76, 76, 344, 76, 76, 447, 447, 76, 76, - 447, 447, 76, 346, 447, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 347, 348, 76, 447, 447, + 447, 76, 76, 76, 447, 76, 76, 76, 76, 76, + 76, 447, 290, 76, 76, 447, 76, 76, 289, 447, + 76, 76, 447, 76, 76, 76, 447, 76, 76, 76, + 76, 76, 76, 447, 76, 76, 76, 447, 76, 76, + 447, 447, 76, 291, 447, 76, 76, 76, 447, 76, + 76, 76, 76, 76, 76, 447, 76, 76, 76, 447, 76, 76, 447, 447, 76, 76, 447, 76, 76, 76, + 447, 76, 76, 76, 76, 76, 76, 447, 293, 76, + 76, 447, 76, 76, 292, 447, 76, 76, 294, 76, + 76, 76, 447, 76, 76, 76, 76, 76, 76, 447, + + 76, 76, 76, 447, 76, 76, 447, 447, 76, 295, + 447, 447, 76, 76, 447, 76, 296, 76, 447, 447, 76, 76, 76, 76, 76, 76, 447, 447, 76, 76, - 76, 447, 349, 76, 76, 447, 76, 350, 76, 447, - 76, 76, 447, 76, 76, 76, 76, 351, 352, 76, - 447, 76, 76, 76, 76, 447, 76, 76, 76, 353, - 76, 76, 76, 447, 447, 76, 76, 76, 447, 76, - 76, 76, 447, 447, 76, 76, 76, 76, 76, 354, + 447, 447, 447, 76, 297, 447, 447, 76, 447, 76, + 76, 76, 76, 76, 76, 76, 298, 76, 76, 447, + 76, 76, 76, 447, 447, 76, 76, 447, 447, 447, + 76, 299, 447, 76, 447, 76, 447, 76, 76, 447, + 300, 76, 76, 76, 76, 76, 301, 447, 76, 76, + 76, 447, 76, 76, 447, 447, 76, 447, 447, 447, + 76, 76, 304, 76, 447, 76, 447, 305, 76, 76, - 76, 76, 76, 355, 76, 76, 447, 76, 356, 447, - 447, 76, 76, 76, 447, 76, 358, 76, 76, 447, - 76, 76, 76, 76, 76, 76, 76, 76, 447, 447, - 76, 76, 447, 357, 76, 76, 447, 76, 360, 447, - 76, 76, 76, 76, 76, 76, 447, 76, 76, 447, - 76, 76, 359, 76, 76, 447, 76, 361, 76, 363, - 76, 447, 447, 76, 76, 447, 76, 76, 76, 76, - 76, 362, 447, 76, 76, 365, 76, 76, 447, 447, + 76, 76, 76, 76, 306, 447, 76, 76, 447, 447, + 76, 76, 76, 307, 447, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 447, 76, 76, 447, 76, 76, + 447, 447, 447, 76, 447, 447, 309, 76, 76, 76, + 76, 76, 76, 76, 308, 76, 76, 76, 76, 310, + 76, 76, 447, 447, 76, 76, 447, 311, 76, 76, + 447, 76, 447, 76, 312, 76, 76, 76, 76, 76, + 76, 447, 447, 76, 76, 447, 76, 76, 76, 447, + 447, 76, 76, 76, 447, 76, 76, 76, 447, 76, + 447, 76, 331, 447, 76, 76, 76, 447, 76, 76, + + 447, 447, 76, 76, 447, 76, 76, 76, 76, 76, + 332, 333, 76, 76, 76, 76, 76, 447, 76, 76, + 447, 334, 76, 447, 76, 335, 76, 76, 76, 76, + 447, 76, 76, 76, 76, 76, 76, 76, 76, 447, 447, 76, 76, 447, 76, 76, 76, 447, 76, 447, - 366, 447, 76, 76, 76, 76, 367, 76, 76, 447, - - 76, 76, 76, 76, 76, 76, 369, 447, 76, 76, - 76, 368, 76, 76, 76, 447, 447, 76, 76, 76, - 76, 76, 76, 76, 76, 447, 447, 370, 76, 447, - 76, 76, 76, 76, 76, 76, 447, 76, 76, 371, - 76, 76, 76, 76, 76, 447, 447, 76, 76, 372, - 76, 76, 447, 76, 374, 373, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 447, 76, 76, 447, 76, - 76, 447, 447, 447, 76, 76, 447, 76, 447, 76, - 375, 76, 76, 376, 76, 76, 76, 377, 447, 447, - 76, 76, 76, 76, 76, 76, 447, 76, 76, 447, - - 447, 76, 76, 76, 447, 76, 378, 76, 447, 379, - 76, 76, 76, 76, 76, 381, 447, 76, 76, 447, - 76, 76, 76, 76, 447, 447, 76, 382, 447, 447, - 76, 380, 447, 76, 447, 76, 447, 76, 76, 383, - 76, 76, 76, 76, 384, 76, 76, 447, 76, 76, - 76, 447, 447, 76, 76, 447, 447, 76, 76, 76, - 447, 76, 76, 76, 76, 76, 76, 76, 76, 386, - 385, 76, 447, 447, 387, 76, 76, 447, 76, 76, - 388, 76, 76, 76, 76, 76, 76, 76, 447, 76, - 76, 447, 447, 76, 357, 389, 447, 76, 76, 447, - - 76, 447, 76, 447, 76, 76, 447, 390, 391, 76, - 447, 76, 76, 447, 76, 76, 76, 76, 76, 76, - 395, 447, 76, 76, 447, 396, 76, 76, 447, 447, - 76, 76, 392, 76, 76, 76, 76, 76, 76, 447, - 76, 393, 447, 447, 76, 447, 76, 394, 447, 76, - 76, 76, 76, 76, 76, 447, 76, 76, 447, 447, - 76, 76, 76, 76, 397, 447, 447, 76, 76, 76, - 76, 76, 76, 76, 76, 447, 76, 76, 76, 76, - 400, 447, 76, 447, 447, 447, 76, 398, 399, 76, - 76, 76, 76, 76, 76, 447, 76, 76, 76, 403, - - 76, 76, 447, 76, 76, 401, 447, 76, 76, 76, - 447, 76, 402, 404, 447, 447, 76, 76, 76, 76, - 76, 76, 447, 76, 76, 447, 76, 76, 76, 76, - 447, 405, 76, 447, 447, 76, 76, 76, 447, 76, + 336, 447, 76, 76, 76, 76, 447, 76, 337, 338, 76, 76, 76, 76, 76, 76, 76, 447, 76, 76, - 76, 447, 447, 76, 76, 447, 447, 447, 76, 447, - 447, 76, 76, 406, 76, 76, 76, 76, 76, 407, + 76, 447, 447, 76, 340, 447, 447, 76, 339, 76, + 447, 76, 76, 76, 76, 447, 76, 76, 76, 76, + 76, 447, 76, 76, 447, 76, 76, 341, 447, 447, + + 76, 76, 342, 76, 447, 76, 447, 76, 76, 343, + 76, 344, 76, 447, 447, 76, 76, 346, 76, 76, + 76, 76, 345, 76, 76, 76, 447, 447, 76, 76, + 447, 447, 347, 76, 76, 447, 76, 76, 76, 76, + 76, 76, 76, 76, 348, 76, 76, 349, 447, 447, + 76, 76, 447, 447, 76, 76, 76, 447, 76, 76, + 76, 76, 76, 76, 76, 76, 447, 76, 76, 76, + 447, 350, 76, 76, 447, 447, 447, 76, 351, 447, + 76, 76, 76, 76, 76, 76, 352, 76, 76, 447, + 76, 353, 76, 447, 447, 76, 76, 76, 354, 76, + + 76, 76, 447, 76, 447, 76, 447, 447, 76, 76, + 76, 447, 76, 76, 447, 447, 76, 76, 76, 76, + 76, 76, 355, 76, 76, 76, 447, 76, 356, 447, + 447, 357, 76, 447, 76, 76, 76, 447, 76, 76, + 359, 76, 76, 76, 447, 76, 76, 76, 447, 76, + 76, 447, 447, 76, 76, 447, 76, 358, 76, 447, + 76, 76, 361, 76, 76, 76, 447, 76, 76, 76, + 447, 76, 76, 447, 447, 76, 447, 447, 360, 76, + 76, 362, 76, 447, 76, 447, 447, 76, 76, 76, + 364, 76, 76, 447, 76, 76, 447, 76, 76, 76, + + 76, 447, 366, 76, 76, 363, 447, 76, 76, 447, + 76, 76, 76, 76, 76, 76, 447, 76, 76, 367, + 76, 76, 368, 76, 447, 447, 447, 76, 447, 76, + 76, 369, 76, 447, 76, 76, 370, 76, 76, 76, 76, 76, 76, 76, 447, 76, 76, 447, 447, 76, - 76, 447, 447, 76, 76, 408, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 447, 76, 76, 447, + 76, 447, 447, 76, 76, 447, 76, 447, 76, 371, + 76, 76, 76, 76, 76, 76, 447, 447, 76, 76, + 447, 372, 76, 76, 447, 76, 76, 447, 76, 76, + 373, 76, 76, 76, 76, 76, 76, 374, 375, 76, + 76, 76, 447, 76, 76, 76, 447, 447, 76, 76, - 447, 409, 76, 447, 447, 76, 76, 447, 410, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 412, 76, - 76, 413, 415, 76, 76, 447, 447, 76, 76, 447, - 76, 76, 76, 76, 76, 76, 447, 76, 447, 447, - 414, 76, 447, 76, 447, 447, 76, 76, 76, 416, - 76, 76, 447, 76, 76, 419, 76, 76, 76, 76, - 420, 76, 76, 76, 447, 447, 76, 76, 447, 76, - 447, 447, 447, 421, 76, 76, 76, 76, 76, 76, - 422, 76, 76, 447, 76, 76, 76, 76, 447, 447, - 76, 76, 447, 76, 76, 423, 447, 447, 76, 447, - - 76, 425, 76, 76, 76, 76, 76, 76, 76, 447, + 76, 76, 76, 76, 76, 76, 447, 447, 76, 76, + 76, 76, 376, 76, 76, 377, 76, 447, 76, 76, + 76, 76, 447, 76, 76, 76, 76, 447, 76, 76, + 76, 76, 378, 76, 76, 76, 76, 379, 381, 76, + 76, 76, 447, 76, 76, 76, 76, 380, 447, 76, + 382, 76, 447, 76, 447, 76, 76, 383, 76, 76, + 76, 76, 384, 76, 76, 76, 76, 447, 76, 76, 447, 76, 76, 76, 447, 76, 76, 447, 447, 76, - 76, 447, 76, 76, 76, 447, 76, 76, 429, 76, - 76, 76, 76, 76, 447, 76, 76, 76, 76, 447, - 76, 76, 76, 430, 447, 76, 76, 447, 76, 76, - 76, 76, 76, 76, 447, 76, 76, 76, 433, 76, - 437, 447, 447, 76, 447, 447, 447, 76, 76, 438, - 76, 76, 76, 76, 442, 76, 76, 76, 76, 447, - 76, 447, 447, 447, 76, 447, 447, 447, 76, 76, - 447, 447, 447, 447, 447, 447, 76, 55, 55, 55, + 447, 76, 447, 76, 76, 76, 385, 386, 76, 76, + 76, 76, 447, 76, 76, 76, 76, 447, 76, 76, - 55, 55, 55, 55, 55, 55, 55, 55, 61, 447, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 64, - 447, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 65, 65, 65, 65, 65, 65, 65, 66, 447, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 69, 447, - 447, 447, 69, 69, 69, 69, 69, 70, 447, 447, - 447, 447, 447, 447, 70, 75, 75, 75, 75, 75, - 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, - 76, 76, 174, 174, 174, 174, 174, 174, 174, 174, - 175, 175, 447, 175, 175, 172, 172, 447, 172, 7, + 387, 76, 76, 447, 447, 447, 388, 76, 447, 76, + 76, 358, 76, 76, 76, 447, 76, 76, 389, 76, + 76, 447, 76, 76, 447, 76, 76, 391, 76, 447, + 390, 76, 447, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 396, 447, 393, 76, 447, 447, 447, 76, + 447, 447, 76, 76, 392, 76, 395, 76, 76, 76, + 447, 76, 76, 76, 447, 447, 394, 76, 447, 447, + 76, 76, 76, 447, 76, 76, 76, 76, 447, 76, + 76, 76, 76, 397, 447, 76, 76, 76, 76, 447, + 76, 76, 76, 76, 447, 76, 76, 76, 76, 400, + 76, 76, 76, 76, 398, 403, 76, 399, 76, 76, + 447, 76, 447, 76, 447, 76, 401, 76, 76, 76, + 447, 447, 447, 76, 76, 447, 76, 76, 402, 447, + 76, 76, 447, 404, 76, 76, 76, 76, 447, 76, + 76, 76, 76, 447, 405, 76, 447, 447, 76, 76, + 76, 447, 76, 76, 76, 76, 76, 76, 76, 76, + 447, 76, 76, 76, 447, 447, 76, 76, 447, 447, + 447, 76, 447, 447, 76, 76, 406, 76, 76, 76, + 76, 76, 407, 76, 76, 76, 76, 447, 76, 76, + 447, 447, 76, 76, 447, 447, 76, 76, 408, 76, + + 76, 76, 76, 76, 76, 76, 76, 76, 76, 447, + 76, 76, 447, 447, 409, 76, 447, 447, 76, 76, + 447, 410, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 412, 76, 76, 413, 415, 76, 76, 447, 447, + 76, 76, 447, 76, 76, 76, 76, 76, 76, 447, + 76, 447, 447, 414, 76, 447, 76, 447, 447, 76, + 76, 76, 416, 76, 76, 447, 76, 76, 419, 76, + 76, 76, 76, 420, 76, 76, 76, 447, 447, 76, + 76, 447, 76, 447, 447, 447, 421, 76, 76, 76, + 76, 76, 76, 422, 76, 76, 447, 76, 76, 76, + + 76, 447, 447, 76, 76, 447, 76, 76, 423, 447, + 447, 76, 447, 76, 425, 76, 76, 76, 76, 76, + 76, 76, 447, 447, 76, 76, 76, 447, 76, 76, + 447, 447, 76, 76, 447, 76, 76, 76, 447, 76, + 76, 429, 76, 76, 76, 76, 76, 447, 76, 76, + 76, 76, 447, 76, 76, 76, 430, 447, 76, 76, + 447, 76, 76, 76, 76, 76, 76, 447, 76, 76, + 76, 433, 76, 437, 447, 447, 76, 447, 447, 447, + 76, 76, 438, 76, 76, 76, 76, 442, 76, 76, + 76, 76, 447, 76, 447, 447, 447, 76, 447, 447, + + 447, 76, 76, 447, 447, 447, 447, 447, 447, 76, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 61, 447, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 64, 447, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, + 66, 447, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 69, 447, 447, 447, 69, 69, 69, 69, 69, + 70, 447, 447, 447, 447, 447, 447, 70, 75, 75, + 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 174, 174, 174, 174, 174, + + 174, 174, 174, 175, 175, 447, 175, 175, 172, 172, + 447, 172, 7, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447 + 447, 447 } ; -static yyconst flex_int16_t yy_chk[2560] = +static yyconst flex_int16_t yy_chk[2573] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -887,30 +889,30 @@ static yyconst flex_int16_t yy_chk[2560] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 4, 4, 5, 5, 6, 6, 12, 16, 23, 23, 458, 3, 61, 4, 140, 5, 140, 6, 66, - 455, 36, 3, 444, 4, 36, 5, 219, 6, 36, + 455, 36, 3, 444, 4, 36, 5, 220, 6, 36, 16, 36, 36, 12, 70, 70, 140, 36, 149, 61, 149, 66, 23, 31, 149, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 219, 441, 149, 33, 31, 31, - 141, 232, 141, 232, 33, 403, 424, 70, 33, 31, - 403, 33, 33, 31, 33, 33, 233, 234, 233, 234, - 33, 141, 232, 424, 440, 31, 32, 439, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 233, 234, 37, - 434, 32, 32, 37, 235, 432, 235, 37, 431, 428, + 31, 31, 31, 31, 220, 441, 149, 33, 31, 31, + 141, 233, 141, 233, 33, 403, 424, 70, 33, 31, + 403, 33, 33, 31, 33, 33, 234, 235, 234, 235, + 33, 141, 233, 424, 440, 31, 32, 439, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 234, 235, 37, + 434, 32, 32, 37, 236, 432, 236, 37, 431, 428, 427, 37, 32, 37, 37, 426, 32, 418, 417, 37, - 32, 415, 32, 411, 236, 235, 236, 396, 32, 34, - 364, 301, 34, 34, 60, 56, 34, 34, 27, 34, + 32, 415, 32, 411, 237, 236, 237, 396, 32, 34, + 365, 302, 34, 34, 60, 56, 34, 34, 27, 34, - 34, 26, 34, 34, 9, 236, 7, 0, 34, 35, + 34, 26, 34, 34, 9, 237, 7, 0, 34, 35, 35, 35, 35, 0, 35, 0, 35, 35, 38, 0, 35, 38, 0, 0, 35, 38, 35, 35, 0, 38, 39, 38, 35, 0, 39, 40, 0, 38, 39, 40, 39, 0, 39, 40, 39, 40, 42, 41, 39, 41, 39, 40, 0, 0, 41, 42, 42, 42, 42, 41, 42, 41, 0, 41, 42, 43, 43, 41, 44, 0, - 44, 0, 237, 0, 237, 43, 0, 43, 44, 43, + 44, 0, 238, 0, 238, 43, 0, 43, 44, 43, 44, 0, 44, 43, 0, 0, 44, 45, 45, 45, - 154, 45, 154, 237, 45, 45, 154, 0, 45, 46, + 154, 45, 154, 238, 45, 45, 154, 0, 45, 46, 0, 154, 45, 46, 45, 0, 45, 46, 154, 46, 45, 0, 46, 0, 0, 46, 47, 0, 0, 0, @@ -1004,162 +1006,164 @@ static yyconst flex_int16_t yy_chk[2560] = 169, 0, 0, 170, 167, 168, 169, 176, 177, 176, 177, 0, 169, 176, 177, 170, 178, 179, 178, 179, 0, 0, 178, 179, 0, 176, 177, 180, 0, 180, - 181, 0, 181, 180, 178, 179, 181, 182, 0, 182, - 183, 0, 183, 182, 0, 180, 183, 184, 181, 184, - 0, 0, 0, 184, 0, 182, 182, 185, 183, 185, - 186, 0, 186, 185, 186, 184, 186, 187, 188, 187, - 188, 0, 0, 187, 188, 185, 0, 189, 186, 189, - 0, 0, 190, 189, 190, 187, 188, 191, 190, 191, + 181, 0, 181, 180, 178, 179, 181, 182, 183, 182, + 183, 0, 0, 182, 183, 180, 0, 184, 181, 184, + 0, 0, 185, 184, 185, 182, 183, 183, 185, 0, + 186, 0, 186, 0, 0, 184, 186, 187, 0, 187, + 185, 187, 0, 187, 188, 189, 188, 189, 186, 0, + 188, 189, 190, 0, 190, 187, 0, 0, 190, 191, - 192, 0, 192, 191, 0, 189, 192, 193, 0, 193, - 190, 190, 0, 193, 194, 191, 194, 195, 192, 195, - 194, 0, 196, 195, 196, 193, 0, 197, 196, 197, - 0, 0, 194, 197, 0, 195, 198, 199, 198, 199, - 196, 0, 198, 199, 200, 197, 200, 201, 0, 201, - 200, 0, 0, 201, 198, 199, 0, 202, 0, 202, - 0, 0, 200, 202, 203, 201, 203, 204, 0, 204, - 203, 0, 205, 204, 205, 202, 202, 208, 205, 208, - 0, 0, 203, 208, 0, 204, 206, 206, 206, 0, - 205, 207, 206, 207, 209, 208, 209, 207, 0, 210, + 0, 191, 188, 189, 0, 191, 192, 193, 192, 193, + 190, 0, 192, 193, 194, 0, 194, 191, 191, 0, + 194, 195, 0, 195, 192, 193, 0, 195, 196, 197, + 196, 197, 194, 0, 196, 197, 198, 0, 198, 195, + 0, 0, 198, 199, 0, 199, 196, 197, 0, 199, + 200, 201, 200, 201, 198, 0, 200, 201, 202, 0, + 202, 199, 0, 0, 202, 203, 0, 203, 200, 201, + 0, 203, 204, 205, 204, 205, 202, 0, 204, 205, + 206, 0, 206, 203, 203, 0, 206, 207, 207, 207, + 204, 205, 0, 207, 208, 209, 208, 209, 206, 0, - 209, 210, 0, 0, 206, 210, 207, 0, 209, 207, - 0, 0, 209, 211, 212, 211, 212, 210, 210, 211, - 212, 213, 214, 213, 214, 213, 0, 213, 214, 0, - 0, 211, 212, 0, 0, 215, 216, 215, 216, 213, - 214, 215, 216, 217, 0, 217, 214, 0, 0, 217, - 0, 0, 0, 215, 216, 0, 216, 0, 218, 0, - 218, 217, 218, 220, 218, 220, 221, 0, 221, 220, - 0, 222, 221, 222, 0, 222, 218, 222, 0, 0, - 0, 220, 220, 0, 221, 224, 223, 224, 223, 222, - 223, 224, 223, 225, 0, 225, 225, 0, 0, 225, + 208, 209, 210, 0, 210, 207, 0, 0, 210, 208, + 0, 0, 208, 209, 0, 211, 210, 211, 0, 0, + 210, 211, 212, 213, 212, 213, 0, 0, 212, 213, + 0, 0, 0, 211, 211, 0, 0, 215, 0, 215, + 212, 213, 214, 215, 214, 216, 214, 216, 214, 0, + 217, 216, 217, 0, 0, 215, 217, 0, 0, 0, + 214, 215, 0, 216, 0, 218, 0, 218, 217, 0, + 217, 218, 219, 221, 219, 221, 219, 0, 219, 221, + 222, 0, 222, 218, 0, 0, 222, 0, 0, 0, + 219, 221, 221, 223, 0, 223, 0, 223, 222, 223, - 226, 0, 226, 224, 223, 0, 226, 227, 228, 227, - 228, 225, 0, 227, 228, 0, 0, 229, 226, 229, - 0, 228, 230, 229, 230, 227, 228, 0, 230, 229, - 231, 227, 231, 0, 0, 229, 231, 0, 0, 230, - 230, 244, 0, 244, 245, 0, 245, 244, 231, 231, - 245, 246, 247, 246, 247, 0, 0, 246, 247, 244, - 0, 248, 245, 248, 0, 0, 249, 248, 249, 246, - 247, 250, 249, 250, 250, 0, 251, 250, 251, 248, - 0, 0, 251, 0, 249, 252, 253, 252, 253, 250, - 251, 252, 253, 252, 251, 254, 255, 254, 255, 0, + 224, 225, 224, 225, 224, 0, 224, 225, 0, 0, + 226, 223, 226, 226, 0, 227, 226, 227, 224, 225, + 228, 227, 228, 229, 0, 229, 228, 0, 226, 229, + 0, 0, 0, 227, 0, 0, 229, 230, 228, 230, + 231, 229, 231, 230, 228, 232, 231, 232, 245, 230, + 245, 232, 0, 0, 245, 230, 0, 231, 231, 246, + 0, 246, 0, 232, 232, 246, 245, 247, 248, 247, + 248, 0, 0, 247, 248, 0, 249, 246, 249, 0, + 0, 250, 249, 250, 0, 247, 248, 250, 0, 251, + 0, 251, 251, 0, 249, 251, 252, 0, 252, 250, - 0, 254, 255, 252, 253, 253, 256, 0, 256, 257, - 0, 257, 256, 254, 255, 257, 258, 259, 258, 259, - 0, 0, 258, 259, 256, 0, 260, 257, 260, 0, - 0, 258, 260, 0, 258, 259, 261, 0, 261, 259, - 261, 262, 261, 262, 260, 0, 263, 262, 263, 264, - 0, 264, 263, 0, 261, 264, 265, 0, 265, 262, - 0, 0, 265, 266, 263, 266, 0, 264, 0, 266, - 267, 268, 267, 268, 265, 0, 267, 268, 266, 0, - 270, 266, 270, 0, 0, 267, 270, 0, 267, 268, - 268, 269, 269, 269, 272, 0, 272, 269, 270, 271, + 0, 0, 252, 253, 0, 253, 254, 251, 254, 253, + 252, 253, 254, 255, 252, 255, 256, 0, 256, 255, + 0, 253, 256, 0, 254, 254, 257, 258, 257, 258, + 0, 255, 257, 258, 256, 259, 260, 259, 260, 0, + 0, 259, 260, 0, 257, 258, 261, 0, 261, 0, + 259, 0, 261, 259, 260, 262, 0, 262, 260, 262, + 263, 262, 263, 264, 261, 264, 263, 0, 265, 264, + 265, 0, 0, 262, 265, 0, 0, 266, 263, 266, + 0, 264, 267, 266, 267, 0, 265, 268, 267, 268, + 269, 0, 269, 268, 0, 266, 269, 267, 0, 0, - 272, 271, 273, 271, 273, 271, 0, 0, 273, 269, - 0, 0, 272, 274, 0, 274, 276, 271, 276, 274, - 273, 275, 276, 275, 277, 275, 277, 275, 0, 0, - 277, 274, 0, 0, 276, 278, 0, 278, 279, 275, - 279, 278, 277, 280, 279, 280, 0, 0, 281, 280, - 281, 0, 278, 278, 281, 0, 279, 279, 282, 0, - 282, 280, 0, 283, 282, 283, 281, 281, 282, 283, - 0, 284, 285, 284, 285, 0, 282, 284, 285, 284, - 286, 283, 286, 0, 0, 287, 286, 287, 0, 284, - 285, 287, 0, 0, 288, 289, 288, 289, 286, 286, + 267, 271, 268, 271, 0, 268, 0, 271, 269, 269, + 270, 270, 270, 0, 0, 273, 270, 273, 272, 271, + 272, 273, 272, 274, 272, 274, 0, 0, 270, 274, + 0, 0, 275, 273, 275, 0, 272, 277, 275, 277, + 276, 274, 276, 277, 276, 278, 276, 278, 0, 0, + 275, 278, 0, 0, 279, 277, 279, 0, 276, 280, + 279, 280, 281, 278, 281, 280, 0, 282, 281, 282, + 0, 279, 279, 282, 0, 0, 0, 280, 280, 0, + 281, 283, 284, 283, 284, 282, 282, 283, 284, 0, + 285, 283, 285, 0, 0, 286, 285, 286, 285, 283, - 288, 289, 290, 287, 290, 291, 0, 291, 290, 0, - 0, 291, 288, 289, 0, 292, 293, 292, 293, 0, - 290, 292, 293, 291, 294, 295, 294, 295, 0, 0, - 294, 295, 0, 292, 293, 296, 0, 296, 297, 0, - 297, 296, 294, 295, 297, 298, 0, 298, 299, 0, - 299, 298, 296, 296, 299, 0, 297, 298, 300, 300, - 300, 0, 0, 298, 300, 0, 299, 303, 304, 303, - 304, 299, 0, 303, 304, 305, 300, 305, 0, 0, - 0, 305, 306, 0, 306, 303, 304, 0, 306, 0, - 306, 0, 308, 305, 308, 307, 307, 307, 308, 0, + 284, 286, 0, 287, 0, 287, 0, 0, 285, 287, + 288, 0, 288, 286, 0, 0, 288, 289, 290, 289, + 290, 287, 287, 289, 290, 291, 0, 291, 288, 0, + 0, 291, 292, 0, 292, 289, 290, 0, 292, 293, + 294, 293, 294, 291, 0, 293, 294, 295, 0, 295, + 292, 0, 0, 295, 296, 0, 296, 293, 294, 0, + 296, 297, 298, 297, 298, 295, 0, 297, 298, 299, + 0, 299, 296, 0, 0, 299, 0, 0, 297, 297, + 298, 299, 300, 0, 300, 0, 0, 299, 300, 301, + 301, 301, 304, 0, 304, 301, 0, 305, 304, 305, - 306, 307, 309, 310, 309, 310, 309, 0, 309, 310, - 308, 308, 311, 307, 311, 0, 0, 330, 311, 330, - 309, 310, 331, 330, 331, 0, 0, 310, 331, 0, - 311, 332, 333, 332, 333, 330, 0, 332, 333, 331, - 331, 334, 335, 334, 335, 0, 0, 334, 335, 332, - 333, 336, 0, 336, 335, 334, 337, 336, 337, 334, - 335, 338, 337, 338, 339, 0, 339, 338, 0, 336, - 339, 0, 0, 0, 337, 340, 0, 340, 0, 338, - 338, 340, 339, 340, 341, 342, 341, 342, 0, 0, - 341, 342, 343, 340, 343, 344, 0, 344, 343, 0, + 300, 0, 306, 305, 306, 300, 0, 301, 306, 0, + 304, 307, 309, 307, 309, 305, 0, 307, 309, 307, + 306, 308, 308, 308, 0, 0, 0, 308, 0, 307, + 309, 309, 310, 0, 310, 311, 310, 311, 310, 308, + 312, 311, 312, 331, 0, 331, 312, 0, 0, 331, + 310, 0, 0, 311, 332, 0, 332, 0, 312, 311, + 332, 331, 333, 334, 333, 334, 0, 0, 333, 334, + 0, 332, 332, 335, 0, 335, 336, 0, 336, 335, + 333, 334, 336, 337, 338, 337, 338, 335, 336, 337, + 338, 335, 0, 339, 336, 339, 0, 0, 340, 339, - 0, 344, 341, 342, 0, 345, 343, 345, 0, 345, - 343, 345, 346, 344, 346, 347, 0, 347, 346, 0, - 348, 347, 348, 345, 0, 0, 348, 348, 0, 0, - 346, 346, 0, 347, 0, 349, 0, 349, 348, 349, - 350, 349, 350, 351, 350, 351, 350, 0, 352, 351, - 352, 0, 0, 349, 352, 0, 0, 353, 350, 353, - 0, 351, 355, 353, 355, 354, 352, 354, 355, 354, - 353, 354, 0, 0, 355, 353, 356, 0, 356, 357, - 355, 357, 356, 354, 358, 357, 358, 359, 0, 359, - 358, 0, 0, 359, 356, 358, 0, 357, 360, 0, + 340, 337, 338, 341, 340, 341, 0, 0, 342, 341, + 342, 339, 339, 343, 342, 343, 340, 0, 344, 343, + 344, 341, 0, 345, 344, 345, 342, 0, 347, 345, + 347, 343, 344, 346, 347, 346, 344, 346, 348, 346, + 348, 345, 0, 349, 348, 349, 347, 347, 0, 349, + 349, 346, 0, 350, 0, 350, 348, 350, 351, 350, + 351, 349, 351, 352, 351, 352, 353, 0, 353, 352, + 0, 350, 353, 354, 0, 354, 351, 0, 0, 354, + 0, 352, 0, 355, 353, 355, 354, 355, 356, 355, + 356, 354, 0, 357, 356, 357, 358, 0, 358, 357, - 360, 0, 358, 0, 360, 359, 0, 359, 360, 361, - 0, 361, 362, 0, 362, 361, 360, 363, 362, 363, - 367, 0, 367, 363, 0, 368, 367, 361, 0, 0, - 362, 365, 363, 365, 366, 363, 366, 365, 367, 0, - 366, 365, 0, 0, 368, 0, 368, 366, 0, 365, - 368, 369, 366, 369, 370, 0, 370, 369, 0, 0, - 370, 371, 368, 371, 371, 0, 0, 371, 372, 369, - 372, 373, 370, 373, 372, 0, 374, 373, 374, 371, - 374, 0, 374, 0, 0, 0, 372, 372, 373, 373, - 375, 376, 375, 376, 374, 0, 375, 376, 377, 379, + 356, 355, 358, 0, 0, 0, 356, 359, 0, 359, + 360, 357, 360, 359, 358, 0, 360, 361, 359, 361, + 362, 0, 362, 361, 0, 359, 362, 361, 360, 0, + 360, 363, 0, 363, 366, 361, 366, 363, 362, 364, + 366, 364, 369, 0, 366, 364, 0, 0, 0, 363, + 0, 0, 366, 367, 364, 367, 368, 364, 368, 367, + 0, 369, 368, 369, 0, 0, 367, 369, 0, 0, + 370, 367, 370, 0, 368, 371, 370, 371, 0, 369, + 372, 371, 372, 372, 0, 373, 372, 373, 370, 0, + 374, 373, 374, 371, 0, 375, 374, 375, 372, 375, - 377, 378, 0, 378, 377, 377, 0, 378, 375, 376, - 0, 380, 378, 380, 0, 0, 377, 380, 379, 378, - 379, 381, 0, 381, 379, 0, 382, 381, 382, 380, - 0, 381, 382, 0, 0, 383, 379, 383, 0, 381, - 384, 383, 384, 385, 382, 385, 384, 0, 386, 385, - 386, 0, 0, 383, 386, 0, 0, 0, 384, 0, - 0, 385, 387, 385, 387, 388, 386, 388, 387, 388, - 389, 388, 389, 390, 0, 390, 389, 0, 0, 390, - 387, 0, 0, 388, 391, 390, 391, 392, 389, 392, - 391, 390, 393, 392, 393, 394, 0, 394, 393, 0, + 376, 375, 376, 373, 373, 379, 376, 374, 374, 377, + 0, 377, 0, 375, 0, 377, 377, 378, 376, 378, + 0, 0, 0, 378, 379, 0, 379, 377, 378, 0, + 379, 380, 0, 380, 381, 378, 381, 380, 0, 382, + 381, 382, 379, 0, 381, 382, 0, 0, 383, 380, + 383, 0, 381, 384, 383, 384, 385, 382, 385, 384, + 0, 386, 385, 386, 0, 0, 383, 386, 0, 0, + 0, 384, 0, 0, 385, 387, 385, 387, 388, 386, + 388, 387, 388, 389, 388, 389, 390, 0, 390, 389, + 0, 0, 390, 387, 0, 0, 388, 391, 390, 391, - 0, 394, 391, 0, 0, 392, 395, 0, 395, 397, - 393, 397, 395, 394, 398, 397, 398, 399, 398, 399, - 398, 399, 401, 399, 395, 0, 0, 397, 400, 0, - 400, 402, 398, 402, 400, 399, 0, 402, 0, 0, - 400, 401, 0, 401, 0, 0, 400, 401, 404, 402, - 404, 405, 0, 405, 404, 404, 406, 405, 406, 401, - 406, 407, 406, 407, 0, 0, 404, 407, 0, 405, - 0, 0, 0, 407, 406, 409, 408, 409, 408, 407, - 408, 409, 408, 0, 412, 410, 412, 410, 0, 0, - 412, 410, 0, 409, 408, 410, 0, 0, 413, 0, + 392, 389, 392, 391, 390, 393, 392, 393, 394, 0, + 394, 393, 0, 0, 394, 391, 0, 0, 392, 395, + 0, 395, 397, 393, 397, 395, 394, 398, 397, 398, + 399, 398, 399, 398, 399, 401, 399, 395, 0, 0, + 397, 400, 0, 400, 402, 398, 402, 400, 399, 0, + 402, 0, 0, 400, 401, 0, 401, 0, 0, 400, + 401, 404, 402, 404, 405, 0, 405, 404, 404, 406, + 405, 406, 401, 406, 407, 406, 407, 0, 0, 404, + 407, 0, 405, 0, 0, 0, 407, 406, 409, 408, + 409, 408, 407, 408, 409, 408, 0, 412, 410, 412, - 413, 412, 412, 410, 413, 414, 416, 414, 416, 0, - 0, 414, 416, 419, 0, 419, 413, 0, 0, 419, - 420, 0, 420, 414, 416, 0, 420, 421, 421, 421, - 422, 419, 422, 421, 0, 423, 422, 423, 420, 0, - 425, 423, 425, 422, 0, 421, 425, 0, 422, 429, - 430, 429, 430, 423, 0, 429, 430, 433, 425, 433, - 429, 0, 0, 433, 0, 0, 0, 429, 430, 430, - 437, 438, 437, 438, 437, 433, 437, 438, 442, 0, - 442, 0, 0, 0, 442, 0, 0, 0, 437, 438, - 0, 0, 0, 0, 0, 0, 442, 448, 448, 448, + 410, 0, 0, 412, 410, 0, 409, 408, 410, 0, + 0, 413, 0, 413, 412, 412, 410, 413, 414, 416, + 414, 416, 0, 0, 414, 416, 419, 0, 419, 413, + 0, 0, 419, 420, 0, 420, 414, 416, 0, 420, + 421, 421, 421, 422, 419, 422, 421, 0, 423, 422, + 423, 420, 0, 425, 423, 425, 422, 0, 421, 425, + 0, 422, 429, 430, 429, 430, 423, 0, 429, 430, + 433, 425, 433, 429, 0, 0, 433, 0, 0, 0, + 429, 430, 430, 437, 438, 437, 438, 437, 433, 437, + 438, 442, 0, 442, 0, 0, 0, 442, 0, 0, - 448, 448, 448, 448, 448, 448, 448, 448, 449, 0, - 449, 449, 449, 449, 449, 449, 449, 449, 449, 450, - 0, 450, 450, 450, 450, 450, 450, 450, 450, 450, - 451, 451, 451, 451, 451, 451, 451, 452, 0, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 453, 0, - 0, 0, 453, 453, 453, 453, 453, 454, 0, 0, - 0, 0, 0, 0, 454, 456, 456, 456, 456, 456, - 456, 456, 456, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 459, 459, 459, 459, 459, 459, 459, 459, - 460, 460, 0, 460, 460, 461, 461, 0, 461, 447, + 0, 437, 438, 0, 0, 0, 0, 0, 0, 442, + 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 449, 0, 449, 449, 449, 449, 449, 449, 449, + 449, 449, 450, 0, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 451, 451, 451, 451, 451, 451, 451, + 452, 0, 452, 452, 452, 452, 452, 452, 452, 452, + 452, 453, 0, 0, 0, 453, 453, 453, 453, 453, + 454, 0, 0, 0, 0, 0, 0, 454, 456, 456, + 456, 456, 456, 456, 456, 456, 457, 457, 457, 457, + 457, 457, 457, 457, 457, 459, 459, 459, 459, 459, + 459, 459, 459, 460, 460, 0, 460, 460, 461, 461, + 0, 461, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447 + 447, 447 } ; static yy_state_type yy_last_accepting_state; @@ -1179,7 +1183,7 @@ char *bxtext; #line 1 "lexer.l" #line 2 "lexer.l" ///////////////////////////////////////////////////////////////////////// -// $Id: lexer.c,v 1.38 2009-10-15 20:50:33 sshwarts Exp $ +// $Id: lexer.c,v 1.39 2009-10-29 15:49:50 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// #include @@ -1224,7 +1228,7 @@ static unsigned lex_input_size = 0; -#line 1228 "" +#line 1232 "" #define INITIAL 0 #define EXAMINE 1 @@ -1410,7 +1414,7 @@ YY_DECL #line 51 "lexer.l" -#line 1414 "" +#line 1418 "" if ( !(yy_init) ) { @@ -1469,7 +1473,7 @@ yy_match: yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 2500 ); + while ( yy_base[yy_current_state] != 2513 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1530,371 +1534,374 @@ YY_RULE_SETUP case 9: #line 61 "lexer.l" case 10: -#line 62 "lexer.l" -case 11: YY_RULE_SETUP -#line 62 "lexer.l" +#line 61 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEPN); } YY_BREAK +case 11: +#line 63 "lexer.l" case 12: #line 64 "lexer.l" case 13: -#line 65 "lexer.l" +YY_RULE_SETUP +#line 64 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEP_OVER); } + YY_BREAK case 14: YY_RULE_SETUP #line 65 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEP_OVER); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_BREAK); } YY_BREAK case 15: YY_RULE_SETUP #line 66 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_BREAK); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_VBREAKPOINT); } YY_BREAK case 16: YY_RULE_SETUP #line 67 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_VBREAKPOINT); } - YY_BREAK -case 17: -YY_RULE_SETUP -#line 68 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_LBREAKPOINT); } YY_BREAK +case 17: +#line 69 "lexer.l" case 18: #line 70 "lexer.l" case 19: -#line 71 "lexer.l" +YY_RULE_SETUP +#line 70 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PBREAKPOINT); } + YY_BREAK case 20: YY_RULE_SETUP #line 71 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PBREAKPOINT); } - YY_BREAK -case 21: -YY_RULE_SETUP -#line 72 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_INFO); } YY_BREAK +case 21: +#line 73 "lexer.l" case 22: -#line 74 "lexer.l" -case 23: YY_RULE_SETUP -#line 74 "lexer.l" +#line 73 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CONTROL_REGS); } YY_BREAK +case 23: +#line 75 "lexer.l" case 24: -#line 76 "lexer.l" +YY_RULE_SETUP +#line 75 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DEBUG_REGS); } + YY_BREAK case 25: YY_RULE_SETUP #line 76 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DEBUG_REGS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SEGMENT_REGS); } YY_BREAK case 26: YY_RULE_SETUP #line 77 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SEGMENT_REGS); } - YY_BREAK -case 27: -YY_RULE_SETUP -#line 78 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_R); } YY_BREAK +case 27: +#line 79 "lexer.l" case 28: -#line 80 "lexer.l" +YY_RULE_SETUP +#line 79 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_REGS); } + YY_BREAK case 29: YY_RULE_SETUP #line 80 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_REGS); } - YY_BREAK -case 30: -YY_RULE_SETUP -#line 81 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_FPU); } YY_BREAK +case 30: +#line 82 "lexer.l" case 31: -#line 83 "lexer.l" +YY_RULE_SETUP +#line 82 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SSE); } + YY_BREAK case 32: YY_RULE_SETUP #line 83 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SSE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_MMX); } YY_BREAK case 33: YY_RULE_SETUP #line 84 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_MMX); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CPU); } YY_BREAK case 34: YY_RULE_SETUP #line 85 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_CPU); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IDT); } YY_BREAK case 35: YY_RULE_SETUP #line 86 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IDT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IVT); } YY_BREAK case 36: YY_RULE_SETUP #line 87 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IVT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GDT); } YY_BREAK case 37: YY_RULE_SETUP #line 88 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GDT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LDT); } YY_BREAK case 38: YY_RULE_SETUP #line 89 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LDT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TSS); } YY_BREAK case 39: YY_RULE_SETUP #line 90 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TSS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TAB); } YY_BREAK case 40: YY_RULE_SETUP #line 91 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TAB); } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 92 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_LINUX); } YY_BREAK +case 41: +#line 93 "lexer.l" case 42: #line 94 "lexer.l" case 43: -#line 95 "lexer.l" +YY_RULE_SETUP +#line 94 "lexer.l" +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DEL_BREAKPOINT); } + YY_BREAK case 44: YY_RULE_SETUP #line 95 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DEL_BREAKPOINT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ENABLE_BREAKPOINT); } YY_BREAK case 45: YY_RULE_SETUP #line 96 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ENABLE_BREAKPOINT); } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 97 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISABLE_BREAKPOINT); } YY_BREAK +case 46: +#line 98 "lexer.l" case 47: #line 99 "lexer.l" case 48: -#line 100 "lexer.l" -case 49: YY_RULE_SETUP -#line 100 "lexer.l" +#line 99 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_QUIT); } YY_BREAK +case 49: +#line 101 "lexer.l" case 50: -#line 102 "lexer.l" +YY_RULE_SETUP +#line 101 "lexer.l" +{ BEGIN(EXAMINE); bxlval.sval = strdup(bxtext); return(BX_TOKEN_EXAMINE); } + YY_BREAK case 51: YY_RULE_SETUP #line 102 "lexer.l" -{ BEGIN(EXAMINE); bxlval.sval = strdup(bxtext); return(BX_TOKEN_EXAMINE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RESTORE); } YY_BREAK case 52: YY_RULE_SETUP #line 103 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RESTORE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SETPMEM); } YY_BREAK case 53: YY_RULE_SETUP #line 104 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SETPMEM); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_QUERY); } YY_BREAK case 54: YY_RULE_SETUP #line 105 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_QUERY); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PENDING); } YY_BREAK case 55: YY_RULE_SETUP #line 106 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PENDING); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TAKE); } YY_BREAK case 56: YY_RULE_SETUP #line 107 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TAKE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DMA); } YY_BREAK case 57: YY_RULE_SETUP #line 108 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DMA); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IRQ); } YY_BREAK case 58: YY_RULE_SETUP #line 109 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_IRQ); } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 110 "lexer.l" { bxlval.sval = strdup(bxtext); return(BX_TOKEN_PIC); } YY_BREAK +case 59: +#line 111 "lexer.l" case 60: #line 112 "lexer.l" case 61: -#line 113 "lexer.l" +YY_RULE_SETUP +#line 112 "lexer.l" +{ BEGIN(DISASM); bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISASSEMBLE); } + YY_BREAK case 62: YY_RULE_SETUP #line 113 "lexer.l" -{ BEGIN(DISASM); bxlval.sval = strdup(bxtext); return(BX_TOKEN_DISASSEMBLE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_INSTRUMENT); } YY_BREAK case 63: YY_RULE_SETUP #line 114 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_INSTRUMENT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STOP); } YY_BREAK case 64: YY_RULE_SETUP #line 115 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_STOP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DOIT); } YY_BREAK case 65: YY_RULE_SETUP #line 116 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_DOIT); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACE); } YY_BREAK case 66: YY_RULE_SETUP #line 117 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREG); } YY_BREAK case 67: YY_RULE_SETUP #line 118 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREG); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEMEM); } YY_BREAK case 68: YY_RULE_SETUP #line 119 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEMEM); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SWITCH_MODE); } YY_BREAK case 69: YY_RULE_SETUP #line 120 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SWITCH_MODE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SIZE); } YY_BREAK case 70: YY_RULE_SETUP #line 121 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SIZE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PTIME); } YY_BREAK case 71: YY_RULE_SETUP #line 122 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PTIME); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP); } YY_BREAK case 72: YY_RULE_SETUP #line 123 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP_ABSOLUTE); } YY_BREAK case 73: YY_RULE_SETUP #line 124 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP_ABSOLUTE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RECORD); } YY_BREAK case 74: YY_RULE_SETUP #line 125 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_RECORD); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PLAYBACK); } YY_BREAK case 75: YY_RULE_SETUP #line 126 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PLAYBACK); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_MODEBP); } YY_BREAK case 76: YY_RULE_SETUP #line 127 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_MODEBP); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STACK); } YY_BREAK case 77: YY_RULE_SETUP #line 128 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STACK); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WATCH); } YY_BREAK case 78: YY_RULE_SETUP #line 129 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WATCH); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_UNWATCH); } YY_BREAK case 79: YY_RULE_SETUP #line 130 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_UNWATCH); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_READ); } YY_BREAK case 80: YY_RULE_SETUP #line 131 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_READ); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WRITE); } YY_BREAK case 81: YY_RULE_SETUP #line 132 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WRITE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SHOW); } YY_BREAK case 82: YY_RULE_SETUP #line 133 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SHOW); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LOAD_SYMBOLS); } YY_BREAK case 83: YY_RULE_SETUP #line 134 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LOAD_SYMBOLS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLS); } YY_BREAK case 84: YY_RULE_SETUP #line 135 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_SYMBOLS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_SYMBOLS); } YY_BREAK case 85: YY_RULE_SETUP #line 136 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_LIST_SYMBOLS); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GLOBAL); } YY_BREAK case 86: YY_RULE_SETUP #line 137 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_GLOBAL); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WHERE); } YY_BREAK case 87: YY_RULE_SETUP #line 138 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_WHERE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STRING); } YY_BREAK case 88: YY_RULE_SETUP #line 139 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PRINT_STRING); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_NE2000); } YY_BREAK case 89: YY_RULE_SETUP #line 140 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_NE2000); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PAGE); } YY_BREAK case 90: YY_RULE_SETUP #line 141 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PAGE); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_VGA); } YY_BREAK case 91: YY_RULE_SETUP #line 142 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_VGA); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PCI); } YY_BREAK case 92: YY_RULE_SETUP #line 143 "lexer.l" -{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_PCI); } +{ bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALL); } YY_BREAK case 93: YY_RULE_SETUP @@ -2441,7 +2448,7 @@ YY_RULE_SETUP #line 253 "lexer.l" ECHO; YY_BREAK -#line 2445 "" +#line 2452 "" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(EXAMINE): case YY_STATE_EOF(DISASM): diff --git a/bochs/bx_debug/lexer.l b/bochs/bx_debug/lexer.l index fd9cdee81..87159e80b 100644 --- a/bochs/bx_debug/lexer.l +++ b/bochs/bx_debug/lexer.l @@ -1,6 +1,6 @@ %{ ///////////////////////////////////////////////////////////////////////// -// $Id: lexer.l,v 1.31 2009-10-15 20:50:33 sshwarts Exp $ +// $Id: lexer.l,v 1.32 2009-10-29 15:49:50 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// #include @@ -57,7 +57,6 @@ crc { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CRC); } c | cont | continue { bxlval.sval = strdup(bxtext); return(BX_TOKEN_CONTINUE); } -stepi | step | s { bxlval.sval = strdup(bxtext); return(BX_TOKEN_STEPN); } next | @@ -141,6 +140,7 @@ ne2k|ne2000 { bxlval.sval = strdup(bxtext); return(BX_TOKEN_NE2000); } page { bxlval.sval = strdup(bxtext); return(BX_TOKEN_PAGE); } vga { bxlval.sval = strdup(bxtext); return(BX_TOKEN_VGA); } pci { bxlval.sval = strdup(bxtext); return(BX_TOKEN_PCI); } +all { bxlval.sval = strdup(bxtext); return(BX_TOKEN_ALL); } al { bxlval.uval = BX_DBG_REG8L_AL; return(BX_TOKEN_8BL_REG);} bl { bxlval.uval = BX_DBG_REG8L_BL; return(BX_TOKEN_8BL_REG);} cl { bxlval.uval = BX_DBG_REG8L_CL; return(BX_TOKEN_8BL_REG);} diff --git a/bochs/bx_debug/linux.cc b/bochs/bx_debug/linux.cc index bc2eabb3a..501f130cd 100644 --- a/bochs/bx_debug/linux.cc +++ b/bochs/bx_debug/linux.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: linux.cc,v 1.10 2009-01-30 21:47:42 sshwarts Exp $ +// $Id: linux.cc,v 1.11 2009-10-29 15:49:50 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // #include @@ -16,15 +16,15 @@ #define KERNEL_CS 0x10 #define USER_CS 0x18 -void bx_dbg_info_linux_command (void) +void bx_dbg_info_linux_command(void) { BX_INFO (("Info linux")); bx_dbg_sreg_t cs; - Bit32u cr0 = BX_CPU(dbg_cpu)->dbg_get_reg(BX_DBG_REG_CR0); BX_CPU(dbg_cpu)->dbg_get_sreg(&cs, BX_DBG_SREG_CS); + int cpu_mode = BX_CPU(dbg_cpu)->get_cpu_mode(); int mode; - if (cr0 & 1) { + if (cpu_mode >= BX_MODE_IA32_PROTECTED) { // protected mode if (cs.sel == KERNEL_CS) { mode = 'k'; @@ -79,7 +79,7 @@ const char *syscall_names_t::get_name(int n) syscall_names_t syscall_names; -void bx_dbg_linux_syscall (unsigned which_cpu) +void bx_dbg_linux_syscall(unsigned which_cpu) { Bit32u eax = BX_CPU(which_cpu)->get_reg32(BX_32BIT_REG_EAX); const char *name = syscall_names.get_name(eax); diff --git a/bochs/bx_debug/parser.c b/bochs/bx_debug/parser.c index b07f602e4..8fbad7496 100644 --- a/bochs/bx_debug/parser.c +++ b/bochs/bx_debug/parser.c @@ -115,67 +115,68 @@ BX_TOKEN_LDT = 296, BX_TOKEN_TSS = 297, BX_TOKEN_TAB = 298, - BX_TOKEN_LINUX = 299, - BX_TOKEN_DEBUG_REGS = 300, - BX_TOKEN_CONTROL_REGS = 301, - BX_TOKEN_SEGMENT_REGS = 302, - BX_TOKEN_EXAMINE = 303, - BX_TOKEN_XFORMAT = 304, - BX_TOKEN_DISFORMAT = 305, - BX_TOKEN_RESTORE = 306, - BX_TOKEN_SETPMEM = 307, - BX_TOKEN_SYMBOLNAME = 308, - BX_TOKEN_QUERY = 309, - BX_TOKEN_PENDING = 310, - BX_TOKEN_TAKE = 311, - BX_TOKEN_DMA = 312, - BX_TOKEN_IRQ = 313, - BX_TOKEN_DISASSEMBLE = 314, - BX_TOKEN_INSTRUMENT = 315, - BX_TOKEN_STRING = 316, - BX_TOKEN_STOP = 317, - BX_TOKEN_DOIT = 318, - BX_TOKEN_CRC = 319, - BX_TOKEN_TRACE = 320, - BX_TOKEN_TRACEREG = 321, - BX_TOKEN_TRACEMEM = 322, - BX_TOKEN_SWITCH_MODE = 323, - BX_TOKEN_SIZE = 324, - BX_TOKEN_PTIME = 325, - BX_TOKEN_TIMEBP_ABSOLUTE = 326, - BX_TOKEN_TIMEBP = 327, - BX_TOKEN_RECORD = 328, - BX_TOKEN_PLAYBACK = 329, - BX_TOKEN_MODEBP = 330, - BX_TOKEN_PRINT_STACK = 331, - BX_TOKEN_WATCH = 332, - BX_TOKEN_UNWATCH = 333, - BX_TOKEN_READ = 334, - BX_TOKEN_WRITE = 335, - BX_TOKEN_SHOW = 336, - BX_TOKEN_LOAD_SYMBOLS = 337, - BX_TOKEN_SYMBOLS = 338, - BX_TOKEN_LIST_SYMBOLS = 339, - BX_TOKEN_GLOBAL = 340, - BX_TOKEN_WHERE = 341, - BX_TOKEN_PRINT_STRING = 342, - BX_TOKEN_NUMERIC = 343, - BX_TOKEN_NE2000 = 344, - BX_TOKEN_PIC = 345, - BX_TOKEN_PAGE = 346, - BX_TOKEN_HELP = 347, - BX_TOKEN_CALC = 348, - BX_TOKEN_VGA = 349, - BX_TOKEN_PCI = 350, - BX_TOKEN_COMMAND = 351, - BX_TOKEN_GENERIC = 352, - BX_TOKEN_RSHIFT = 353, - BX_TOKEN_LSHIFT = 354, - BX_TOKEN_REG_IP = 355, - BX_TOKEN_REG_EIP = 356, - BX_TOKEN_REG_RIP = 357, - NEG = 358, - NOT = 359 + BX_TOKEN_ALL = 299, + BX_TOKEN_LINUX = 300, + BX_TOKEN_DEBUG_REGS = 301, + BX_TOKEN_CONTROL_REGS = 302, + BX_TOKEN_SEGMENT_REGS = 303, + BX_TOKEN_EXAMINE = 304, + BX_TOKEN_XFORMAT = 305, + BX_TOKEN_DISFORMAT = 306, + BX_TOKEN_RESTORE = 307, + BX_TOKEN_SETPMEM = 308, + BX_TOKEN_SYMBOLNAME = 309, + BX_TOKEN_QUERY = 310, + BX_TOKEN_PENDING = 311, + BX_TOKEN_TAKE = 312, + BX_TOKEN_DMA = 313, + BX_TOKEN_IRQ = 314, + BX_TOKEN_DISASSEMBLE = 315, + BX_TOKEN_INSTRUMENT = 316, + BX_TOKEN_STRING = 317, + BX_TOKEN_STOP = 318, + BX_TOKEN_DOIT = 319, + BX_TOKEN_CRC = 320, + BX_TOKEN_TRACE = 321, + BX_TOKEN_TRACEREG = 322, + BX_TOKEN_TRACEMEM = 323, + BX_TOKEN_SWITCH_MODE = 324, + BX_TOKEN_SIZE = 325, + BX_TOKEN_PTIME = 326, + BX_TOKEN_TIMEBP_ABSOLUTE = 327, + BX_TOKEN_TIMEBP = 328, + BX_TOKEN_RECORD = 329, + BX_TOKEN_PLAYBACK = 330, + BX_TOKEN_MODEBP = 331, + BX_TOKEN_PRINT_STACK = 332, + BX_TOKEN_WATCH = 333, + BX_TOKEN_UNWATCH = 334, + BX_TOKEN_READ = 335, + BX_TOKEN_WRITE = 336, + BX_TOKEN_SHOW = 337, + BX_TOKEN_LOAD_SYMBOLS = 338, + BX_TOKEN_SYMBOLS = 339, + BX_TOKEN_LIST_SYMBOLS = 340, + BX_TOKEN_GLOBAL = 341, + BX_TOKEN_WHERE = 342, + BX_TOKEN_PRINT_STRING = 343, + BX_TOKEN_NUMERIC = 344, + BX_TOKEN_NE2000 = 345, + BX_TOKEN_PIC = 346, + BX_TOKEN_PAGE = 347, + BX_TOKEN_HELP = 348, + BX_TOKEN_CALC = 349, + BX_TOKEN_VGA = 350, + BX_TOKEN_PCI = 351, + BX_TOKEN_COMMAND = 352, + BX_TOKEN_GENERIC = 353, + BX_TOKEN_RSHIFT = 354, + BX_TOKEN_LSHIFT = 355, + BX_TOKEN_REG_IP = 356, + BX_TOKEN_REG_EIP = 357, + BX_TOKEN_REG_RIP = 358, + NEG = 359, + NOT = 360 }; #endif /* Tokens. */ @@ -220,67 +221,68 @@ #define BX_TOKEN_LDT 296 #define BX_TOKEN_TSS 297 #define BX_TOKEN_TAB 298 -#define BX_TOKEN_LINUX 299 -#define BX_TOKEN_DEBUG_REGS 300 -#define BX_TOKEN_CONTROL_REGS 301 -#define BX_TOKEN_SEGMENT_REGS 302 -#define BX_TOKEN_EXAMINE 303 -#define BX_TOKEN_XFORMAT 304 -#define BX_TOKEN_DISFORMAT 305 -#define BX_TOKEN_RESTORE 306 -#define BX_TOKEN_SETPMEM 307 -#define BX_TOKEN_SYMBOLNAME 308 -#define BX_TOKEN_QUERY 309 -#define BX_TOKEN_PENDING 310 -#define BX_TOKEN_TAKE 311 -#define BX_TOKEN_DMA 312 -#define BX_TOKEN_IRQ 313 -#define BX_TOKEN_DISASSEMBLE 314 -#define BX_TOKEN_INSTRUMENT 315 -#define BX_TOKEN_STRING 316 -#define BX_TOKEN_STOP 317 -#define BX_TOKEN_DOIT 318 -#define BX_TOKEN_CRC 319 -#define BX_TOKEN_TRACE 320 -#define BX_TOKEN_TRACEREG 321 -#define BX_TOKEN_TRACEMEM 322 -#define BX_TOKEN_SWITCH_MODE 323 -#define BX_TOKEN_SIZE 324 -#define BX_TOKEN_PTIME 325 -#define BX_TOKEN_TIMEBP_ABSOLUTE 326 -#define BX_TOKEN_TIMEBP 327 -#define BX_TOKEN_RECORD 328 -#define BX_TOKEN_PLAYBACK 329 -#define BX_TOKEN_MODEBP 330 -#define BX_TOKEN_PRINT_STACK 331 -#define BX_TOKEN_WATCH 332 -#define BX_TOKEN_UNWATCH 333 -#define BX_TOKEN_READ 334 -#define BX_TOKEN_WRITE 335 -#define BX_TOKEN_SHOW 336 -#define BX_TOKEN_LOAD_SYMBOLS 337 -#define BX_TOKEN_SYMBOLS 338 -#define BX_TOKEN_LIST_SYMBOLS 339 -#define BX_TOKEN_GLOBAL 340 -#define BX_TOKEN_WHERE 341 -#define BX_TOKEN_PRINT_STRING 342 -#define BX_TOKEN_NUMERIC 343 -#define BX_TOKEN_NE2000 344 -#define BX_TOKEN_PIC 345 -#define BX_TOKEN_PAGE 346 -#define BX_TOKEN_HELP 347 -#define BX_TOKEN_CALC 348 -#define BX_TOKEN_VGA 349 -#define BX_TOKEN_PCI 350 -#define BX_TOKEN_COMMAND 351 -#define BX_TOKEN_GENERIC 352 -#define BX_TOKEN_RSHIFT 353 -#define BX_TOKEN_LSHIFT 354 -#define BX_TOKEN_REG_IP 355 -#define BX_TOKEN_REG_EIP 356 -#define BX_TOKEN_REG_RIP 357 -#define NEG 358 -#define NOT 359 +#define BX_TOKEN_ALL 299 +#define BX_TOKEN_LINUX 300 +#define BX_TOKEN_DEBUG_REGS 301 +#define BX_TOKEN_CONTROL_REGS 302 +#define BX_TOKEN_SEGMENT_REGS 303 +#define BX_TOKEN_EXAMINE 304 +#define BX_TOKEN_XFORMAT 305 +#define BX_TOKEN_DISFORMAT 306 +#define BX_TOKEN_RESTORE 307 +#define BX_TOKEN_SETPMEM 308 +#define BX_TOKEN_SYMBOLNAME 309 +#define BX_TOKEN_QUERY 310 +#define BX_TOKEN_PENDING 311 +#define BX_TOKEN_TAKE 312 +#define BX_TOKEN_DMA 313 +#define BX_TOKEN_IRQ 314 +#define BX_TOKEN_DISASSEMBLE 315 +#define BX_TOKEN_INSTRUMENT 316 +#define BX_TOKEN_STRING 317 +#define BX_TOKEN_STOP 318 +#define BX_TOKEN_DOIT 319 +#define BX_TOKEN_CRC 320 +#define BX_TOKEN_TRACE 321 +#define BX_TOKEN_TRACEREG 322 +#define BX_TOKEN_TRACEMEM 323 +#define BX_TOKEN_SWITCH_MODE 324 +#define BX_TOKEN_SIZE 325 +#define BX_TOKEN_PTIME 326 +#define BX_TOKEN_TIMEBP_ABSOLUTE 327 +#define BX_TOKEN_TIMEBP 328 +#define BX_TOKEN_RECORD 329 +#define BX_TOKEN_PLAYBACK 330 +#define BX_TOKEN_MODEBP 331 +#define BX_TOKEN_PRINT_STACK 332 +#define BX_TOKEN_WATCH 333 +#define BX_TOKEN_UNWATCH 334 +#define BX_TOKEN_READ 335 +#define BX_TOKEN_WRITE 336 +#define BX_TOKEN_SHOW 337 +#define BX_TOKEN_LOAD_SYMBOLS 338 +#define BX_TOKEN_SYMBOLS 339 +#define BX_TOKEN_LIST_SYMBOLS 340 +#define BX_TOKEN_GLOBAL 341 +#define BX_TOKEN_WHERE 342 +#define BX_TOKEN_PRINT_STRING 343 +#define BX_TOKEN_NUMERIC 344 +#define BX_TOKEN_NE2000 345 +#define BX_TOKEN_PIC 346 +#define BX_TOKEN_PAGE 347 +#define BX_TOKEN_HELP 348 +#define BX_TOKEN_CALC 349 +#define BX_TOKEN_VGA 350 +#define BX_TOKEN_PCI 351 +#define BX_TOKEN_COMMAND 352 +#define BX_TOKEN_GENERIC 353 +#define BX_TOKEN_RSHIFT 354 +#define BX_TOKEN_LSHIFT 355 +#define BX_TOKEN_REG_IP 356 +#define BX_TOKEN_REG_EIP 357 +#define BX_TOKEN_REG_RIP 358 +#define NEG 359 +#define NOT 360 @@ -322,7 +324,7 @@ typedef union YYSTYPE bx_bool bval; } /* Line 187 of yacc.c. */ -#line 326 "y.tab.c" +#line 328 "y.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -335,7 +337,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 339 "y.tab.c" +#line 341 "y.tab.c" #ifdef short # undef short @@ -548,22 +550,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 271 +#define YYFINAL 272 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1174 +#define YYLAST 1223 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 118 +#define YYNTOKENS 119 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 54 /* YYNRULES -- Number of rules. */ -#define YYNRULES 255 +#define YYNRULES 257 /* YYNRULES -- Number of states. */ -#define YYNSTATES 490 +#define YYNSTATES 495 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 359 +#define YYMAXUTOK 360 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -572,20 +574,20 @@ union yyalloc static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 112, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 113, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 115, 2, 2, 2, 2, 109, 2, - 116, 117, 107, 103, 2, 104, 2, 108, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 114, 2, - 2, 113, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 116, 2, 2, 2, 2, 110, 2, + 117, 118, 108, 104, 2, 105, 2, 109, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 115, 2, + 2, 114, 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, 107, 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, 106, 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, 105, 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, @@ -606,7 +608,8 @@ static const yytype_uint8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 110, 111 + 95, 96, 97, 98, 99, 100, 101, 102, 103, 111, + 112 }; #if YYDEBUG @@ -623,147 +626,148 @@ static const yytype_uint16 yyprhs[] = 119, 121, 125, 129, 133, 137, 140, 144, 148, 151, 155, 158, 162, 166, 170, 173, 177, 181, 185, 188, 193, 198, 203, 206, 210, 214, 219, 224, 230, 233, - 237, 240, 243, 247, 250, 255, 261, 267, 273, 279, - 285, 291, 294, 300, 303, 307, 311, 314, 318, 323, - 326, 329, 333, 337, 341, 347, 353, 359, 365, 369, - 373, 377, 381, 385, 390, 394, 400, 408, 412, 416, - 420, 421, 423, 426, 429, 432, 435, 438, 441, 444, - 448, 452, 456, 459, 464, 468, 472, 475, 480, 486, - 490, 494, 499, 503, 506, 510, 515, 519, 524, 530, - 534, 540, 544, 548, 552, 557, 561, 565, 569, 573, - 577, 581, 585, 589, 593, 597, 601, 605, 609, 613, - 617, 621, 625, 629, 633, 637, 641, 645, 649, 653, - 657, 661, 665, 669, 673, 677, 681, 685, 689, 693, - 697, 701, 705, 709, 713, 717, 721, 725, 729, 732, - 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, - 756, 760, 764, 768, 772, 776, 780, 784, 788, 792, - 795, 798, 802, 804, 806, 808, 810, 812, 814, 816, - 818, 820, 822, 824, 828, 832, 836, 840, 844, 848, - 852, 856, 860, 864, 867, 870 + 237, 240, 243, 247, 252, 257, 260, 265, 271, 277, + 283, 289, 295, 301, 304, 310, 313, 317, 321, 324, + 328, 333, 336, 339, 343, 347, 351, 357, 363, 369, + 375, 379, 383, 387, 391, 395, 400, 404, 410, 418, + 422, 426, 430, 431, 433, 436, 439, 442, 445, 448, + 451, 454, 458, 462, 466, 469, 474, 478, 482, 485, + 490, 496, 500, 504, 509, 513, 516, 520, 525, 529, + 534, 540, 544, 550, 554, 558, 562, 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, 691, 695, + 699, 703, 707, 711, 715, 719, 723, 727, 731, 735, + 739, 742, 746, 748, 750, 752, 754, 756, 758, 760, + 762, 764, 766, 770, 774, 778, 782, 786, 790, 794, + 798, 802, 805, 808, 812, 814, 816, 818, 820, 822, + 824, 826, 828, 830, 832, 834, 838, 842, 846, 850, + 854, 858, 862, 866, 870, 874, 877, 880 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 119, 0, -1, 119, 120, -1, 120, -1, 139, -1, - 140, -1, 141, -1, 142, -1, 143, -1, 146, -1, - 148, -1, 149, -1, 150, -1, 151, -1, 152, -1, - 154, -1, 153, -1, 144, -1, 145, -1, 155, -1, - 156, -1, 157, -1, 158, -1, 159, -1, 160, -1, - 161, -1, 162, -1, 163, -1, 164, -1, 165, -1, - 166, -1, 167, -1, 131, -1, 132, -1, 133, -1, - 130, -1, 124, -1, 125, -1, 126, -1, 127, -1, - 134, -1, 135, -1, 129, -1, 128, -1, 136, -1, - 137, -1, 138, -1, 168, -1, 169, -1, -1, 112, + 120, 0, -1, 120, 121, -1, 121, -1, 140, -1, + 141, -1, 142, -1, 143, -1, 144, -1, 147, -1, + 149, -1, 150, -1, 151, -1, 152, -1, 153, -1, + 155, -1, 154, -1, 145, -1, 146, -1, 156, -1, + 157, -1, 158, -1, 159, -1, 160, -1, 161, -1, + 162, -1, 163, -1, 164, -1, 165, -1, 166, -1, + 167, -1, 168, -1, 132, -1, 133, -1, 134, -1, + 131, -1, 125, -1, 126, -1, 127, -1, 128, -1, + 135, -1, 136, -1, 130, -1, 129, -1, 137, -1, + 138, -1, 139, -1, 169, -1, 170, -1, -1, 113, -1, 15, -1, 16, -1, 32, -1, 33, -1, 8, -1, 9, -1, 10, -1, 11, -1, 12, -1, 13, - -1, 72, 88, 112, -1, 71, 88, 112, -1, 73, - 61, 112, -1, 74, 61, 112, -1, 75, 112, -1, - 81, 96, 112, -1, 81, 61, 112, -1, 81, 112, - -1, 91, 171, 112, -1, 70, 112, -1, 65, 121, - 112, -1, 66, 121, 112, -1, 67, 121, 112, -1, - 76, 112, -1, 76, 88, 112, -1, 77, 62, 112, - -1, 77, 17, 112, -1, 77, 112, -1, 77, 32, - 171, 112, -1, 77, 79, 171, 112, -1, 77, 80, - 171, 112, -1, 78, 112, -1, 78, 171, 112, -1, - 82, 61, 112, -1, 82, 61, 88, 112, -1, 82, - 85, 61, 112, -1, 82, 85, 61, 88, 112, -1, - 86, 112, -1, 87, 88, 112, -1, 17, 112, -1, - 18, 112, -1, 18, 88, 112, -1, 19, 112, -1, - 21, 59, 121, 112, -1, 21, 53, 113, 88, 112, - -1, 21, 4, 113, 171, 112, -1, 21, 3, 113, - 171, 112, -1, 21, 5, 113, 171, 112, -1, 21, - 6, 113, 171, 112, -1, 21, 7, 113, 171, 112, - -1, 24, 112, -1, 24, 170, 114, 170, 112, -1, - 25, 112, -1, 25, 171, 112, -1, 25, 61, 112, - -1, 26, 112, -1, 26, 171, 112, -1, 26, 107, - 171, 112, -1, 23, 112, -1, 84, 112, -1, 84, - 61, 112, -1, 30, 26, 112, -1, 30, 34, 112, - -1, 30, 38, 147, 147, 112, -1, 30, 39, 147, - 147, 112, -1, 30, 40, 147, 147, 112, -1, 30, - 41, 147, 147, 112, -1, 30, 43, 112, -1, 30, - 42, 112, -1, 30, 14, 112, -1, 30, 44, 112, - -1, 30, 83, 112, -1, 30, 83, 61, 112, -1, - 30, 89, 112, -1, 30, 89, 91, 88, 112, -1, - 30, 89, 91, 88, 122, 88, 112, -1, 30, 90, - 112, -1, 30, 94, 112, -1, 30, 95, 112, -1, - -1, 88, -1, 122, 112, -1, 35, 112, -1, 37, - 112, -1, 36, 112, -1, 47, 112, -1, 46, 112, - -1, 45, 112, -1, 27, 88, 112, -1, 28, 88, - 112, -1, 29, 88, 112, -1, 31, 112, -1, 48, - 49, 171, 112, -1, 48, 49, 112, -1, 48, 171, - 112, -1, 48, 112, -1, 51, 61, 61, 112, -1, - 52, 88, 88, 88, 112, -1, 54, 55, 112, -1, - 56, 57, 112, -1, 56, 57, 88, 112, -1, 56, - 58, 112, -1, 59, 112, -1, 59, 171, 112, -1, - 59, 171, 171, 112, -1, 59, 50, 112, -1, 59, - 50, 171, 112, -1, 59, 50, 171, 171, 112, -1, - 59, 68, 112, -1, 59, 69, 113, 88, 112, -1, - 60, 62, 112, -1, 60, 96, 112, -1, 63, 88, - 112, -1, 64, 88, 88, 112, -1, 92, 31, 112, - -1, 92, 17, 112, -1, 92, 18, 112, -1, 92, - 19, 112, -1, 92, 24, 112, -1, 92, 25, 112, - -1, 92, 26, 112, -1, 92, 27, 112, -1, 92, - 28, 112, -1, 92, 29, 112, -1, 92, 23, 112, - -1, 92, 75, 112, -1, 92, 64, 112, -1, 92, - 65, 112, -1, 92, 66, 112, -1, 92, 67, 112, - -1, 92, 51, 112, -1, 92, 70, 112, -1, 92, - 72, 112, -1, 92, 71, 112, -1, 92, 76, 112, - -1, 92, 73, 112, -1, 92, 74, 112, -1, 92, - 82, 112, -1, 92, 84, 112, -1, 92, 122, 112, - -1, 92, 35, 112, -1, 92, 37, 112, -1, 92, - 36, 112, -1, 92, 47, 112, -1, 92, 46, 112, - -1, 92, 52, 112, -1, 92, 59, 112, -1, 92, - 77, 112, -1, 92, 78, 112, -1, 92, 48, 112, - -1, 92, 60, 112, -1, 92, 21, 112, -1, 92, - 91, 112, -1, 92, 30, 112, -1, 92, 81, 112, - -1, 92, 93, 112, -1, 92, 92, 112, -1, 92, - 112, -1, 93, 171, 112, -1, 88, -1, 4, -1, - 3, -1, 5, -1, 6, -1, 7, -1, 123, -1, - 100, -1, 101, -1, 102, -1, 170, 103, 170, -1, - 170, 104, 170, -1, 170, 107, 170, -1, 170, 108, - 170, -1, 170, 98, 170, -1, 170, 99, 170, -1, - 170, 105, 170, -1, 170, 106, 170, -1, 170, 109, - 170, -1, 115, 170, -1, 104, 170, -1, 116, 170, - 117, -1, 88, -1, 61, -1, 4, -1, 3, -1, - 5, -1, 6, -1, 7, -1, 123, -1, 100, -1, - 101, -1, 102, -1, 171, 114, 171, -1, 171, 103, - 171, -1, 171, 104, 171, -1, 171, 107, 171, -1, - 171, 108, 171, -1, 171, 98, 171, -1, 171, 99, - 171, -1, 171, 105, 171, -1, 171, 106, 171, -1, - 171, 109, 171, -1, 115, 171, -1, 104, 171, -1, - 116, 171, 117, -1 + -1, 73, 89, 113, -1, 72, 89, 113, -1, 74, + 62, 113, -1, 75, 62, 113, -1, 76, 113, -1, + 82, 97, 113, -1, 82, 62, 113, -1, 82, 113, + -1, 92, 172, 113, -1, 71, 113, -1, 66, 122, + 113, -1, 67, 122, 113, -1, 68, 122, 113, -1, + 77, 113, -1, 77, 89, 113, -1, 78, 63, 113, + -1, 78, 17, 113, -1, 78, 113, -1, 78, 32, + 172, 113, -1, 78, 80, 172, 113, -1, 78, 81, + 172, 113, -1, 79, 113, -1, 79, 172, 113, -1, + 83, 62, 113, -1, 83, 62, 89, 113, -1, 83, + 86, 62, 113, -1, 83, 86, 62, 89, 113, -1, + 87, 113, -1, 88, 89, 113, -1, 17, 113, -1, + 18, 113, -1, 18, 89, 113, -1, 18, 44, 89, + 113, -1, 18, 89, 89, 113, -1, 19, 113, -1, + 21, 60, 122, 113, -1, 21, 54, 114, 89, 113, + -1, 21, 4, 114, 172, 113, -1, 21, 3, 114, + 172, 113, -1, 21, 5, 114, 172, 113, -1, 21, + 6, 114, 172, 113, -1, 21, 7, 114, 172, 113, + -1, 24, 113, -1, 24, 171, 115, 171, 113, -1, + 25, 113, -1, 25, 172, 113, -1, 25, 62, 113, + -1, 26, 113, -1, 26, 172, 113, -1, 26, 108, + 172, 113, -1, 23, 113, -1, 85, 113, -1, 85, + 62, 113, -1, 30, 26, 113, -1, 30, 34, 113, + -1, 30, 38, 148, 148, 113, -1, 30, 39, 148, + 148, 113, -1, 30, 40, 148, 148, 113, -1, 30, + 41, 148, 148, 113, -1, 30, 43, 113, -1, 30, + 42, 113, -1, 30, 14, 113, -1, 30, 45, 113, + -1, 30, 84, 113, -1, 30, 84, 62, 113, -1, + 30, 90, 113, -1, 30, 90, 92, 89, 113, -1, + 30, 90, 92, 89, 123, 89, 113, -1, 30, 91, + 113, -1, 30, 95, 113, -1, 30, 96, 113, -1, + -1, 89, -1, 123, 113, -1, 35, 113, -1, 37, + 113, -1, 36, 113, -1, 48, 113, -1, 47, 113, + -1, 46, 113, -1, 27, 89, 113, -1, 28, 89, + 113, -1, 29, 89, 113, -1, 31, 113, -1, 49, + 50, 172, 113, -1, 49, 50, 113, -1, 49, 172, + 113, -1, 49, 113, -1, 52, 62, 62, 113, -1, + 53, 89, 89, 89, 113, -1, 55, 56, 113, -1, + 57, 58, 113, -1, 57, 58, 89, 113, -1, 57, + 59, 113, -1, 60, 113, -1, 60, 172, 113, -1, + 60, 172, 172, 113, -1, 60, 51, 113, -1, 60, + 51, 172, 113, -1, 60, 51, 172, 172, 113, -1, + 60, 69, 113, -1, 60, 70, 114, 89, 113, -1, + 61, 63, 113, -1, 61, 97, 113, -1, 64, 89, + 113, -1, 65, 89, 89, 113, -1, 93, 31, 113, + -1, 93, 17, 113, -1, 93, 18, 113, -1, 93, + 19, 113, -1, 93, 24, 113, -1, 93, 25, 113, + -1, 93, 26, 113, -1, 93, 27, 113, -1, 93, + 28, 113, -1, 93, 29, 113, -1, 93, 23, 113, + -1, 93, 76, 113, -1, 93, 65, 113, -1, 93, + 66, 113, -1, 93, 67, 113, -1, 93, 68, 113, + -1, 93, 52, 113, -1, 93, 71, 113, -1, 93, + 73, 113, -1, 93, 72, 113, -1, 93, 77, 113, + -1, 93, 74, 113, -1, 93, 75, 113, -1, 93, + 83, 113, -1, 93, 85, 113, -1, 93, 123, 113, + -1, 93, 35, 113, -1, 93, 37, 113, -1, 93, + 36, 113, -1, 93, 48, 113, -1, 93, 47, 113, + -1, 93, 53, 113, -1, 93, 60, 113, -1, 93, + 78, 113, -1, 93, 79, 113, -1, 93, 49, 113, + -1, 93, 61, 113, -1, 93, 21, 113, -1, 93, + 92, 113, -1, 93, 30, 113, -1, 93, 82, 113, + -1, 93, 94, 113, -1, 93, 93, 113, -1, 93, + 113, -1, 94, 172, 113, -1, 89, -1, 4, -1, + 3, -1, 5, -1, 6, -1, 7, -1, 124, -1, + 101, -1, 102, -1, 103, -1, 171, 104, 171, -1, + 171, 105, 171, -1, 171, 108, 171, -1, 171, 109, + 171, -1, 171, 99, 171, -1, 171, 100, 171, -1, + 171, 106, 171, -1, 171, 107, 171, -1, 171, 110, + 171, -1, 116, 171, -1, 105, 171, -1, 117, 171, + 118, -1, 89, -1, 62, -1, 4, -1, 3, -1, + 5, -1, 6, -1, 7, -1, 124, -1, 101, -1, + 102, -1, 103, -1, 172, 115, 172, -1, 172, 104, + 172, -1, 172, 105, 172, -1, 172, 108, 172, -1, + 172, 109, 172, -1, 172, 99, 172, -1, 172, 100, + 172, -1, 172, 106, 172, -1, 172, 107, 172, -1, + 172, 110, 172, -1, 116, 172, -1, 105, 172, -1, + 117, 172, 118, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 137, 137, 138, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 194, 195, 200, 201, 206, 207, 208, 209, 210, - 211, 216, 221, 229, 237, 245, 253, 258, 263, 271, - 279, 287, 295, 303, 311, 316, 324, 330, 336, 341, - 346, 351, 356, 361, 369, 374, 379, 384, 392, 400, - 408, 416, 421, 429, 437, 442, 447, 451, 455, 459, - 463, 470, 475, 480, 485, 490, 495, 500, 505, 513, - 521, 526, 534, 539, 544, 549, 554, 559, 564, 569, - 574, 579, 584, 589, 594, 599, 604, 609, 614, 619, - 627, 628, 631, 639, 647, 655, 663, 671, 679, 687, - 695, 702, 710, 718, 723, 728, 733, 741, 749, 757, - 765, 770, 775, 783, 788, 793, 798, 803, 808, 813, - 818, 826, 831, 839, 847, 855, 860, 865, 870, 875, - 880, 885, 890, 895, 900, 905, 910, 915, 920, 926, - 932, 938, 946, 951, 956, 961, 966, 971, 976, 981, - 986, 991, 996, 1001, 1006, 1011, 1016, 1021, 1030, 1039, - 1045, 1058, 1066, 1076, 1081, 1097, 1109, 1119, 1124, 1132, - 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1170, 1171, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, - 1194, 1195, 1196, 1197, 1198, 1199 + 0, 138, 138, 139, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 195, 196, 201, 202, 207, 208, 209, 210, 211, + 212, 217, 222, 230, 238, 246, 254, 259, 264, 272, + 280, 288, 296, 304, 312, 317, 325, 331, 337, 342, + 347, 352, 357, 362, 370, 375, 380, 385, 393, 401, + 409, 417, 422, 427, 432, 440, 448, 453, 458, 462, + 466, 470, 474, 481, 486, 491, 496, 501, 506, 511, + 516, 524, 532, 537, 545, 550, 555, 560, 565, 570, + 575, 580, 585, 590, 595, 600, 605, 610, 615, 620, + 625, 630, 638, 639, 642, 650, 658, 666, 674, 682, + 690, 698, 706, 713, 721, 729, 734, 739, 744, 752, + 760, 768, 776, 781, 786, 794, 799, 804, 809, 814, + 819, 824, 829, 837, 842, 850, 858, 866, 871, 876, + 883, 888, 893, 898, 903, 908, 913, 918, 923, 928, + 933, 939, 945, 951, 959, 964, 969, 974, 979, 984, + 989, 994, 999, 1004, 1009, 1014, 1019, 1024, 1029, 1034, + 1043, 1052, 1058, 1071, 1079, 1089, 1094, 1110, 1122, 1132, + 1137, 1145, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, + 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, + 1181, 1182, 1183, 1184, 1189, 1190, 1191, 1192, 1193, 1194, + 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, + 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212 }; #endif @@ -785,18 +789,18 @@ static const char *const yytname[] = "BX_TOKEN_R", "BX_TOKEN_REGS", "BX_TOKEN_CPU", "BX_TOKEN_FPU", "BX_TOKEN_SSE", "BX_TOKEN_MMX", "BX_TOKEN_IDT", "BX_TOKEN_IVT", "BX_TOKEN_GDT", "BX_TOKEN_LDT", "BX_TOKEN_TSS", "BX_TOKEN_TAB", - "BX_TOKEN_LINUX", "BX_TOKEN_DEBUG_REGS", "BX_TOKEN_CONTROL_REGS", - "BX_TOKEN_SEGMENT_REGS", "BX_TOKEN_EXAMINE", "BX_TOKEN_XFORMAT", - "BX_TOKEN_DISFORMAT", "BX_TOKEN_RESTORE", "BX_TOKEN_SETPMEM", - "BX_TOKEN_SYMBOLNAME", "BX_TOKEN_QUERY", "BX_TOKEN_PENDING", - "BX_TOKEN_TAKE", "BX_TOKEN_DMA", "BX_TOKEN_IRQ", "BX_TOKEN_DISASSEMBLE", - "BX_TOKEN_INSTRUMENT", "BX_TOKEN_STRING", "BX_TOKEN_STOP", - "BX_TOKEN_DOIT", "BX_TOKEN_CRC", "BX_TOKEN_TRACE", "BX_TOKEN_TRACEREG", - "BX_TOKEN_TRACEMEM", "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_ALL", "BX_TOKEN_LINUX", "BX_TOKEN_DEBUG_REGS", + "BX_TOKEN_CONTROL_REGS", "BX_TOKEN_SEGMENT_REGS", "BX_TOKEN_EXAMINE", + "BX_TOKEN_XFORMAT", "BX_TOKEN_DISFORMAT", "BX_TOKEN_RESTORE", + "BX_TOKEN_SETPMEM", "BX_TOKEN_SYMBOLNAME", "BX_TOKEN_QUERY", + "BX_TOKEN_PENDING", "BX_TOKEN_TAKE", "BX_TOKEN_DMA", "BX_TOKEN_IRQ", + "BX_TOKEN_DISASSEMBLE", "BX_TOKEN_INSTRUMENT", "BX_TOKEN_STRING", + "BX_TOKEN_STOP", "BX_TOKEN_DOIT", "BX_TOKEN_CRC", "BX_TOKEN_TRACE", + "BX_TOKEN_TRACEREG", "BX_TOKEN_TRACEMEM", "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_NUMERIC", "BX_TOKEN_NE2000", "BX_TOKEN_PIC", "BX_TOKEN_PAGE", @@ -839,40 +843,40 @@ static const yytype_uint16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 43, 45, 124, 94, 42, 47, 38, - 358, 359, 10, 61, 58, 33, 40, 41 + 355, 356, 357, 358, 43, 45, 124, 94, 42, 47, + 38, 359, 360, 10, 61, 58, 33, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 118, 119, 119, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 121, 121, 122, 122, 123, 123, 123, 123, 123, - 123, 124, 124, 125, 126, 127, 128, 128, 128, 129, - 130, 131, 132, 133, 134, 134, 135, 135, 135, 135, - 135, 135, 135, 135, 136, 136, 136, 136, 137, 138, - 139, 140, 140, 141, 142, 142, 142, 142, 142, 142, - 142, 143, 143, 143, 143, 143, 143, 143, 143, 144, - 145, 145, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 147, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 159, 159, 159, 160, 161, 162, - 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, - 164, 165, 165, 166, 167, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 171, 171, 171, 171, 171, 171, 171, 171, + 0, 119, 120, 120, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 122, 122, 123, 123, 124, 124, 124, 124, 124, + 124, 125, 125, 126, 127, 128, 129, 129, 129, 130, + 131, 132, 133, 134, 135, 135, 136, 136, 136, 136, + 136, 136, 136, 136, 137, 137, 137, 137, 138, 139, + 140, 141, 141, 141, 141, 142, 143, 143, 143, 143, + 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, + 144, 145, 146, 146, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 148, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 160, 160, 160, 161, + 162, 163, 164, 164, 164, 165, 165, 165, 165, 165, + 165, 165, 165, 166, 166, 167, 168, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 170, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 171, 171 + 171, 171, 171, 171, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -887,29 +891,29 @@ static const yytype_uint8 yyr2[] = 1, 3, 3, 3, 3, 2, 3, 3, 2, 3, 2, 3, 3, 3, 2, 3, 3, 3, 2, 4, 4, 4, 2, 3, 3, 4, 4, 5, 2, 3, - 2, 2, 3, 2, 4, 5, 5, 5, 5, 5, - 5, 2, 5, 2, 3, 3, 2, 3, 4, 2, - 2, 3, 3, 3, 5, 5, 5, 5, 3, 3, - 3, 3, 3, 4, 3, 5, 7, 3, 3, 3, - 0, 1, 2, 2, 2, 2, 2, 2, 2, 3, - 3, 3, 2, 4, 3, 3, 2, 4, 5, 3, - 3, 4, 3, 2, 3, 4, 3, 4, 5, 3, - 5, 3, 3, 3, 4, 3, 3, 3, 3, 3, + 2, 2, 3, 4, 4, 2, 4, 5, 5, 5, + 5, 5, 5, 2, 5, 2, 3, 3, 2, 3, + 4, 2, 2, 3, 3, 3, 5, 5, 5, 5, + 3, 3, 3, 3, 3, 4, 3, 5, 7, 3, + 3, 3, 0, 1, 2, 2, 2, 2, 2, 2, + 2, 3, 3, 3, 2, 4, 3, 3, 2, 4, + 5, 3, 3, 4, 3, 2, 3, 4, 3, 4, + 5, 3, 5, 3, 3, 3, 4, 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, 3, 3, 3, 3, 3, 3, 2, 3, - 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, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 3 + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 3, 1, 1, 1, 1, 1, 1, + 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 STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ -static const yytype_uint8 yydefact[] = +static const yytype_uint16 yydefact[] = { 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, @@ -921,372 +925,384 @@ static const yytype_uint8 yydefact[] = 4, 5, 6, 7, 8, 17, 18, 9, 10, 11, 12, 13, 14, 16, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 47, 48, - 90, 0, 91, 93, 0, 0, 0, 0, 0, 0, - 0, 109, 212, 211, 213, 214, 215, 55, 56, 57, - 58, 59, 60, 210, 217, 218, 219, 0, 101, 0, - 0, 216, 0, 235, 234, 236, 237, 238, 233, 232, - 240, 241, 242, 0, 103, 0, 0, 239, 0, 233, - 0, 106, 0, 0, 0, 0, 0, 0, 0, 130, - 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, - 0, 142, 133, 135, 134, 138, 137, 136, 0, 146, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, - 0, 0, 0, 0, 0, 51, 52, 0, 0, 0, - 70, 0, 0, 0, 0, 65, 0, 74, 0, 0, - 0, 0, 0, 78, 82, 0, 0, 0, 68, 0, - 0, 0, 110, 88, 0, 0, 0, 0, 0, 0, + 90, 0, 0, 91, 95, 0, 0, 0, 0, 0, + 0, 0, 111, 214, 213, 215, 216, 217, 55, 56, + 57, 58, 59, 60, 212, 219, 220, 221, 0, 103, + 0, 0, 218, 0, 237, 236, 238, 239, 240, 235, + 234, 242, 243, 244, 0, 105, 0, 0, 241, 0, + 235, 0, 108, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 135, 137, 136, 140, 139, 138, 0, + 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 155, 0, 0, 0, 0, 0, 51, 52, 0, 0, + 0, 70, 0, 0, 0, 0, 65, 0, 74, 0, + 0, 0, 0, 0, 78, 82, 0, 0, 0, 68, + 0, 0, 0, 112, 88, 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, 0, 0, 0, 0, 0, 208, 0, - 0, 1, 2, 132, 92, 0, 0, 0, 0, 0, - 0, 0, 230, 229, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 105, 254, 253, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, - 0, 107, 139, 140, 141, 120, 112, 113, 131, 130, - 130, 130, 130, 119, 118, 121, 0, 122, 0, 124, - 127, 128, 129, 144, 0, 145, 0, 0, 149, 0, - 150, 152, 156, 0, 159, 0, 0, 154, 0, 161, - 162, 163, 0, 71, 72, 73, 62, 61, 63, 64, - 75, 77, 0, 76, 0, 0, 83, 67, 66, 0, - 84, 0, 111, 89, 69, 166, 167, 168, 202, 175, - 169, 170, 171, 172, 173, 174, 204, 165, 191, 193, - 192, 195, 194, 200, 181, 196, 197, 201, 177, 178, - 179, 180, 182, 184, 183, 186, 187, 176, 185, 198, - 199, 205, 188, 189, 203, 207, 206, 190, 209, 0, - 0, 0, 0, 0, 0, 94, 231, 224, 225, 220, - 221, 226, 227, 222, 223, 228, 0, 255, 248, 249, - 244, 245, 250, 251, 246, 247, 252, 243, 108, 0, - 0, 0, 0, 123, 0, 143, 147, 0, 151, 157, - 0, 0, 245, 155, 164, 79, 80, 81, 85, 0, - 86, 97, 96, 98, 99, 100, 95, 102, 114, 115, - 116, 117, 125, 0, 148, 158, 160, 87, 0, 126 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, + 0, 0, 1, 2, 134, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 232, 231, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 107, 256, + 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 106, 0, 0, 109, 141, 142, 143, 122, 114, + 115, 133, 132, 132, 132, 132, 121, 120, 123, 0, + 124, 0, 126, 129, 130, 131, 146, 0, 147, 0, + 0, 151, 0, 152, 154, 158, 0, 161, 0, 0, + 156, 0, 163, 164, 165, 0, 71, 72, 73, 62, + 61, 63, 64, 75, 77, 0, 76, 0, 0, 83, + 67, 66, 0, 84, 0, 113, 89, 69, 168, 169, + 170, 204, 177, 171, 172, 173, 174, 175, 176, 206, + 167, 193, 195, 194, 197, 196, 202, 183, 198, 199, + 203, 179, 180, 181, 182, 184, 186, 185, 188, 189, + 178, 187, 200, 201, 207, 190, 191, 205, 209, 208, + 192, 211, 93, 94, 0, 0, 0, 0, 0, 0, + 96, 233, 226, 227, 222, 223, 228, 229, 224, 225, + 230, 0, 257, 250, 251, 246, 247, 252, 253, 248, + 249, 254, 245, 110, 0, 0, 0, 0, 125, 0, + 145, 149, 0, 153, 159, 0, 0, 247, 157, 166, + 79, 80, 81, 85, 0, 86, 99, 98, 100, 101, + 102, 97, 104, 116, 117, 118, 119, 127, 0, 150, + 160, 162, 87, 0, 128 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 52, 53, 197, 54, 147, 55, 56, 57, 58, + -1, 52, 53, 198, 54, 148, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 319, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 322, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 132, 148 + 98, 99, 133, 149 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -145 +#define YYPACT_NINF -159 static const yytype_int16 yypact[] = { - 758, -103, -42, -72, 68, -70, 85, 371, 337, -41, - -38, -37, 19, -43, -145, -145, -31, -30, -28, -9, - -8, -2, 354, 44, 24, 52, -46, 18, -52, 27, - 29, 23, 23, 23, -1, 40, 41, 74, 76, 32, - -36, -13, 485, -48, -5, -47, 45, 70, 544, 836, - 544, -145, 656, -145, 47, -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, -145, - -145, 48, -145, -145, 43, 59, 61, 67, 69, 71, - 23, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, 658, -145, 658, - 658, -145, 1038, -145, -145, -145, -145, -145, 78, -145, - -145, -145, -145, 544, -145, 544, 544, -145, 462, -145, - 544, -145, 827, 79, 80, 81, 82, 83, 84, 93, - 93, 93, 93, 94, 98, 99, -29, -57, 101, 103, - 115, -145, -145, -145, -145, -145, -145, -145, 502, -145, - 846, 127, 124, 116, -34, 117, 519, 119, 120, -145, - 142, 122, 123, 125, 144, -145, -145, 126, 140, 141, - -145, 143, 147, 148, 149, -145, 150, -145, 151, 544, - 152, 544, 544, -145, -145, 858, 153, 154, -145, -11, - 175, 155, -145, -145, 161, 870, 163, 164, 165, 166, - 167, 168, 179, 191, 192, 193, 194, 195, 196, 197, - 198, 211, 212, 214, 218, 219, 220, 221, 222, 223, - 225, 226, 239, 240, 241, 242, 243, 244, 256, 257, - 258, 259, 260, 261, 275, 276, 277, 285, -145, 288, - 882, -145, -145, -145, -145, 544, 544, 544, 544, 544, - 311, 290, -145, -145, 313, 658, 658, 658, 658, 658, - 658, 658, 658, 658, 658, -145, 292, 292, 287, 544, - 544, 544, 544, 544, 544, 544, 544, 544, -145, 544, - 894, -145, -145, -145, -145, -145, -145, -145, -145, 93, - 93, 93, 93, -145, -145, -145, 295, -145, 320, -145, - -145, -145, -145, -145, 906, -145, 297, 322, -145, 301, - -145, -145, -145, 213, -145, 326, 544, -145, 918, -145, - -145, -145, 312, -145, -145, -145, -145, -145, -145, -145, - -145, -145, 930, -145, 942, 954, -145, -145, -145, 314, - -145, 12, -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, -145, -145, -145, 966, - 978, 990, 1002, 1014, 315, -145, -145, -145, -145, 33, - 33, 33, 33, -145, -145, -145, 1062, -145, 292, 292, - 100, 100, 100, 100, 292, 292, 292, 1050, -145, 316, - 317, 319, 321, -145, 4, -145, -145, 323, -145, -145, - 1026, 324, 484, -145, -145, -145, -145, -145, -145, 328, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, 335, -145, -145, -145, -145, 331, -145 + 775, -92, -28, -89, 41, -87, 457, 387, 232, -53, + -18, -16, 615, -79, -159, -159, -74, -39, -38, -37, + -34, -33, 370, 20, -6, 28, -40, 255, -55, 2, + 8, 51, 51, 51, -27, 13, 14, 42, 44, 12, + -76, -3, 418, -32, -22, -51, 15, 18, 572, 854, + 572, -159, 696, -159, 16, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, 45, -21, -159, -159, -5, 22, 27, 29, 43, + 57, 51, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, 592, -159, + 592, 592, -159, 1096, -159, -159, -159, -159, -159, 17, + -159, -159, -159, -159, 572, -159, 572, 572, -159, 880, + -159, 572, -159, 892, 47, 68, 70, 82, 83, 85, + 53, 53, 53, 53, 86, 87, 88, -50, -75, 89, + 91, 106, -159, -159, -159, -159, -159, -159, -159, 435, + -159, 904, 96, 131, 109, -20, 113, 505, 114, 115, + -159, 46, 117, 118, 119, 139, -159, -159, 120, 121, + 133, -159, 134, 135, 136, 137, -159, 138, -159, 140, + 572, 141, 572, 572, -159, -159, 916, 142, 143, -159, + -19, 190, 144, -159, -159, 156, 928, 157, 163, 164, + 165, 166, 167, 168, 169, 170, 191, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 205, 206, 207, + 209, 210, 213, 214, 215, 216, 217, 218, 219, 223, + 225, 228, 230, 233, 234, 237, 238, 239, 240, -159, + 241, 940, -159, -159, -159, 242, 246, -159, 572, 572, + 572, 572, 572, 272, 249, -159, -159, 865, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, -159, 248, + 248, 845, 572, 572, 572, 572, 572, 572, 572, 572, + 572, -159, 572, 952, -159, -159, -159, -159, -159, -159, + -159, -159, 53, 53, 53, 53, -159, -159, -159, 251, + -159, 276, -159, -159, -159, -159, -159, 964, -159, 253, + 278, -159, 256, -159, -159, -159, 108, -159, 281, 572, + -159, 976, -159, -159, -159, 271, -159, -159, -159, -159, + -159, -159, -159, -159, -159, 988, -159, 1000, 1012, -159, + -159, -159, 273, -159, -17, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, 1024, 1036, 1048, 1060, 1072, 274, + -159, -159, -159, -159, -77, -77, -77, -77, -159, -159, + -159, 69, -159, 248, 248, -10, -10, -10, -10, 248, + 248, 248, 1108, -159, 275, 288, 289, 290, -159, -26, + -159, -159, 291, -159, -159, 1084, 292, 23, -159, -159, + -159, -159, -159, -159, 293, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, 296, -159, + -159, -159, -159, 294, -159 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -145, -145, 187, -25, -49, -4, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -144, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -124, -7 + -159, -159, 337, -23, -49, -4, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -158, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -103, -7 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -255 +#define YYTABLE_NINF -257 static const yytype_int16 yytable[] = { - 269, 152, 131, 282, 208, 283, 284, 198, 199, 100, - 191, 184, 185, 216, 221, 180, 320, 321, 322, 209, - 190, 133, 134, 135, 136, 137, 117, 118, 119, 120, - 121, 122, 326, 156, 328, 215, 14, 15, 195, 196, - 103, 225, 111, 270, 192, 157, 101, 153, 217, 210, - 154, 155, 206, 158, 339, 329, 219, 159, 160, 161, - 162, 163, 164, 165, 218, 222, 211, 212, 186, 171, - 102, 104, 105, 106, 107, 108, 207, 369, 340, 149, - 220, 172, 173, 327, 174, 281, 187, 188, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 213, - 469, 370, 166, 175, 176, 181, 139, 183, 167, 168, - 177, 200, 182, 169, 170, 193, 482, 194, 140, 141, - 142, 109, 143, 131, 470, 131, 131, 110, 201, 202, - 189, 285, 286, 145, 146, 203, 296, 204, 297, 298, - 291, 292, 293, 310, 205, 133, 134, 135, 136, 137, - 117, 118, 119, 120, 121, 122, 275, 223, 224, 273, - 274, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 334, 276, 123, 277, 449, 450, 451, 452, 343, - 278, 318, 279, 348, 280, 124, 125, 126, 336, 127, - 295, 312, 313, 314, 315, 316, 317, 128, 299, 300, - 129, 130, 362, 149, 364, 365, 323, 305, 306, 307, - 324, 325, 337, 330, 309, 331, 133, 134, 135, 136, - 137, 117, 118, 119, 120, 121, 122, 332, 338, 341, - 139, 344, 352, 345, 349, 350, 371, 351, 353, 272, - 299, 300, 140, 141, 142, 301, 346, 303, 304, 305, - 306, 307, 354, 355, 347, 356, 309, 145, 146, 357, - 358, 359, 360, 361, 363, 367, 368, 372, 419, 420, - 421, 422, 423, 373, 149, 375, 376, 377, 378, 379, - 380, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 381, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 139, 447, 382, 383, 384, 385, 386, 387, 388, - 389, 299, 300, 140, 141, 142, 301, 346, 303, 304, - 305, 306, 307, 390, 391, 459, 392, 309, 145, 146, - 393, 394, 395, 396, 397, 398, 460, 399, 400, 462, - 133, 134, 135, 136, 137, 117, 118, 119, 120, 121, - 122, 401, 402, 403, 404, 405, 406, 133, 134, 135, - 136, 137, 117, 118, 119, 120, 121, 122, 407, 408, - 409, 410, 411, 412, 133, 134, 135, 136, 137, 117, - 118, 119, 120, 121, 122, 299, 300, 413, 414, 415, - 301, 302, 303, 304, 305, 306, 307, 416, 149, 424, - 417, 309, 425, 178, 437, 483, 309, 453, 454, 456, - 457, 285, 286, 458, 461, 149, 287, 288, 289, 290, - 291, 292, 293, 488, 464, 139, 468, 476, 478, 479, - 426, 480, 138, 481, 0, 484, 486, 140, 141, 142, - 487, 143, 139, 489, 150, 0, 0, 0, 0, 151, - 0, 0, 145, 146, 140, 141, 142, 0, 143, 139, - 0, 0, 0, 0, 0, 0, 179, 0, 0, 145, - 146, 140, 141, 142, 0, 143, 0, 0, 0, 0, - 0, 0, 0, 144, 0, 0, 145, 146, 133, 134, - 135, 136, 137, 117, 118, 119, 120, 121, 122, 0, - 0, 0, 0, 0, 0, 133, 134, 135, 136, 137, - 117, 118, 119, 120, 121, 122, 0, 0, 0, 0, - 0, 0, 133, 134, 135, 136, 137, 117, 118, 119, - 120, 121, 122, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 133, 134, 135, - 136, 137, 117, 118, 119, 120, 121, 122, 0, 0, - 299, 300, 0, 149, 0, 301, 302, 303, 304, 305, - 306, 307, 0, 139, 308, 0, 309, 0, 0, 0, - 149, 0, -254, -254, 0, 140, 141, 142, 0, 143, - 139, -254, -254, -254, 0, 0, 0, 214, 309, 0, - 145, 146, 140, 141, 142, 149, 143, 139, 0, 0, - 0, 0, 0, 0, 333, 0, 0, 145, 146, 140, - 141, 142, 0, 143, 0, 0, 0, 0, 0, 0, - 0, 342, 139, 0, 145, 146, 0, 0, 0, 0, - 0, 0, 0, 0, 140, 141, 142, 0, 143, 0, - 0, 0, 0, 0, 0, 0, 271, 0, 0, 145, - 146, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 0, 1, 2, 3, 0, 4, 0, 5, + 270, 153, 132, 323, 324, 325, 14, 15, 192, 199, + 200, 222, 329, 207, 209, 181, 101, 331, 185, 186, + 191, 100, 288, 289, 104, 285, 112, 286, 287, 210, + 217, 294, 295, 296, 172, 216, 154, 208, 332, 173, + 220, 226, 193, 271, 105, 106, 107, 108, 109, 134, + 135, 136, 137, 138, 118, 119, 120, 121, 122, 123, + 211, 102, 223, 330, 221, 218, 196, 197, 276, 342, + 372, 155, 474, 156, 174, 175, 176, 212, 213, 177, + 178, 219, 182, 183, 184, 103, 201, 487, 284, 302, + 303, 194, 277, 343, 373, 110, 475, 195, 308, 309, + 310, 111, 202, 203, 204, 312, 205, 225, 150, 278, + 214, 134, 135, 136, 137, 138, 118, 119, 120, 121, + 122, 123, -256, -256, 132, 206, 132, 132, 224, 274, + 298, -256, -256, -256, 275, 140, 279, 299, 312, 300, + 301, 280, 321, 281, 313, 302, 303, 141, 142, 143, + 304, 349, 306, 307, 308, 309, 310, 282, 339, 350, + 315, 312, 146, 147, 454, 455, 456, 457, 288, 289, + 150, 283, 337, 290, 291, 292, 293, 294, 295, 296, + 346, 316, 482, 317, 351, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 318, 319, 140, 320, 326, + 327, 328, 333, 365, 334, 367, 368, 302, 303, 141, + 142, 143, 304, 349, 306, 307, 308, 309, 310, 335, + 340, 464, 341, 312, 146, 147, 344, 347, 355, 348, + 352, 353, 354, 356, 357, 134, 135, 136, 137, 138, + 118, 119, 120, 121, 122, 123, 358, 359, 360, 361, + 362, 363, 374, 364, 366, 370, 371, 375, 134, 135, + 136, 137, 138, 118, 119, 120, 121, 122, 123, 376, + 378, 424, 425, 426, 427, 428, 379, 380, 381, 382, + 383, 384, 385, 386, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 150, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 387, 452, 187, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 150, 398, 399, + 400, 140, 401, 402, 188, 189, 403, 404, 405, 406, + 407, 408, 409, 141, 142, 143, 410, 144, 411, 465, + 151, 412, 467, 413, 140, 152, 414, 415, 146, 147, + 416, 417, 418, 419, 420, 422, 141, 142, 143, 423, + 144, 429, 430, 312, 458, 459, 461, 462, 190, 463, + 466, 146, 147, 134, 135, 136, 137, 138, 118, 119, + 120, 121, 122, 123, 469, 493, 473, 481, 483, 273, + 134, 135, 136, 137, 138, 118, 119, 120, 121, 122, + 123, 484, 485, 486, 489, 491, 492, 494, 0, 0, + 488, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 134, 135, 136, 137, 138, 118, 119, 120, 121, + 122, 123, 150, 0, 0, 0, 0, 0, 134, 135, + 136, 137, 138, 118, 119, 120, 121, 122, 123, 139, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 141, 142, 143, 0, 144, 140, 0, 0, 0, + 150, 0, 0, 180, 0, 0, 146, 147, 141, 142, + 143, 0, 144, 0, 0, 0, 0, 150, 0, 0, + 145, 0, 0, 146, 147, 0, 0, 140, 134, 135, + 136, 137, 138, 118, 119, 120, 121, 122, 123, 141, + 142, 143, 0, 144, 140, 0, 0, 0, 0, 0, + 0, 215, 0, 0, 146, 147, 141, 142, 143, 0, + 144, 0, 0, 0, 0, 0, 124, 0, 336, 0, + 0, 146, 147, 0, 0, 0, 0, 0, 125, 126, + 127, 0, 128, 0, 0, 0, 0, 150, 0, 0, + 129, 0, 0, 130, 131, 134, 135, 136, 137, 138, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 141, 142, 143, 0, + 144, 0, 0, 0, 0, 0, 0, 0, 345, 0, + 0, 146, 147, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, + 0, 158, 0, 0, 0, 0, 0, 0, 0, 159, + 0, 0, 0, 160, 161, 162, 163, 164, 165, 0, + 166, 140, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 141, 142, 143, 0, 144, 0, 0, + 0, 124, 0, 0, 0, 0, 0, 0, 146, 147, + 0, 0, 0, 125, 126, 127, 272, 128, 0, 167, + 0, 0, 0, 0, 0, 168, 169, 0, 130, 131, + 170, 171, 0, 1, 2, 3, 0, 4, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 16, 17, 18, 0, 0, 0, 0, 0, 0, + 0, 0, 19, 20, 21, 22, 0, 0, 23, 24, + 0, 25, 0, 26, 0, 0, 27, 28, 0, 0, + 29, 30, 31, 32, 33, 0, 0, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 0, 0, 43, 44, + 0, 45, 0, 46, 47, 0, 0, 0, 48, 49, + 50, 0, 1, 2, 3, 0, 4, 0, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 51, + 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, 22, 0, 0, 23, 24, 0, 25, 0, 26, 0, 0, 27, 28, 0, 0, 29, 30, 31, 32, 33, 0, 0, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 0, 43, 44, 0, - 45, 0, 46, 47, 0, 0, 123, 48, 49, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 125, - 126, 0, 127, 0, 0, 0, 0, 0, 51, 0, - 0, 0, 0, 129, 130, 1, 2, 3, 0, 4, - 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 0, 16, 17, 18, 0, 0, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 0, 0, 23, - 24, 0, 25, 0, 26, 0, 0, 27, 28, 0, - 0, 29, 30, 31, 32, 33, 0, 0, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 0, 0, 43, - 44, 0, 45, 0, 46, 47, 0, 0, 0, 48, - 49, 50, 0, 226, 227, 228, 0, 229, 0, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 14, 15, - 51, 239, 240, 241, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 243, 244, 0, 0, 245, 246, 0, - 0, 0, 0, 0, 0, 247, 248, 0, 0, 0, - 249, 250, 251, 252, 0, 0, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 0, 0, 262, 263, 0, - 264, 0, 0, 0, 0, 299, 300, 265, 266, 267, - 301, 302, 303, 304, 305, 306, 307, 0, 0, 311, - 0, 309, 0, 0, 299, 300, 0, 0, 268, 301, - 302, 303, 304, 305, 306, 307, 299, 300, 335, 0, - 309, 301, 302, 303, 304, 305, 306, 307, 299, 300, - 366, 0, 309, 301, 302, 303, 304, 305, 306, 307, - 299, 300, 374, 0, 309, 301, 302, 303, 304, 305, - 306, 307, 299, 300, 418, 0, 309, 301, 302, 303, - 304, 305, 306, 307, 299, 300, 448, 0, 309, 301, - 302, 303, 304, 305, 306, 307, 299, 300, 455, 0, - 309, 301, 302, 303, 304, 305, 306, 307, 299, 300, - 463, 0, 309, 301, 302, 303, 304, 305, 306, 307, - 299, 300, 465, 0, 309, 301, 302, 303, 304, 305, - 306, 307, 299, 300, 466, 0, 309, 301, 302, 303, - 304, 305, 306, 307, 299, 300, 467, 0, 309, 301, - 302, 303, 304, 305, 306, 307, 299, 300, 471, 0, - 309, 301, 302, 303, 304, 305, 306, 307, 299, 300, - 472, 0, 309, 301, 302, 303, 304, 305, 306, 307, - 299, 300, 473, 0, 309, 301, 302, 303, 304, 305, - 306, 307, 299, 300, 474, 0, 309, 301, 302, 303, - 304, 305, 306, 307, 299, 300, 475, 0, 309, 301, - 302, 303, 304, 305, 306, 307, 285, 286, 485, 0, - 309, 287, 288, 289, 290, 291, 292, 293, 299, 300, - 0, 0, 294, 301, 302, 303, 304, 305, 306, 307, - 285, 286, 0, 0, 309, 287, 288, 289, 290, 291, - 292, 293, 0, 0, 477 + 45, 0, 46, 47, 0, 0, 0, 48, 49, 50, + 0, 227, 228, 229, 0, 230, 0, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 14, 15, 51, 240, + 241, 242, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 243, 244, 245, 0, 0, 246, 247, 0, 0, + 0, 0, 0, 0, 248, 249, 0, 0, 0, 250, + 251, 252, 253, 0, 0, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 0, 0, 263, 264, 0, 265, + 0, 0, 0, 0, 302, 303, 266, 267, 268, 304, + 305, 306, 307, 308, 309, 310, 0, 0, 0, 0, + 312, 0, 0, 442, 288, 289, 0, 269, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 0, 302, + 303, 0, 0, 431, 304, 305, 306, 307, 308, 309, + 310, 302, 303, 311, 0, 312, 304, 305, 306, 307, + 308, 309, 310, 302, 303, 314, 0, 312, 304, 305, + 306, 307, 308, 309, 310, 302, 303, 338, 0, 312, + 304, 305, 306, 307, 308, 309, 310, 302, 303, 369, + 0, 312, 304, 305, 306, 307, 308, 309, 310, 302, + 303, 377, 0, 312, 304, 305, 306, 307, 308, 309, + 310, 302, 303, 421, 0, 312, 304, 305, 306, 307, + 308, 309, 310, 302, 303, 453, 0, 312, 304, 305, + 306, 307, 308, 309, 310, 302, 303, 460, 0, 312, + 304, 305, 306, 307, 308, 309, 310, 302, 303, 468, + 0, 312, 304, 305, 306, 307, 308, 309, 310, 302, + 303, 470, 0, 312, 304, 305, 306, 307, 308, 309, + 310, 302, 303, 471, 0, 312, 304, 305, 306, 307, + 308, 309, 310, 302, 303, 472, 0, 312, 304, 305, + 306, 307, 308, 309, 310, 302, 303, 476, 0, 312, + 304, 305, 306, 307, 308, 309, 310, 302, 303, 477, + 0, 312, 304, 305, 306, 307, 308, 309, 310, 302, + 303, 478, 0, 312, 304, 305, 306, 307, 308, 309, + 310, 302, 303, 479, 0, 312, 304, 305, 306, 307, + 308, 309, 310, 302, 303, 480, 0, 312, 304, 305, + 306, 307, 308, 309, 310, 288, 289, 490, 0, 312, + 290, 291, 292, 293, 294, 295, 296, 302, 303, 0, + 0, 297, 304, 305, 306, 307, 308, 309, 310, 0, + 0, 0, 0, 312 }; static const yytype_int16 yycheck[] = { - 49, 8, 6, 127, 17, 129, 130, 32, 33, 112, - 62, 57, 58, 61, 61, 22, 160, 161, 162, 32, - 27, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 61, 14, 91, 42, 32, 33, 15, 16, - 112, 48, 112, 50, 96, 26, 88, 88, 96, 62, - 88, 88, 88, 34, 88, 112, 61, 38, 39, 40, - 41, 42, 43, 44, 112, 112, 79, 80, 50, 112, - 112, 3, 4, 5, 6, 7, 112, 88, 112, 61, - 85, 112, 112, 112, 112, 110, 68, 69, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 112, - 88, 112, 83, 112, 112, 61, 88, 55, 89, 90, - 112, 112, 88, 94, 95, 88, 112, 88, 100, 101, - 102, 53, 104, 127, 112, 129, 130, 59, 88, 88, - 112, 98, 99, 115, 116, 61, 143, 61, 145, 146, - 107, 108, 109, 150, 112, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 113, 112, 88, 112, - 112, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 178, 113, 88, 113, 319, 320, 321, 322, 186, - 113, 88, 113, 190, 113, 100, 101, 102, 61, 104, - 112, 112, 112, 112, 112, 112, 112, 112, 98, 99, - 115, 116, 209, 61, 211, 212, 112, 107, 108, 109, - 112, 112, 88, 112, 114, 112, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 112, 112, 112, - 88, 112, 88, 113, 112, 112, 61, 112, 112, 52, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 112, 112, 112, 112, 114, 115, 116, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 275, 276, - 277, 278, 279, 112, 61, 112, 112, 112, 112, 112, - 112, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 112, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 88, 309, 112, 112, 112, 112, 112, 112, 112, - 112, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 112, 112, 112, 112, 114, 115, 116, - 112, 112, 112, 112, 112, 112, 343, 112, 112, 346, + 49, 8, 6, 161, 162, 163, 32, 33, 63, 32, + 33, 62, 62, 89, 17, 22, 44, 92, 58, 59, + 27, 113, 99, 100, 113, 128, 113, 130, 131, 32, + 62, 108, 109, 110, 113, 42, 89, 113, 113, 113, + 62, 48, 97, 50, 3, 4, 5, 6, 7, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 63, 89, 113, 113, 86, 97, 15, 16, 89, 89, + 89, 89, 89, 89, 113, 113, 113, 80, 81, 113, + 113, 113, 62, 89, 56, 113, 113, 113, 111, 99, + 100, 89, 113, 113, 113, 54, 113, 89, 108, 109, + 110, 60, 89, 89, 62, 115, 62, 89, 62, 114, + 113, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 99, 100, 128, 113, 130, 131, 113, 113, + 113, 108, 109, 110, 89, 89, 114, 144, 115, 146, + 147, 114, 89, 114, 151, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 114, 62, 113, + 113, 115, 116, 117, 322, 323, 324, 325, 99, 100, + 62, 114, 179, 104, 105, 106, 107, 108, 109, 110, + 187, 113, 113, 113, 191, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 113, 113, 89, 113, 113, + 113, 113, 113, 210, 113, 212, 213, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, + 89, 113, 113, 115, 116, 117, 113, 113, 89, 114, + 113, 113, 113, 113, 113, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 113, 113, 113, 113, + 113, 113, 62, 113, 113, 113, 113, 113, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 113, + 113, 278, 279, 280, 281, 282, 113, 113, 113, 113, + 113, 113, 113, 113, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 62, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 113, 312, 51, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 62, 113, 113, + 113, 89, 113, 113, 69, 70, 113, 113, 113, 113, + 113, 113, 113, 101, 102, 103, 113, 105, 113, 346, + 108, 113, 349, 113, 89, 113, 113, 113, 116, 117, + 113, 113, 113, 113, 113, 113, 101, 102, 103, 113, + 105, 89, 113, 115, 113, 89, 113, 89, 113, 113, + 89, 116, 117, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 113, 89, 113, 113, 113, 52, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 112, 112, 112, 112, 112, 112, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 112, 112, - 112, 112, 112, 112, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 98, 99, 112, 112, 112, - 103, 104, 105, 106, 107, 108, 109, 112, 61, 88, - 112, 114, 112, 49, 117, 454, 114, 112, 88, 112, - 88, 98, 99, 112, 88, 61, 103, 104, 105, 106, - 107, 108, 109, 88, 112, 88, 112, 112, 112, 112, - 117, 112, 61, 112, -1, 112, 112, 100, 101, 102, - 112, 104, 88, 112, 107, -1, -1, -1, -1, 112, - -1, -1, 115, 116, 100, 101, 102, -1, 104, 88, - -1, -1, -1, -1, -1, -1, 112, -1, -1, 115, - 116, 100, 101, 102, -1, 104, -1, -1, -1, -1, - -1, -1, -1, 112, -1, -1, 115, 116, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + 13, 113, 113, 113, 113, 113, 113, 113, -1, -1, + 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 50, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 62, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 62, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 89, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 101, 102, 103, -1, 105, 89, -1, -1, -1, + 62, -1, -1, 113, -1, -1, 116, 117, 101, 102, + 103, -1, 105, -1, -1, -1, -1, 62, -1, -1, + 113, -1, -1, 116, 117, -1, -1, 89, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 101, + 102, 103, -1, 105, 89, -1, -1, -1, -1, -1, + -1, 113, -1, -1, 116, 117, 101, 102, 103, -1, + 105, -1, -1, -1, -1, -1, 89, -1, 113, -1, + -1, 116, 117, -1, -1, -1, -1, -1, 101, 102, + 103, -1, 105, -1, -1, -1, -1, 62, -1, -1, + 113, -1, -1, 116, 117, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, - 98, 99, -1, 61, -1, 103, 104, 105, 106, 107, - 108, 109, -1, 88, 112, -1, 114, -1, -1, -1, - 61, -1, 98, 99, -1, 100, 101, 102, -1, 104, - 88, 107, 108, 109, -1, -1, -1, 112, 114, -1, - 115, 116, 100, 101, 102, 61, 104, 88, -1, -1, - -1, -1, -1, -1, 112, -1, -1, 115, 116, 100, - 101, 102, -1, 104, -1, -1, -1, -1, -1, -1, - -1, 112, 88, -1, 115, 116, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, 104, -1, - -1, -1, -1, -1, -1, -1, 0, -1, -1, 115, - 116, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, -1, 17, 18, 19, -1, 21, -1, 23, + -1, -1, -1, -1, 89, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 101, 102, 103, -1, + 105, -1, -1, -1, -1, -1, -1, -1, 113, -1, + -1, 116, 117, -1, -1, -1, -1, -1, -1, 14, + -1, -1, -1, -1, 62, -1, -1, -1, -1, -1, + -1, 26, -1, -1, -1, -1, -1, -1, -1, 34, + -1, -1, -1, 38, 39, 40, 41, 42, 43, -1, + 45, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 101, 102, 103, -1, 105, -1, -1, + -1, 89, -1, -1, -1, -1, -1, -1, 116, 117, + -1, -1, -1, 101, 102, 103, 0, 105, -1, 84, + -1, -1, -1, -1, -1, 90, 91, -1, 116, 117, + 95, 96, -1, 17, 18, 19, -1, 21, -1, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, -1, -1, -1, -1, -1, -1, - -1, 45, 46, 47, 48, -1, -1, 51, 52, -1, - 54, -1, 56, -1, -1, 59, 60, -1, -1, 63, - 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 78, -1, -1, 81, 82, -1, - 84, -1, 86, 87, -1, -1, 88, 91, 92, 93, - -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, -1, 104, -1, -1, -1, -1, -1, 112, -1, - -1, -1, -1, 115, 116, 17, 18, 19, -1, 21, - -1, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, -1, 35, 36, 37, -1, -1, -1, -1, - -1, -1, -1, 45, 46, 47, 48, -1, -1, 51, - 52, -1, 54, -1, 56, -1, -1, 59, 60, -1, - -1, 63, 64, 65, 66, 67, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, -1, 84, -1, 86, 87, -1, -1, -1, 91, - 92, 93, -1, 17, 18, 19, -1, 21, -1, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 112, 35, 36, 37, -1, -1, -1, -1, -1, -1, - -1, -1, 46, 47, 48, -1, -1, 51, 52, -1, - -1, -1, -1, -1, -1, 59, 60, -1, -1, -1, - 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, 78, -1, -1, 81, 82, -1, - 84, -1, -1, -1, -1, 98, 99, 91, 92, 93, - 103, 104, 105, 106, 107, 108, 109, -1, -1, 112, - -1, 114, -1, -1, 98, 99, -1, -1, 112, 103, - 104, 105, 106, 107, 108, 109, 98, 99, 112, -1, - 114, 103, 104, 105, 106, 107, 108, 109, 98, 99, - 112, -1, 114, 103, 104, 105, 106, 107, 108, 109, - 98, 99, 112, -1, 114, 103, 104, 105, 106, 107, - 108, 109, 98, 99, 112, -1, 114, 103, 104, 105, - 106, 107, 108, 109, 98, 99, 112, -1, 114, 103, - 104, 105, 106, 107, 108, 109, 98, 99, 112, -1, - 114, 103, 104, 105, 106, 107, 108, 109, 98, 99, - 112, -1, 114, 103, 104, 105, 106, 107, 108, 109, - 98, 99, 112, -1, 114, 103, 104, 105, 106, 107, - 108, 109, 98, 99, 112, -1, 114, 103, 104, 105, - 106, 107, 108, 109, 98, 99, 112, -1, 114, 103, - 104, 105, 106, 107, 108, 109, 98, 99, 112, -1, - 114, 103, 104, 105, 106, 107, 108, 109, 98, 99, - 112, -1, 114, 103, 104, 105, 106, 107, 108, 109, - 98, 99, 112, -1, 114, 103, 104, 105, 106, 107, - 108, 109, 98, 99, 112, -1, 114, 103, 104, 105, - 106, 107, 108, 109, 98, 99, 112, -1, 114, 103, - 104, 105, 106, 107, 108, 109, 98, 99, 112, -1, - 114, 103, 104, 105, 106, 107, 108, 109, 98, 99, - -1, -1, 114, 103, 104, 105, 106, 107, 108, 109, - 98, 99, -1, -1, 114, 103, 104, 105, 106, 107, - 108, 109, -1, -1, 112 + -1, -1, 46, 47, 48, 49, -1, -1, 52, 53, + -1, 55, -1, 57, -1, -1, 60, 61, -1, -1, + 64, 65, 66, 67, 68, -1, -1, 71, 72, 73, + 74, 75, 76, 77, 78, 79, -1, -1, 82, 83, + -1, 85, -1, 87, 88, -1, -1, -1, 92, 93, + 94, -1, 17, 18, 19, -1, 21, -1, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 113, + 35, 36, 37, -1, -1, -1, -1, -1, -1, -1, + -1, 46, 47, 48, 49, -1, -1, 52, 53, -1, + 55, -1, 57, -1, -1, 60, 61, -1, -1, 64, + 65, 66, 67, 68, -1, -1, 71, 72, 73, 74, + 75, 76, 77, 78, 79, -1, -1, 82, 83, -1, + 85, -1, 87, 88, -1, -1, -1, 92, 93, 94, + -1, 17, 18, 19, -1, 21, -1, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 113, 35, + 36, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 47, 48, 49, -1, -1, 52, 53, -1, -1, + -1, -1, -1, -1, 60, 61, -1, -1, -1, 65, + 66, 67, 68, -1, -1, 71, 72, 73, 74, 75, + 76, 77, 78, 79, -1, -1, 82, 83, -1, 85, + -1, -1, -1, -1, 99, 100, 92, 93, 94, 104, + 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, + 115, -1, -1, 118, 99, 100, -1, 113, -1, 104, + 105, 106, 107, 108, 109, 110, -1, -1, -1, 99, + 100, -1, -1, 118, 104, 105, 106, 107, 108, 109, + 110, 99, 100, 113, -1, 115, 104, 105, 106, 107, + 108, 109, 110, 99, 100, 113, -1, 115, 104, 105, + 106, 107, 108, 109, 110, 99, 100, 113, -1, 115, + 104, 105, 106, 107, 108, 109, 110, 99, 100, 113, + -1, 115, 104, 105, 106, 107, 108, 109, 110, 99, + 100, 113, -1, 115, 104, 105, 106, 107, 108, 109, + 110, 99, 100, 113, -1, 115, 104, 105, 106, 107, + 108, 109, 110, 99, 100, 113, -1, 115, 104, 105, + 106, 107, 108, 109, 110, 99, 100, 113, -1, 115, + 104, 105, 106, 107, 108, 109, 110, 99, 100, 113, + -1, 115, 104, 105, 106, 107, 108, 109, 110, 99, + 100, 113, -1, 115, 104, 105, 106, 107, 108, 109, + 110, 99, 100, 113, -1, 115, 104, 105, 106, 107, + 108, 109, 110, 99, 100, 113, -1, 115, 104, 105, + 106, 107, 108, 109, 110, 99, 100, 113, -1, 115, + 104, 105, 106, 107, 108, 109, 110, 99, 100, 113, + -1, 115, 104, 105, 106, 107, 108, 109, 110, 99, + 100, 113, -1, 115, 104, 105, 106, 107, 108, 109, + 110, 99, 100, 113, -1, 115, 104, 105, 106, 107, + 108, 109, 110, 99, 100, 113, -1, 115, 104, 105, + 106, 107, 108, 109, 110, 99, 100, 113, -1, 115, + 104, 105, 106, 107, 108, 109, 110, 99, 100, -1, + -1, 115, 104, 105, 106, 107, 108, 109, 110, -1, + -1, -1, -1, 115 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1294,54 +1310,55 @@ static const yytype_int16 yycheck[] = static const yytype_uint8 yystos[] = { 0, 17, 18, 19, 21, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 35, 36, 37, 45, - 46, 47, 48, 51, 52, 54, 56, 59, 60, 63, - 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 81, 82, 84, 86, 87, 91, 92, - 93, 112, 119, 120, 122, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 112, 88, 112, 112, 3, 4, 5, 6, 7, 53, - 59, 112, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 88, 100, 101, 102, 104, 112, 115, - 116, 123, 170, 3, 4, 5, 6, 7, 61, 88, - 100, 101, 102, 104, 112, 115, 116, 123, 171, 61, - 107, 112, 171, 88, 88, 88, 14, 26, 34, 38, - 39, 40, 41, 42, 43, 44, 83, 89, 90, 94, - 95, 112, 112, 112, 112, 112, 112, 112, 49, 112, - 171, 61, 88, 55, 57, 58, 50, 68, 69, 112, - 171, 62, 96, 88, 88, 15, 16, 121, 121, 121, - 112, 88, 88, 61, 61, 112, 88, 112, 17, 32, - 62, 79, 80, 112, 112, 171, 61, 96, 112, 61, - 85, 61, 112, 112, 88, 171, 17, 18, 19, 21, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 35, - 36, 37, 46, 47, 48, 51, 52, 59, 60, 64, - 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 81, 82, 84, 91, 92, 93, 112, 122, - 171, 0, 120, 112, 112, 113, 113, 113, 113, 113, - 113, 121, 170, 170, 170, 98, 99, 103, 104, 105, - 106, 107, 108, 109, 114, 112, 171, 171, 171, 98, - 99, 103, 104, 105, 106, 107, 108, 109, 112, 114, - 171, 112, 112, 112, 112, 112, 112, 112, 88, 147, - 147, 147, 147, 112, 112, 112, 61, 112, 91, 112, - 112, 112, 112, 112, 171, 112, 61, 88, 112, 88, - 112, 112, 112, 171, 112, 113, 104, 112, 171, 112, - 112, 112, 88, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 171, 112, 171, 171, 112, 112, 112, 88, - 112, 61, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 171, - 171, 171, 171, 171, 88, 112, 117, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 117, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 112, 147, - 147, 147, 147, 112, 88, 112, 112, 88, 112, 112, - 171, 88, 171, 112, 112, 112, 112, 112, 112, 88, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 122, 112, 112, 112, 112, 88, 112 + 28, 29, 30, 31, 32, 33, 35, 36, 37, 46, + 47, 48, 49, 52, 53, 55, 57, 60, 61, 64, + 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 82, 83, 85, 87, 88, 92, 93, + 94, 113, 120, 121, 123, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 113, 44, 89, 113, 113, 3, 4, 5, 6, 7, + 54, 60, 113, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 89, 101, 102, 103, 105, 113, + 116, 117, 124, 171, 3, 4, 5, 6, 7, 62, + 89, 101, 102, 103, 105, 113, 116, 117, 124, 172, + 62, 108, 113, 172, 89, 89, 89, 14, 26, 34, + 38, 39, 40, 41, 42, 43, 45, 84, 90, 91, + 95, 96, 113, 113, 113, 113, 113, 113, 113, 50, + 113, 172, 62, 89, 56, 58, 59, 51, 69, 70, + 113, 172, 63, 97, 89, 89, 15, 16, 122, 122, + 122, 113, 89, 89, 62, 62, 113, 89, 113, 17, + 32, 63, 80, 81, 113, 113, 172, 62, 97, 113, + 62, 86, 62, 113, 113, 89, 172, 17, 18, 19, + 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 35, 36, 37, 47, 48, 49, 52, 53, 60, 61, + 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 82, 83, 85, 92, 93, 94, 113, + 123, 172, 0, 121, 113, 89, 89, 113, 114, 114, + 114, 114, 114, 114, 122, 171, 171, 171, 99, 100, + 104, 105, 106, 107, 108, 109, 110, 115, 113, 172, + 172, 172, 99, 100, 104, 105, 106, 107, 108, 109, + 110, 113, 115, 172, 113, 113, 113, 113, 113, 113, + 113, 89, 148, 148, 148, 148, 113, 113, 113, 62, + 113, 92, 113, 113, 113, 113, 113, 172, 113, 62, + 89, 113, 89, 113, 113, 113, 172, 113, 114, 105, + 113, 172, 113, 113, 113, 89, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 172, 113, 172, 172, 113, + 113, 113, 89, 113, 62, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 172, 172, 172, 172, 172, 89, + 113, 118, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 118, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 113, 148, 148, 148, 148, 113, 89, + 113, 113, 89, 113, 113, 172, 89, 172, 113, 113, + 113, 113, 113, 113, 89, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 123, 113, + 113, 113, 113, 89, 113 }; #define yyerrok (yyerrstatus = 0) @@ -2156,28 +2173,28 @@ yyreduce: switch (yyn) { case 50: -#line 189 "parser.y" +#line 190 "parser.y" { } break; case 52: -#line 196 "parser.y" +#line 197 "parser.y" { (yyval.bval)=(yyvsp[(1) - (1)].bval); } break; case 54: -#line 202 "parser.y" +#line 203 "parser.y" { (yyval.sval)=(yyvsp[(1) - (1)].sval); } break; case 60: -#line 212 "parser.y" +#line 213 "parser.y" { (yyval.uval)=(yyvsp[(1) - (1)].uval); } break; case 61: -#line 217 "parser.y" +#line 218 "parser.y" { bx_dbg_timebp_command(0, (yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); @@ -2185,7 +2202,7 @@ yyreduce: break; case 62: -#line 222 "parser.y" +#line 223 "parser.y" { bx_dbg_timebp_command(1, (yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); @@ -2193,7 +2210,7 @@ yyreduce: break; case 63: -#line 230 "parser.y" +#line 231 "parser.y" { bx_dbg_record_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2201,7 +2218,7 @@ yyreduce: break; case 64: -#line 238 "parser.y" +#line 239 "parser.y" { bx_dbg_playback_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2209,7 +2226,7 @@ yyreduce: break; case 65: -#line 246 "parser.y" +#line 247 "parser.y" { bx_dbg_modebp_command(); free((yyvsp[(1) - (2)].sval)); @@ -2217,7 +2234,7 @@ yyreduce: break; case 66: -#line 254 "parser.y" +#line 255 "parser.y" { bx_dbg_show_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2225,7 +2242,7 @@ yyreduce: break; case 67: -#line 259 "parser.y" +#line 260 "parser.y" { bx_dbg_show_param_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2233,7 +2250,7 @@ yyreduce: break; case 68: -#line 264 "parser.y" +#line 265 "parser.y" { bx_dbg_show_command(0); free((yyvsp[(1) - (2)].sval)); @@ -2241,7 +2258,7 @@ yyreduce: break; case 69: -#line 272 "parser.y" +#line 273 "parser.y" { bx_dbg_xlate_address((yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); @@ -2249,7 +2266,7 @@ yyreduce: break; case 70: -#line 280 "parser.y" +#line 281 "parser.y" { bx_dbg_ptime_command(); free((yyvsp[(1) - (2)].sval)); @@ -2257,7 +2274,7 @@ yyreduce: break; case 71: -#line 288 "parser.y" +#line 289 "parser.y" { bx_dbg_trace_command((yyvsp[(2) - (3)].bval)); free((yyvsp[(1) - (3)].sval)); @@ -2265,7 +2282,7 @@ yyreduce: break; case 72: -#line 296 "parser.y" +#line 297 "parser.y" { bx_dbg_trace_reg_command((yyvsp[(2) - (3)].bval)); free((yyvsp[(1) - (3)].sval)); @@ -2273,7 +2290,7 @@ yyreduce: break; case 73: -#line 304 "parser.y" +#line 305 "parser.y" { bx_dbg_trace_mem_command((yyvsp[(2) - (3)].bval)); free((yyvsp[(1) - (3)].sval)); @@ -2281,7 +2298,7 @@ yyreduce: break; case 74: -#line 312 "parser.y" +#line 313 "parser.y" { bx_dbg_print_stack_command(16); free((yyvsp[(1) - (2)].sval)); @@ -2289,7 +2306,7 @@ yyreduce: break; case 75: -#line 317 "parser.y" +#line 318 "parser.y" { bx_dbg_print_stack_command((yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); @@ -2297,7 +2314,7 @@ yyreduce: break; case 76: -#line 325 "parser.y" +#line 326 "parser.y" { watchpoint_continue = 0; dbg_printf("Will stop on watch points\n"); @@ -2306,7 +2323,7 @@ yyreduce: break; case 77: -#line 331 "parser.y" +#line 332 "parser.y" { watchpoint_continue = 1; dbg_printf("Will not stop on watch points (they will still be logged)\n"); @@ -2315,7 +2332,7 @@ yyreduce: break; case 78: -#line 337 "parser.y" +#line 338 "parser.y" { bx_dbg_print_watchpoints(); free((yyvsp[(1) - (2)].sval)); @@ -2323,7 +2340,7 @@ yyreduce: break; case 79: -#line 342 "parser.y" +#line 343 "parser.y" { bx_dbg_watch(0, (yyvsp[(3) - (4)].uval)); /* BX_READ */ free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); @@ -2331,7 +2348,7 @@ yyreduce: break; case 80: -#line 347 "parser.y" +#line 348 "parser.y" { bx_dbg_watch(0, (yyvsp[(3) - (4)].uval)); /* BX_READ */ free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); @@ -2339,7 +2356,7 @@ yyreduce: break; case 81: -#line 352 "parser.y" +#line 353 "parser.y" { bx_dbg_watch(1, (yyvsp[(3) - (4)].uval)); /* BX_WRITE */ free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); @@ -2347,7 +2364,7 @@ yyreduce: break; case 82: -#line 357 "parser.y" +#line 358 "parser.y" { bx_dbg_unwatch_all(); free((yyvsp[(1) - (2)].sval)); @@ -2355,7 +2372,7 @@ yyreduce: break; case 83: -#line 362 "parser.y" +#line 363 "parser.y" { bx_dbg_unwatch((yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); @@ -2363,7 +2380,7 @@ yyreduce: break; case 84: -#line 370 "parser.y" +#line 371 "parser.y" { bx_dbg_symbol_command((yyvsp[(2) - (3)].sval), 0, 0); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2371,7 +2388,7 @@ yyreduce: break; case 85: -#line 375 "parser.y" +#line 376 "parser.y" { bx_dbg_symbol_command((yyvsp[(2) - (4)].sval), 0, (yyvsp[(3) - (4)].uval)); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); @@ -2379,7 +2396,7 @@ yyreduce: break; case 86: -#line 380 "parser.y" +#line 381 "parser.y" { bx_dbg_symbol_command((yyvsp[(3) - (4)].sval), 1, 0); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); free((yyvsp[(3) - (4)].sval)); @@ -2387,7 +2404,7 @@ yyreduce: break; case 87: -#line 385 "parser.y" +#line 386 "parser.y" { bx_dbg_symbol_command((yyvsp[(3) - (5)].sval), 1, (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); free((yyvsp[(3) - (5)].sval)); @@ -2395,7 +2412,7 @@ yyreduce: break; case 88: -#line 393 "parser.y" +#line 394 "parser.y" { bx_dbg_where_command(); free((yyvsp[(1) - (2)].sval)); @@ -2403,7 +2420,7 @@ yyreduce: break; case 89: -#line 401 "parser.y" +#line 402 "parser.y" { bx_dbg_print_string_command((yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); @@ -2411,7 +2428,7 @@ yyreduce: break; case 90: -#line 409 "parser.y" +#line 410 "parser.y" { bx_dbg_continue_command(); free((yyvsp[(1) - (2)].sval)); @@ -2419,479 +2436,479 @@ yyreduce: break; case 91: -#line 417 "parser.y" +#line 418 "parser.y" { - bx_dbg_stepN_command(1); + bx_dbg_stepN_command(dbg_cpu, 1); free((yyvsp[(1) - (2)].sval)); } break; case 92: -#line 422 "parser.y" +#line 423 "parser.y" { - bx_dbg_stepN_command((yyvsp[(2) - (3)].uval)); + bx_dbg_stepN_command(dbg_cpu, (yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); } break; case 93: -#line 430 "parser.y" +#line 428 "parser.y" + { + bx_dbg_stepN_command(-1, (yyvsp[(2) - (4)].sval)); + free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); + } + break; + + case 94: +#line 433 "parser.y" + { + bx_dbg_stepN_command((yyvsp[(2) - (4)].uval), (yyvsp[(3) - (4)].uval)); + free((yyvsp[(1) - (4)].sval)); + } + break; + + case 95: +#line 441 "parser.y" { bx_dbg_step_over_command(); free((yyvsp[(1) - (2)].sval)); } break; - case 94: -#line 438 "parser.y" + case 96: +#line 449 "parser.y" { bx_dbg_set_auto_disassemble((yyvsp[(3) - (4)].bval)); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); } break; - case 95: -#line 443 "parser.y" + case 97: +#line 454 "parser.y" { bx_dbg_set_symbol_command((yyvsp[(2) - (5)].sval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 96: -#line 448 "parser.y" + case 98: +#line 459 "parser.y" { bx_dbg_set_reg8l_value((yyvsp[(2) - (5)].uval), (yyvsp[(4) - (5)].uval)); } break; - case 97: -#line 452 "parser.y" + case 99: +#line 463 "parser.y" { bx_dbg_set_reg8h_value((yyvsp[(2) - (5)].uval), (yyvsp[(4) - (5)].uval)); } break; - case 98: -#line 456 "parser.y" + case 100: +#line 467 "parser.y" { bx_dbg_set_reg16_value((yyvsp[(2) - (5)].uval), (yyvsp[(4) - (5)].uval)); } break; - case 99: -#line 460 "parser.y" + case 101: +#line 471 "parser.y" { bx_dbg_set_reg32_value((yyvsp[(2) - (5)].uval), (yyvsp[(4) - (5)].uval)); } break; - case 100: -#line 464 "parser.y" + case 102: +#line 475 "parser.y" { bx_dbg_set_reg64_value((yyvsp[(2) - (5)].uval), (yyvsp[(4) - (5)].uval)); } break; - case 101: -#line 471 "parser.y" + case 103: +#line 482 "parser.y" { bx_dbg_vbreakpoint_command(bkAtIP, 0, 0); free((yyvsp[(1) - (2)].sval)); } break; - case 102: -#line 476 "parser.y" + case 104: +#line 487 "parser.y" { bx_dbg_vbreakpoint_command(bkRegular, (yyvsp[(2) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); } break; - case 103: -#line 481 "parser.y" + case 105: +#line 492 "parser.y" { bx_dbg_lbreakpoint_command(bkAtIP, 0); free((yyvsp[(1) - (2)].sval)); } break; - case 104: -#line 486 "parser.y" + case 106: +#line 497 "parser.y" { bx_dbg_lbreakpoint_command(bkRegular, (yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); } break; - case 105: -#line 491 "parser.y" + case 107: +#line 502 "parser.y" { bx_dbg_lbreakpoint_symbol_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 106: -#line 496 "parser.y" + case 108: +#line 507 "parser.y" { bx_dbg_pbreakpoint_command(bkAtIP, 0); free((yyvsp[(1) - (2)].sval)); } break; - case 107: -#line 501 "parser.y" + case 109: +#line 512 "parser.y" { bx_dbg_pbreakpoint_command(bkRegular, (yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); } break; - case 108: -#line 506 "parser.y" + case 110: +#line 517 "parser.y" { bx_dbg_pbreakpoint_command(bkRegular, (yyvsp[(3) - (4)].uval)); free((yyvsp[(1) - (4)].sval)); } break; - case 109: -#line 514 "parser.y" + case 111: +#line 525 "parser.y" { bx_dbg_info_bpoints_command(); free((yyvsp[(1) - (2)].sval)); } break; - case 110: -#line 522 "parser.y" + case 112: +#line 533 "parser.y" { bx_dbg_info_symbols_command(0); free((yyvsp[(1) - (2)].sval)); } break; - case 111: -#line 527 "parser.y" + case 113: +#line 538 "parser.y" { bx_dbg_info_symbols_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 112: -#line 535 "parser.y" + case 114: +#line 546 "parser.y" { bx_dbg_info_bpoints_command(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 113: -#line 540 "parser.y" + case 115: +#line 551 "parser.y" { bx_dbg_info_registers_command(BX_INFO_GENERAL_PURPOSE_REGS | BX_INFO_FPU_REGS | BX_INFO_SSE_REGS); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 114: -#line 545 "parser.y" + case 116: +#line 556 "parser.y" { bx_dbg_info_idt_command((yyvsp[(3) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 115: -#line 550 "parser.y" + case 117: +#line 561 "parser.y" { bx_dbg_info_ivt_command((yyvsp[(3) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 116: -#line 555 "parser.y" + case 118: +#line 566 "parser.y" { bx_dbg_info_gdt_command((yyvsp[(3) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 117: -#line 560 "parser.y" + case 119: +#line 571 "parser.y" { bx_dbg_info_ldt_command((yyvsp[(3) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 118: -#line 565 "parser.y" + case 120: +#line 576 "parser.y" { bx_dbg_dump_table(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 119: -#line 570 "parser.y" + case 121: +#line 581 "parser.y" { bx_dbg_info_tss_command(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 120: -#line 575 "parser.y" + case 122: +#line 586 "parser.y" { bx_dbg_info_flags(); free((yyvsp[(1) - (3)].sval)); } break; - case 121: -#line 580 "parser.y" + case 123: +#line 591 "parser.y" { bx_dbg_info_linux_command(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 122: -#line 585 "parser.y" + case 124: +#line 596 "parser.y" { bx_dbg_info_symbols_command(0); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 123: -#line 590 "parser.y" + case 125: +#line 601 "parser.y" { bx_dbg_info_symbols_command((yyvsp[(3) - (4)].sval)); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); free((yyvsp[(3) - (4)].sval)); } break; - case 124: -#line 595 "parser.y" + case 126: +#line 606 "parser.y" { bx_dbg_info_ne2k(-1, -1); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 125: -#line 600 "parser.y" + case 127: +#line 611 "parser.y" { free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); free((yyvsp[(3) - (5)].sval)); bx_dbg_info_ne2k((yyvsp[(4) - (5)].uval), -1); } break; - case 126: -#line 605 "parser.y" + case 128: +#line 616 "parser.y" { free((yyvsp[(1) - (7)].sval)); free((yyvsp[(2) - (7)].sval)); free((yyvsp[(3) - (7)].sval)); free((yyvsp[(5) - (7)].sval)); bx_dbg_info_ne2k((yyvsp[(4) - (7)].uval), (yyvsp[(6) - (7)].uval)); } break; - case 127: -#line 610 "parser.y" + case 129: +#line 621 "parser.y" { bx_dbg_info_pic(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 128: -#line 615 "parser.y" + case 130: +#line 626 "parser.y" { bx_dbg_info_vga(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 129: -#line 620 "parser.y" + case 131: +#line 631 "parser.y" { bx_dbg_info_pci(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 130: -#line 627 "parser.y" + case 132: +#line 638 "parser.y" { (yyval.uval) = EMPTY_ARG; } break; - case 132: -#line 632 "parser.y" + case 134: +#line 643 "parser.y" { bx_dbg_info_registers_command(BX_INFO_GENERAL_PURPOSE_REGS); free((yyvsp[(1) - (2)].sval)); } break; - case 133: -#line 640 "parser.y" + case 135: +#line 651 "parser.y" { bx_dbg_info_registers_command(BX_INFO_FPU_REGS); free((yyvsp[(1) - (2)].sval)); } break; - case 134: -#line 648 "parser.y" + case 136: +#line 659 "parser.y" { bx_dbg_info_registers_command(BX_INFO_MMX_REGS); free((yyvsp[(1) - (2)].sval)); } break; - case 135: -#line 656 "parser.y" + case 137: +#line 667 "parser.y" { bx_dbg_info_registers_command(BX_INFO_SSE_REGS); free((yyvsp[(1) - (2)].sval)); } break; - case 136: -#line 664 "parser.y" + case 138: +#line 675 "parser.y" { bx_dbg_info_segment_regs_command(); free((yyvsp[(1) - (2)].sval)); } break; - case 137: -#line 672 "parser.y" + case 139: +#line 683 "parser.y" { bx_dbg_info_control_regs_command(); free((yyvsp[(1) - (2)].sval)); } break; - case 138: -#line 680 "parser.y" + case 140: +#line 691 "parser.y" { bx_dbg_info_debug_regs_command(); free((yyvsp[(1) - (2)].sval)); } break; - case 139: -#line 688 "parser.y" + case 141: +#line 699 "parser.y" { bx_dbg_del_breakpoint_command((yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); } break; - case 140: -#line 696 "parser.y" + case 142: +#line 707 "parser.y" { bx_dbg_en_dis_breakpoint_command((yyvsp[(2) - (3)].uval), 1); free((yyvsp[(1) - (3)].sval)); } break; - case 141: -#line 703 "parser.y" + case 143: +#line 714 "parser.y" { bx_dbg_en_dis_breakpoint_command((yyvsp[(2) - (3)].uval), 0); free((yyvsp[(1) - (3)].sval)); } break; - case 142: -#line 711 "parser.y" + case 144: +#line 722 "parser.y" { bx_dbg_quit_command(); free((yyvsp[(1) - (2)].sval)); } break; - case 143: -#line 719 "parser.y" + case 145: +#line 730 "parser.y" { bx_dbg_examine_command((yyvsp[(1) - (4)].sval), (yyvsp[(2) - (4)].sval),1, (yyvsp[(3) - (4)].uval), 1); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); } break; - case 144: -#line 724 "parser.y" + case 146: +#line 735 "parser.y" { bx_dbg_examine_command((yyvsp[(1) - (3)].sval), (yyvsp[(2) - (3)].sval),1, 0, 0); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 145: -#line 729 "parser.y" + case 147: +#line 740 "parser.y" { bx_dbg_examine_command((yyvsp[(1) - (3)].sval), NULL,0, (yyvsp[(2) - (3)].uval), 1); free((yyvsp[(1) - (3)].sval)); } break; - case 146: -#line 734 "parser.y" + case 148: +#line 745 "parser.y" { bx_dbg_examine_command((yyvsp[(1) - (2)].sval), NULL,0, 0, 0); free((yyvsp[(1) - (2)].sval)); } break; - case 147: -#line 742 "parser.y" + case 149: +#line 753 "parser.y" { bx_dbg_restore_command((yyvsp[(2) - (4)].sval), (yyvsp[(3) - (4)].sval)); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); free((yyvsp[(3) - (4)].sval)); } break; - case 148: -#line 750 "parser.y" + case 150: +#line 761 "parser.y" { bx_dbg_setpmem_command((yyvsp[(2) - (5)].uval), (yyvsp[(3) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); } break; - case 149: -#line 758 "parser.y" + case 151: +#line 769 "parser.y" { bx_dbg_query_command((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 150: -#line 766 "parser.y" - { - bx_dbg_take_command((yyvsp[(2) - (3)].sval), 1); - free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); - } - break; - - case 151: -#line 771 "parser.y" - { - bx_dbg_take_command((yyvsp[(2) - (4)].sval), (yyvsp[(3) - (4)].uval)); - free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); - } - break; - case 152: -#line 776 "parser.y" +#line 777 "parser.y" { bx_dbg_take_command((yyvsp[(2) - (3)].sval), 1); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); @@ -2899,207 +2916,225 @@ yyreduce: break; case 153: -#line 784 "parser.y" +#line 782 "parser.y" + { + bx_dbg_take_command((yyvsp[(2) - (4)].sval), (yyvsp[(3) - (4)].uval)); + free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); + } + break; + + case 154: +#line 787 "parser.y" + { + bx_dbg_take_command((yyvsp[(2) - (3)].sval), 1); + free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); + } + break; + + case 155: +#line 795 "parser.y" { bx_dbg_disassemble_current(NULL); free((yyvsp[(1) - (2)].sval)); } break; - case 154: -#line 789 "parser.y" + case 156: +#line 800 "parser.y" { bx_dbg_disassemble_command(NULL, (yyvsp[(2) - (3)].uval), (yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); } break; - case 155: -#line 794 "parser.y" + case 157: +#line 805 "parser.y" { bx_dbg_disassemble_command(NULL, (yyvsp[(2) - (4)].uval), (yyvsp[(3) - (4)].uval)); free((yyvsp[(1) - (4)].sval)); } break; - case 156: -#line 799 "parser.y" + case 158: +#line 810 "parser.y" { bx_dbg_disassemble_current((yyvsp[(2) - (3)].sval)); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 157: -#line 804 "parser.y" + case 159: +#line 815 "parser.y" { bx_dbg_disassemble_command((yyvsp[(2) - (4)].sval), (yyvsp[(3) - (4)].uval), (yyvsp[(3) - (4)].uval)); free((yyvsp[(1) - (4)].sval)); free((yyvsp[(2) - (4)].sval)); } break; - case 158: -#line 809 "parser.y" + case 160: +#line 820 "parser.y" { bx_dbg_disassemble_command((yyvsp[(2) - (5)].sval), (yyvsp[(3) - (5)].uval), (yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 159: -#line 814 "parser.y" + case 161: +#line 825 "parser.y" { bx_dbg_disassemble_switch_mode(); free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); } break; - case 160: -#line 819 "parser.y" + case 162: +#line 830 "parser.y" { bx_dbg_set_disassemble_size((yyvsp[(4) - (5)].uval)); free((yyvsp[(1) - (5)].sval)); free((yyvsp[(2) - (5)].sval)); } break; - case 161: -#line 827 "parser.y" - { - bx_dbg_instrument_command((yyvsp[(2) - (3)].sval)); - free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); - } - break; - - case 162: -#line 832 "parser.y" - { - bx_dbg_instrument_command((yyvsp[(2) - (3)].sval)); - free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); - } - break; - case 163: -#line 840 "parser.y" +#line 838 "parser.y" + { + bx_dbg_instrument_command((yyvsp[(2) - (3)].sval)); + free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); + } + break; + + case 164: +#line 843 "parser.y" + { + bx_dbg_instrument_command((yyvsp[(2) - (3)].sval)); + free((yyvsp[(1) - (3)].sval)); free((yyvsp[(2) - (3)].sval)); + } + break; + + case 165: +#line 851 "parser.y" { bx_dbg_doit_command((yyvsp[(2) - (3)].uval)); free((yyvsp[(1) - (3)].sval)); } break; - case 164: -#line 848 "parser.y" + case 166: +#line 859 "parser.y" { bx_dbg_crc_command((yyvsp[(2) - (4)].uval), (yyvsp[(3) - (4)].uval)); free((yyvsp[(1) - (4)].sval)); } break; - case 165: -#line 856 "parser.y" + case 167: +#line 867 "parser.y" { dbg_printf("q|quit|exit - quit debugger and emulator execution\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 166: -#line 861 "parser.y" + case 168: +#line 872 "parser.y" { dbg_printf("c|cont|continue - continue executing\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 167: -#line 866 "parser.y" + case 169: +#line 877 "parser.y" { - dbg_printf("s|step|stepi [count] - execute #count instructions (default is one instruction)\n"); + dbg_printf("s|step [count] - execute #count instructions on current processor (default is one instruction)\n"); + dbg_printf("s|step [cpu] - execute #count instructions on processor #cpu\n"); + dbg_printf("s|step all - execute #count instructions on all the processors\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 168: -#line 871 "parser.y" + case 170: +#line 884 "parser.y" { dbg_printf("n|next|p - execute instruction stepping over subroutines\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 169: -#line 876 "parser.y" + case 171: +#line 889 "parser.y" { dbg_printf("vb|vbreak - set a virtual address instruction breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 170: -#line 881 "parser.y" + case 172: +#line 894 "parser.y" { dbg_printf("lb|lbreak - set a linear address instruction breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 171: -#line 886 "parser.y" + case 173: +#line 899 "parser.y" { dbg_printf("p|pb|break|pbreak - set a physical address instruction breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 172: -#line 891 "parser.y" + case 174: +#line 904 "parser.y" { dbg_printf("d|del|delete - delete a breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 173: -#line 896 "parser.y" + case 175: +#line 909 "parser.y" { dbg_printf("bpe - enable a breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 174: -#line 901 "parser.y" + case 176: +#line 914 "parser.y" { dbg_printf("bpd - disable a breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 175: -#line 906 "parser.y" + case 177: +#line 919 "parser.y" { dbg_printf("blist - list all breakpoints (same as 'info break')\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 176: -#line 911 "parser.y" + case 178: +#line 924 "parser.y" { dbg_printf("modebp - toggles mode switch breakpoint\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 177: -#line 916 "parser.y" + case 179: +#line 929 "parser.y" { dbg_printf("crc - show CRC32 for physical memory range addr1..addr2\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 178: -#line 921 "parser.y" + case 180: +#line 934 "parser.y" { dbg_printf("trace on - print disassembly for every executed instruction\n"); dbg_printf("trace off - disable instruction tracing\n"); @@ -3107,8 +3142,8 @@ yyreduce: } break; - case 179: -#line 927 "parser.y" + case 181: +#line 940 "parser.y" { dbg_printf("trace-reg on - print all registers before every executed instruction\n"); dbg_printf("trace-reg off - disable registers state tracing\n"); @@ -3116,8 +3151,8 @@ yyreduce: } break; - case 180: -#line 933 "parser.y" + case 182: +#line 946 "parser.y" { dbg_printf("trace-mem on - print all memory accesses occured during instruction execution\n"); dbg_printf("trace-mem off - disable memory accesses tracing\n"); @@ -3125,8 +3160,8 @@ yyreduce: } break; - case 181: -#line 939 "parser.y" + case 183: +#line 952 "parser.y" { dbg_printf("restore [path] - restore bochs root param from the file\n"); dbg_printf("for example:\n"); @@ -3136,128 +3171,128 @@ yyreduce: } break; - case 182: -#line 947 "parser.y" + case 184: +#line 960 "parser.y" { dbg_printf("ptime - print current time (number of ticks since start of simulation)\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 183: -#line 952 "parser.y" + case 185: +#line 965 "parser.y" { dbg_printf("sb - insert a time breakpoint delta instructions into the future\n"); free((yyvsp[(1) - (3)].sval));free((yyvsp[(2) - (3)].sval)); } break; - case 184: -#line 957 "parser.y" + case 186: +#line 970 "parser.y" { dbg_printf("sba